Chapter 9

Putting It All Together:

An X9.31 Example

The example in this chapter shows how to perform RSA digital signing and verifying according to the ANSI X9.31 standard. This example, available on the CD-ROM as x931.c, includes the following separate operations:

Generate random input using AI_X931Random. AI_X931Random is a special-purpose AI that generates the six separate streams of randomness required by the X9.31 standard.

Generate an RSA key pair using AI_RSAStrongKeyGen. AI_RSAStrongKeyGen generates RSA moduli that are in conformance with the strength criteria of ANSI X9.31.

Sign a message using AI_SignVerify. AI_SignVerify is an AI for performing RSA signing and verification in conformance with the ANSI X9.31 standard.

Verify a message using AI_SignVerify.

If you wish to create an application in accordance with the ANSI X9.31 standard, you should use the AIs shown in this example. Although there are other AIs that appear to give the same functionality (for example, other AIs for RSA signing and verification), only the AIs listed above give you ANSI X9.31 standards compliance for RSA digital signatures and verification. Compliance with this standard may be required for contracts with certain United States Federal Government departments.

3 1 3

Page 335
Image 335
RSA Security 5.2.2 manual Putting It All Together An X9.31 Example