安全兼容椭圆曲线密码
seccure的Python项目详细描述
py seccure
适用于python的简单椭圆曲线密码 优秀的SECCURE命令 线路实用程序(0.5版)。它是根据lgplv3授权的。见许可证。
当其操作可以由 攻击者。请参阅timing attack。
使用量
来自私钥的公钥
要从私钥获取公钥,可以使用原始密钥 命令行实用程序:
$ seccure-key Assuming curve p160. Enter private key: my private key The public key is: 8W;>i^H0qi|J&$coR5MFpR*Vn
在python中:
>>>importseccure>>>str(seccure.passphrase_to_pubkey(b'my private key'))'8W;>i^H0qi|J&$coR5MFpR*Vn'
加密字符串
要加密公钥,可以使用原始命令行 效用如下。
$ seccure-encrypt -o private.msg '8W;>i^H0qi|J&$coR5MFpR*Vn' Assuming MAC length of 80 bits. Go ahead and type your message ... This is a very very secret message! ^D
在python中:
>>>ciphertext=seccure.encrypt(b'This is a very secret message\n',b'8W;>i^H0qi|J&$coR5MFpR*Vn')>>>ciphertext'\x00\x146\x17\xe9\xc1\x1a\x7fkX\xec\xa0n,h\xb4\xd0\x98\xeaO[\xf8\xfa\x85\xaa\xb37!\xf0j\x0e\xd4\xd0\x8b\xfe}\x8a\xd2+\xf2\xceu\x07\x90K2E\x12\x1d\xf1\xd8\x8f\xc6\x91\t<w\x99\x1b9\x98'
有一个速记法可以加密文件:
>>>seccure.encrypt_file('/path/to/file','/path/to/file.enc','8W;>i^H0qi|J&$coR5MFpR*Vn')
解密
使用原始实用程序解密邮件:
$ seccure-decrypt -i private.msg Assuming MAC length of 80 bits. Assuming curve p160. Enter private key: my private key This is a very very secret message! Integrity check successful, message unforged!
在python中:
>>>seccure.decrypt(ciphertext,b'my private key')'This is a very secret message\n'
解密文件:
>>>seccure.decrypt_file('/path/to/file.enc','/path/to/file',b'my private key')
创建签名
创建签名:
$ seccure-sign Assuming curve p160. Enter private key: my private key Go ahead and type your message ... This message will be signed ^D Signature: $HPI?t(I*1vAYsl$|%21WXND=6Br*[>k(OR9B!GOwHqL0s+3Uq
在python中:
>>>seccure.sign(b'This message will be signed\n',b'my private key')'$HPI?t(I*1vAYsl$|%21WXND=6Br*[>k(OR9B!GOwHqL0s+3Uq'
验证签名
验证签名:
$ seccure-verify '8W;>i^H0qi|J&$coR5MFpR*Vn' '$HPI?t(I*1vAYsl$|%21WXND=6Br*[>k(OR9B!GOwHqL0s+3Uq' Go ahead and type your message ... This message will be signed ^D Signature successfully verified!
在python中:
>>>seccure.verify(b'This message will be signed\n',b'$HPI?t(I*1vAYsl$|%21WXND=6Br*[>k(OR9B!GOwHqL0s+3Uq',b'8W;>i^H0qi|J&$coR5MFpR*Vn')True
安装
关于Debian喘息
$ apt-get install libgmp3-dev build-essential python-dev python-pip libmpfr-dev libmpc-dev $ pip install seccure
在ubuntu上
$ apt-get install libgmp-dev build-essential python-dev python-pip libmpfr-dev libmpc-dev $ pip install seccure
在带有MacPorts的Mac上
$ port install py27-gmpy2
$ pip install seccure
py seccure更改日志
0.4.0(2019-07-28)
- 使用gmpy2而不是gmpy
0.3.3(2019-04-28)
- 向薄片8鞠躬
- py seccure没有像seccure预期的那样用零填充签名。 这导致py seccure生成的一些签名不被接受 通过seccure。这个问题已经解决了。旧的未添加签名仍然 被py seccure接受以保持向后兼容性。 参见16(感谢:Tanner Collin)
- 添加对Python3.7的支持
- 放弃对Python2.6和Python3.3的支持
0.3.2(2016-08-07)
- 添加generate_keypair
- 修正仿射点的加倍。#10(感谢:Joep Peeters)
0.3.1.3(2016-01-03)
- python 2.6的小补丁
0.3.1.2(2015-12-29)
- 使用静态版本属性。
- 对自述文件使用rst