2009년 3월 23일 (4주차) 유 승 석(aviteria@gmail.com) 관용 암호 방식 2009년 3월 23일 (4주차) 유 승 석(aviteria@gmail.com)

Slides:



Advertisements
Similar presentations
1/29 키보드로 직접 입력할 수 없는 다양한 기호와 한자를 입력하는 방법을 알아 보자. 또한 블록으로 영역을 설정하는 여러 가지 방법에 대해 살펴본 후 블록 으로 설정된 내용을 복사하여 붙여넣거나, 잘라내고 이동하는 방법에 대해서 도 알아보자. 02_ 문서의 입력과 편집.
Advertisements

Chapter | 4 암호화 기술 Ⅱ암호화. ❖ 암호  통신문의 내용을 제 3자가 판 독할 수 없는 글자 · 숫 자 · 부호 등으로 변경 시킨 것 2/16 암호? 철수 영희 Plaintext attack attack ? ? Cryptography 개방통신로 모레 3.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
Ⅱ 세포의 주기와 생명의 연속성 Ⅱ 세포의 주기와 생명의 연속성 - 1. 세포주기와 세포분열.
1 정보보안 경일대학교컴퓨터공학과 김 현 성 2 강의구성  교과목 소개 (1 주 )  산업체 전문가 특강실시 (2 주 )  소프트웨어 공학 (3 주 ~7 주 : 5 주 )  산업체 전문가 특강실시 (8 주 )  팀 프로젝트 (9 주.
5장. 현대 대칭키 암호 소개 경일대학교 사이버보안학과 김현성 교수.
2012(First Term) 정보사회와 암호이야기
제3장 관용암호: 현대적 암호기법
대림대학교 2017년도 1학기 강의 왕보현 순서도와 스크래치 5주차 대림대학교 2017년도 1학기 강의 왕보현
암호 이야기 - 보이지 않는 전쟁 -.
Chapter 7. 조건문.
컴퓨터 프로그래밍 기초 [Final] 기말고사
제2장 관용암호: 고전암호 기법
제 3장 고전 대칭키 암호 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chap 2. 관용 암호 방식.
RS 및 D 플립플롭 RS Flip Flop 래치는 어떤 입력 레벨에 의해서 제어되는 데 플립플롭은 클록 입력이라고
File Depender 중간 발표.
23 장 OSI 상위계층 23.1 세션(session)층 23.2 표현(presentation)층
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Error Detection and Correction
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
2007 1학기 11 프로젝트 기초 실습.
Tail-recursive Function, High-order Function
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
행렬 기본 개념 행렬의 연산 여러가지 행렬 행렬식 역행렬 연립 일차 방정식 부울행렬.
<소스코딩(Source Coding)> 제4장 가변길이 코드
제4장 제어 시스템의 성능.
JA A V W. 03.
프로그래밍 개요
바코드에 대하여…… 바코드에 대하여 알아보도록 하자 6-1 홍지효.
CHAP 5. 레이아웃.
DK-128 FND 실습 아이티즌 기술연구소
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
4 장 신호(Signals) 4.1 아날로그와 디지털(Analog and Digital)
6 레지스터와 카운터.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
6. 레지스터와 카운터.
1. 2진 시스템.
컴퓨터 개론 √ 원리를 알면 IT가 맛있다 쉽게 배우는 컴퓨터 기본 원리 한빛미디어 교재출판부.
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
균형이진탐색트리 이진 탐색(binary search)과 이진 탐색 트리(binary search tree)와의 차이점
2nd day Indexing and Slicing
제 15 강 문자와 코드 shcho.pe.kr.
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Chapter 1 단위, 물리량, 벡터.
Flow Diagram IV While.
1. 정투상법 정투상법 정투상도 (1) 정투상의 원리
쉽게 배우는 알고리즘 2장. 점화식과 점근적 복잡도 분석
논리회로 설계 및 실험 4주차.
Chapter 10 데이터 검색1.
12 그리드 시스템.
함수, 모듈.
1장. 시저의 암호.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
통계학 R을 이용한 분석 제 2 장 자료의 정리.
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
제 4 장 Record.
프로그래밍 개론 Ⅰ-실습 2장 데이터와 식①.
수치해석 ch3 환경공학과 김지숙.
어서와 C언어는 처음이지 제21장.
 6장. SQL 쿼리.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Report #2 (기한: 3/16) 데이터 구조 과목의 수강생이 50명이라고 가정한다. 이 학생(학번은 2016????으로 표현됨)들의 중간 시험(0~100), 기말 시험(0~100) 성적을 성적 파일에 작성하라(프로그램을 통해서 또는 수작업으로). 성적 파일을 읽어들여서.
6 객체.
피보나치수열에 대하여 한림초 5학년 신동오.
Presentation transcript:

2009년 3월 23일 (4주차) 유 승 석(aviteria@gmail.com) 관용 암호 방식 2009년 3월 23일 (4주차) 유 승 석(aviteria@gmail.com)

관용 암호 방식 암호화와 복호화에 동일한 키를 사용 공통키 암호 방식 또는 암호화와 복호화 과정이 대칭적이어서 대칭 암호 방식 이라고도 호칭함 수 천년 전부터 사용되어 오고 있는 암호 방식 평문의 문자를 다른 문자로 환자(치환)하거나 또는 문자의 위치를 바꾸는 전치과정으로 구성

관용 암호 방식

수업 내용 환자 암호 전치 암호 적 암호(전치+환자) 스트림 암호 암호 해독 Questions & Answers

환자 암호

환자 암호 시프트 암호 단순 환자 암호 Affine 암호 동음이의 환자 암호 다표식 환자 암호 철자 환자 암호 Hill 암호 Playfair 암호

시프트 암호 환자 암호 중에 가장 간단한 방법으로 영문자를 다음과 같이 나열하고 일정 방향으로 일정 간격 시프트(shift) 시키는 방법 특히 시프트 간격을 3으로 한 경우를 Caesar 암호라고 한다.

시프트 암호

시프트 암호 Caesar 암호의 예

시프트 암호 수식 표현

예제 시프트 암호의 키가 K=11일 때, 다음의 평문 M을 암호화해 보자. 평문 s u b s t i t u t i o n c i p h e r

시프트 암호의 안전성 법 26을 이용한 시프트 암호는 안전하지 못하다. 침해자가 K에 0부터 25까지 키를 대입해보면 의미있는 문장을 찾을 수 있음 시프트 암호는 이러한 소모적 공격(exhaustive key search)에 매우 취약함

예제 시프트 암호에 의한 암호문 C가 다음과 같다. 소모적 공격으로 평문 M을 찾아보자. 암호문 R Y G K B O I Y E Q O D D S X Q Y X

단순 환자 암호(simple substitution) 평문 문자를 암호문 문자로 치환하는 방식 평문 영문자를 무작위로 다른 영문자로 치환하여 암호문을 만드는 단순 환자 암호표 p.64 [그림3.3] 참고 단순 환자 암호 복호표 p.65 [그림3.4] 참고

단순 환자 암호의 예

단순 환자 암호의 안전성 시프트 암호보다 전사공격에는 안전 빈도수에 의한 통계적 분석으로 해독 가능 키의 수 = 26!( 약 4 * 1026 개 ) 빈도수에 의한 통계적 분석으로 해독 가능 충분한 길이의 암호문, 암호문의 양이 많을 수록 통계적 성질이 많이 유지되어 암호문 해독이 용이함 p.65 [표3.1], p.66 [표3.2], [표3.3]

Affine 암호 시프트 암호 방식 Affine 암호 C ≡ M +K mod 26 , K = 3 C ≡ K1 M + K2 mod 26 gcd (K1, 26) = 1 ax = b mod m 에서 gcd(a,m)=1 이면 유일한 해 x 존재함 12개의 K1 과 26개의 K2의 조합이 키가 될 수 있으므로 키 숫자는 12*26=312 참고사이트 http://en.wikipedia.org/wiki/Affine_cipher

예제 K1=3, K2=15 일 때 information security를 Affine 암호화 하자.

Affine 암호의 예 K1 = {1,3,5,7,9,11,15,17,19,21,23,25} 중 K1 = 7 K2 = 1

동음이의 환자 암호 단순 환자 암호 방식처럼 언어 통계학적 성질을 이용한 해독에 취약한 것을 보완하기 위해 고안된 방식 암호문의 문자 빈도가 균등하게 분포되도록 만드는 방식

동음이의 환자 암호 미국의 T.J.Beale이 고안한 Beale 암호 방식

동음이의 환자 암호의 예 p.69 [최하단]

예제

다표식 환자 암호 (Vigenere cipher) polyalphabetic substitution pronounced /viːdʒɪnɛəɹ/, "veez-ih-nair" 1553 발간된 책에 기술됨( La cifra del. Sig. Giovan Battista Bellaso ) 19th 세기에 알려져, 현재 "Vigenère cipher“ 로 알려짐 참고사이트 http://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher

다표식 환자 암호(Vigenere cipher)표

예제 키워드 SECURITY로 Vigenere 암호 방식에 따라 다음을 암호화 해 보자

철자 환자 암호 Hill 암호 Playfair 암호

철자 환자 암호 – Hill 암호 다형 환자 암호 Polygram substitution cipher 두 문자 이상을 묶어 이들을 다른 문자나 숫자로 변환 Invented by Lester S. Hill in 1929 참고사이트 http://en.wikipedia.org/wiki/Hill_cipher

철자 환자 암호 – Hill 암호 Hill's "Message Protector" patent 참고사이트 http://www.und.nodak.edu/org/crypto/crypto/.hill4.html

철자 환자 암호 – Hill 암호 철자 환자 암호 - Hill 암호

예제 다음 행렬 K로 Hill 암호 및 복호화 하기

철자 환자 암호 - Playfair 암호 Lord Playfair, who heavily promoted its use. 참고사이트 http://en.wikipedia.org/wiki/Playfair_cipher The Playfair system was invented by Charles Wheatstone, who first described it in 1854. Lord Playfair, who heavily promoted its use.

철자 환자 암호 - Playfair 암호 Playfair 암호표의 예 암호표 생성 규칙 키워드의 문자를 테이블에 좌우, 위아래 방향으로 하나씩 채움(단, 중복 문자는 버림) 나머지 남는 공간은 알파벳 순서로 채움 알파벳의 개수(25)를 맞추기 위해 일반적으로 "J" 를 생략(J=I) 또는 많이 사용되지 않는 "Q" 를 생략(Q=Z)

철자 환자 암호 - Playfair 암호 Playfair 암호표의 예2 Using "playfair example" as the key, the table becomes

철자 환자 암호 - Playfair 암호 Playfair 암호화 절차 먼저 평문의 띄어쓰기를 없애면서, 2문자씩 분리하는데 연속되는 문자(예 PP)가 있으면 같은 문자 사이에 X를 삽입(예 PXP)하여 같은 알파벳이 중복되지 않도록 하면서 다시 2문자씩 분리하는 방법을 계속함 전체의 글자 수가 홀수이면 맨 마지막에 X를 추가하여 짝수개로 만듬

철자 환자 암호 - Playfair 암호 Playfair 암호화 절차 1) 동일 행에 m1m2가 있으면 c1c2는 우측문자

