Simple Backdoors for RSA Key Generation Scott Dial.

Slides:



Advertisements
Similar presentations
RSA COSC 201 ST. MARY’S COLLEGE OF MARYLAND FALL 2012 RSA.
Advertisements

CSE331: Introduction to Networks and Security Lecture 19 Fall 2002.
Data encryption with big prime numbers
Public Key Encryption Algorithm
Notation Intro. Number Theory Online Cryptography Course Dan Boneh
7. Asymmetric encryption-
1 The RSA Algorithm Supplementary Notes Prepared by Raymond Wong Presented by Raymond Wong.
Great Theoretical Ideas in Computer Science.
Dr. Lo’ai Tawalbeh Summer 2007 Chapter 9 – Public Key Cryptography and RSA Dr. Lo’ai Tawalbeh New York Institute of Technology (NYIT) Jordan’s Campus INCS.
The RSA Cryptosystem and Factoring Integers (II) Rong-Jaye Chen.
The Algebra of Encryption CS 6910 Semester Research and Project University of Colorado at Colorado Springs By Cliff McCullough 20 July 2011.
Factoring 1 Factoring Factoring 2 Factoring  Security of RSA algorithm depends on (presumed) difficulty of factoring o Given N = pq, find p or q and.
ITIS 3200: Introduction to Information Security and Privacy Dr. Weichao Wang.
1 Lecture #10 Public Key Algorithms HAIT Summer 2005 Shimrit Tzur-David.
Cryptography & Number Theory
Cryptography1 CPSC 3730 Cryptography Chapter 9 Public Key Cryptography and RSA.
Introduction to Modern Cryptography Lecture 7 1.RSA Public Key CryptoSystem 2.One way Trapdoor Functions.
Dr.Saleem Al_Zoubi1 Cryptography and Network Security Third Edition by William Stallings Public Key Cryptography and RSA.
Shor’s Algorithm Osama Awwad Department of Computer Science Western Michigan University July 12, 2015.
8: Network Security8-1 Symmetric key cryptography symmetric key crypto: Bob and Alice share know same (symmetric) key: K r e.g., key is knowing substitution.
RSA Encryption Caitlin O’Dwyer. What is an RSA Number? An RSA number n is a number s.t. n=pq Where p and q are distinct, large, prime integers.
“RSA”. RSA  by Rivest, Shamir & Adleman of MIT in 1977  best known & widely used public-key scheme  RSA is a block cipher, plain & cipher text are.
Introduction to Public Key Cryptography
Public Key Model 8. Cryptography part 2.
The RSA Algorithm Based on the idea that factorization of integers into their prime factors is hard. ★ n=p . q, where p and q are distinct primes Proposed.
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
RSA Numbers by: Brandon Hacay & Conrad Allen. History of RSA Numbers The letters in “RSA” are simply the initials of the people who are credited as having.
Dan Boneh Intro. Number Theory Intractable problems Online Cryptography Course Dan Boneh.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
The RSA Algorithm Rocky K. C. Chang, March
Network and Communications Network Security Department of Computer Science Virginia Commonwealth University.
1 Network Security Lecture 6 Public Key Algorithms Waleed Ejaz
Great Theoretical Ideas in Computer Science.
RSA Ramki Thurimella.
RSA Parameter Generation Bob needs to: - find 2 large primes p,q - find e s.t. gcd(e, Á (pq))=1 Good news: - primes are fairly common: there are about.
1 Lecture 9 Public Key Cryptography Public Key Algorithms CIS CIS 5357 Network Security.
1 Lect. 13 : Public Key Encryption RSA ElGamal. 2 Shamir Rivest Adleman RSA Public Key Systems  RSA is the first public key cryptosystem  Proposed in.
MA/CSSE 473 Day 11 Primality testing summary Data Encryption RSA.
Cryptography Lecture 9 Stefan Dziembowski
CRYPTOGRAPHIC BACK DOORS WITH CHUCK EASTTOM
Cryptography Lecture 7: RSA Primality Testing Piotr Faliszewski.
A Method for Obtaining Digital Signatures and Public-key Cryptosystems
Darci Miyashiro Math 480 April 29, 2013
RSA Public Key Crypto System. About RSA Announced in 1977 by Ronald Rivest, Adi Shamir, and Leonard Adleman Relies on the relative ease of finding large.
1 Number Theory and Advanced Cryptography 5. Cryptanalysis of RSA Chih-Hung Wang Sept Part I: Introduction to Number Theory Part II: Advanced Cryptography.
The RSA Algorithm. Content Review of Encryption RSA An RSA example.
Public-key cryptanalysis: lattice attacks Nguyen Dinh Thuc University of Science, HCMC
Yu-Li Lin and Chien-Lung Hsu Department of Information Management, Chang-Gung University Information Science(SCI) Reporter: Tzer-Long Chen.
Chapter 3 – Public Key Cryptography and RSA (A). Private-Key Cryptography traditional private/secret/single-key cryptography uses one key shared by both.
Scott CH Huang COM 5336 Cryptography Lecture 6 Public Key Cryptography & RSA Scott CH Huang COM 5336 Cryptography Lecture 6.
Attacking RSA Brian Winant Reference “Twenty Years of Attacks on the RSA Cryptosystem” By Dan Boneh In Notices of the American Mathematical.
RSA The algorithm was publicly described in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT Partly used for PGP (Pretty Good Privacy) to encrypt.
Chapter 9 Public Key Cryptography and RSA. Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared by both sender.
POON TENG HIN.  RSA  Shamir’s Three-Pass Protocol  Other issues.
1 Section Congruences In short, a congruence relation is an equivalence relation on the carrier of an algebra such that the operations of the algebra.
RSA cryptosystem--preview Suppose n=p  q and  (n)=(p-1)(q-1), where p and q are big primes. Select (find) a and b, such that a  b=1 mod  (n). K=(n,p,q,a,b),
1/16 Seeing through M IST given a Small Fraction of an RSA Private Key Colin D. Walter Comodo Research Lab (Bradford, UK)
Primality Testing. Introduction The primality test provides the probability of whether or not a large number is prime. Several theorems including Fermat’s.
Dan Boneh Intro. Number Theory Fermat and Euler Online Cryptography Course Dan Boneh.
Introduction to Number Theory Department of Computer Engineering Sharif University of Technology 3/8/2006.
Great Theoretical Ideas in Computer Science.
RSA Pubic Key Encryption CSCI 5857: Encoding and Encryption.
Data encryption with big prime numbers DANIEL FREEMAN, SLU.
Breaking Cryptosystems Joshua Langford University of Texas at Tyler Fall 2007 Advisor: Dr. Ramona Ranalli Alger.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
Key Exchange in Systems VPN usually has two phases –Handshake protocol: key exchange between parties sets symmetric keys –Traffic protocol: communication.
MA/CSSE 473 Day 9 Primality Testing Encryption Intro.
Revision. Cryptography depends on some properties of prime numbers. One of these is that it is rather easy to generate large prime numbers, but much harder.
Public Key Cryptosystems - RSA
Presentation transcript:

