Since I just finished a pretty major source overhaul of the cryptopp-php 
extension, I figured I should make a little announcement, as this is 
oh-so-exciting news.

Recently, Wei Dai released Crypto++ 5.0, which was pretty much a complete 
re-write of the public domain Crypto++ cryptography suite. In turn, I 
updated the cryptopp-php extension, hopefully for the better.

The changes to this version, 0.0.9, are numerous, but the highlights are...

- new padding schemes on block ciphers. In previous versions of 
cryptopp-php, you didn't get to choose your padding scheme -- you were 
stuck with whatever the default was for the block cipher mode. Now you can 
pick from PKCS#5, zeroes, one and zeroes or no padding at all. New 
functions to control this new ability were added: cryptopp_set_padding(), 
cryptopp_get_padding() and cryptopp_get_padding_name().

- keyed hash message authentication code algorithms were added. Basically, a 
HMAC is just a hash that uses a secret key. New HMAC algorithms include 
MD5-HMAC, RIPEMD-160-HMAC, etc. New functions to set HMAC keys were thusly 
added: cryptopp_set_hmac_key(), *get_hmac_key(), *set_hmac_key_length() and 

- a modified ARC4 algorithm was added.

- the MD4 hash algorithm was added, although it should only be used when you 
really, really need it, such as for compatbility with other programs, as it 
is known to be cryptographically weak.

- changes in the Crypto++ library itself have forced me to remove the 
Sapphire stream cipher and hash algorithms, but since I doubt they were 
used much, that shouldn't be much of a problem.

- everything is for the most part backwardly and forwardly compatible with 
previous versions of cryptopp-php, with exceptions being noted in the 
manual. The only real differences you need to worry about are the block 
cipher padding schemes you're using and the SKIPJACK changes and SAFER-* 

As always, cryptopp-php works on most UNIX-like systems as well as Microsoft 
Windows systems, and has been tested with Linux (kernel 2.4.18 and 2.4.9), 
Solaris 8 (SPARC) and Windows 2000 Professional. Source code and Windows 
DLLs are available under a BSD-like license at

This version should be considered somewhat unstable, so if you're worried 
about that, use version 0.0.8. There are a few known bugs in Crypto++ 5.0 
that have been fixed in CVS -- they shouldn't affect cryptopp-php in any 
way, but there may be bugs in my code that haven't been weeded out yet, as 
this version hasn't been tested and is a near-total re-write from 0.0.8.

Any bugs reports or comments would be appreciated.


PHP General Mailing List (
To unsubscribe, visit:

Reply via email to