현대암호편 : rc 5 ,elgamal,rabin

23
현현현현현 : RC5,ElGamal,Rabin 현현현

Upload: haig

Post on 21-Mar-2016

189 views

Category:

Documents


2 download

DESCRIPTION

현대암호편 : RC 5 ,ElGamal,Rabin. 곽인 범. RC5 - 배경. 1994 년 RSA Security 사의 Ronald Rivest 에 의해 고안됨 . 보안제품 BSAFE, JSAFE, S/MAIL 등에 사용. RC5 – 특성 (1/3). 블 록 암호 다양 한 크기의 키 , 블록 , 라운드를 가질 수 있다 . 다른 블록 암호화 알고리즘들과 달리 라운드도 가변적임 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 현대암호편 : RC 5 ,ElGamal,Rabin

현대암호편 : RC5,ElGamal,Rabin

곽인범

Page 2: 현대암호편 : RC 5 ,ElGamal,Rabin

RC5 - 배경 1994 년 RSA Security 사의 Ronald

Rivest 에 의해 고안됨 . 보안제품 BSAFE, JSAFE, S/MAIL 등에 사용

Page 3: 현대암호편 : RC 5 ,ElGamal,Rabin

RC5 – 특성 (1/3) 블록 암호 다양한 크기의 키 , 블록 , 라운드를 가질 수 있다 . 다른 블록 암호화 알고리즘들과 달리 라운드도 가변적임 . 블록의 크기는 32, 64, 128 비트 . 키의 크기는 0~2040 비트 . 라운드는 0~255 회 . 하드웨어 및 소프트웨어에의 적합성

->CPU 에서 일반적으로 사용되는 기본 연산만 사용

Page 4: 현대암호편 : RC 5 ,ElGamal,Rabin

RC5 – 특성 (2/3) 빠른 속도

-> 간단한 알고리즘을 사용-> 기본 연산이 한번에 full word 를 처리

다른 단어 길이 프로세서에서의 적응성-> 단어 당 비트 수는 RC5 의 매개변수-> 다른 단어 길이는 다른 알고리즘이 됨

단순성-> 간단한 구조로 구현이 용이-> 알고리즘 강도 결정 ( 보안 허점 탐지 ) 이 용이

Page 5: 현대암호편 : RC 5 ,ElGamal,Rabin

RC5 – 특성 (3/3) 데이터 의존적인 순환 이동

-> 데이터의 양에 따라 결정되는 회전 이동( 순환비트이동 ) 을 채용-> 알고리즘 강도에 기여

낮은 메모리 요구량-> 스마트 카드나 한정된 메모리를 사용하는 장치에 적당

Page 6: 현대암호편 : RC 5 ,ElGamal,Rabin

RC5 – 알고리즘 ( 키 확장 [1/2]) t 개의 서브키 (w 비트 단위 ) 개념

- 각 라운드별 2 개의 서브키 + 별도 연산적용 2 개 (t=2r+2); S[0], S[1], … S[t-1]

배열 S 의 초기화- S[0]=Pw; for i=1 to t-1 do S[i]=S[i-1] + Qw;- Pw, Qw : 2 단어 길이의 상수

키 변환- ‘b’ byte 키 K[0], …, K[b-1] 를 ‘ c’ word 배열 L[0], …L[c-1] 로 변환 (byte -> word)

최종 배열 S 생성- L 의 내용을 S 의 초기화된 값 에 혼합 (Mix) 연산 수행

Page 7: 현대암호편 : RC 5 ,ElGamal,Rabin

RC5 – 알고리즘 ( 키 확장 [2/2])

Page 8: 현대암호편 : RC 5 ,ElGamal,Rabin

RC5 – 알고리즘 ( 암호화 [1/3])

Page 9: 현대암호편 : RC 5 ,ElGamal,Rabin

RC5 – 알고리즘 ( 암호화 [2/3]) +: 덧셈 , 2w(W, 단어 비트수 ) 을 법으로한 덧셈 - : 뺄셈 , 2w(W, 단어 비트수 ) 을 법으로한 뺄셈 x>>>y: 단어 x 의 y 비트 우측 순환이동 x<<<y: 단어 x 의 y 비트 좌측 순환이동 DES 2 회 반복이 RC5 의 1 회와 같음 . 각 라운드에서 좌우 양쪽 치환 . 순열 , 키 의존치환 함 . : 비트 XOR 연산

Page 10: 현대암호편 : RC 5 ,ElGamal,Rabin

RC5 – 알고리즘 ( 복호화 ) 역순으로 이루어짐

- 덧셈은 뺄셈으로 , 좌측순환이동은 우측순환이동으로 변경 .

Page 11: 현대암호편 : RC 5 ,ElGamal,Rabin

ElGamal - 배경 기존의 비밀키 방식은 현재의 거미줄 같은 통신 방식에 부적당 .

Page 12: 현대암호편 : RC 5 ,ElGamal,Rabin