예제 아래의 표를 참고하여 평문 informationsecurity를 Playfair암호화 하기

전치 암호

전치 암호(transposition cipher) 평문 문자의 순서를 어떤 특별한 절차에 따라 재배치하여 평문을 암호화하는 방식 scytale 암호 단순전치 암호 Nihilist 암호

scytale 암호

단순 전치 암호 simple transposition cipher 정상적인 평문 배열을 특정한 키의 순서에 따라 평문 배열을 재조정하여 암호화하는 방식

예제 단순 전치 암호의 키가 다음과 같을 때 information security를 암호화 하자

Nihilist 암호 단순 전치 암호의 암호 강도를 높이기 위해 행은 물론 열에 대해서도 전치를 적용한 암호 키워드에 따라 먼저 행을 일정 간격으로 전치시키고 다시 키워드의 순서에 따라 열을 일정 간격으로 전치시킨다. 때로는, 전치를 대각선 방향으로 하는 경우도 있다.

예제 LEMON이라는 키워드를 이용한 Nihilist 암호를 구성해 보자

적 암호

적 암호(product cipher) 암호 강도를 향상시키기 위해 전치와 환자를 혼합한 암호 방식 대표적인 예 제 1차 세계 대전 때 독일군이 사용하던 ADFGVX 암호 대부분의 현대 관용 암호 방식은 적 암호 방식을 이용하고 있음

