Don't latch BlockSize or BlockPaddingScheme across tests
parent
017f7f61b4
commit
7ee87af86b
|
|
@ -45,7 +45,6 @@ Comment: Kalyna 128-bit key, 128-bit block
|
|||
Key: 000102030405060708090A0B0C0D0E0F
|
||||
IV: 101112131415161718191A1B1C1D1E1F
|
||||
BlockSize: 16
|
||||
BlockPaddingScheme: 0 # NoPadding
|
||||
Plaintext: 202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
|
||||
Ciphertext: A73625D7BE994E85469A9FAABCEDAAB6DBC5F65DD77BB35E06BD7D1D8EAFC8624D6CB31CE189C82B8979F2936DE9BF14
|
||||
Test: Encrypt
|
||||
|
|
@ -60,12 +59,11 @@ Plaintext: 303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515
|
|||
Ciphertext: 13EA15843AD14C50BC03ECEF1F43E398E4217752D3EB046AC393DACC5CA1D6FA0EB9FCEB229362B4F1565527EE3D8433
|
||||
Test: Encrypt
|
||||
Name: Kalyna/CBC
|
||||
Source: DSTU 7624:2014, Section B.6.5 (p.151)
|
||||
Source: DSTU 7624:2014, Section B.6.5 (p.150)
|
||||
Comment: Kalyna 256-bit key, 256-bit block
|
||||
Key: 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
IV: 202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
|
||||
BlockSize: 32
|
||||
BlockPaddingScheme: 0 # NoPadding
|
||||
Plaintext: 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F \
|
||||
606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F \
|
||||
808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
|
||||
|
|
@ -80,7 +78,6 @@ Key: 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F \
|
|||
202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
|
||||
IV: 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
|
||||
BlockSize: 32
|
||||
BlockPaddingScheme: 0 # NoPadding
|
||||
Plaintext: 606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F \
|
||||
808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F \
|
||||
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF
|
||||
|
|
@ -96,7 +93,6 @@ Key: 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F \
|
|||
IV: 404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F \
|
||||
606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F
|
||||
BlockSize: 64
|
||||
BlockPaddingScheme: 0 # NoPadding
|
||||
Plaintext: 808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F \
|
||||
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF \
|
||||
C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF \
|
||||
|
|
@ -105,4 +101,4 @@ Ciphertext: D4739B829EF901B24C1162AE4FDEF897EDA41FAC7F5770CDC90E1D1CDF124E8D \
|
|||
7831E06B4498A4B6F6EC815DF2461DC99BB0449B0F09FCAA2C84090534BCC932 \
|
||||
9626FD74EF8F0A0BCB5765184629C3CBF53B0FB134F6D0421174B1C4E884D1CD \
|
||||
1069A7AD19752DCEBF655842E79B7858BDE01390A760D85E88925BFE38B0FA57
|
||||
Test: Encrypt
|
||||
Test: Encrypt
|
||||
|
|
|
|||
|
|
@ -488,6 +488,14 @@ void TestSymmetricCipher(TestData &v, const NameValuePairs &overrideParameters)
|
|||
std::cout << "\n";
|
||||
SignalTestFailure();
|
||||
}
|
||||
|
||||
// If BlockSize or BlockPaddingScheme was set for a test, then it becomes latched
|
||||
// in testDataPairs. The old value is used in subsequent tests, and it could cause a
|
||||
// self test failure in the next test. The behavior surfaced under Kalyna, where the
|
||||
// official test vectors use NO_PADDING for all tests excpet one. For BlockSize or
|
||||
// BlockPaddingScheme, unlatch them now. Also note we only unlatch from testDataPairs.
|
||||
// If overrideParameters are specified, then the caller is responsible.
|
||||
v.erase("BlockSize"); v.erase("BlockPaddingScheme");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue