File 0271-Test-all-algorithms-documented-for-CMAC-Update.patch of Package erlang

From 1057cd433f18bf592815fac9d12e96d5202f5554 Mon Sep 17 00:00:00 2001
From: Raimo Niskanen <raimo@erlang.org>
Date: Tue, 25 Apr 2023 16:30:58 +0200
Subject: [PATCH 2/3] Test all algorithms documented for CMAC Update

---
 lib/crypto/test/crypto_SUITE.erl | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl
index 77605ef449..52722cb5a8 100644
--- a/lib/crypto/test/crypto_SUITE.erl
+++ b/lib/crypto/test/crypto_SUITE.erl
@@ -405,22 +405,22 @@ groups() ->
      {ecdh,                 [], [compute, generate, use_all_ecdh_generate_compute]},
      {eddh,                 [], [compute, generate, use_all_eddh_generate_compute]},
      {srp,                  [], [generate_compute]},
-     {des_cbc,              [], [api_ng, api_ng_one_shot, api_ng_tls]},
+     {des_cbc,              [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
      {des_cfb,              [], [api_ng, api_ng_one_shot, api_ng_tls]},
-     {des_ede3_cbc,         [], [api_ng, api_ng_one_shot, api_ng_tls, cmac]},
+     {des_ede3_cbc,         [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
      {des_ede3_cfb,         [], [api_ng, api_ng_one_shot, api_ng_tls]},
-     {rc2_cbc,              [], [api_ng, api_ng_one_shot, api_ng_tls]},
+     {rc2_cbc,              [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
      {aes_cfb8,             [], []},
-     {aes_128_cfb8,         [], [api_ng, api_ng_one_shot, api_ng_tls]},
-     {aes_192_cfb8,         [], [api_ng, api_ng_one_shot, api_ng_tls]},
-     {aes_256_cfb8,         [], [api_ng, api_ng_one_shot, api_ng_tls]},
+     {aes_128_cfb8,         [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
+     {aes_192_cfb8,         [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
+     {aes_256_cfb8,         [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
      {no_aes_cfb8,          [], [no_support]},
      {aes_cfb128,           [], []},
-     {aes_128_cfb128,       [], [api_ng, api_ng_one_shot, api_ng_tls]},
-     {aes_192_cfb128,       [], [api_ng, api_ng_one_shot, api_ng_tls]},
-     {aes_256_cfb128,       [], [api_ng, api_ng_one_shot, api_ng_tls]},
+     {aes_128_cfb128,       [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
+     {aes_192_cfb128,       [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
+     {aes_256_cfb128,       [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
      {no_aes_cfb128,        [], [no_support]},
-     {blowfish_cbc,         [], [api_ng, api_ng_one_shot, api_ng_tls]},
+     {blowfish_cbc,         [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
      {blowfish_ecb,         [], [api_ng, api_ng_one_shot]},
      {blowfish_cfb64,       [], [api_ng, api_ng_one_shot, api_ng_tls]},
      {blowfish_ofb64,       [], [api_ng, api_ng_one_shot, api_ng_tls]},
@@ -467,8 +467,8 @@ groups() ->
      {des_ede3_cbc, [], [api_ng, api_ng_one_shot, api_ng_tls]},
      {des_ede3_cfb, [], [api_ng, api_ng_one_shot, api_ng_tls]},
      {aes_128_cbc,  [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
-     {aes_192_cbc,  [], [api_ng, api_ng_one_shot, api_ng_tls]},
-     {aes_256_cbc,  [], [api_ng, api_ng_one_shot, api_ng_tls, cmac]},
+     {aes_192_cbc,  [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
+     {aes_256_cbc,  [], [api_ng, api_ng_one_shot, api_ng_tls, cmac, cmac_update]},
      {aes_128_ctr,  [], [api_ng, api_ng_one_shot, api_ng_tls]},
      {aes_192_ctr,  [], [api_ng, api_ng_one_shot, api_ng_tls]},
      {aes_256_ctr,  [], [api_ng, api_ng_one_shot, api_ng_tls]},
@@ -2348,6 +2348,8 @@ do_configure_mac(cmac, Cipher, Config) ->
     case Cipher of
         aes_128_cbc ->
             fun() -> read_rsp(Config, Cipher,  ["CMACGenAES128.rsp", "CMACVerAES128.rsp"]) end;
+        aes_192_cbc ->
+            fun() -> read_rsp(Config, Cipher,  ["CMACGenAES192.rsp", "CMACVerAES192.rsp"]) end;
         aes_256_cbc ->
             fun() -> read_rsp(Config, Cipher,  ["CMACGenAES256.rsp", "CMACVerAES256.rsp"]) end;
         des_ede3_cbc ->
@@ -2804,8 +2806,9 @@ hmac_inc(_) ->
     [<<"Sampl">>, <<"e #1">>].
 
 
-cmac_key(aes_128_cbc) ->
-    hexstr2bin("8eeca0d146fd09ffbbe0d47edcddfcec").
+cmac_key(SubType) ->
+    rand:bytes(
+      maps:get(key_length, crypto:cipher_info(SubType))).
 
 cmac_inc(_) ->
     [<<"Sampl">>, <<"e #1">>].
-- 
2.35.3

openSUSE Build Service is sponsored by