mirror of
https://github.com/yuzu-mirror/mbedtls.git
synced 2025-12-06 07:12:32 +01:00
Add tests covering skipped update() or update_ad()
for empty plaintext/ciphertext and empty auth data.
Test vector for P=0, A=0 generated using python's
cryptography.hazmat library.
Python script used for test vector generation:
```
import os
from cryptography.hazmat.primitives.ciphers.aead import AESCCM
def encrypt(key, iv, plaintext, associated_data):
key = bytes.fromhex(key)
iv = bytes.fromhex(iv)
plaintext = bytes.fromhex(plaintext)
associated_data = bytes.fromhex(associated_data)
aesccm = AESCCM(key)
ct = aesccm.encrypt(iv, plaintext, associated_data)
return ct.hex()
def decrypt(key, associated_data, iv, ciphertext):
key = bytes.fromhex(key)
associated_data = bytes.fromhex(associated_data)
iv = bytes.fromhex(iv)
ciphertext = bytes.fromhex(ciphertext)
aesccm = AESCCM(key)
pt = aesccm.decrypt(iv, ciphertext, associated_data)
return pt.hex()
key = "54caf96ef6d448734700aadab50faf7a"
plaintext = ""
iv = "a3803e752ae849c910d8da36af"
aad = ""
encrypted = encrypt(key, iv, plaintext, aad)
print(f"key: {key}")
print(f"iv: {iv}")
print(f"encrypted: {encrypted}")
print("--------------------------------------")
decrypted = decrypt(
key,
aad,
iv,
encrypted
)
print(f"decrypted: {decrypted}")
```
Results:
```
key: 54caf96ef6d448734700aadab50faf7a
iv: a3803e752ae849c910d8da36af
encrypted: eba8347baa6d61f87b67c2dd7c6d2053
--------------------------------------
decrypted:
```
Signed-off-by: Mateusz Starzyk <mateusz.starzyk@mobica.com>
|
||
|---|---|---|
| .. | ||
| .jenkins | ||
| configs | ||
| data_files | ||
| docker/bionic | ||
| git-scripts | ||
| include | ||
| scripts | ||
| src | ||
| suites | ||
| .gitignore | ||
| CMakeLists.txt | ||
| compat-in-docker.sh | ||
| compat.sh | ||
| context-info.sh | ||
| Descriptions.txt | ||
| make-in-docker.sh | ||
| Makefile | ||
| ssl-opt-in-docker.sh | ||
| ssl-opt.sh | ||