symm/ccm.h, symm/ccm-def.h: Implement the CCM authenticated encryption mode.
[catacomb] / symm / t / safersk
index ac83b5b..92cddeb 100644 (file)
@@ -1,8 +1,253 @@
-# Test vectors for SAFER
+### Only modes here.  See `safersk' for the blockcipher test vectors.
 
-# From HAC 7.114, and Richard de Moliner's implementation
+safersk-cmac {
+  bef260d7bcda163547d348b7551195e7
+    ""
+    9ba8f2c1b6cfeb77;
+  7022907dd1dff7dac5c9941d26d0c6eb
+    14
+    37dcfeffa9f5744b;
+  ad568f86edd1dc9268eeee533285a6ed
+    810c9b689daaa9060d2d4b6003062365b0a54364c76c160f
+    05bf5b261fbd88de;
+  11896c4794846ecfa14a7130c9f13712
+    0634c9519848a877ff77bf79192a5b50ade5d9
+    0ee50cf1eb23cc77;
+  cd739a3d1f337f29
+    ""
+    975807086410e7e5;
+  549e6b0d27a4ba23
+    40
+    b5b26235e6a34f78;
+  85406a6136512061
+    f7080cc07df0591d8fa21f2dd88374d8cde8e160ad10997a
+    b98cae59f10f22cd;
+  21635c6d62c92690
+    29df3e6057acc87638f508046733d9ff61cdbd
+    d85e3e89ce01118c;
+}
+
+safersk-ccm {
+  bef260d7bcda163547d348b7551195e7
+    702290
+    ""
+    ""
+    ""
+    9a4a828c;
+  7dd1dff7dac5c9941d26d0c6eb14ad56
+    8f86ed
+    d1
+    ""
+    ""
+    41f68f45;
+  dc9268eeee533285a6ed810c9b689daa
+    a9060d
+    ""
+    2d
+    7b
+    acc985bb;
+  4b6003062365b0a54364c76c160f1189
+    6c4794846e
+    cfa14a7130c9f137120634c9519848a877ff77bf79192a5b
+    50ade5d9cd739a3d1f337f29549e6b0d27a4ba234085406a
+    aa629c01eb3b15ede6c2e4366419b5e5f40469d538d373ed
+    a136e047cf4a68b0;
+  6136512061f7080cc07df0591d8fa21f
+    2dd88374d8
+    cde8e160ad10997a21635c6d62c9269029df3e
+    6057acc87638f508046733d9ff61cdbda3b3e9878731ebfedd4705e505
+    1c34203b3161577c889c9db08bf34b20a3e5da5857a94d09e73edf7210
+    953f9c31334dfede;
+  da1435dceaa7b1cc
+    49ae1d
+    ""
+    ""
+    ""
+    b5ad4f52;
+  50c38201a894476b
+    3f102b
+    75
+    ""
+    ""
+    f69a75fd;
+  2eb9529533966f27
+    043eb6
+    ""
+    21
+    14
+    72b85363;
+  b7f65b000961040e
+    f2f9b2fc5f
+    a450727a9b542cde52ebfda19d0ccc520f215eb57bb3a4f3
+    ebbbb18ac6c95a97a48030370c33d090c54215abd6b3ad54
+    b65cbf23154b9798e5250e96f51659df1024bf6b0ffd859b
+    9616166b0ae5320f;
+  efc9a38378c5b93b
+    f4f2aad260
+    5faee2b03fb648e27fff63102758fe2b69ac26
+    afa3349829b94586306fed54154f8f28523c03d4de1600157846b710ee
+    6d0ac961eed6fa2cad9f51d293bad02ecc7a8effe3511cb9aae4935bbd
+    96dee0d7ba957d24;
+}
+
+safersk-eax {
+  bef260d7bcda163547d348b7551195e7
+    ""
+    ""
+    ""
+    ""
+    9bc0cb5650ecbe0d;
+  7022907dd1dff7dac5c9941d26d0c6eb
+    14
+    ""
+    ""
+    ""
+    04655ac860f00c4c;
+  ad568f86edd1dc9268eeee533285a6ed
+    ""
+    81
+    ""
+    ""
+    23de91600ff46611;
+  0c9b689daaa9060d2d4b6003062365b0
+    ""
+    ""
+    a5
+    c2
+    a47b7c287e2aaccb;
+  4364c76c160f11896c4794846ecfa14a
+    7130c9f137120634
+    c9519848a877ff77bf79192a5b50ade5d9cd739a3d1f337f
+    29549e6b0d27a4ba234085406a6136512061f7080cc07df0
+    d228821b771c225b34c32f1d8def6b1638a580259d14966c
+    c2d9f9bcacbf1796;
+  591d8fa21f2dd88374d8cde8e160ad10
+    997a21635c6d62
+    c9269029df3e6057acc87638f508046733d9ff
+    61cdbda3b3e9878731ebfedd4705e505da1435dceaa7b1cc49ae1d50c3
+    56e9c63e94a3e304fb0204a14ddce527063e43cbb59e5f4cdc5ca4c9fd
+    3c18c6748c8d3efb;
+  8201a894476b3f10
+    ""
+    ""
+    ""
+    ""
+    a30a7f2fdcfd304f;
+  2b752eb952953396
+    6f
+    ""
+    ""
+    ""
+    a3921ada1effe4a9;
+  27043eb621b7f65b
+    ""
+    00
+    ""
+    ""
+    b21c194c92a0e99a;
+  0961040ef2f9b2fc
+    ""
+    ""
+    5f
+    9a
+    ec1dc651cd6f903d;
+  a450727a9b542cde
+    52ebfda19d0ccc52
+    0f215eb57bb3a4f3ebbbb18ac6c95a97a48030370c33d090
+    c54215abd6b3ad54efc9a38378c5b93bf4f2aad2605faee2
+    74b140592d02d6e569a0f917fd935c2c4ff50e612a765163
+    69c737214ba7d4ef;
+  b03fb648e27fff63
+    102758fe2b69ac
+    26afa3349829b94586306fed54154f8f28523c
+    03d4de1600157846b710ee72807a2219bfb474fd71d891f24bb65d1563
+    bde1b3e1c19bb966ee531fa15ec929593e29aca538a004e1a98e6776f2
+    ed2e0c47042a787f;
+}
 
