Documentation

Rijndael.php

Pure-PHP implementation of Rijndael.

Uses mcrypt, if available/possible, and an internal implementation, otherwise.

PHP version 5

If setBlockLength() isn't called, it'll be assumed to be 128 bits. If setKeyLength() isn't called, it'll be calculated from setKey(). ie. if the key is 128-bits, the key length will be 128-bits. If it's 136-bits it'll be null-padded to 192-bits and 192 bits will be the key length until setKey() is called, again, at which point, it'll be recalculated.

Not all Rijndael implementations may support 160-bits or 224-bits as the block length / key length. mcrypt, for example, does not. AES, itself, only supports block lengths of 128 and key lengths of 128, 192, and 256. Rijndael-ammended.pdf#page=10 defines the algorithm for block lengths of 192 and 256 but not for block lengths / key lengths of 160 and 224. Indeed, 160 and 224 are first defined as valid key / block lengths in Rijndael-ammended.pdf#page=44: Extensions: Other block and Cipher Key lengths. Note: Use of 160/224-bit Keys must be explicitly set by setKeyLength(160) respectively setKeyLength(224).

}

Here's a short example of how to use this library:

setKey('abcdefghijklmnop'); $size = 10 * 1024; $plaintext = ''; for ($i = 0; $i < $size; $i++) { $plaintext.= 'a'; } echo $rijndael->decrypt($rijndael->encrypt($plaintext)); ?>
Tags
category

Crypt

author

Jim Wigginton terrafrost@php.net

copyright

2008 Jim Wigginton

license

http://www.opensource.org/licenses/mit-license.html MIT License

link
http://phpseclib.sourceforge.net

Table of Contents

Classes

Rijndael
Pure-PHP implementation of Rijndael.

        
On this page

Search results