Take the 2-minute tour ×
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

PKCS#1 is one of the most used (de-facto) standard for real-world use of RSA.

That's for good reasons: PKCS#1 is well thought, versatile, understandable, has been relatively stable for over two decades, and remains practically secure in its original form, contrary to some other standardized uses of RSA (like the ISO/IEC 9796[-1] signature scheme, which was withdrawn for lack of security under chosen-message attack; and the first scheme in ISO/IEC 9796-2, which lives with a mild weakness under such condition). The one major upgrade to PKCS#1, from v1 to v2, circa 1998, was to introduce additional modes with stronger security argument, and multi-prime RSA.

PKCS#1 was updated from v2.1 to v2.2 in October 2012, and published by February 2013. Changes include:

  • incorporation of erratas (last updated in 2005) to PKCS#1 v2.1 (last updated in 2002);
  • additional hashes of the SHA-2 family, including SHA-512/256, SHA-224, and SHA-512/224;
  • corresponding algorithm identifiers;
  • corresponding test hex constants;
  • availability only in PDF format with permission to copy disabled (but who automatically compares to test hex constants anyway?);
  • updated legalese on the text (which remains worthless if taken literally, as it is of the form "permission to copy is granted if" followed by a condition that is false independently of what the copier does);
  • in the ASN Module:
    • PKCS-1 was changed to PKCS-1v2-2 and pkcs-1(1) was changed to pkcs-1v2-2(2);
    • in the IMPORTS (..) FROM NIST-SHA2 section, modules(0) sha2(1) was changed to hashAlgs(2).

What's the meaning, purposes and consequences of these changes in the ASN Module?

Are there any other technical changes? Is yes, which, and what's their meaning, purposes and consequences?

share|improve this question

1 Answer 1

up vote 5 down vote accepted

It's merely an update to align the hashing algorithms. There are in fact no real "consequences" which might have any negative impact as the v2.1 schemes are still supported. The positive impact is the alignment with FIPS 180-4.

To quote the revision history at page 59 of "PKCS #1 v2.2: RSA Cryptography Standard":

Version 2.2 updates the list of allowed hashing algorithms to align them with FIPS 180-4, therefore adding SHA-224, SHA-512/224 and SHA-512/256.

The following substantive changes were made:

— Object identifiers for sha224WithRSAEncryption, sha512-224WithRSAEncryption and sha512-256WithRSAEncryption were added.

This version continues to support the schemes in version 2.1

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.