2

What are the most stable and useful Cryptography libraries, that they are:

  • written with/for python, c++, c#, .net
  • opensource, GNU, or other free license
sorush-r
  • 10,036
  • 16
  • 85
  • 168
  • See related questions for dupes including http://stackoverflow.com/questions/1343977/choosing-a-cryptography-library –  Mar 28 '10 at 13:12
  • You should also mention that the libraries must be downloadable from Iran, as many countries may block that (sorry, I don't know the details or where you might best download from, I'm just pointing out that you should edit the question to make this requirement explicit). – Alex Martelli Mar 28 '10 at 15:15
  • 6
    @Alex: As an example, which open source cryptography library can't be downloaded from Iran? –  Nov 10 '10 at 05:03

4 Answers4

2

For C# and Java, there is bouncycastle. The granddaddy of crypto libraries is openssl. For C++, another very mature library is crypto++.

President James K. Polk
  • 38,341
  • 16
  • 90
  • 119
2

The standard Python library (implementing common ciphers like AES and RSA) is PyCrypto. It doesn't support things like PKCS yet, however. There is a partial Python wrapper for the Crypto++ library given by PyCryptopp, which you may find useful.

The OpenSSL library is also wrapped for Python by PyOpenSSL. A Python implementation of SSH is Paramiko.

rlotun
  • 7,655
  • 4
  • 27
  • 22
1

Take a look at KeyCzar

Some features of Keyczar include:

  • A simple API
  • Key rotation and versioning
  • Safe default algorithms, modes, and key lengths
  • Automated generation of initialization vectors and ciphertext signatures
  • Java, Python, and C++ implementations
  • International support in Java (Python coming soon)

Doesn't seem to have C# support though.

matt b
  • 135,500
  • 64
  • 278
  • 339
  • @matt b: it's blocked for my country: You are accessing this page from a forbidden country. has a mirror? – sorush-r Mar 28 '10 at 13:13
  • that's blocked too:Your client does not have permission to get URL /p/keyczar/ from this server. try to access from Iran – sorush-r Mar 28 '10 at 13:48
0

NSS works with C++, and has bindings for Java and Python, although I'm not sure if it has .NET/Mono bindings yet.

Ignacio Vazquez-Abrams
  • 740,318
  • 145
  • 1,296
  • 1,325