3 * The CFB (Cipher FeedBack) mode implementation
7 * @category PHPCryptLib
10 * @author Anthony Ferrara <ircmaxell@ircmaxell.com>
11 * @copyright 2011 The Authors
12 * @license http://www.opensource.org/licenses/mit-license.html MIT License
13 * @version Build @@version@@
16 namespace CryptLib\Cipher\Block\Mode
;
19 * The CFB (Cipher FeedBack) mode implementation
21 * @category PHPCryptLib
24 * @author Anthony Ferrara <ircmaxell@ircmaxell.com>
26 class CFB
extends \CryptLib\Cipher\Block\AbstractMode
{
29 * Decrypt the data using the supplied key, cipher
31 * @param string $data The data to decrypt
33 * @return string The decrypted data
35 protected function decryptBlock($data) {
36 $stub = $this->cipher
->encryptBlock($this->state
);
37 $rawData = $stub ^
$data;
38 $this->state
= $rawData;
43 * Encrypt the data using the supplied key, cipher
45 * @param string $data The data to encrypt
47 * @return string The encrypted data
49 protected function encryptBlock($data) {
50 $stub = $this->cipher
->encryptBlock($this->state
);