Newbee question:
I am studying ANSI X9.31 -1998 for implementing PRNG as per section 2.4. I am not able to properly understand the representation of varibles used – like “ede”.
- Is the “ede” an operation or a variable ?
- Why a * is used before X? Is it some kind of a standard representation?
- Is there any specific document which describes all these?
“A.2.4 Generating Pseudo Random Numbers Using the DEA
Let ede*X(Y) represent the DEA multiple encryption of Y under the key *X.
Let *K be a DEA key pair reserved only for the generation of pseudo random numbers, let V be a 64-bit seed value which is also kept secret, and let XOR be the exclusive-or operator. Let DT be a date/time vector which is updated on each iteration. I is an intermediate value. A 64-bit vector R is generated as follows:
I = ede*K(DT)
R = ede*K(I XOR V) and a new V is generated by V = ede*K(R XOR I).
Successive values of R may be concatenated to produce a pseudo random number of the desired length.”
EDE means Encrypt, Decrypt, Encrypt, the usual protocol when using Triple DES.
The use of
*looks a lot like the more usual subscription common to cryptography articles:EDEX(Y) to mean using X as the key for the algorithm EDE.