diff --git a/security/nss/cmd/bltest/blapitest.c b/security/nss/cmd/bltest/blapitest.c index 9d32db42786..5580f1f3fb2 100644 --- a/security/nss/cmd/bltest/blapitest.c +++ b/security/nss/cmd/bltest/blapitest.c @@ -1635,12 +1635,14 @@ get_params(PRArenaPool *arena, bltestParams *params, case bltestDES_CBC: case bltestDES_EDE_CBC: case bltestRC2_CBC: + case bltestAES_CBC: sprintf(filename, "%s/tests/%s/%s%d", testdir, modestr, "iv", j); load_file_data(arena, ¶ms->sk.iv, filename, bltestBinary); case bltestDES_ECB: case bltestDES_EDE_ECB: case bltestRC2_ECB: case bltestRC4: + case bltestAES_ECB: sprintf(filename, "%s/tests/%s/%s%d", testdir, modestr, "key", j); load_file_data(arena, ¶ms->sk.key, filename, bltestBinary); break; @@ -1991,6 +1993,7 @@ enum { opt_SeedFile, opt_InputOffset, opt_OutputOffset, + opt_MonteCarlo, opt_CmdLine }; @@ -2036,6 +2039,7 @@ static secuCommandFlag bltest_options[] = { /* opt_SeedFile */ 'z', PR_FALSE, 0, PR_FALSE }, { /* opt_InputOffset */ '1', PR_TRUE, 0, PR_FALSE }, { /* opt_OutputOffset */ '2', PR_TRUE, 0, PR_FALSE }, + { /* opt_MonteCarlo */ '3', PR_FALSE, 0, PR_FALSE }, { /* opt_CmdLine */ '-', PR_FALSE, 0, PR_FALSE } }; @@ -2332,7 +2336,17 @@ int main(int argc, char **argv) misalignBuffer(cipherInfo.arena, &cipherInfo.output, outoff); if (!bltest.commands[cmd_Nonce].activated) { - cipherDoOp(&cipherInfo); + if (bltest.options[opt_MonteCarlo].activated) { + int mciter; + for (mciter=0; mciter<10000; mciter++) { + cipherDoOp(&cipherInfo); + memcpy(cipherInfo.input.buf.data, + cipherInfo.output.buf.data, + cipherInfo.input.buf.len); + } + } else { + cipherDoOp(&cipherInfo); + } cipherFinish(&cipherInfo); finishIO(&cipherInfo.output, outfile); } diff --git a/security/nss/cmd/bltest/tests/aes_cbc/ciphertext0 b/security/nss/cmd/bltest/tests/aes_cbc/ciphertext0 new file mode 100644 index 00000000000..040a397d75d --- /dev/null +++ b/security/nss/cmd/bltest/tests/aes_cbc/ciphertext0 @@ -0,0 +1 @@ +oJLgOzZ1GiWt3DGo2sPKaA== diff --git a/security/nss/cmd/bltest/tests/aes_cbc/iv0 b/security/nss/cmd/bltest/tests/aes_cbc/iv0 new file mode 100644 index 00000000000..4e65bc03477 --- /dev/null +++ b/security/nss/cmd/bltest/tests/aes_cbc/iv0 @@ -0,0 +1 @@ +qwertyuiopasdfgh diff --git a/security/nss/cmd/bltest/tests/aes_cbc/key0 b/security/nss/cmd/bltest/tests/aes_cbc/key0 new file mode 100644 index 00000000000..13911cc29af --- /dev/null +++ b/security/nss/cmd/bltest/tests/aes_cbc/key0 @@ -0,0 +1 @@ +fedcba9876543210 diff --git a/security/nss/cmd/bltest/tests/aes_cbc/numtests b/security/nss/cmd/bltest/tests/aes_cbc/numtests index 573541ac970..d00491fd7e5 100644 --- a/security/nss/cmd/bltest/tests/aes_cbc/numtests +++ b/security/nss/cmd/bltest/tests/aes_cbc/numtests @@ -1 +1 @@ -0 +1 diff --git a/security/nss/cmd/bltest/tests/aes_cbc/plaintext0 b/security/nss/cmd/bltest/tests/aes_cbc/plaintext0 new file mode 100644 index 00000000000..8d6a8d555b6 --- /dev/null +++ b/security/nss/cmd/bltest/tests/aes_cbc/plaintext0 @@ -0,0 +1 @@ +0123456789abcdef diff --git a/security/nss/cmd/bltest/tests/aes_ecb/ciphertext0 b/security/nss/cmd/bltest/tests/aes_ecb/ciphertext0 new file mode 100644 index 00000000000..d6818c1d0ba --- /dev/null +++ b/security/nss/cmd/bltest/tests/aes_ecb/ciphertext0 @@ -0,0 +1 @@ +PVuaCIiaKQhblgFCbVMTTg== diff --git a/security/nss/cmd/bltest/tests/aes_ecb/key0 b/security/nss/cmd/bltest/tests/aes_ecb/key0 new file mode 100644 index 00000000000..13911cc29af --- /dev/null +++ b/security/nss/cmd/bltest/tests/aes_ecb/key0 @@ -0,0 +1 @@ +fedcba9876543210 diff --git a/security/nss/cmd/bltest/tests/aes_ecb/numtests b/security/nss/cmd/bltest/tests/aes_ecb/numtests index 573541ac970..d00491fd7e5 100644 --- a/security/nss/cmd/bltest/tests/aes_ecb/numtests +++ b/security/nss/cmd/bltest/tests/aes_ecb/numtests @@ -1 +1 @@ -0 +1 diff --git a/security/nss/cmd/bltest/tests/aes_ecb/plaintext0 b/security/nss/cmd/bltest/tests/aes_ecb/plaintext0 new file mode 100644 index 00000000000..8d6a8d555b6 --- /dev/null +++ b/security/nss/cmd/bltest/tests/aes_ecb/plaintext0 @@ -0,0 +1 @@ +0123456789abcdef