public key private key Encryption Algorithm Decryption Algorithm 1

Similar documents
Ⅰ. 들어가는 말 2005년 6월에 발생한 인터넷뱅킹 해킹 사건이 2005년 가장 기억에 남는 정보보호 뉴 스로 선정되었다고 한다. 해킹 등으로 인해 개인의 PC가 악의적인 해커에 의해 장악이 된 경우에는 어떤 보안시스템도 제 기능을 다하지 못함에도 불구하고, 해킹 사

암호이론과 보안 고전적 암호시스템

록들 Hl, 53l f크 c>c> 동성정보릉선(주) 빼빼빼빼빼 廳 빼빼 :줬했 :~:::::::::::: 텔레뱅킹 ; 음성 쩔훌F 싼섣섣섣1 온앵서버 홈뱅 킹 PC 모덤 i..",.q));;,"ss-=- PC 뱅킹 폈 도듣] 스크린폰 ; 흠칭 ;될01 -


공개키 암호 방식

보안과 암호화의 모든 것

4-김명선KICS _Modified.hwp

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

PowerPoint 프레젠테이션

Page 2 of 6 Here are the rules for conjugating Whether (or not) and If when using a Descriptive Verb. The only difference here from Action Verbs is wh

(JBE Vol. 20, No. 1, January 2015) (Regular Paper) 20 1, (JBE Vol. 20, No. 1, January 2015) ISSN 228

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드]

#Ȳ¿ë¼®

Slide 1

우리들이 일반적으로 기호

¹Ìµå¹Ì3Â÷Àμâ

본 강의에 들어가기 전

<31325FB1E8B0E6BCBA2E687770>

2009년 국제법평론회 동계학술대회 일정

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

04-다시_고속철도61~80p

<3130C0E5>

Microsoft PowerPoint - CHAP-03 [호환 모드]

01-OOPConcepts(2).PDF

05 암호개론 (2)

<B3EDB9AEC1FD5F3235C1FD2E687770>

歯kjmh2004v13n1.PDF

본문01

공연영상

Chapter4.hwp

DBPIA-NURIMEDIA

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)


- 2 -

삼성955_965_09

슬라이드 제목 없음

<C1A4BAB8B9FDC7D031362D335F E687770>

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A


Microsoft PowerPoint - 7-Work and Energy.ppt

용어사전 PDF

슬라이드 1

11강-힙정렬.ppt

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

2 KHU 글로벌 기업법무 리뷰 제2권 제1호 또 내용적으로 중대한 위기를 맞이하게 되었고, 개인은 흡사 어항 속의 금붕어 와 같은 신세로 전락할 운명에 처해있다. 현대정보화 사회에서 개인의 사적 영역이 얼마나 침해되고 있는지 는 양 비디오 사건 과 같은 연예인들의 사

untitled

영남학17합본.hwp

09권오설_ok.hwp

04 형사판례연구 hwp

장양수

10송동수.hwp


2 I.서 론 학생들을 대상으로 강력사고가 해마다 발생하고 있다.범행 장소도 학교 안팎을 가리지 않는다.이제는 학교 안까지 침입하여 스스럼없이 범행을 하고 있는 현실 이 되었다.2008년 12월 11일 학교에 등교하고 있는 학생(여,8세)을 교회 안 화장 실로 납치하여

<B1A4B0EDC8ABBAB8C7D0BAB8392D345F33C2F75F E687770>

2

328 退溪學과 韓國文化 第43號 다음과 같은 3가지 측면을 주목하여 서술하였다. 우선 정도전은 ꡔ주례ꡕ에서 정치의 공공성 측면을 주목한 것으로 파악하였다. 이는 국가, 정치, 권력과 같은 것이 사적인 소유물이 아니라 공적인 것임을 강조하는 것으로 조선에서 표방하는 유

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

5/12¼Ò½ÄÁö


레이아웃 1

< C7D0B3E2B5B520C0DABFACB0E8BFAD20B8F0C0C7C0FBBCBAB0EDBBE72020B9AEC1A62E687770>


