KeyMint: Test size requirements for ciphers
Test size requirements for symmetric (Stream and Block) ciphers.
These tests are similar to CTS tests of symmetric ciphers.
For reference CTS test BlockCipherTestBase#testKatEncryptOneByteAtATime
for all its derived classes eg. AES128CBCNoPaddingCipherTest,
AES128CBCPKCS7PaddingCipherTest etc.
Bug: 226899425
Test: run vts -m VtsAidlKeyMintTargetTest
Change-Id: I78408071fbf5a360d89c5bbae479faffd7c6d935
diff --git a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.h b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.h
index 8f9df24..67e8b21 100644
--- a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.h
+++ b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.h
@@ -188,6 +188,10 @@
void CheckAesIncrementalEncryptOperation(BlockMode block_mode, int message_size);
+ void AesCheckEncryptOneByteAtATime(const string& key, BlockMode block_mode,
+ PaddingMode padding_mode, const string& iv,
+ const string& plaintext, const string& exp_cipher_text);
+
void CheckHmacTestVector(const string& key, const string& message, Digest digest,
const string& expected_mac);
@@ -343,6 +347,11 @@
string name_;
string author_;
long challenge_;
+
+ private:
+ void CheckEncryptOneByteAtATime(BlockMode block_mode, const int block_size,
+ PaddingMode padding_mode, const string& iv,
+ const string& plaintext, const string& exp_cipher_text);
};
// If the given property is available, add it to the tag set under the given tag ID.