ElGamal – 특성 (1/3) 공개 키의 특성인 암호화할 때와 복호화할 때 사용하는 키가 다르다 . 이산대수 문제를 이용함 .

y gx mod p( g : 원시원소 p : 소수 )

Page 13: 현대암호편 : RC 5 ,ElGamal,Rabin

ElGamal – 특성 (2/3) p 가 소수이고 , g 를 법 p 에 관한 원시근이라고 하면 , 임의의 y 에 대해 y≡0

(mod p) 이고 , y≡ gx 을 만족하는 x(0~(p-1)) 가 존재한다 .

p 가 홀수인 소수이면 , 항상 ф(p-1) 개의 원시근 존재 .

Page 14: 현대암호편 : RC 5 ,ElGamal,Rabin

ElGamal – 특성 (3/3) g 가 p 의 원시근이라면 g i≡ g j (mod p) i≡j (mod ф(p))집합 {g1,g2…gф(p)} 는 법 p 에 관한 기약 잉여계 .

Page 15: 현대암호편 : RC 5 ,ElGamal,Rabin

ElGamal – 알고리즘( 이산대수의 예 ) 이산대수 문제 예 Z23

51 5 58

16 515 19 mod 23

52 2 59

11 516 3 mod 23

53 10 510

9 517 15 mod 23

54 4 511

22 518 6 mod 23

55 20 512

18 519 7 mod 23

56 8 513

21 520 12 mod 23

57 17 514

13 521 14 mod 23

Page 16: 현대암호편 : RC 5 ,ElGamal,Rabin

ElGamal – 알고리즘 큰 소수 p, 법 p 에 관한 원시근 g 를 결정하여 공개 . 사용자는 자신의 개인 비밀키 ( x ) 선정후 공개키 y 를 계산하여 공개함 .

Page 17: 현대암호편 : RC 5 ,ElGamal,Rabin

ElGamal – 알고리즘 암호화I. k RZp (p : 소수 )II. K yB

k (yB g XB mod p) - 임의의 k(0<k<p) 를 선정III. C1 g k mod p IV. C2 KM mod p (M : 평문 )V. C = C1 || C2

복호화 I. K (g k) XB mod p

C1 XB mod p – XB 는 자신만 알고 있으므로 쉽게 계산

II. M C2 / K mod p – 평문을 구함 .

Page 18: 현대암호편 : RC 5 ,ElGamal,Rabin

ElGamal - 암호 방식

가입자 A공개정보

g , p, yA, yB가입자 B

yA gXA mod pk R Zp – 1

K yBk mod p

C1 gk mod p C2 KM mod p C = C1 || C2

yB gXB mod p

K C1XB mod p

M C2 /K mod p

ElGamal 암호 방식의 구성

C

Page 19: 현대암호편 : RC 5 ,ElGamal,Rabin

19

ElGamal - 암호 방식 예송신자 A

공개정보 p = 23, g = 7 , yA = 17, yB = 15 수신자 B

XA = 5yA gXA = 75 17 mod 23

r = 3 R Z22K yB

r = 153 17 mod 23 C1 gr = 73 21 mod 23

M = 20 C2 KM = 17 20 18 mod 23 C = (C1 , C2) = (21, 18)

XB = 9yB gXB = 79 15 mod 23

C1 = 21C2 = 18

K C1XB 219

17 mod 23M C2 /K = C2 K –1

18 19 20 mod 23

C = (21, 18)

Page 20: 현대암호편 : RC 5 ,ElGamal,Rabin

Rabin - 배경 소인수 문제의 어려움에 기반 .

Page 21: 현대암호편 : RC 5 ,ElGamal,Rabin

Rabin - 특성 2 차 잉여문제

- 알려지지 않은 서로 다른 두 소수 p,q 의 곱으로 이루어진 합성수 n=pq 가 주어졌을떄 , 임의의 a 가 법 n 에 관한 잉여류인지 아닌지 결정하는 것

Rabin 암호는 2 차 잉여문제를 이용 . 암호화 알고리즘에서 제곱의 연산만 하면 되므로 RSA 보다 훨씬 계산이 빠름 .

Page 22: 현대암호편 : RC 5 ,ElGamal,Rabin

Rabin – 알고리즘 준비

- n = pq ( 서로수 p,q 를 선택 )- n 을 공개키로 함 .- p,q 를 비밀키로 함 .

암호화- C M 2 (mod n )- n 보다 작은 평문 M 을 법 n 에 관해 제곱하여 C 작성

복호화- 암호문 C 를 비밀키 {p,q} 를 이용하여 법 n 에 관해 2 차 잉여의 제곱근을 계산하면 M 을 얻음 .- C 는 법 n 의 2 차 잉여가 되므로 , 법 p 와 q 에 관한 2 차 잉여가 됨 .- 이들중 의미 있는 것이 평문임 .

Page 23: 현대암호편 : RC 5 ,ElGamal,Rabin

Rabin - 알고리즘