670 likes | 940 Views
Integer Factoring in Cryptography. Dr. Jiun-Ming Chen jmchen@ntu.edu.tw. Basics in Cryptography Public-Key Cryptosystems Quadratic Sieve Number Field Sieve Factoring RSA-512. Outline. Historical Cipher. Gāius Jūlius Caesar (100 BC – 44 BC)
E N D
Integer Factoring in Cryptography Dr. Jiun-Ming Chen jmchen@ntu.edu.tw
Basics in Cryptography Public-Key Cryptosystems Quadratic Sieve Number Field Sieve Factoring RSA-512 Outline Math department at NTNU
Historical Cipher • Gāius Jūlius Caesar (100 BC – 44 BC) • A Roman military and political leader and one of the most influential men in world history • He played a critical role in the transformation of the Roman Republic into the Roman Empire • Caesar Cipher • Example (Recall: A 0, B 1, C 2, …, Y 24, Z 25) • Plaintext: SPY (18 15 24) • Ciphertext: VSB (21 18 1) • Encryption: c = p + 3 mod 26 • Decryption: p = c 3 mod 26 Math department at NTNU
Historical Cipher • Shift Cipher • Each letter we identify with a number • A = 0, B = 1, C = 2, …, Z = 25 • The key k is a number in the range 0 ~ 25 • Encryption is adding k onto each letter modulo 26 • Julius Caesar used the k = 3 • HELLO becomesKHOOR • We break a Shift cipher by using the statistics of the underlying language Math department at NTNU
Historical Cipher • English Letter Frequencies • The most common bigrams are, in decreasing order • TH, HE, IN, ER, AN, RE, ED, ON, ES, ST, EN, AT, TO, NT, HA • The most common trigrams are, in decreasing order • THE, ING, AND, HER, ERE, ENT, THA, NTH, WAS, ETH, FOR • Useful cryptanalysis rarely mentioned in books: • Conditional probability e.g., the letter with the highest frequency right after the letter H? Math department at NTNU
Historical Cipher • Take the following example cipher text BPMZM WVKM EIA IV COTG LCKSTQVO EQBP NMIBPMZA ITT ABCJJG IVL JZWEV IVL BPM WBPMZ JQZLA AIQL QV AW UIVG EWZLA OMB WCB WIN BWEV OMB WCB, OMB WCB , OMB WCB WIN BWEV IVL PM EMVB EQBP I YCIKS IVL I EILLTM IVL I YCIKS QV I NTCZZG WN MQL MZLWEV BPIB XWWZ TQBBTM COTG LCKS TQVO EMVB EIVLMZQVO NIZ IVL VMIZ JCB IB MDMZG XTIKM BPMG AIQL BW PQA NIKM VWE OMB WCB, OMB WCB, OMB WCB WN PMZM IVL PM EMVB EQBP I YCIKS IVL I EILLTM IVL I YCIKS IVL I DMZG CVPIXXG BMIZ • We need to compare the frequency distribution of this text with standard English Math department at NTNU
Historical Cipher • Underlying Plain Text • Cipher Text • The shift of E seems to be either 4, 8,17,18 or 23 • The shift of A seems to be either 1, 8,12,21 or 22 Math department at NTNU
Historical Cipher • Hence the key is probably equal to 8 • We can now decrypt the cipher text to reveal There once was an ugly duckling With feathers all stubby and brown And the other birds said in so many words Get out of town Get out, get out, get out of town And he went with a quack and a waddle and a quack In a flurry of eiderdown That poor little ugly duckling Went wandering far and near But at every place they said to his face Now get out, get out, get out of here And he went with a quack and a waddle and a quack And a very unhappy tear Math department at NTNU
密碼系統運作基本原則 • 密碼系統 (cryptosystem)包括一套演算法 (algorithm),和所有可能的金鑰 (key)、明文 (plaintext)、以及密文 (ciphertext) • 它的安全性 (security)是基於其他人未知的私密金鑰,而非演算法 • 演算法公開,利於制定標準互通應用 Math department at NTNU
密碼系統的兩大類型 • 傳統式 • 對稱金鑰 • Symmetric Key • 公開金鑰 (Public-Key, 1976~) • 非對稱金鑰 • Asymmetric Key Math department at NTNU
傳統對稱式密碼系統 Encrypt 加密 ↗ △ ↘ Plaintext 明文Symmetric key Ciphertext密文 ↖ ▽ ↙ Decrypt 解密 DES (Data Encryption Standard) – 晶片金融卡 AES (Advanced Encryption Standard) Math department at NTNU
私密金鑰 與 公開金鑰 容易計算 私密金鑰 公開金鑰 Private Key非常困難 Public Key 藉由數學工具達成此目的 Math department at NTNU
公開金鑰密碼系統Public Key Cryptosystem Public key ▽ Plaintext 明文 →Encrypt 加密 ↖ ↘ Decrypt 解密←Ciphertext 密文 △ Private key 最廣泛使用的 PKC:RSA (Rivest – Shamir – Adleman 1977) 逐漸受重視的 PKC: ECC (橢圓曲線 Elliptic Curve Cryptosystem) Math department at NTNU
數位簽章 Digital Signature Public key ▽ Signature →Verify 驗章 ↖ ↘ Sign 簽章← Message △ Private key * 秘密性 (confidentiality) * 身份鑑別性 (Authentication) * 完整性 (Integrity) * 不可否認性 (Non-Repudiation) Math department at NTNU
New Standard: AES • Standard FIPS-197 approved by NIST in 2001 • Official scope is limited: • US Federal Administration will use AES as Government standard from 26 May 2002 • Documents that are “sensitive but not classified” • Significance is huge: The successor of DES • Block size: 128 bits (16 bytes) • Key length: 128/192/256 bits (16/24/32 bytes) • Strong algebraic structure Math department at NTNU
Basics in Cryptography Public-Key Cryptosystems Quadratic Sieve Number Field Sieve Factoring RSA-512 Outline Math department at NTNU
RSA • Key generation (RSA-1024) • Generate large primes p and q of at least 512 bits • ComputeN=pqand(N)=(p)(q)=(p1)(q1) • Select randomewith 1<e<(N) and gcd(e,(N)) = 1 • Using XGCD, compute the unique integer dwith 1<d<(N) and e d 1 (mod (N)) • Public key : (N, e) which is published • Private key : (d, p, q) which is kept secret Math department at NTNU
Encryption & Decryption • Encryption: If Bob wants to encrypt a message for Alice, he does the following • Obtain Alice’s authentic public key (N, e) • Represent the message as a number 0 < x < N • Compute y = xe mod N • Send the ciphertext yto Alice • Decryption: To recover x from y, Alice does the following • Use the private key d to recover x = y d mod N Math department at NTNU
Elliptic Curve y2 = x3 + ax + b • R is determined by the line passing through P and Q Math department at NTNU
Elliptic Curve y2 = x3 + ax + b • R is determined by the tangent line if P = Q • The slope is derived by implicit differentiation Math department at NTNU
Discrete Logarithm Problem • On Zp • Given a and g, find x such that gx a (mod p) • On Elliptic Curve Groups • Given P and Q, find x such that xP = Q • Both are very hard computational problems, especially the latter, “ECDLP” • The security of RSA is based on the difficulty of large integer factoring Math department at NTNU
Congruent Squares • To factor N = pq, try to find integers x and y such that x2 y2 (mod N) • If x y (mod N), then gcd(x y, N) and gcd(x + y, N) are non-trivial factors of N • pq = N | (x2 y2) = (x+y)(xy) • This idea from Fermat inspired the factoring methods of Continued Fraction, Quadratic Sieve, and Number Field Sieve Math department at NTNU
Integer Factoring Algorithms • Length of input = log2 N+1 log N • Trial Division Complexity: • Quadratic Sieve (1980’s) • Number Field Sieve (1990’s) • L(s) = • s = 1: exponential time • 0 < s < 1: sub-exponential time • s = 0: polynomial time (Shor’s quantum algorithm) Math department at NTNU
RSA Challenge Numbers Math department at NTNU
RSA-640 Factored Math department at NTNU
RSA-640 Number Math department at NTNU
RSA-1024 Number Math department at NTNU
Basics in Cryptography Public-Key Cryptosystems Quadratic Sieve Number Field Sieve Factoring RSA-512 Outline Math department at NTNU
Smooth Numbers • F = {p1, p2 , p3……., pm } is a factor base consisting of prime numbers • A number is smooth over Fif all of its prime factors are in F • We try to find smooth numbers ri = p1e1p2e2p3e3 …pmem and record ei in the exponent vector vi = (e1, e2 , e3……., em) Math department at NTNU
Smooth Numbers • Assume we have enough smooth numbers • e.g. ksmooth numbers withk > m • By linear algebra modulo 2, we can find ai (= 0 or 1 for each i ) such that Math department at NTNU
Smooth Numbers • Example • F = {2, 3, 5, 7} is a factor base • Some smooth numbers over F : r1= 105 = 357, r2= 140 = 2257, r3= 392 = 2372, r4 = 588 = 22372. • Corresponding exponent vectors: v1= (0, 1, 1, 1), v2= (2, 0, 1, 1), v3= (3, 0, 0, 2), v4= (2, 1, 0, 2). Math department at NTNU
Smooth Numbers • 1 v1+ 1 v2 +0 v3+ 1 v4= (4, 2, 2, 4) (0, 0, 0, 0) (mod 2) • We get a square: r1 r2 r4 = 24325274 • Recall: The goal is to find x2 y2 (mod N) • The question then becomes finding many smooth numbers over a factor base F Math department at NTNU
Quadratic Sieve • To factor N, define g(x) = x2 N • xis an integer between and • note that g : Z → ZN preserves multiplications • We want to find enough smooth g(xi) • p | g(xi) implies p | g(xi+p) • If p | (xi2 N), then 0 xi2 N xi2 N+2pxi + p2 (xi+ p)2 N (mod p) • “Sieve” g(xi) with every prime p in factor base Math department at NTNU
Quadratic Sieve • Record g(xi) in an array G for each xi • If p | g(xi), G[xi] := G[xi] + log p • integer addition for speed • After sieving, check the smoothness of g(xi) whose G[xi] chosen threshold Math department at NTNU
Quadratic Sieve • Use linear algebra to find appropriate xi’s such that g(xi) = y2, thenx = xi satisfies x2 = xi2 g(xi) =y2 (mod N) • The problem of QS is that x2 N goes up quickly, hence the chance of smoothness decreases fast • Q: Can we find another algebraic structure with a homomorphism to Zn ? • A: Number Field Q() with the number field sieve Math department at NTNU
Basics in Cryptography Public-Key Cryptosystems Quadratic Sieve Number Field Sieve Factoring RSA-512 Outline Math department at NTNU
SNFS and GNFS • Special Number Field Sieve (SNFS) • Number of nice algebraic form • Record: 210391 (1039th Mersenne number) • 313 digits / 1039 bits, May 2007 • “A Kilobit Special Number Field Sieve Factorization”, Asiacrypt 2007 • General Number Field Sieve (GNFS) • No known nice algebraic form • Record: RSA-200 • 200 digits / 663 bits, 2005 Math department at NTNU
Invention of SNFS • John Pollard had the interesting idea to factor the 7th Fermat number F7 = 227+1 by doing very clever computations in the number field Q() = Q[x] / <x3+2> • It was clear immediately that his idea could be used to factor any number of the formr e s for smallrands Math department at NTNU
Invention of GNFS • Subsequently, many people contributed to making the basic algorithm work for integers without such a special form • General numbers can be factored with the same algorithm • The first step (polynomial selection) becomes much harder • The algorithm runs with much “worse” parameters than for numbers of special form Math department at NTNU
Polynomial Selection • Find an irreducible polynomial f(x) such that f(m) ≡ 0 (mod N) • We can write N in the base of m first: N = cdm d + … + c1 m + c0 and take f(x) = cdx d + … + c1 x + c0 • A lot of research and deep theory has been developed to make f(x) “better” Math department at NTNU
Number Field • Let be a complex root of f(x) • Q() is a finite field extension of Q • Q() is the number field associated to • Q() can be viewed as a vector space over Q, with a basis {1, , 2, …. d1} • dis the degree of f(x) • [Q() : Q] = d Math department at NTNU
Ring Homomorphism • A map h: A → B is a homomorphism if h(x + y) = h(x) + h(y) and h(x y) = h(x) h(y) for all x, yA • Define a ring homomorphism φ: Z[] → ZNby φ() m (mod N) • φ is a homomorphism because f() = 0 and f(m) 0 (mod N) • φ(a b) a bm (mod N) Math department at NTNU
Squares in Both Sides • Suppose there is a set Sconsisting of relatively prime pairs (a, b) satisfying both: (which is called the algebraic side) (which is called the rational side) Math department at NTNU
Squares in Both Sides • Let x = φ(), then we have x2 = φ()2 = φ( 2) = φ( (a b)) (a bm) = y 2 (mod N) • Therefore we factor Nwith probability ½ Math department at NTNU
Four Major Steps • Polynomial Selection • Choose a polynomial f(x) with a root m (mod N) and good properties • Sieving • Find enough pairs (a, b) such thata bm anda bare both smooth • Each smooth pair (a, b) is called a relation Math department at NTNU
Four Major Steps • Matrix Reduction • Form a very large matrix after finding and simplifying enough relations • Solve the system of linear equations to obtain the required set Ssuch that Math department at NTNU
Four Major Steps • Square Root • So far we havey2and2 • Compute their square rootsyand • Recall: x =φ() • Many methods to compute Z[], but all of them are sophisticated • Finally we get the congruent squares x2y2 (mod N) Math department at NTNU
Observations • Each step is very complicated • algebraic number theory • large effort to implement • Sieving is the most time consuming • The sieving time can be reduced by selecting a good polynomial f(x) • i.e. finding a better polynomial can speed up the Number Field Sieve Math department at NTNU
Basics in Cryptography Public-Key Cryptosystems Quadratic Sieve Number Field Sieve Factoring RSA-512 Outline Math department at NTNU
Open Source GGNFS No polynomial file pol51m0 gnfs-lasieve4I matsolve pol51opt procrels sqrt Already have polynomial file makefb matbuild Factored! enough FF sieve NO YES Math department at NTNU