Exemple #1
0
function test_encryption($method) {
  $tests = openssl_get_cipher_tests($method);

  foreach ($tests as $idx => $test) {
  	echo "TEST $idx\n";
  	$ct = openssl_encrypt($test['pt'], $method, $test['key'], OPENSSL_RAW_DATA,
  		$test['iv'], $tag, $test['aad'], strlen($test['tag']));
  	var_dump($test['ct'] === $ct);
  	var_dump($test['tag'] === $tag);
  }

  // Empty IV error
  var_dump(openssl_encrypt('data', $method, 'password', 0, NULL, $tag, ''));

  // Failing to retrieve tag (max is 16 bytes)
  var_dump(openssl_encrypt('data', $method, 'password', 0, str_repeat('x', 32), $tag, '', 20));
}
Exemple #2
0
function test_encryption($method) {
  $tests = openssl_get_cipher_tests($method);

  foreach ($tests as $idx => $test) {
  	echo "TEST $idx\n";
  	$ct = openssl_encrypt($test['pt'], $method, $test['key'], OPENSSL_RAW_DATA,
  		$test['iv'], $tag, $test['aad'], strlen($test['tag']));
  	var_dump($test['ct'] === $ct);
  	var_dump($test['tag'] === $tag);
  }

  // Empty IV error
  var_dump(openssl_encrypt('data', $method, 'password', 0, NULL, $tag, ''));

  // Test setting different IV length and unlimeted tag
  var_dump(openssl_encrypt('data', $method, 'password', 0, str_repeat('x', 10), $tag, '', 1024));
}
Exemple #3
0
function test_decryption($method) {
  $tests = openssl_get_cipher_tests($method);

  foreach ($tests as $idx => $test) {
  	echo "TEST $idx\n";
  	$pt = openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA,
  		$test['iv'], $test['tag'], $test['aad']);
  	var_dump($test['pt'] === $pt);
  }

  // no IV
  var_dump(openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA,
  	NULL, $test['tag'], $test['aad']));
  // failed because no AAD
  var_dump(openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA,
  	$test['iv'], $test['tag']));
  // failed because wrong tag
  var_dump(openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA,
  	$test['iv'], str_repeat('x', 10), $test['aad']));
}