AESAVS MCT Test Details - 1.0 English

Versal Adaptive SoC Integrated 400G High Speed Channelized Cryptography Engine Subsystem Product Guide (PG372)

Document ID
PG372
Release Date
2024-01-30
Version
1.0 English

The Monte-Carlo Test (MCT) consists of 100 pseudorandom text encryptions. The AESAVS generates the request Key and Plaintext (PT) for iteration 0. The IUT and associated software generate the Ciphertext (CT) for iteration 0, and Key, PT and CT for iteration 1-99. The algorithm to generate Key/PT[1:99] is specified by the AESAVS in the following pseudo code.

Key[0] = Key
PT[0] = PT
For i = 0 to 99
    Output Key[i]
    Output PT[0]
    For j = 0 to 999
        CT[j] = AES(Key[i], PT[j])
        PT[j+1] = CT[j]
    Output CT[j]
    If ( keylen = 128 )
        Key[i+1] = Key[i] xor CT[j]
    If ( keylen = 192 )
        Key[i+1] = Key[i] xor (last 64-bits of CT[j-1] || CT[j])
    If ( keylen = 256 )
        Key[i+1] = Key[i] xor (CT[j-1] || CT[j])
    PT[0] = CT[j]

The result of this algorithm is that the CT from each iteration becomes the PT for the following iteration. The key for each iteration is unique.