1 / 23

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

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

haig
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 현대암호편: RC5,ElGamal,Rabin 곽인범

  2. RC5 - 배경 • 1994년 RSA Security사의 Ronald Rivest에 의해 고안됨. • 보안제품 BSAFE, JSAFE, S/MAIL등에 사용

  3. RC5 – 특성(1/3) • 블록 암호 • 다양한 크기의 키, 블록, 라운드를 가질 수 있다. 다른 블록 암호화 알고리즘들과 달리 라운드도 가변적임. • 블록의 크기는 32, 64, 128 비트. 키의 크기는 0~2040 비트. 라운드는 0~255회. • 하드웨어 및 소프트웨어에의 적합성->CPU에서 일반적으로 사용되는 기본 연산만 사용

  4. RC5 – 특성(2/3) • 빠른 속도->간단한 알고리즘을 사용->기본 연산이 한번에 full word를 처리 • 다른 단어 길이 프로세서에서의 적응성->단어 당 비트 수는 RC5의 매개변수->다른 단어 길이는 다른 알고리즘이 됨 • 단순성->간단한 구조로 구현이 용이->알고리즘 강도 결정(보안 허점 탐지)이 용이

  5. RC5 – 특성(3/3) • 데이터 의존적인 순환 이동->데이터의 양에 따라 결정되는 회전 이동(순환비트이동)을 채용->알고리즘 강도에 기여 • 낮은 메모리 요구량->스마트 카드나 한정된 메모리를 사용하는 장치에 적당

  6. 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)연산 수행

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

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

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

  10. RC5 – 알고리즘(복호화) • 역순으로 이루어짐- 덧셈은 뺄셈으로, 좌측순환이동은 우측순환이동으로 변경.

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

  12. ElGamal – 특성(1/3) • 공개 키의 특성인 암호화할 때와 복호화할 때 사용하는 키가 다르다. • 이산대수 문제를 이용함. y gx mod p ( g : 원시원소 p : 소수 )

  13. ElGamal– 특성(2/3) • p가 소수이고, g를 법 p에 관한 원시근이라고 하면,임의의 y에 대해 y≡0 (mod p)이고, y≡gx을 만족하는 x(0~(p-1))가 존재한다. • p가 홀수인 소수이면, 항상 ф(p-1)개의 원시근 존재.

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

  15. 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

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

  17. ElGamal – 알고리즘 • 암호화 • k  RZp(p : 소수) • K yBk (yB  g XB mod p) - 임의의 k(0<k<p)를 선정 • C1  g k mod p • C2 KM mod p (M : 평문) • C= C1 || C2 • 복호화 • K (g k) XB mod p C1 XB mod p – XB는 자신만 알고 있으므로 쉽게 계산 • M C2 / K mod p – 평문을 구함.

  18. ElGamal- 암호 방식 • ElGamal암호 방식의 구성 C

  19. ElGamal - 암호 방식 예 C = (21, 18) 19

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

  21. Rabin - 특성 • 2차 잉여문제- 알려지지 않은 서로 다른 두 소수 p,q의 곱으로 이루어진 합성수 n=pq가 주어졌을떄, 임의의 a가 법 n에 관한 잉여류인지 아닌지 결정하는 것 • Rabin 암호는 2차 잉여문제를 이용. • 암호화 알고리즘에서 제곱의 연산만 하면 되므로 RSA보다 훨씬 계산이 빠름.

  22. 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차 잉여가 됨.- 이들중 의미 있는 것이 평문임.

  23. Rabin - 알고리즘

More Related