mirror of
https://github.com/yuzu-mirror/mbedtls.git
synced 2026-04-20 22:05:15 +00:00
The random-in-nrange test code has auxiliary functions that are common to all the interfaces (core, mod_raw (upcoming), mod (upcoming), legacy), and does some differential testing to check that all the layers consume the RNG in the saame way. Test them all in the same test suite. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
249 lines
6.8 KiB
Text
249 lines
6.8 KiB
Text
MPI core random basic: 0..1
|
|
mpi_core_random_basic:0:"01":0
|
|
|
|
MPI core random basic: 0..2
|
|
mpi_core_random_basic:0:"02":0
|
|
|
|
MPI core random basic: 1..2
|
|
mpi_core_random_basic:1:"02":0
|
|
|
|
MPI core random basic: 2^30..2^31
|
|
mpi_core_random_basic:0x40000000:"80000000":0
|
|
|
|
MPI core random basic: 0..2^128
|
|
mpi_core_random_basic:0x40000000:"0100000000000000000000000000000000":0
|
|
|
|
MPI core random basic: 2^30..2^129
|
|
mpi_core_random_basic:0x40000000:"0200000000000000000000000000000000":0
|
|
|
|
# Use the same data values for mpi_core_random_basic->NOT_ACCEPTABLE
|
|
# and for mpi_random_values where we want to return NOT_ACCEPTABLE but
|
|
# this isn't checked at runtime.
|
|
MPI core random basic: 2^28-1..2^28 (NOT_ACCEPTABLE)
|
|
mpi_core_random_basic:0x0fffffff:"10000000":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
|
|
|
|
MPI random legacy=core: 2^28-1..2^28 (NOT_ACCEPTABLE)
|
|
mpi_random_values:0x0fffffff:"10000000"
|
|
|
|
MPI core random basic: 2^29-1..2^29 (NOT_ACCEPTABLE)
|
|
mpi_core_random_basic:0x1fffffff:"20000000":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
|
|
|
|
MPI random legacy=core: 2^29-1..2^29 (NOT_ACCEPTABLE)
|
|
mpi_random_values:0x1fffffff:"20000000"
|
|
|
|
MPI core random basic: 2^30-1..2^30 (NOT_ACCEPTABLE)
|
|
mpi_core_random_basic:0x3fffffff:"40000000":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
|
|
|
|
MPI random legacy=core: 2^30-1..2^30 (NOT_ACCEPTABLE)
|
|
mpi_random_values:0x3fffffff:"40000000"
|
|
|
|
MPI core random basic: 2^31-1..2^31 (NOT_ACCEPTABLE)
|
|
mpi_core_random_basic:0x7fffffff:"80000000":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
|
|
|
|
MPI random legacy=core: 2^31-1..2^31 (NOT_ACCEPTABLE)
|
|
mpi_random_values:0x7fffffff:"80000000"
|
|
|
|
MPI random in range: 1..2
|
|
mpi_random_many:1:"02":1000
|
|
|
|
MPI random in range: 1..3
|
|
mpi_random_many:1:"03":1000
|
|
|
|
MPI random in range: 1..4
|
|
mpi_random_many:1:"04":1000
|
|
|
|
MPI random in range: 1..5
|
|
mpi_random_many:1:"05":1000
|
|
|
|
MPI random in range: 1..6
|
|
mpi_random_many:1:"06":1000
|
|
|
|
MPI random in range: 1..7
|
|
mpi_random_many:1:"07":1000
|
|
|
|
MPI random in range: 1..8
|
|
mpi_random_many:1:"08":1000
|
|
|
|
MPI random in range: 1..9
|
|
mpi_random_many:1:"09":1000
|
|
|
|
MPI random in range: 1..10
|
|
mpi_random_many:1:"0a":1000
|
|
|
|
MPI random in range: 1..11
|
|
mpi_random_many:1:"0b":1000
|
|
|
|
MPI random in range: 1..12
|
|
mpi_random_many:1:"0c":1000
|
|
|
|
MPI random in range: 1..255
|
|
mpi_random_many:1:"ff":200
|
|
|
|
MPI random in range: 1..256
|
|
mpi_random_many:1:"0100":200
|
|
|
|
MPI random in range: 1..257
|
|
mpi_random_many:1:"0101":200
|
|
|
|
MPI random in range: 1..272
|
|
mpi_random_many:1:"0110":200
|
|
|
|
MPI random in range: 1..2^64-1
|
|
mpi_random_many:1:"ffffffffffffffff":100
|
|
|
|
MPI random in range: 1..2^64
|
|
mpi_random_many:1:"010000000000000000":100
|
|
|
|
MPI random in range: 1..2^64+1
|
|
mpi_random_many:1:"010000000000000001":100
|
|
|
|
MPI random in range: 1..2^64+2^63
|
|
mpi_random_many:1:"018000000000000000":100
|
|
|
|
MPI random in range: 1..2^65-1
|
|
mpi_random_many:1:"01ffffffffffffffff":100
|
|
|
|
MPI random in range: 1..2^65
|
|
mpi_random_many:1:"020000000000000000":100
|
|
|
|
MPI random in range: 1..2^65+1
|
|
mpi_random_many:1:"020000000000000001":100
|
|
|
|
MPI random in range: 1..2^65+2^64
|
|
mpi_random_many:1:"030000000000000000":100
|
|
|
|
MPI random in range: 1..2^66+2^65
|
|
mpi_random_many:1:"060000000000000000":100
|
|
|
|
MPI random in range: 1..2^71-1
|
|
mpi_random_many:1:"7fffffffffffffffff":100
|
|
|
|
MPI random in range: 1..2^71
|
|
mpi_random_many:1:"800000000000000000":100
|
|
|
|
MPI random in range: 1..2^71+1
|
|
mpi_random_many:1:"800000000000000001":100
|
|
|
|
MPI random in range: 1..2^71+2^70
|
|
mpi_random_many:1:"c00000000000000000":100
|
|
|
|
MPI random in range: 1..2^72-1
|
|
mpi_random_many:1:"ffffffffffffffffff":100
|
|
|
|
MPI random in range: 1..2^72
|
|
mpi_random_many:1:"01000000000000000000":100
|
|
|
|
MPI random in range: 1..2^72+1
|
|
mpi_random_many:1:"01000000000000000001":100
|
|
|
|
MPI random in range: 1..2^72+2^71
|
|
mpi_random_many:1:"01800000000000000000":100
|
|
|
|
MPI random in range: 0..1
|
|
mpi_random_many:0:"04":10000
|
|
|
|
MPI random in range: 0..4
|
|
mpi_random_many:0:"04":10000
|
|
|
|
MPI random in range: 2..4
|
|
mpi_random_many:2:"04":10000
|
|
|
|
MPI random in range: 3..4
|
|
mpi_random_many:3:"04":10000
|
|
|
|
MPI random in range: smaller result
|
|
mpi_random_sizes:1:"aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbb":1:0
|
|
|
|
MPI random in range: same size result (32-bit limbs)
|
|
mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":2:0
|
|
|
|
MPI random in range: same size result (64-bit limbs)
|
|
mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":1:0
|
|
|
|
MPI random in range: larger result
|
|
mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":3:0
|
|
|
|
## The "0 limb in upper bound" tests rely on the fact that
|
|
## mbedtls_mpi_read_binary() bases the size of the MPI on the size of
|
|
## the input, without first checking for leading zeros. If this was
|
|
## not the case, the tests would still pass, but would not exercise
|
|
## the advertised behavior.
|
|
MPI random in range: leading 0 limb in upper bound #0
|
|
mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":0:0
|
|
|
|
MPI random in range: leading 0 limb in upper bound #1
|
|
mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":1:0
|
|
|
|
MPI random in range: leading 0 limb in upper bound #2
|
|
mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":2:0
|
|
|
|
MPI random in range: leading 0 limb in upper bound #3
|
|
mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":3:0
|
|
|
|
MPI random in range: leading 0 limb in upper bound #4
|
|
mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":4:0
|
|
|
|
MPI random in range: previously small >0
|
|
mpi_random_sizes:1:"1234567890":4:1
|
|
|
|
MPI random in range: previously small <0
|
|
mpi_random_sizes:1:"1234567890":4:-1
|
|
|
|
MPI random in range: previously large >0
|
|
mpi_random_sizes:1:"1234":4:65
|
|
|
|
MPI random in range: previously large <0
|
|
mpi_random_sizes:1:"1234":4:-65
|
|
|
|
MPI random bad arguments: min < 0
|
|
mpi_random_fail:-1:"04":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
|
|
|
MPI random bad arguments: min = N = 0
|
|
mpi_random_fail:0:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
|
|
|
MPI random bad arguments: min = N = 1
|
|
mpi_random_fail:1:"01":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
|
|
|
MPI random bad arguments: min > N = 0
|
|
mpi_random_fail:1:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
|
|
|
MPI random bad arguments: min > N = 1
|
|
mpi_random_fail:2:"01":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
|
|
|
MPI random bad arguments: min > N = 1, 0 limb in upper bound
|
|
mpi_random_fail:2:"000000000000000001":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
|
|
|
MPI random legacy=core: 0..1
|
|
mpi_random_values:0:"01"
|
|
|
|
MPI random legacy=core: 0..2
|
|
mpi_random_values:0:"02"
|
|
|
|
MPI random legacy=core: 1..2
|
|
mpi_random_values:1:"02"
|
|
|
|
MPI random legacy=core: 2^30..2^31
|
|
mpi_random_values:0x40000000:"80000000"
|
|
|
|
MPI random legacy=core: 2^31-1..2^32-1
|
|
mpi_random_values:0x7fffffff:"ffffffff"
|
|
|
|
MPI random legacy=core: 0..2^256
|
|
mpi_random_values:0:"010000000000000000000000000000000000000000000000000000000000000000"
|
|
|
|
MPI random legacy=core: 0..2^256+1
|
|
mpi_random_values:0:"010000000000000000000000000000000000000000000000000000000000000001"
|
|
|
|
# The following test cases return MPI_NOT_ACCEPTABLE
|
|
# (verified at the time of writing, not enforced at runtime)
|
|
MPI random legacy=core: 2^28-1..2^28 (improbable)
|
|
mpi_random_values:0x0fffffff:"10000000"
|
|
|
|
MPI random legacy=core: 2^29-1..2^29 (improbable)
|
|
mpi_random_values:0x1fffffff:"20000000"
|
|
|
|
MPI random legacy=core: 2^30-1..2^30 (improbable)
|
|
mpi_random_values:0x3fffffff:"40000000"
|
|
|
|
MPI random legacy=core: 2^31-1..2^31 (improbable)
|
|
mpi_random_values:0x7fffffff:"80000000"
|