Generated by GPT-5-mini| PKCS#1 v1.5 | |
|---|---|
| Name | PKCS#1 v1.5 |
| Developer | RSA Laboratories |
| Released | 1993 |
| Latest release | v1.5 (historic) |
| Genre | Cryptographic standard |
PKCS#1 v1.5 is a historical specification for RSA cryptography that defined key formats, mathematical primitives, and padding methods used in public-key encryption and digital signatures. The standard was produced by RSA Laboratories and influenced implementations by numerous organizations, shaping deployments in products from IBM, Microsoft, and Mozilla to libraries such as OpenSSL and Bouncy Castle. PKCS#1 v1.5’s padding designs and interoperability expectations made it widely adopted across Internet infrastructure governed by bodies like the IETF, ISO, and NIST.
PKCS#1 v1.5 specified encoding rules for RSA-based operations, including encryption and signature generation, and described algorithm parameters and ASN.1 structures that guided implementers at vendors like IBM, Microsoft, Sun Microsystems, Oracle, and Hewlett-Packard. The document addressed RSA key representation in contexts used by standards organizations such as the IETF, ISO/IEC, and ITU-T, and influenced protocol suites maintained by the IETF working groups and the TLS specifications produced by the Internet Engineering Task Force. PKCS#1 v1.5 informed software projects including OpenSSL, GnuTLS, NSS, and proprietary stacks implemented by Cisco, Juniper, and F5 Networks.
PKCS#1 v1.5 originated at RSA Laboratories during the early 1990s when cryptographic export controls and patent landscapes involved entities such as the United States Department of Commerce and the US National Institute of Standards and Technology. As deployment expanded, interoperability discussions included contributors from Microsoft, IBM, Motorola, and Sun Microsystems; standards committees like ISO/IEC JTC 1 and IETF working groups referenced PKCS#1 concepts in later RFCs and profiles. The evolution of the standard paralleled developments associated with cryptographers and institutions, including researchers at MIT, Bell Labs, and Stanford, and implementations by companies like Netscape and VeriSign that helped drive de facto acceptance across the World Wide Web.
PKCS#1 v1.5 built on mathematical foundations from number theory and public-key designs credited to inventors associated with RSA Laboratories and academic centers such as MIT and Stanford. The specification described RSA modular exponentiation using key components (modulus, public exponent, private exponent) formatted via ASN.1 sequences—a representation familiar to implementers at enterprises like Microsoft, Apple, and Red Hat. It referenced hash functions and message digests standardized by institutions such as NIST and developed by researchers connected to organizations like SUN Microsystems and Bell Labs; these included MD2, MD5, and SHA-1 as election options in contemporary deployments by browsers from Microsoft and Mozilla and certificate authorities like VeriSign and Entrust.
PKCS#1 v1.5 defined two principal encodings: EME-PKCS1-v1_5 for encryption and EMSA-PKCS1-v1_5 for signatures, specifying byte-level formats that interoperated with X.509 certificates issued by authorities such as VeriSign, DigiCert, and Entrust. The encryption padding required random nonzero octets and a block type indicator used in implementations by OpenSSL, Bouncy Castle, and NSS, while the signature encoding concatenated digest identifiers (OID values maintained in ITU-T and ISO registries) with digest bytes—an approach relied upon by SSL/TLS stacks in products from Apache HTTP Server, nginx, and Microsoft IIS. These encodings were implemented in cryptographic libraries maintained by projects like GnuTLS, Libgcrypt, and WolfSSL, and adopted by hardware vendors such as Intel and ARM in TPM and secure enclave designs.
Analyses by academic groups at universities like Stanford, MIT, and ETH Zurich and security teams at companies including Google, Microsoft, and Red Hat identified adaptive chosen-ciphertext attacks and signature forgery concerns related to PKCS#1 v1.5 padding. High-profile research by cryptographers associated with CWI Amsterdam and Bell Labs demonstrated practical attacks exploited in contexts such as TLS and S/MIME, influencing mitigations in browsers by Mozilla and Google Chrome. Notable industry responses from organizations like IETF working groups and NIST led to recommendations that deprecate v1.5 encodings in favor of provably secure alternatives; appearance of Bleichenbacher-style attacks motivated patches in OpenSSL and updates from vendors including Microsoft and Apple.
PKCS#1 v1.5 was implemented broadly across software and hardware ecosystems: OpenSSL, LibreSSL, BoringSSL, NSS, Bouncy Castle, GnuTLS, and platform stacks from Microsoft Windows, macOS, and various Linux distributions. Certificate authorities such as VeriSign, DigiCert, and GlobalSign issued X.509 certificates compatible with v1.5-specified encodings, enabling interoperability with browsers from Mozilla Foundation, Google, Microsoft, and Apple. Embedded and hardware implementations from vendors like Infineon, NXP, and Intel used v1.5 representations in TPMs and smart-card products produced by companies such as Gemalto and Yubico, while enterprise devices from Cisco, Juniper, and F5 Networks maintained backward compatibility for legacy clients.
Because of demonstrated attacks and the availability of stronger schemes like RSA-OAEP and RSASSA-PSS standardized in later revisions and by bodies including IETF and ISO, industry guidance from NIST and browser vendors progressively recommended migration away from PKCS#1 v1.5. Many certificate authorities and large platform maintainers in organizations such as Google, Mozilla, Microsoft, and Apple moved to prefer modern encodings; however, backward compatibility concerns with legacy systems in enterprises, governments, and telecommunications networks—operated by companies like IBM, Ericsson, and Huawei—meant v1.5 persisted in some contexts. Deprecation planning often involved coordination among standards bodies, maintainers of OpenSSL and NSS, and major vendors to balance security posture with operational continuity.
Category:Cryptographic standards