Hi-MO 애프터케어 시스템 편 5. 오비맥주 카스 카스 후레쉬 테이블 맥주는 천연식품이다 편 처음 스타일 그대로, 부탁 케어~ Hi-MO 애프터케어 시스템 지속적인 모발 관리로 끝까지 스타일이 유지되도록 독보적이다! 근데 그거 아세요? 맥주도 인공첨가물이

<B9AEC8ADC4DCC5D9C3F7BFACB1B82D35C8A32833B1B3292E687770>

슬라이드 제목 없음

untitled



서론 34 2

11¹Ú´ö±Ô

6 영상기술연구 실감하지 못했을지도 모른다. 하지만 그 이외의 지역에서 3D 영화를 관람하기란 그리 쉬운 일이 아니다. 영화 <아바타> 이후, 티켓 파워에 민감한 국내 대형 극장 체인들이 2D 상영관을 3D 상영관으로 점차적으로 교체하는 추세이긴 하지만, 아직까지는 관

기관고유연구사업결과보고

17-221~235설계01철도사장교1.ps

07_Àü¼ºÅÂ_0922

ePapyrus PDF Document

188 최 영 환 청률을 통한 가치측정을 통한 자기 권리를 주장할 수 있 는 근거 자료로 활용할 수 있다. 즉, 방송사가 주장하는 낮은 중계권료를 주장할때는 프로야구가 낮은 시청률을 기록했을 때만이 정당하다. 하지만, 프로야구의 뜨거운 열기만큼이나 시청률도 급 성장세를

공학박사학위 논문 운영 중 터널확대 굴착시 지반거동 특성분석 및 프로텍터 설계 Ground Behavior Analysis and Protector Design during the Enlargement of a Tunnel in Operation 2011년 2월 인하대

Journal of Educational Innovation Research 2018, Vol. 28, No. 3, pp DOI: NCS : * A Study on

pdf 16..

<BCF6BDC D31385FB0EDBCD3B5B5B7CEC8DEB0D4C5B8BFEEB5B5C0D4B1B8BBF3BFACB1B85FB1C7BFB5C0CE2E687770>

Subnet Address Internet Network G Network Network class B networ

Index

DBPIA-NURIMEDIA

,.,..,....,, Abstract The importance of integrated design which tries to i

02이용배(239~253)ok

Microsoft PowerPoint - crypto [호환 모드]

< BFCFB7E15FC7D1B1B9C1A4BAB8B9FDC7D0C8B85F31352D31BCF6C1A4C8AEC0CE2E687770>

<32B1B3BDC32E687770>

강의지침서 작성 양식

I&IRC5 TG_08권

Cryptography v3

2

歯49손욱.PDF

hwp

歯M PDF

SRC PLUS 제어기 MANUAL

hwp


歯연보00-5.PDF

Transcription:

public key private key Encryption Algorithm Decryption Algorithm 1

One-Way Function ( ) A function which is easy to compute in one direction, but difficult to invert - given x, y = f(x) is easy - given y, x = f 1 (y) is difficult Integer Multiplication vs. Factorization - a b y is easy, where a and b are primes. - y a and b is difficult Modular Exponentiation vs. Discrete Logarithm - f(x) = a x mod n y is easy, Exponential Function - y x = log a y mod (n 1) Trapdoor One-Way Function One-Way Function, where some trapdoor information makes the function invertible Power Function, y = f(x) = x a mod n, where a and n are given - f 1 (y) = x is also power function, where x = (x a ) b mod n a b mod φ(n) = 1 - If n = p q, where p and q are large primes, f(x) is trapdoor function. - Euler, x φ(n) mod n = 1, where φ(n) = (p-1) (q-1) 2