적 암호 ADFGVX 암호 Feistel DES Rijndael(AES) SEED

ADFGVX 암호 ADFGVX의 여섯 개의 문자를 행과 열로 나열한 다음 36개의 열과 행이 직교하는 위치에 26개의 문자와 10개의 숫자를 무작위로 대입하여 암호화

ADFGVX 암호 ADFGVX 암호 환자표

예제 평문 conventional cryptography를 앞의 표에 따라 전치 키워드 CIPHER로 ADFGVX 암호화해 보자. 중간 암호문 작성(환자) 전치 키워드를 이용한 전치

Feistel 암호 Shannon의 암호 이론을 근거로 전치와 환자를 반복 적용한 적 암호를 구성함

[참고] Claude Shannon Claude Elwood Shannon April 30, 1916 – February 24, 2001 an American electronic engineer and mathematician, is known as "the father of information theory". 정보이론의 아버지 Claude Elwood Shannon (1916-2001) 참고사이트 http://en.wikipedia.org/wiki/Claude_Shannon

Feistel 암호 방식

Feistel 암호 방식 관계식 LE16 = RE15 RE16 = LE15 ⊕ f (RE15, K16)

Feistel 암호 방식의 복호화 과정 복호화 과정 LD1 = RD0 = LE16 = RE15 RD1 = LD0 ⊕ f (RD0, K16) = RE16 ⊕ f (RD0, K16) = [LE15 ⊕ f (RE15, K16)] ⊕ f (RE15, K16) = LE15 LD16 = RE0 RD16 = LE0 A ⊕ B ⊕ B = A

