CHANGELOG for Crypt::RSA
           $Id: Changes,v 1.15 2001/04/09 23:07:22 vipul Exp $

--------------------------------------------------------------------------

1.36                                                        April 10, 2001 

  * Modified Crypt::RSA::encrypt() to return an error when the keysize is
    too small for use with the selected scheme.

  * Modified Crypt::RSA ::ES::* and ::SS::* to work with keysizes 
    that are not multiples of 8.

  * Wrote ::DataFormat::octet_len() to computes the octet length of
    an integer.

  * Wrote exportable ::Debug::debuglevel(). Use debuglevel(1) to turn on
    debugging.


1.34                                                        April 7, 2001 

  * Wrote crypt-rsa-interoperablity.pod that contains the structure for a
    Crypt::RSA interoperability chart. Added an entry for RSAREF 2.0
    signatures and encryption

  * Support for decryption using the Chinese Remainder Threorum
    in ::Primitives::decrypt(). Patch by Benjamin Trott
    <ben@rhumba.pair.com>

  * Identity is now kept unencrypted in ::Key::Private objects


1.33                                                        April 6, 2001

 * Wrote ::SS:PKCS1v15 (that implements PKCS #1 v1.5 signatures) and a test
   for it (t/14-es-pkcs1v15.t)

 * Renamed ::ES::PKCS1_v1_5 to ::ES::PKCS1v15. The underscores were
   driving me nuts

 * Wrote ::DataFormat::h2osp() - Hex to Octet String Primitive, that
   converts hex strings/numbers of arbitrary length into octet strings

 * Couple of small changes to ::Debug::debug()


1.32                                                        April 5, 2001

 * Wrote ::ES::PKCS1_v1_5 that implements PKCS #1 v1.5 padded encryption,
   and a test for it (t/13-es-pkcs1v15.t)


1.31                                                        April 3, 2001

 * Renamed ::EME::* to ::ES::*. EME (Encoding Method for encryption) was a
   leftover from an earlier class framework. Renamed ::SSA::* to ::SS::*,
   since we might have Signature Schemes without Appendix under ::SS::*

 * Changed `P' (parameterization) in ::ES::OAEP to a null string.
   Strings encrypted with versions < 1.15 will not decrypt.

 * Added versioning support in ::ES::OAEP. Returns the old
   parameterization string for version < 1.15. So strings encrypted 
   with < 1.15 will decrypt!

 * Wrote t/12-versioning.t, with tests for versioning in ::ES::OAEP.

 * Added versioning support in ::SS::PSS.

 * Numerical parameters of ::Key::Public and ::Key::Private can be
   assigned perl strings, hex strings, or hex numbers.


1.30                                                        March 25, 2001 

 * Documented Crypt::RSA methods

 * Added ASCII armour support to Crypt::RSA::encrypt(), decrypt(), sign()
   and verify() using Convert::ASCII::Armour

 * Crypt::RSA will now work with any encryption/signing scheme as long as
   they provide the same method interface as Crypt::RSA::EME::OAEP and
   Crypt::RSA::SSA::PSS

 * Wrote ::EME::OAEP::version() and ::SSA::PSS::version(). The next
   release will include support for version specific operation in ::EME::*
   and ::PSS::*

 * Added and corrected documentation for ::EME::OAEP and ::SSA::PSS


1.25                                                        March 12, 2001

 * Wrote Crypt::RSA::sign() and Crypt::RSA::verify()

 * Added tests for sign and verify to t/11-wrapper.t

 * Bugfix in Crypt::RSA::EME::OAEP::hash() and mgf()
     $self was being fed to the digest

 * Bugfix in Crypt::RSA::SSA::PSS::hash() and mgf()
 

1.24                                                        March 11, 2001

 * Bug fix in Crypt::RSA::EME::OAEP::decode()
    newline in plaintext was causing decode() to return error

 * Wrote Crypt::RSA::encrypt() and Crypt:RSA::decrypt()

 * Wrote a test for Crypt::RSA (t/11-wrapper.t)