m E ke (m) = c is easy, but c D kd (m) = m is difficult without knowing D kd. E ke is a Trapdoor one-way Function D kd is a Trapdoor Information D kd (E ke (m)) = m E ke (D kd (m)) = m D kd (E ke (m)) = E ke (D kd (m)) = m Domain of E and D should be large to avoid Dictionary Attack RSA ( Rivest-Shamir-Adleman ) System choose 2 primes p and q and compute n = p q, φ(n) = (p-1) (q-1), where p, q are 100-digit numbers choose e [1, φ(n)-1] such that (e, φ(n)) = 1 and d [1, φ(n)-1] such that e d modφ(n) = 1 (e,n) : public-key (d,n) : private-key RSA Encryption and Decryption m,c {1,2,...,n-1} Encryption : c = m e mod n Decryption : m = c d mod n = m ed mod n, where e d modφ(n) = 1 3

RSA ( Rivest-Shamir-Adleman ) Example p = 47 and q = 71, n = p q = 3337 (p 1) (q 1) = 46 70 = 3220, GCD ( e, (p 1) (q 1)) = 1 Choose e at random to be 79 d = 79 1 mod 3220 = 1019 To encrypt message m = 6882326879666683 m 1 = 688 m 2 = 232 m 3 = 687 m 4 = 966 m 5 = 668 m 6 = 003 c 1 = m e 1 mod n = 688 79 mod 3337 = 1570 c = 1570 2756 2091 2276 2423 158 To decrypt, m 1 = c d 1 mod n = 1570 1019 mod 3337 = 688 Security of RSA Factorization of n = p q - n and e are known; e d mod(p 1) (q 1) = 1 Number Field Sieve, Quadratic Sieve, Elliptic Curve Method (1983 ) 69 10, Quadratic Sieve (1989 ) 106 10, Quadratic Sieve (1994 ) RSA-129, 129 10, Quadratic Sieve, 5000 mips-year n = 114,381,625,757,888,867,669,235,779,976,146,612,010,218,296, 721,242,362,562,561,842,935,706,935,245,733,897,830,597,123, 563,958,705,058,989,075,147,599,290,026,879,543,541 (1996 ) RSA-130, 130 10, Number Field Sieve, 500 mips-year 4

Security of RSA ➀ ➁ ➂ Security of RSA Ciphertext-only Attack Solving c = m e mod n is equivalent to taking roots modulo a composite number with unknown factorization, which is as difficult as the discrete logarithm. Iterative Attack Given (N,e, c), c 1 = c e mod N,..., c i = c i-1 e mod N If there is c j in c 1,c 2,...,c i,... such that c j = c, m is the same as c j-1 since c j-1 e mod N = c j = c. Adaptively Chosen-Ciphertext Attack c = m e mod n, x (0, n 1) c = cx e mod n m = (c ) d mod n = c d (x e ) d mod n = m x mod n m x 1 mod n = m 5

Repeated Square-and-Multiply - z 1; for i = k 1 downto 0 { z z 2 mod n; if e i = 1 then z z m mod n; } return ( z ); [ ] e = 10, n = 15 m = 3 c = m e mod n = 9. e = 10 2 ( e 3 e 2 e 1 e 0 ) = ( 1 0 1 0 ). i e i z 3 1 1 2 3 mod 15 = 3 2 0 3 2 mod 15 = 9 1 1 9 2 3 mod 15 = 3 0 0 3 2 mod 15 = 9 Primality Testing Sieve of ERATOSTHENES Every positive integer > 1 has a prime divisor. If n is a composite, n has a prime factor not exceeding n. To determine if n is a prime, check n for divisibility by all primes not exceeding n. e.g. if n = 20 is a composite, it must have a prime factor less than n = 4. Since n = 20 has a prime factor 2, it is not a prime. 6

