diff options
author | Sybren A. Stüvel <sybren@stuvel.eu> | 2011-08-01 23:04:30 +0200 |
---|---|---|
committer | Sybren A. Stüvel <sybren@stuvel.eu> | 2011-08-01 23:04:30 +0200 |
commit | c1c455d2b7291f491c5a9daf4399c9a81eedb90f (patch) | |
tree | 7875c44ac5c7307dd218061b486841be00f2ac06 /doc/intro.rst | |
parent | 86f17999d18406b291794bc9787f2d0a5c702d98 (diff) | |
download | rsa-git-c1c455d2b7291f491c5a9daf4399c9a81eedb90f.tar.gz |
Much more documentation
Diffstat (limited to 'doc/intro.rst')
-rw-r--r-- | doc/intro.rst | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/doc/intro.rst b/doc/intro.rst index cc89a19..14d0177 100644 --- a/doc/intro.rst +++ b/doc/intro.rst @@ -1,4 +1,4 @@ -Introduction +Introduction & history ================================================== Python-RSA's history starts in 2006. As a student assignment for the @@ -6,7 +6,8 @@ University of Amsterdam we wrote a RSA implementation. We chose Python for various reasons; one of the most important reasons was the `unlimited precision integer`_ support. -.. _`unlimited precision integer`: http://docs.python.org/library/stdtypes.html#numeric-types-int-float-long-complex +.. _`unlimited precision integer`: + http://docs.python.org/library/stdtypes.html#numeric-types-int-float-long-complex It started out as just a module for calculating large primes, and RSA encryption, decryption, signing and verification using those large @@ -14,6 +15,24 @@ numbers. It also included generating public and private keys. There was no functionality for working with byte sequences (such as files) yet. -.. todo:: write more history +Version 1.0 did include support for byte sequences, but quite clunky, +mostly because it didn't support 0-bytes and thus was unsuitable for +binary messages. + +Version 2.0 introduced a lot of improvements by Barry Mead, but still +wasn't compatible with other RSA implementations and used no random +padding. + +Version 3.0 introduced PKCS#1 v1.5 functionality, which resulted in +compatibility with OpenSSL and many others implementing the same +standard. Random padding was introduced that considerably increased +security, which also resulted in the ability to encrypt and decrypt +binary messages. + +Key generation was also improved in version 3.0, ensuring that you +really get the number of bits you asked for. At the same time key +generation speed was greatly improved. The ability to save and load +public and private keys in PEM and DER format as also added. + |