示例#1
0
 /**
  * @dataProvider provideTestEncryptVectors
  * @group Vectors
  */
 public function testEncrypt($cipher, $key, $initv, $data, $adata, $expected, $lSize, $tSize)
 {
     $cipher = new \CryptLib\Cipher\Block\Cipher\AES($cipher);
     $cipher->setKey(pack('H*', $key));
     $options = array('adata' => pack('H*', $adata), 'lSize' => $lSize, 'aSize' => $tSize);
     $mode = new \CryptLib\Cipher\Block\Mode\CCM($cipher, pack('H*', $initv), $options);
     $mode->encrypt(pack('H*', $data));
     $enc = $mode->finish();
     $this->assertEquals($expected, strtoupper(bin2hex($enc)));
 }
示例#2
0
 public function testDecryptAuthFailure()
 {
     $factory = new \CryptLib\Cipher\Factory();
     $aes = $factory->getBlockCipher('rijndael-128');
     $key = '0123456789ABCDEFGHIJKLMNOPQRSTUV';
     $aes->setKey($key);
     $iv = 'FEDCBA9876543210';
     $data = 'Foo Bar Baz Biz ';
     $adata = 'Some Other Text';
     $mode = new CryptLib\Cipher\Block\Mode\CCM($aes, $iv, array('adata' => $adata));
     $mode->encrypt($data);
     $enc = $mode->finish();
     $mode->reset();
     $enc = substr($enc, 0, -1) . chr(255);
     $mode->decrypt($enc);
     $this->assertFalse($mode->finish());
 }