스트림 암호

스트림 암호 비트 단위의 암호화를 수행 메시지열과 키계열을 이진합하여 암호화하는 방식 참고사이트 http://en.wikipedia.org/wiki/Linear_feedback_shift_register

스트림 암호 스트림 암호 방식의 암호 강도는 키 계열의 무작위성이 결정한다. 키스트림의 비예측성(unpredictability)을 충족하기 위해서 최대주기, 선형복잡도, 난수성 필요 일반적으로 키 계열은 선형 궤환 시프트 레지스터(linear feedback shift register, LFSR)를 이용하여 생성함

4단 선형 궤환 시프트 레지스터 플립플롭의 초기값은 모두 0이어서는 안됨 왜냐하면, 출력 키 계열은 계속해서 0만 출력함 스트림 암호는 암호문과 평문이 동일하게 됨

예제 [그림3.8]의 선형 궤환 시프트 레지스터의 플립플롭 F/Fi 의 초기값이 1010일 때 키 계열을 구해 보자.

암호 해독 환자 암호의 해독

암호 해독 암호 방식의 정규 참여자가 아닌 제삼자로 암호문으로부터 평문을 찾으려는 시도를 암호 해독 또는 공격이라 함 암호 해독자, 제삼자, 침해자 eavesdropper (사적인 대화를) 엿듣는 사람.

암호 해독 방법 암호문 단독 공격 (Ciphertext-only Attack) 기지 평문 공격 (Known-plaintext Attack) 선택 평문 공격 (Chosen-plaintext Attack) 선택 암호문 공격 (Chosen-ciphertext Attack)

[참고] 환자 암호의 해독 교재 p.90

Questions & Answers