Procedural File: Rijndael.php
Source Location: /lib/3rdParty/phpseclib/Crypt/Rijndael.php
Classes:
Crypt_Rijndael
Pure-PHP implementation of Rijndael.
Page Details:
Pure-PHP implementation of Rijndael.
Does not use mcrypt, even when available, for reasons that are explained below. PHP versions 4 and 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 160-bits and 160 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. Here's a short example of how to use this library: <?php
include('Crypt/Rijndael.php');
$rijndael->setKey('abcdefghijklmnop');
$size = 10 * 1024;
$plaintext = '';
for ($i = 0; $i < $size; $i++) {
$plaintext.= 'a';
}
echo $rijndael->decrypt($rijndael->encrypt($plaintext));
?>
LICENSE: This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Tags:
CRYPT_RIJNDAEL_MODE_CBC [line 95]
CRYPT_RIJNDAEL_MODE_CTR [line 83]
CRYPT_RIJNDAEL_MODE_ECB [line 89]
|