-safersk {
-  0102030405060708 0102030405060708 60d04ad7c49b8ded;
-  100f0e0d0c0b0a090807060504030201 0102030405060708 b260740f80d2445d;
+safersk-gcm {
+  bef260d7bcda163547d348b7551195e7
+    ""
+    ""
+    ""
+    ""
+    27b0cf2d5823652b;
+  7022907dd1dff7dac5c9941d26d0c6eb
+    14
+    ""
+    ""
+    ""
+    284a84e5a061c638;
+  ad568f86edd1dc9268eeee533285a6ed
+    ""
+    81
+    ""
+    ""
+    e137081a8189b00d;
+  0c9b689daaa9060d2d4b6003062365b0
+    ""
+    ""
+    a5
+    07
+    d1476d790c73fe20;
+  4364c76c160f11896c4794846ecfa14a
+    7130c9f137120634
+    c9519848a877ff77bf79192a5b50ade5d9cd739a3d1f337f
+    29549e6b0d27a4ba234085406a6136512061f7080cc07df0
+    220e383555bc3c1db79dd7946ab1bcfb0c8ae7534e054dfe
+    b9125ab89a341129;
+  591d8fa21f2dd88374d8cde8e160ad10
+    997a2163
+    5c6d62c9269029df3e6057
+    acc87638f508046733d9ff61cdbda3b3e9878731ebfedd4705e505da1435dceaa7
+    da40ac7ce7efbc6e5a0c8edad1fc6e37707dcd577c2b525173d91c0ee1843bf296
+    7fe1bd570ff9bc5e;
+  b1cc49ae1d50c38201a894476b3f102b
+    752eb952953396
+    6f27043eb621b7f65b000961040ef2f9b2fc5f
+    a450727a9b542cde52ebfda19d0ccc520f215eb57bb3a4f3ebbbb18ac6
+    7088301eaa71ebd8aa7357fa70408eff7803127fdaf86f8f64fc46bde4
+    1b6b05d79e3e8a50;
+  c95a97a48030370c
+    ""
+    ""
+    ""
+    ""
+    c202c8435d5db9f9;
+  33d090c54215abd6
+    b3
+    ""
+    ""
+    ""
+    127f007760bb2caa;
+  ad54efc9a38378c5
+    ""
+    b9
+    ""
+    ""
+    8e7eb7606063486c;
+  3bf4f2aad2605fae
+    ""
+    ""
+    e2
+    87
+    f7db784dd6349ec3;
+  b03fb648e27fff63
+    102758fe2b69ac26
+    afa3349829b94586306fed54154f8f28523c03d4de160015
+    7846b710ee72807a2219bfb474fd71d891f24bb65d156325
+    e9a1e4e745d37146bd75efe05e451dbf120fe907a9f5701f
+    59283c69e487ac87;
+  9f9eb53b571ea629
+    c54d57dd
+    2d42f70800df9fcbaca48b
+    77dba189196d1ebba10b0467cb9fc2712a199e533fa9156308cdec3f768281e040
+    65b78f763a328655662a4ef7f9bacfe67e5e07df80edbcc853440ee1f7627d0355
+    38dbad9c5138e19e;
+  a9b9a222bd689aef
+    66f5306ceb0c6b
+    08ac8b0a22260c571b4a42bb8fdb233bfa6a5c
+    fb0bad7d95214ade49cb3b6f5fe8368131115c037ba323fe1dc8151784
+    0d4082f666ad6a4d337a93564bc648f4b09e2332d656aeebefd722a7ec
+    4322ea279fd752dc;
 }