Simple Elliptic Curve Cryptography for Python compatible with the excellent SECCURE command line utility (version 0.5). It's licensed under LGPLv3. See LICENSE.
Do not use ``py-seccure`` when its operation can be timed by an attacker. See timing attack.
To get the public key from the private, you can use the original commandline utility:
$ seccure-key
Assuming curve p160.
Enter private key: my private key
The public key is: 8W;>i^H0qi|J&$coR5MFpR*Vn
In Python:
To encrypt for a public key, one would use the original commandline utility as follows.
$ 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
In Python:
There is a shorthand to encrypt a file:
To decrypt the message with the original utility:
$ 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!
In Python:
And to decrypt a file:
To create a signature:
$ 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
In Python:
To verify a signature:
$ 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!
In Python:
$ apt-get install libgmp3-dev build-essential python-dev python-pip
$ pip install seccure
$ apt-get install libgmp-dev build-essential python-dev python-pip
$ pip install seccure
$ port install gmp
$ pip install seccure
To help out, you could:
- Test and report any bugs or other difficulties.
- Implement missing features, such as
seccure-dh
,seccure-veridec
andseccure-signcrypt
. - Package py-seccure (or the original SECCURE itself) for your platform.
- Write more unit tests.