Probabilistic Primality Testing Miller_Rabin(n, k) Algorithm 1 find r and s such that n 1 = 2 s r ; for i = 1 to k do { 2 choose a random integer a, 1 a n 2 3 y a r mod n; 4 if y 1 and y n 1 then { 5 j 1; while ( j s 1 and y n 1 ) do { 6 y y 2 mod n; 7 j j+1; } 8 if y n 1 then return( composite ); } } 9 return( prime ); n > 2 r n 1 = 2 s r., gcd(a, n) = 1 a a r mod n = 1 0 j s 1 j a 2 j r mod n = 1. n 2 a n 1 a a r mod n = 1 0 j s 1 j a 2 j r mod n = 1 n (strong pseudoprime), a n (strong liar). Probabilistic Primality Testing Miller_Rabin(n, k) Algorithm Miller_Rabin(n, k) = composite n., n. Miller_Rabin(n, k) = prime 2. n n. a n. n 2 a n 1 1/4 a (composite) n Miller Rabin 1/4., n a Miller Rabin n., k Miller Rabin n 1 (1/4) k. 7

Speed of RSA (1995) 1 Mbps with 512-bit modulus Hardware, DES 1000 Software with 8-bit public-key on SPARC II 512-bit 768-bit 1024-bit Encrypt 0.03sec 0.05sec 0.08sec Decrypt 0.16sec 0.48sec 0.93sec Standard and Patent RSA Data Security Inc., (Sep. 20, 2000) in USA French and Australian Banks ISO de facto standard p Z p * g y Z p * y = g x mod p 1 x p 2 x = log g y mod (p 1). Algorithms [1] Compute g 0, g 1, g 2, until y = g x mod n so that x can be obtained [2] Shanks Algorithm [3] Pohlig-Hellman Algorithm [4] Index-Calculus Algorithm 8

Shanks Algorithm p, Z p * g, g t = p-1, s = t y = g x mod p 1 x p 2 x = log g y mod (p 1) x = i s + j, where i, j [0, s) y = g x = g is g j =g is+j y(g -s ) i = g j (0, g 0 ) (1, g 1 ) : (j, g j ) : (s 1, g s 1 ) yg 0 yg s 1 : yg s i : yg s (s 1) x = i s + j System (i) p (ii) Z p * g (iii) x [ 1, p 2 ], y = g x mod p. k e { y, g, p }, k d { x }. x [1, p 2] ( Randomized Encryption ) E ke ( m ) = c = { c 1, c 2 } = { g x mod p, y x m mod p } D kd ( c ) = c 2 c 1 x mod p = m 9

Diffie-Hellman System (i) p (ii) Z p * g x A Alice ya = g x A mod p y B = g x B mod p x B Bob k = (y B ) x A mod p =g x B x A mod p k = (y A ) x B mod p =g x A x B mod p (real number) (elliptic curve) a b y 2 = x 3 + ax + b (x, y). Java Animation : ecc-java1.htm 10

Addition of point P and point Q Addition of P and P By definition, P + (-P) = O. As a result of this equation, P + O = P in the elliptic curve group. O = the additive identity of the elliptic curve group; All elliptic curves have an additive identity. 11

Doubling the point P P = (x, y) If y 0, then P. the law for doubling a point on an elliptic curve group : P + P = 2P = R Doubling the point P if y = 0 By definition, 2P = O for such a point P. To find 3P in this situation, one can add 2P + P. Then, P + O = P Thus 3P = P. 3P = P, 4P = O, 5P = P, 6P = O, 7P = P, 12

y P Q R x S = P + Q, O P P + O = P. (identity). P P + Q = O Q Q = P R S R + ( S). P P x P (x, y) P (x, y)., P Q P + Q = Q + P., P, Q R P + ( Q + R ) = ( P + Q ) + R. Elliptic Curve ( ) (x 1, y 1 ), (x 2, y 2 ), (x 3, y 3 ) P, Q, S = P + Q. P + Q = S (x 3, y 3 ) x 1, y 1, x 2, y 2. y = αx + β P Q, α = (y 2 y 1 ) / (x 2 x 1 ), β = y 1 αx 1., (αx + β) 2 = x 3 + ax + b P Q (x, αx + β). y 3 x 3 (αx + β) 2 + ax + b (root). (x 1, αx 1 + β) (x 2, αx 2 + β) P Q x 1 x 2 3. x 1 + x 2 + x 3 = α 2 P Q R S = P + Q x x 3 = α 2 x 1 x 2 P + Q (x 3, y 3 ) y2 y1 2 y2 y1 x3 = ( ) x1 x2 y3 = y1 + ( )( x1 x3) x2 x x 1 2 x1 13

