Why X9.31 key generation is so odd
There was recently an interesting discussion on the sci.crypt Google group. A member of the group asked why the X9.31 standard has such an odd process for how RSA keys need to be generated. One response claimed that there was an easy work-around for the cumbersome process, and that involved using XML:
What you need here is a boat load of XML. XML will solve this problem.
We can have:
<cipher type="Asymmetric" name="RivestShamirAdleman">
<keygeneration method="outdated,outmoded" result="pointless" />
Then you have someone write a parser in twelve different, slightly
incompatible, libraries and call that a standard.
Then, and only then, have you created a standard that will be defunct
before it's even officially recongised.
A more insightful, if not as entertaining, post described how the content of X9.31 was driven by political maneuvering within the X9 group.
According to a person who claims to have been involved in writing the X9.31 standard, a company who was trying to make their elliptic curve technology look good relative to RSA insisted on the unusual key generation process. The non-crypto people in the group apparently agreed with their arguments and the result was the key generation process that's now in the X9.31 standard. Reading the full discussion of this doesn't take long, and may give an interesting insight or two into exactly how standards are actually developed.