1 | |
---|
2 | |
---|
3 | =========================================================== |
---|
4 | pycryptopp: a small number of good cryptography algorithms |
---|
5 | =========================================================== |
---|
6 | |
---|
7 | Introduction and Licence |
---|
8 | ======================== |
---|
9 | |
---|
10 | Pycryptopp is a collection of Python interfaces to a few good crypto |
---|
11 | algorithms. It lives at https://tahoe-lafs.org/trac/pycryptopp |
---|
12 | |
---|
13 | RECOMMENDED algorithms: |
---|
14 | |
---|
15 | • XSalsa20 ; from the Crypto++ library ; see pycryptopp.cipher.xsalsa20 |
---|
16 | • Ed25519 ; from the supercop library ; see pycryptopp.publickey.ed25519 |
---|
17 | |
---|
18 | DEPRECATED algorithms: |
---|
19 | |
---|
20 | The maintainers of pycryptopp intend to stop supporting these soon. Please |
---|
21 | migrate away from depending on pycryptopp's implementation of these |
---|
22 | algorithms, or else write to us and offer some inducement to continue |
---|
23 | supporting them. |
---|
24 | |
---|
25 | • RSA from the Crypto++ library ; see pycryptopp.publickey.rsa ; deprecated |
---|
26 | in favor of Ed25519 |
---|
27 | • Ecdsa from the Crypto++ library ; see pycryptopp.publickey.ecdsa ; |
---|
28 | deprecated in favor of Ed25519 |
---|
29 | • SHA-256 from the Crypto++ library ; see pycryptopp.hash.sha256 ; deprecated |
---|
30 | in favor of the Python Standard Library's hashlib module |
---|
31 | |
---|
32 | LICENCE |
---|
33 | ------- |
---|
34 | |
---|
35 | You may use this package under the GNU General Public License, version 2 or, |
---|
36 | at your option, any later version. You may use this package under the |
---|
37 | Transitive Grace Period Public Licence, version 1.0 or, at your option, any |
---|
38 | later version. You may use this package under the MIT License. You may use |
---|
39 | this package under the Simple Permissive Licence. |
---|
40 | |
---|
41 | (You may choose to use this package under the terms of any of these licences, |
---|
42 | at your option.) |
---|
43 | |
---|
44 | See the file COPYING.GPL for the terms of the GNU General Public License, |
---|
45 | version 2. See the file COPYING.TGPPL.rst for the terms of the Transitive |
---|
46 | Grace Period Public Licence, version 1.0. See the file COPYING.MIT.txt for |
---|
47 | the terms of the MIT License. See the file COPYING.SPL.txt for the terms of |
---|
48 | the Simple Permissive Licence. |
---|
49 | |
---|
50 | BUILDING |
---|
51 | -------- |
---|
52 | |
---|
53 | To build it run "python setup.py build". To test it run "python setup.py |
---|
54 | test". To install it into your system run "python setup.py install". To |
---|
55 | create a binary package run "python setup.py bdist_egg". |
---|
56 | |
---|
57 | If "python setup.py test" doesn't print out "PASSED" and exit with exit |
---|
58 | code 0 then there is something seriously wrong. Do not use this build of |
---|
59 | pycryptopp. Please report the error to the tahoe-dev mailing list ²_. |
---|
60 | |
---|
61 | To see some simple benchmarks run "python setup.py bench". If the "pyutil" |
---|
62 | library is installed then the benchmarks will include mean, best, worst, and |
---|
63 | quartiles of wall-clock time, else they will just report the mean wall-clock |
---|
64 | time per operation. |
---|
65 | |
---|
66 | DOCUMENTATION |
---|
67 | ------------- |
---|
68 | |
---|
69 | The documentation is in the docstrings. From a command-line, use "pydoc |
---|
70 | pycryptopp", "pydoc pycryptopp.cipher", and so on. From within a Python |
---|
71 | interpreter use "help(pycryptopp)", "help(pycryptopp.cipher)", |
---|
72 | "help(pycryptopp.cipher.aes)" and so on. |
---|
73 | |
---|
74 | The documentation for pycryptopp.publickey.ed25519 is in README.ed25519.rst, |
---|
75 | adapted from the upstream python-ed25519 library. |
---|
76 | |
---|
77 | CONTACT |
---|
78 | ------- |
---|
79 | |
---|
80 | Please post to the tahoe-dev mailing list ²_ with comments about this |
---|
81 | package. |
---|
82 | |
---|
83 | BOOK REVIEW |
---|
84 | ----------- |
---|
85 | |
---|
86 | If you are not already acquainted with how to use modern cryptography, read |
---|
87 | Ferguson, Schneier, and Kohno “Cryptography Engineering”. It is easy going |
---|
88 | and will increase your understanding greatly. |
---|
89 | |
---|
90 | ACKNOWLEDGEMENTS |
---|
91 | ---------------- |
---|
92 | |
---|
93 | Thanks to Wei Dai, Jeffrey Walton, and the other contributors to |
---|
94 | Crypto++, Andrew M. Kuchling for his "pycrypto" library which inspired |
---|
95 | this one, Brian Warner for help on Python packaging questions, |
---|
96 | python-Ed25519, inspiration, and a million other things besides, Greg |
---|
97 | Hazel and Samuel Neves for Windows porting and fixing bugs, Daira |
---|
98 | Hopwood for helping maintain pycryptopp, and Daniel J. Bernstein for |
---|
99 | Ed25519. |
---|
100 | |
---|
101 | |
---|
102 | Zooko Wilcox |
---|
103 | |
---|
104 | Berlin, Germany |
---|
105 | |
---|
106 | 2016-01-03 |
---|
107 | |
---|
108 | |
---|
109 | .. _¹: https://github.com/warner/python-ed25519 |
---|
110 | .. _²: https://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev |
---|