Closed Bug 312395 Opened 20 years ago Closed 19 years ago

Enhance fipstest to perform FIPS AES algorithm testing

Categories

(NSS :: Test, enhancement, P1)

enhancement

Tracking

(Not tracked)

RESOLVED FIXED
3.11.2

People

(Reporter: wtc, Assigned: wtc)

Details

Attachments

(1 file, 1 obsolete file)

We need to enhance nss/cmd/fipstest/fipstest.c to be able to perform the various tests in the FIPS AES Algorithm Validation Suite (AESAVS): http://csrc.nist.gov/cryptval/aes/AESAVS.pdf NSS support the following: key size: 128, 192, and 256 bits mode of operation: ECB and CBC There are three types of tests: - Known Answer Test (KAT): this in turn has four types * GFSbox * KeySbox * Variable Key * Variable Text They all have the same structure. Plaintext or ciphertext is exactly one block long. - Multi-block Message Test (MMT): this has the same structure as the KAT. The only difference is that the plaintext or ciphertext has multiple blocks. - Monte Carlo Test (MCT): this tests 100 blocks generated from the given test input using an algorithm specified in the Validation Suite. It tests our encryption and decryption functions in streaming mode.
Attached patch Proposed patch v1 (obsolete) — Splinter Review
The test input file is called a REQUEST file and has the .req suffix. fipstest writes its output to stdout. In our script, we will redirect stdout to the test output file, which is called a RESPONSE file and has the .rsp suffix. To run a Known Answer Test (ECB and CBC modes): fipstest aes kat test-name.req To run a Multi-block Message Test (ECB and CBC modes): fipstest aes mmt test-name.req To run a Monte Carlo Test in ECB mode: fipstest aes mct ecb test-name.req To run a Monte Carlo Test in CBC mode: fipstest aes mct cbc test-name.req I will enhance fipstest to be able to determine the mode for Monte Carlo Test.
Comment on attachment 199499 [details] [diff] [review] Proposed patch v1 I forgot to mention that this patch contains several "int" to "unsigned int" changes. Those are to fix Visual C++ compiler warnings about signed/unsigned comparisons.
Hopefully this new patch is ready for checkin. I added doublechecking to MCT and tried to put common code in subroutines. Usage: fipstest aes kat|mmt|mct ecb|cbc test-name.req kat = Known Answer Test mmt = Multi-block Message Test mct = Monte Carlo Test ecb = ECB mode cbc = CBC mode
Attachment #199499 - Attachment is obsolete: true
Wan-Teh did this ever get checked in? The wiki FIPS doc says it did at http://wiki.mozilla.org/FIPS_Validation I changed the target just so it gets on your radar.
Target Milestone: --- → 3.11.2
QA Contact: jason.m.reid → test
Priority: -- → P1
Glen Beasley says this is fixed.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: