]> wagner.pp.ru Git - openssl-gost/engine.git/commitdiff
test_grasshopper: Test OFB after it's fixed
authorVitaly Chikunov <vt@altlinux.org>
Mon, 23 Jul 2018 00:41:37 +0000 (03:41 +0300)
committerVitaly Chikunov <vt@altlinux.org>
Mon, 23 Jul 2018 00:41:37 +0000 (03:41 +0300)
test_grasshopper.c

index cb2789562064b64fc2827f22d507fadcb3ce330e..434586fc1a34cb7a940167e51341091ad3d733a7 100644 (file)
@@ -223,14 +223,18 @@ int main(int argc, char **argv)
     ret |= test_block(cipher_gost_grasshopper_ctr(), "ctr", E_CTR);
     ret |= test_block(cipher_gost_grasshopper_ctr(), "ctr iv2", E_CTR_IV2);
     ret |= test_stream(cipher_gost_grasshopper_ctr(), "ctr", E_CTR);
-    ret |= test_block(cipher_gost_grasshopper_ofb(), "ofb", E_OFB);
     /*
      * Other modes (ofb, cbc, cfb) is impossible to test to match GOST R
-     * 34.13-2015 test vectors due to these vectors having exceeding IV
-     * length value (m) = 256 bits, while openssl have hardcoded limit
+     * 34.13-2015 test vectors exactly, due to these vectors having exceeding
+     * IV length value (m) = 256 bits, while openssl have hard-coded limit
      * of maximum IV length of 128 bits (EVP_MAX_IV_LENGTH).
      * Also, current grasshopper code having fixed IV length of 128 bits.
+     *
+     * Thus, new test vectors are generated with truncated 128-bit IV using
+     * canonical GOST implementation from TC26.
      */
+    ret |= test_block(cipher_gost_grasshopper_ofb(), "ofb", E_OFB);
+    ret |= test_stream(cipher_gost_grasshopper_ctr(), "ofb", E_CTR);
 
     ret |= test_omac();