@@ -141,6 +141,18 @@ def test_wrap(self, backend, params):
141141 )
142142 assert params ["c" ] == binascii .hexlify (wrapped_key )
143143
144+ @pytest .mark .parametrize (
145+ "params" ,
146+ _load_all_params ("keywrap" , ["kwp_botan.txt" ], load_nist_vectors )
147+ )
148+ def test_wrap_additional_vectors (self , backend , params ):
149+ wrapping_key = binascii .unhexlify (params ["key" ])
150+ key_to_wrap = binascii .unhexlify (params ["input" ])
151+ wrapped_key = keywrap .aes_key_wrap_with_padding (
152+ wrapping_key , key_to_wrap , backend
153+ )
154+ assert wrapped_key == binascii .unhexlify (params ["output" ])
155+
144156 @pytest .mark .parametrize (
145157 "params" ,
146158 _load_all_params (
@@ -163,6 +175,18 @@ def test_unwrap(self, backend, params):
163175 )
164176 assert params ["p" ] == binascii .hexlify (unwrapped_key )
165177
178+ @pytest .mark .parametrize (
179+ "params" ,
180+ _load_all_params ("keywrap" , ["kwp_botan.txt" ], load_nist_vectors )
181+ )
182+ def test_unwrap_additional_vectors (self , backend , params ):
183+ wrapping_key = binascii .unhexlify (params ["key" ])
184+ wrapped_key = binascii .unhexlify (params ["output" ])
185+ unwrapped_key = keywrap .aes_key_unwrap_with_padding (
186+ wrapping_key , wrapped_key , backend
187+ )
188+ assert unwrapped_key == binascii .unhexlify (params ["input" ])
189+
166190 def test_unwrap_invalid_wrapped_key_length (self , backend ):
167191 # Keys to unwrap must be at least 16 bytes
168192 with pytest .raises (ValueError , match = 'Must be at least 16 bytes' ):
0 commit comments