创建和验证分布式多方签名

partysig的Python项目详细描述


用于创建和验证分布式多方签名的命令行工具。

安装

$ virtualenv env
$ . env/bin/activate
$ pip install -e .

用法

密钥生成

在一台机器上,运行:

$ partysig keygen start

在其他计算机上,运行:

$ partysig keygen join

签署

在要签署文件的计算机上,运行:

$ partysig sign start FILE

在其他计算机上,运行:

$ partysig sign join

验证签名

运行:

$ partysig verify FILE SIGNATURE

设计

当前的签名版本(v1)实现了比特币风格的多重sig,其中 多签名包含:

  • 多重签名有效所需的签名数
  • 允许创建签名的公钥
  • 来自这些密钥子集的签名

前两部分一起相当于一个比特币脚本,并且是类似的散列 以获取多方签名组的“主密钥”。ED25519用于 单个签名和blake2b用于创建主密钥。

签名格式

Version    (1-byte uint)     \
Threshold  (1-byte uint)      |_ Hashed to obtain
Size       (1-byte uint)      |  the master key
Pubkeys    (32 x size bytes) /
Signatures (64 x threshold bytes)

致谢

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android同步不同页面上的按钮   java评测每个类收集的垃圾对象实例数   java(Spring MVC+Hibernate 4+Test 4)自动连线DAO返回NULL   java Android编辑文本和虚拟键盘   java Selenium与BrowserMobProxy   JAVAlang.NoClassDefFoundError:com/sun/jersey/spi/inject/Errors$关闭原因?   java为什么在我成功登录后仍然会出现“不正确的帐户或密码或用户类型”   安卓应用程序在重新启动java时崩溃。网UnknownHostException:无法解析主机   多线程在Java中同步共享静态对象的正确方法是什么?   未调用自定义注释的java类验证(约束类)   java如何将指定目录的存档文件放入所需位置?   java如何识别Selenium中的每个编辑文本字段,如果它们的Xpath都相同   使用gwtmockito/mockito的java简单单选按钮单元测试?