Giter Club home page Giter Club logo

pycryptopp's Introduction



pycryptopp: a small number of good cryptography algorithms

Introduction and Licence

Pycryptopp is a collection of Python interfaces to a few good crypto algorithms. It lives at https://tahoe-lafs.org/trac/pycryptopp

RECOMMENDED algorithms:

  • XSalsa20 ; from the Crypto++ library ; see pycryptopp.cipher.xsalsa20
  • Ed25519 ; from the supercop library ; see pycryptopp.publickey.ed25519

DEPRECATED algorithms:

The maintainers of pycryptopp intend to stop supporting these soon. Please migrate away from depending on pycryptopp's implementation of these algorithms, or else write to us and offer some inducement to continue supporting them.

  • RSA from the Crypto++ library ; see pycryptopp.publickey.rsa ; deprecated in favor of Ed25519
  • Ecdsa from the Crypto++ library ; see pycryptopp.publickey.ecdsa ; deprecated in favor of Ed25519
  • SHA-256 from the Crypto++ library ; see pycryptopp.hash.sha256 ; deprecated in favor of the Python Standard Library's hashlib module

LICENCE

You may use this package under the GNU General Public License, version 2 or, at your option, any later version. You may use this package under the Transitive Grace Period Public Licence, version 1.0 or, at your option, any later version. You may use this package under the MIT License. You may use this package under the Simple Permissive Licence.

(You may choose to use this package under the terms of any of these licences, at your option.)

See the file COPYING.GPL for the terms of the GNU General Public License, version 2. See the file COPYING.TGPPL.rst for the terms of the Transitive Grace Period Public Licence, version 1.0. See the file COPYING.MIT.txt for the terms of the MIT License. See the file COPYING.SPL.txt for the terms of the Simple Permissive Licence.

BUILDING

To build it run "python setup.py build". To test it run "python setup.py test". To install it into your system run "python setup.py install". To create a binary package run "python setup.py bdist_egg".

If "python setup.py test" doesn't print out "PASSED" and exit with exit code 0 then there is something seriously wrong. Do not use this build of pycryptopp. Please report the error to the tahoe-dev mailing list ².

To see some simple benchmarks run "python setup.py bench". If the "pyutil" library is installed then the benchmarks will include mean, best, worst, and quartiles of wall-clock time, else they will just report the mean wall-clock time per operation.

DOCUMENTATION

The documentation is in the docstrings. From a command-line, use "pydoc pycryptopp", "pydoc pycryptopp.cipher", and so on. From within a Python interpreter use "help(pycryptopp)", "help(pycryptopp.cipher)", "help(pycryptopp.cipher.aes)" and so on.

The documentation for pycryptopp.publickey.ed25519 is in README.ed25519.rst, adapted from the upstream python-ed25519 library.

CONTACT

Please post to the tahoe-dev mailing list ² with comments about this package.

BOOK REVIEW

If you are not already acquainted with how to use modern cryptography, read Ferguson, Schneier, and Kohno “Cryptography Engineering”. It is easy going and will increase your understanding greatly.

ACKNOWLEDGEMENTS

Thanks to Wei Dai, Jeffrey Walton, and the other contributors to Crypto++, Andrew M. Kuchling for his "pycrypto" library which inspired this one, Brian Warner for help on Python packaging questions, python-Ed25519, inspiration, and a million other things besides, Greg Hazel and Samuel Neves for Windows porting and fixing bugs, Daira Hopwood for helping maintain pycryptopp, and Daniel J. Bernstein for Ed25519.

Zooko Wilcox

Berlin, Germany

2016-01-03

pycryptopp's People

Contributors

david415 avatar exarkun avatar kmarkley86 avatar pataquets avatar warner avatar xueyumusic avatar zooko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pycryptopp's Issues

Request a tag

Hi,

Last tag was generated from 2 years ago, can you add a new tag and release it to pypi?

Thanks.

issue while building tahoe-lafs on Mac

One of my friend have tried to run the command python setup.py build.

This has failed with this issue :
Running pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958/setup.py -q bdist_egg --dist-dir /var/folders/84/_v0_v08n3gz90wn2_tzpx9d80000gn/T/easy_install-3LD7F7/pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958/egg-dist-tmp-esKjHa
unable to execute clang: No such file or directory
error: Setup script exited with error: command 'clang' failed with exit status 1

After having read the GNUmakefile of the cryptopp it seems there is a fix for clang compiler.

May you add the fixes that had been commited in this commit : almet/cryptopp@414f67f ?

Crypto++ and upcoming change for byte definition due to C++17

The Crypto++ library is getting ready to change the scope of its definition for a byte. The short of it is, Crypto++ byte and C++17 std::byte can cause compile failures due to ambiguous resolutions; and the behavior of byte and std::byte are incompatible. More information can be found at:

We are looking for testers to provide early feedback. Please see:

Recommendations for user programs which rely the library can be found at:

The change will exist in Master, and then be part of the Crypto++ 6.0 release. The change needs a major version bump because it is so disruptive to user programs. We would like to release Crypto++ in the next month or two.

My apologies for opening an issue. Please label it as an enhancement or feature request.

Python3

Hi,

any chance of gaining Python3 support, soon?

Coming from packaging background, I noticed, that Beaker gained a pycryptopp dependency lately (well, it's somewhat optional, replaceable with pycrypto, while they prefer pycryptopp).

Cryptography is the very last resort to play games like this, IMHO.

Unfortunately, without Python3 support, this results in a packaging discrepancy.

strange version of pycryptopp

Into my Fedora 25 I used this command , see the version of pycryptopp, why ?:

[root@localhost myuser]# pip list --outdated --format=freeze
...
pycryptopp==0.6.0.1206569328141510525648634803928199668821045408958
...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.