RSA: Turning Public-Key Cryptography into a Practical System
Ron Rivest, Adi Shamir, and Leonard Adleman produced a concrete public-key system based on modular arithmetic and the difficulty of factoring, giving encryption and digital signatures a practical implementation path.
Public-key cryptography needed a concrete construction
Diffie and Hellman had shown a new direction, but a general-purpose public-key system still needed a practical mathematical construction for encryption and signatures. At MIT, Ronald Rivest, Adi Shamir and Leonard Adleman developed what became RSA and published it in Communications of the ACM in 1978.[1]
The paper presents a system in which the encryption key can be public while the corresponding decryption information remains secret, and the same number-theoretic structure can support digital signatures.
The breakthrough was an implementable trapdoor relationship
RSA relies on operations that are easy to perform with the right key information but intended to be computationally difficult to reverse without it. That asymmetry made the abstract public/private-key idea operational.
RSA built keys from large prime numbers and modular arithmetic
The system chooses large primes, multiplies them to form a modulus, and constructs public and private exponents with a specific modular relationship.[1] Encryption, decryption and signing become exponentiation operations modulo that composite number.
The public modulus reveals the product but not its prime factors. Recovering the private structure is linked to the difficulty of factoring sufficiently large integers, although modern security analysis is more nuanced than the simple statement that breaking RSA is exactly equivalent to factoring.
Key generation turned number theory into software infrastructure
Prime generation, modular inverses, padding rules and random-number quality became practical implementation concerns. RSA is therefore a mathematical system whose security also depends on careful software engineering around the core equation.
The system supported both confidentiality and signatures
RSA’s original paper explicitly treated digital signatures alongside public-key encryption.[1] A private operation can produce a value that the corresponding public key verifies, enabling integrity and origin authentication when embedded in a proper signature scheme.
This dual role helped make RSA attractive to network protocols that needed both secure key establishment and authenticated documents or software.
Textbook RSA is not the same thing as secure deployed RSA
Real systems do not safely encrypt arbitrary messages by applying the bare mathematical transformation. Padding and encoding standards were developed because deterministic or structurally naive uses of RSA create serious attacks. The history of RSA includes the surrounding protocols that made the primitive usable.
The three-person name preserves a genuinely collaborative invention
Rivest’s MIT biography identifies him as co-inventor of RSA with Shamir and Adleman, while USC’s biography credits Adleman with the same 1978 work.[2][3]
The acronym is historically useful because it resists the common tendency to turn a team contribution into a single-inventor story.
The collaborators brought different strengths to the search
The practical result came from repeated attempts at candidate constructions and mathematical scrutiny. Adleman’s role included challenging proposed schemes until the modular-arithmetic approach survived the team’s tests.
RSA helped make public-key cryptography deployable in products
Rivest later co-founded RSA and other security companies, and his research record spans cryptography, algorithms and computer security.[2] The algorithm became a standard primitive in security software, certificates and protocol suites for decades.
Its influence is best understood as infrastructure: most users never performed RSA arithmetic themselves, but browsers, mail software, operating systems and servers incorporated libraries that did.
Recognition reflected practical impact as well as theory
The Weizmann Institute’s account of Adi Shamir notes that the RSA method changed secure computer communication and that the three collaborators received the 2002 ACM Turing Award.[4] The American Mathematical Society likewise reported the award for their contributions to public-key cryptography.[5]
The recognition underscores an important CodeHistory theme: a theoretical construction can become a software building block when implementation, standardization and ecosystem adoption align.
RSA’s limitations became part of cryptographic engineering
RSA operations are computationally heavier than modern symmetric encryption, so protocols often used RSA to protect a short session key rather than bulk application data. Key sizes also had to grow as computing power and factoring techniques improved.
Later elliptic-curve systems and, eventually, post-quantum migration plans reduced RSA’s monopoly on public-key infrastructure, but they did not erase its historical role in normalizing asymmetric cryptography in mainstream software.
Why RSA belongs in coding history
RSA turned the public-key idea into a concrete algorithm that programmers could implement, standardize and embed in protocols.[1][5]
Its deeper legacy is architectural: software could publish identity-related cryptographic material broadly while keeping a private secret local, enabling secure communication and signatures between parties that had never exchanged a shared secret in advance.
Works Cited
- 01
- 02MIT CSAIL — Ronald L. Rivest biographical information people.csail.mit.edu
- 03USC Viterbi — Leonard Adleman faculty biography viterbi.usc.edu
- 04Weizmann Institute — Adi Shamir and the 2002 Turing Award weizmann.ac.il
- 05
CodeHistory is a living archive. Citations document the evidence used for this edition; later evidence may refine the account.
Submit a research lead