Introduction to Zend\Crypt

Zend\Crypt provides support of some cryptographic tools. The available features are:

  • encrypt-then-authenticate using symmetric ciphers (the authentication step is provided using HMAC);
  • encrypt/decrypt using symmetric and public key algorithm (e.g. RSA algorithm);
  • generate digital sign using public key algorithm (e.g. RSA algorithm);
  • key exchange using the Diffie-Hellman method;
  • Key derivation function (e.g. using PBKDF2 algorithm);
  • Secure password hash (e.g. using Bcrypt algorithm);
  • generate Hash values;
  • generate HMAC values;

The main scope of this component is to offer an easy and secure way to protect and authenticate sensitive data in PHP. Because the use of cryptography is not so easy we recommend to use the Zend\Crypt component only if you have a minimum background on this topic. For an introduction to cryptography we suggest the following references:



Most of the ideas behind the Zend\Crypt component have been inspired by the PHP-CryptLib project of Anthony Ferrara. PHP-CryptLib is an all-inclusive pure PHP cryptographic library for all cryptographic needs. It is meant to be easy to install and use, yet extensible and powerful enough for even the most experienced developer.