Crypt-Nettle

 view release on metacpan or  search on metacpan

t/03-cipher.t  view on Meta::CPAN

# -*- cperl -*-
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl 03-cipher.t'

#########################

use strict;
use warnings;
use Test;
use ExtUtils::testlib;
use Crypt::Nettle::Cipher;
use MIME::Base64;
use bytes;

#########################

# i generated this with:

# for key in 0 deadbeef ffffffff; do printf "  '%s' => {\n" "$key";  for secret in '0123456789abcdef0123456789abcdef' '________________________________' 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; do printf "    '%s' => {\n" "$secret"; for  algo in aes camel...


# FIXME: i'm only testing AES, CAMELLIA, and CAST here.  should try to test more!

# FIXME: i'm only testing ECB mode.  We should test CTR and CBC modes as well!

# key -> cleartext -> algorithm -> ciphertext
my $ciphers = {
  '0' => {
    '0123456789abcdef0123456789abcdef' => {
      'aes128' => 'FPX+dGlm8pJlHCKIu/9GCRT1/nRpZvKSZRwiiLv/Rgk=',
      'aes192' => 'VAuhOrO8xcaLJZhKON6Z3FQLoTqzvMXGiyWYSjjemdw=',
      'aes256' => 'uMMzGtqcnpOzXOYBwDQNrbjDMxranJ6Ts1zmAcA0Da0=',
      'camellia128' => 'WJ3mFua227sR8qEjht3WoFid5hbmttu7EfKhI4bd1qA=',
      'camellia192' => 'ZtOzFqft8hYo0Qeyw3ChYWbTsxan7fIWKNEHssNwoWE=',
      'camellia256' => 'wz550k7ACrEGTuo/iIGjcsM+edJOwAqxBk7qP4iBo3I=',
      'cast128' => 'AgErxAPAImxRPiOHi4rECAIBK8QDwCJsUT4jh4uKxAg=',
    },
    '________________________________' => {
      'aes128' => 'vl0hoii4uzOEz1YOYSGe4L5dIaIouLszhM9WDmEhnuA=',
      'aes192' => '1MBpeGBtac/kP/vsfipDwNTAaXhgbWnP5D/77H4qQ8A=',
      'aes256' => '1ofX420A5l606zs6+Bd2G9aH1+NtAOZetOs7OvgXdhs=',
      'camellia128' => 'zi1YQCOVEGPJPRppKWAPLM4tWEAjlRBjyT0aaSlgDyw=',
      'camellia192' => 'pC2/k6TjF9QbfHj6Q161zqQtv5Ok4xfUG3x4+kNetc4=',
      'camellia256' => 'KLFoXrxeRdKP9N0JFSPBPyixaF68XkXSj/TdCRUjwT8=',
      'cast128' => 'MVtMoRQHNlExW0yhFAc2UTFbTKEUBzZRMVtMoRQHNlE=',
    },
    'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' => {
      'aes128' => 'sX26cpATfV71XS7W3S9yy7F9unKQE31e9V0u1t0vcss=',
      'aes192' => 'er4z4nhhNhF7QxaMPFjwwHq+M+J4YTYRe0MWjDxY8MA=',
      'aes256' => 'Wwo/gOlgfKBTRmWaToiX41sKP4DpYHygU0Zlmk6Il+M=',
      'camellia128' => 'q8SeTMi1DNV4+CYSRnNYRqvEnkzItQzVePgmEkZzWEY=',
      'camellia192' => '2+a1BGrdVUX3LnNgRP06ddvmtQRq3VVF9y5zYET9OnU=',
      'camellia256' => 'iJ5YoiuDzOiimhUq8Bs1rYieWKIrg8zoopoVKvAbNa0=',
      'cast128' => 'W3gZ70Snjs1beBnvRKeOzVt4Ge9Ep47NW3gZ70Snjs0=',
    },
  },
  'deadbeef' => {
    '0123456789abcdef0123456789abcdef' => {
      'aes128' => 'J8irigIL+FjFEqlKkoUrqCfIq4oCC/hYxRKpSpKFK6g=',
      'aes192' => 'WYXL3tPORMV7otd83dJT8lmFy97TzkTFe6LXfN3SU/I=',
      'aes256' => 'aHuNBkMZtN10LFaOqPT782h7jQZDGbTddCxWjqj0+/M=',
      'camellia128' => 'vWkKE2JwRj4y/lZCcLqEUr1pChNicEY+Mv5WQnC6hFI=',
      'camellia192' => 'AE+DO5uh0LjWPY6/OV/L/ABPgzubodC41j2Ovzlfy/w=',
      'camellia256' => 'KfP76Kdxi/5G5xTAq2XclCnz++incYv+RucUwKtl3JQ=',
      'cast128' => 'pdrqdb9LyfyRbc2HctQnRKXa6nW/S8n8kW3Nh3LUJ0Q=',
    },
    '________________________________' => {
      'aes128' => 'aRqz/75E/tofvG1auUFmoGkas/++RP7aH7xtWrlBZqA=',
      'aes192' => 'X3geXxxnGERQPId4UbuZKF94Hl8cZxhEUDyHeFG7mSg=',
      'aes256' => 'Ui7t6WzzrPfNBX7b5vy741Iu7els86z3zQV+2+b8u+M=',
      'camellia128' => 'QbIujYiG//CHquJF61wPe0GyLo2Ihv/wh6riRetcD3s=',
      'camellia192' => 'xbbVQfLvFX56KpjzuLXOmMW21UHy7xV+eiqY87i1zpg=',
      'camellia256' => 'Sw1UNoUD4D1+n8a5o9U7AksNVDaFA+A9fp/GuaPVOwI=',
      'cast128' => 'XwA7FM4jm9xfADsUziOb3F8AOxTOI5vcXwA7FM4jm9w=',
    },
    'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' => {
      'aes128' => 'fJjY9L5/3DMJ/gCrDGQ8ZHyY2PS+f9wzCf4AqwxkPGQ=',
      'aes192' => 'U3dhTTDuOyMj/spFMExiolN3YU0w7jsjI/7KRTBMYqI=',
      'aes256' => 'jJ0bZdvTowtTePLSjkpc+4ydG2Xb06MLU3jy0o5KXPs=',
      'camellia128' => 'QWG/Fp34d8ejSiyYGafzjUFhvxad+HfHo0osmBmn840=',
      'camellia192' => 'J1fn0/Z0BVOLBhJTPvn7LydX59P2dAVTiwYSUz75+y8=',
      'camellia256' => 'owNk1XEWS9CXEJFnMeNmF6MDZNVxFkvQlxCRZzHjZhc=',
      'cast128' => 'qOj5dcDNDRio6Pl1wM0NGKjo+XXAzQ0YqOj5dcDNDRg=',
    },



( run in 0.680 second using v1.01-cache-2.11-cpan-e1769b4cff6 )