Simple Backdoors for RSA Key Generation Scott Dial

Overview  Some Necessary Theorems  The Scenario  Four Methods  Conclusions

Important Notation  |n| represents the magnitude of n in bits  |240| = | b| = 8  n:m represents the concatenation of n and m in there respective order  1011:0101 =  n  m represents the m MSBs of n  n  m represent the m LSBs of n

Wiener’s Method  Suppose we are given (n, e), and d < 4 √(n)/3, then we can compute the whole of d and factor n in poly(|n|).  Loosely |d| < |n|/4

Coppersmith’s Method  Suppose we are given (n, e) and |n|/4 bits of p, then we can factor n in poly(|n|).

Theorem 1 [Boneh]   Let t be an integer in the range [|n|/4,..., |n|/2] and e be a prime in the range [2 t, …, 2 t+1 ]. Suppose we are given (n, e), and the t most significant bits of d. Then we can compute the whole of d and factor n in time poly(|n|).

Theorem 2 [Boneh]   Let t be an integer in the range [1, …, |n|/2] and e be an integer in the range [2 t, …, 2 t+1 ]. Suppose we are given (n, e), the t most significant bits of d, and the |n|/4 least significant bits of d. Then we can factor n in time poly(|n|).

Theorem 3 [Slakmon]   Let t be an integer in the range [1, …, |n - Φ(n)|] and d be an integer in the range [1, …, 2 |n - Φ(n)| - t/2 ]. Suppose we are given (n, e), and the |n - Φ(n)| - t most significant bits of n - Φ(n). Then we can factor n in time poly(|n|).

The Scenario (Users)  A Black-Box  No Knowledge of The Generation  Produces tuples (p, q, e, d)  The Challenge  Distinguish Good Keys From Bad Keys  External Analysis Only

The Scenario (Creators)  Generate RSA tuples (p, q, e, d)  Through (n, e) volunteer enough information to apply partial knowledge factoring on n  Create a backdoor discretely  Indistinguishable subliminal channel

A Backdoor  Let β be a backdoor key  Let π β be a permutation of odd integers smaller than n to themselves  Several Choices  Advantages/Disadvantages

The RSA Algorithm  1: Generate random primes p and q, n := pq, a k bit integer.  2: Generate a random odd e such that |e| < k  3: Goto 2 until gcd(e, Φ(n)) = 1  4: Compute d := e -1 mod Φ(n)  5: Return (p, q, d, e)