P + Q P = Q α P y 2 = x 3 + ax + b 2yy = 3x 2 + a P = (x 1, y 1 ) α = (3x 12 + a) / 2y 1. P + Q = S (x 3, y 3 ) x 1, y 1, x 2, y 2. 2 3x1 + a 2 x3 = ( ) 2x1 2 y1 2 3x ( 1 + a y3 = y1 + )( x1 x3) 2y1 P y R x S = P + P p GF(p) (elliptic curve) a, b GF(p) y 2 mod p = x 3 + ax + b mod p (x, y) O., x, y GF(p) a = 1 and b = 0, y 2 = x 3 + x. (9,5) because : y 2 mod p = x 3 + x mod p 5 2 mod 23 = 9 3 + 9 mod 23 25 mod 23 = 738 mod 23 2 = 2 The 23 points which satisfy this equation are: (0,0) (1,5) (1,18) (9,5) (9,18) (11,10) (11,13) (13,5) (13,18) (15,3) (15,20) (16,8) (16,15) (17,10) (17,13) (18,10) (18,13) (19,1) (19,22) (20,4) (20,19) (21,6) (21,17) Java Animation : ecc-java2.htm 14

GF(p), where p is a prime( ) P (order) t : tp = 0 t GF(p) Q, t P, Q = xp x [0, t 1] P, 2P = P + P, 3P = P + P + P, y 2 mod 23 = x 3 + 9x + 17 mod 23, What is the discrete logarithm x of Q = (4,5) to the base P = (16,5)? Q = xp P = (16,5) 2P = (20,20) 3P = (14,14) 4P = (19,20) 5P = (13,10) 6P = (7,3) 7P = (8,7) 8P = (12,17) 9P = (4,5) Since 9P = (4,5) = Q, the discrete logarithm of Q to the base P is x = 9. 2P = P + P 100P = 2( 2( P + 2( 2( 2( P + 2P ) ) ) ) ) 15

What is the discrete logarithm of Q(-0.35,2.39) to the base P(-1.65,-2.79) in the elliptic curve group y 2 = x 3-5x + 4 over real numbers? Java Animation : ecc-java3.htm ElGamal : { g, p, y = g x mod p } { G, p, Y = xg } : { x } { x } : [ c 1, c 2 ] = [ g x mod p, y x m mod p ] [ C 1, C 2 ] = [ xg, xy + M ] : c 2 c x 1 mod p C 2 xc 1 [ ] p = 11, a =1, b = 6 GF(p) y 2 = x 3 + x 2 + 6. (2, 4) (2, 7) (3, 5) (3, 6) (5, 2) (5, 9) (7, 2) (7, 9) (8, 3) (8, 8) (10, 2) (10, 9) x = 7, G = (2, 7), Y = 7(2, 7) = (7, 2), x = 3 M = (10, 9) C 1 = 3(2, 7) = (8, 3), C 2 = 3(7, 2) + (10, 9) = (10, 2). 16

1 mips 1 40,000. 1 mips 1 (40,000)(60 60 24 365) 2 40. t Pollard rho,. 1,000 mips 10,000 t = 2 160 96,000 year p(bits) t (bits) mips year n (bits) mips year 163 160 2 80 9.6 10 11 191 186 2 93 7.9 10 15 239 234 2 117 1.6 10 23 359 354 2 177 1.5 10 41 431 426 2 213 1.0 10 52 512 3 10 4 768 2 10 8 1024 3 10 11 1280 1 10 14 1536 3 10 16 2048 3 10 20 ECC, RSA, DSA 1.2 1 Key Size 0.8 (Bits) 0.6 0.4 0.2 0 6000 5000 4000 ECC 3000 RSA &DSA 2000 1000 0 10000 100000000 1E+12 1E+20 1E+36 Time to Break Key (mips-years) 17