ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
phpseclib\Crypt Namespace Reference

Pure-PHP implementations of keyed-hash message authentication codes (HMACs) and various cryptographic hashing functions. More...

Data Structures

class  AES
 
class  Base
 
class  Blowfish
 
class  DES
 
class  Hash
 
class  Random
 
class  RC2
 
class  RC4
 
class  Rijndael
 
class  RSA
 
class  TripleDES
 
class  Twofish
 

Detailed Description

Pure-PHP implementations of keyed-hash message authentication codes (HMACs) and various cryptographic hashing functions.

Pure-PHP implementation of Rijndael.

Uses hash() or mhash() if available and an internal implementation, otherwise. Currently supports the following:

md2, md5, md5-96, sha1, sha1-96, sha256, sha256-96, sha384, and sha512, sha512-96

If setKey() is called, hash() will return the HMAC as opposed to the hash. If no valid algorithm is provided, sha1 will be used.

PHP version 5

{

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).

{