Algorithm 1 (RSA-HSD β )  1: Generate random primes p and q, n := pq, a k bit integer  2: Generate a random odd δ such that gcd(δ, Φ(n)) = 1 and |δ| < k/4  3: Compute ε = δ -1 mod Φ(n), e := π β (ε)  4: Goto 2 until gcd(e, Φ(n)) = 1  5: Compute d := e -1 mod Φ(n)  6: Return (p, q, d, e)

Attack 1 (RSA-HSD β )  1: Given (n, e), compute ε = π β -1 (e)  2: Compute δ from (n, ε) using Wiener’s low exponent attack  3: Given (ε, δ) factor n as p, q  4: Return (p, q)

Algorithm 2 (RSA-HSPE β )  1: Generate random primes p and q, n := pq, a k bit integer.  2: Generate a random prime ε such that gcd(ε, Φ(n)) = 1 and |ε| = k/4  3: Compute δ := ε -1 mod Φ(n), δ H := δ  k/4, e := π β (δ H :ε)  4: Goto 2 until gcd(ε, Φ(n)) = 1  5: Compute d := e -1 mod Φ(n)  6 : return (p, q, d, e)

Attack 2 (RSA-HSPE β )  1: Given (n, e), compute (δ H :ε) := π β -1 (e)  2: Compute δ from (n, δ H, ε) using BDF low public prime exponent attack (Theorem 1) with partial knowledge of private exponent.  3: Given (ε, δ) factor n as p,q.  4: return (p, q)

Algorithm 3 (RSA-HSE β )  1: Generate random primes p and q, n := pq, a k bit integer  2: Generate a random ε such that gcd(ε, Φ(n)) = 1 and |ε| = t  3: Compute δ := ε -1 mod Φ(n), δ H := δ  t, δ L := δ  k/4, e := π β (δ H :δ L :ε)  4: Goto 2 until gcd(e, Φ(n)) = 1  5: Compute d := e -1 mod Φ(n)  6: Return (p, q, d, e)

Attack 3 (RSA-HSE β )  1: Given (n, e), compute (δ H :δ L :ε) := π β -1 (e)  2: Compute δ from (n, δ H, δ L, ε) using BDF low public exponent attack (Theorem 2) with partial knowledge of private exponent.  3: Given (ε, δ) factor n as p, q  4: Return (p, q)

Choice of π β  π β (x) = x  (2β)  |x|  π β (x) = DES β (x)  π β (x) = AES β (x)  π β (x) = x -1 mod β  π β (x) = (x + 2β) mod (n + 1)  π β (x) = ((2α + 1)x + 2β) mod (n m)

Some Problems  Relies on choosing specific exponents from specific subsets.  Restrictive forced subsets foil easily  S = {d | gcd(d, Φ(n)) = 1 and d = (x:x)}  Indistinguishability

Algorithm 4 (RSA-HP β(e) )  1: Pick a random prime p of appropriate size, such that gcd(e, p - 1) = 1  2: Pick a random odd q` of appropriate size, set n` := pq`, a k bit integer.  3: Compute τ := n`  k/8, μ := π β (p  k/4 ), and λ := n`  5k/8  4: Set n := (τ:μ:λ) and q :=  n/p  + (1  1)/2 so that it is odd  5: While gcd(e, q – 1) > 1 or q is composite do:  Pick a random even m such that |m| = k/8, q := q  m and n := pq  6: Compute d := e -1 mod Φ(n)  7: Return (p, q, d, e)

Attack 4 (RSA-HP β )  1: Given n, compute p  k/4 := π β -1 (n  3k/8  k/4 )  2: Factor n as p,q using Coppersmith’s partial information attack.  3: Return (p, q)

Problems And A New π β  π β (x) = x  (2β)  |x|  (n`  n)  3k/8  k/4 = (p`  p)  k/4  π β (x) = x -1 mod β  n  3k/8  k/4 p  k/4 - 1 is a multiple of β  New Permutations  π β,μ (x) = (x  (2μ)  |x| ) -1 mod β  π β,μ (x) = (x -1 mod β)  (2μ)  |β|

Conclusions  Potentially impossible to distinguish backdoored RSA key tuples  Never trust key tuples provided to you  The extra backdoor could potentially weaken the RSA key tuples

A Challenge   RSA-HSE, π β (x) = x  β  Distinguish broken keys from real RSA keys  Determine the backdoor key

References   D. Boneh and G. Durfee, Cryptanalysis of rsa with private key d less than n 0.292, Information Theory, IEEE Transactions on, 46 (2000), pp  C. Crépeau and A. Slakmon, Simple backdoors for RSA key generation, 18 Oct   D. Coppersmith, Finding a small root of a bivariate integer equation; factoring with high bits known, in Advances in Cryptology - EuroCrypt '96, U. Maurer, ed., Berlin, 1996, Springer-Verlag, pp Lecture Notes in Computer Science Volume 1070.