1 / 114

상용 관용 암호 방식

상용 관용 암호 방식. 2009 년 3 월 30 일 (5 주차 ) 유 승 석 (aviteria@gmail.com). 수업 내용. DES DES 의 규칙성 DES 의 안전성 문제 SEED AES 운용 모드 Questions & Answers. DES. DES 개요. DEA(Data Encryption Algorithm) 대칭키 암호 시스템 , 암호화 / 복호화 키가 동일 IBM 의 홀스트 파이스텔에 의해 개발됨 , 루시퍼 (1975, IBM) 알고리즘의 변형

Download Presentation

상용 관용 암호 방식

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. 상용 관용 암호 방식 2009년 3월 30일 (5주차) 유 승 석(aviteria@gmail.com)

  2. 수업 내용 • DES • DES의 규칙성 • DES의 안전성 문제 • SEED • AES • 운용 모드 • Questions & Answers

  3. DES

  4. DES 개요 • DEA(Data Encryption Algorithm) • 대칭키 암호 시스템, 암호화/복호화 키가 동일 • IBM의 홀스트 파이스텔에 의해 개발됨, 루시퍼(1975, IBM) 알고리즘의 변형 • ATM(Auto Teller Machines), POS(Point of Sale) 단말장치의 PIN 암호화 및 데이터 내용 변조 방지를 위해 사용됨 • PIN : Personal Identification Number

  5. DES (Data Encryption Standard) • DES 공모 • 1차 1973년 NBS(현 NIST의 전신) 공개 모집 • NBS(National Bureau of Standards, 미국규격표준국) • 2차 1974년 NBS 공개 모집 • IBM Tuchman, Meyer 응모 • 1977년 미연방 표준 암호 알고리즘으로 선정(FIPS PUB 46)

  6. DES (계속) • 공모 조건 • 높은 안전성 • 알고리즘 간단 • 안전성이 키에만 의존 • 응용이 다양 • 제작자 및 사용자 이용 가능 • 전자장치 간단 • 제작자의 알고리즘 타당성 검토 협력 • 수출 가능

  7. DES의 특징 • 64비트 블록 단위로 암호화 • 56비트 키(Active Key) + 8비트 패리티체크(Parity Check) 비트 • 56 비트가 암호화 및 복호화에 사용된다. • 16라운드의 치환(P-Box)과 대치(S-Box)를 사용 • 정보이론의 아버지 클로드 샤논이 제안했던 기술을 구현한 것

  8. DES 암호화 진행 과정 Overview 1. 평문을 입력 64비트 2. 초기전치(재배열) 3. 좌우 분리 32비트씩 4. Feistel 연산 5. 원래의 키로부터 만들어 낸 키 6. 초기전치의 역전치(거꾸로) 7. 암호문 비트

  9. DES 암호화 진행 과정 Overview

  10. DES 암호화 과정 Overview - 초기전치 IP (initial permutation) • 1) 평문을 64비트씩 자른다. • 64비트 자른 평문을 이라고 하자. • 평문 M은 초기치환 IP를 거쳐 으로 바뀐다. • IP는 1번 자리에 58번째 비트를 놓고, 2번 자리에 50번째 비트를 놓고, 3번 자리에 42번째 비트를 놓는 방식으로 비트열의 자리를 바꾼다.

  11. DES 암호화 과정 Overview - 16라운드의 함수계산(치환) • 2) IP(M)은 좌우 각각 32비트씩 와 로 나누어 1라운드 암호화 과정에 들어간다. • 와 를 가지고 다음 단계의 , 을 만든다. • 이다. • 3) 2라운드의 왼쪽 32비트 은 오른쪽 32비트 를 그대로 쓴다. • 2라운드의 오른쪽 32비트 은 를 연산틀에 넣어서 처리한 다음 그 값과 을 XOR연산한다. • 한 라운드를 넘기는 과정마다 암호키 열 이 차례대로 작용한다.

  12. DES 암호화 과정 Overview -역전치IP–1(inverse of initial permutation) • 4) 16라운드를 진행하여 와 을 얻고난 다음 좌우를 바꾼 64비트 에 초기치환 IP의 역치환 를 적용한다. • 역치환

  13. S-box DES의 안전성에 중요한 역할 8 개의 비선형 함수로 구성됨 48 비트를 다시 32 비트로 변환 E : Expansion(확대전치E) 비트 확장표를 이용하여 32 비트를 48 비트로 확장 XOR 연산 키 스케줄러에서 생성된 라운드 별 Subkey와 XOR 연산 DES의 f함수 • P-box(평형전치P) • 선형전치표

  14. DES의 f함수 • 확대전치 E

  15. DES의 f함수 • 평형전치 P

  16. DES의 f함수 • S-Box

  17. DES의 f함수 • S-Box 예

  18. The Key-schedule of DES • 키계열 생성 알고리즘 • 키 스케줄러라 불리움 • Subkey 16 개 생성 • K1, K2, K3, …, K16 • 과정 • 64비트 키 데이터 입력 • 선택치환 • PC1 : Permuted Choice1 • 8bit 패리티 체크 비트 제거  56 bit 생성 • 28비트 씩 양분 • 라운드 별 지정된 수 만큼 좌측 시프트 • 선택치환 • PC2 : Permuted Choice2 • 48 비트의 라운드 키 생성됨 • 16라운드(회) 반복

  19. The Key-schedule of DES • 키 스케줄러에서 Subkey 16 개 생성( K1, K2, K3, …, K16 ) • 64비트 키 데이터 입력 • 키전치 PC-1 • Permuted Choice1 • 8bit 패리티 체크 비트 제거  56 bit 생성 • 28비트 씩 양분( C0, D0, … ) • 라운드 별 지정된 수 만큼 좌측 시프트(LS1, LS2, …), 표4-8 • 축약전치 PC-2 • PC2 : Permuted Choice2 • 48 비트의 라운드 키 생성됨 위의 과정들을 16라운드(회) 반복

  20. The Key-schedule of DES • 키전치 PC-1 • 816 24 32 404856 64 제거

  21. The Key-schedule of DES • 축약전치 PC-2 • 9 18 22 25 35 43 54 제거

  22. The Key-schedule of DES • 키 스케쥴러 LS

  23. DES 복호화 과정 • 암호문CIP역라운드IP–1평문M

  24. DES 암호의 규칙성 • 보수 특성

  25. 취약 키 • 취약키로 평문을 암호화하고 다시 한 번 암호화하면 평문이 나타남

  26. 유사 취약 키 • 취약키와 상당히 비슷한 특성을 갖는 키 조합

  27. DES의 안전성 문제 • 1975년 DES 알고리즘 발표 뒤 두가지 문제점이 제기됨 • 키의 길이가 짧다 • S-Box의 트랩도어나 의도적인 약점이 포함되어 있을 수 있다. • DES의 소모적 공격 • 암호기에 평문을 입력시켜 모든 키를 차례로 사용하면서 원하는 암호문이 출력될 때 까지 반복 • 여러 개를 만들어 동시에 공격하면 시간 단축

  28. DES의 안전성 문제 • 1998년 미국 RSA사에서 DES 해독 • 미 정부는 DES를 1998년 11월부터 사용하고 있지 않음 • 1997년 3-DES(Triple DES, 트리플 DES) 로 보완 • DES를 사용하는 세 번의 암호화 • 2002년 AES(Advanced Encryption Standard)로 데체됨

  29. DES (계속) • 2중 DES • 1비트 증가 효과

  30. DES (계속) • 3중 DES • 강한 암호 가능 • 키의 길이가 2배 확대된 효과

  31. 참고자료 • DES supplementary material • details the various tables referenced in the Data Encryption Standard (DES) block cipher. • http://en.wikipedia.org/wiki/DES_supplementary_material

  32. SEED

  33. SEED 개요 • 전자상거래, 금융, 무선통신 등에서 전송되는 개인정보와 같은 중요한 정보를 보호하기 위해 1999년 2월 한국정보보호진흥원과 국내 암호전문가들이 순수 국내기술로 개발 • 128비트 블록암호알고리즘 • 128비트 key 사용 • 1999년 9월 정보통신단체표준(TTA)으로 제정 • 2005년에는 국제 표준화 기구인 ISO/IEC 국제 블록암호알고리즘 표준으로 제정됨 • 참고사이트 • http://www.kisa.or.kr/kisa/seed/jsp/seed_1010.jsp

  34. SEED 암호화 과정

  35. f함수의 입력 값 64비트 REi 32비트 X, Y 로 분리 64비트 암호화 보조키 Ki+1 32비트 KK0, KK1으로 분리 SEED의 f함수

  36. SEED의 G함수 • S-Box 치환 • G함수의 입력 32비트를 • 4개의 8비트 블록 X3X2X1X0으로 분할한 후 • S-Box S2S1S2S1에 입력 • S2(X3), S1(X2), S2(X1), S1(X0) 를 출력함 • Bit-wise 연산

  37. SEED의 G함수 & : bit-wise AND

  38. SEED의 S–Box • SEED의 안전성을 결정하는 중요한 요소 • 8비트가 입력, 8비트가 출력되는 치환과정 • 미분해독기법(differential cryptanalysis)및 선형해독기법(linear cryptanalysis) 특성이 가장 우수한 n=247, 251을 선택하여 전단사 함수 Xn을 적용함 • GF(28)을 이용  Z256 = { 0, 1, 2, … , 255 }

  39. SEED의 S–Box

  40. SEED의 S–Box • S-Box

  41. SEED – S1 Box 변환표

  42. SEED – S2 Box 변환표

  43. SEED –보조키 생성 알고리즘 • 128비트의 키는 네 개의 32비트 블록으로 나누어져 키 생성 알고리즘에 입력됨(A,B,C,D)

  44. SEED –보조키 생성 알고리즘

  45. SEED –보조키 생성 알고리즘 • 키 생성 상수

  46. SEED 참고자료 • KISA SEED/ARIA 블록암호알고리즘 • http://www.kisa.or.kr/kisa/seed/jsp/seed_1010.jsp • SEED 알고리즘 상세 명세서 • http://www.kisa.or.kr/kisa/seed/down/SEED_Specification_korean.pdf • SEED 개발 및 분석 보고서 • http://www.kisa.or.kr/kisa/seed/down/SEED_Self_Evaluation-Korean.pdf

  47. [참고] ARIA 블록암호알고리즘 • ARIA는 경량 환경 및 하드웨어에서의 효율성 향상을 위해 개발된 블록 암호 알고리즘 • 블록 크기 : 128비트 • 키 크기 : 128/192/256비트 (AES와 동일 규격) • 라운드 수 : 12/14/16 (키 크기에 따라 결정됨) • ARIA가 사용하는 대부분의 연산은 XOR과 같은 단순한 바이트 단위 연산으로 구성됨 • 2004년에 국가표준기본법에 의거, 지식경제부에 의하여 국가표준(KS)으로 지정

  48. [참고] ARIA 블록암호알고리즘 • 안정성과 효율성 • ARIA 소스코드 • 국가정보원에서는 C와 JAVA로 작성된 ARIA 소스코드를 제공하고 있음 • http://www.kecs.go.kr/pw_certified/aria_open.jsp

  49. [참고] ARIA 블록암호알고리즘 • 참고사이트 • KISA : http://www.kisa.or.kr/kisa/seed/jsp/seed_5010.jsp • IT보안인증사무국http://www.kecs.go.kr/pw_certified/aria_open.jsp

  50. AES Advanced Encryption Standard

More Related