박 종 혁 (parkjonghyuk1@hotmail.com) 2장. 고전 암호 기법 박 종 혁 (parkjonghyuk1@hotmail.com) http://www.parkjonghyuk.net.

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

Chapter | 4 암호화 기술 Ⅱ암호화. ❖ 암호  통신문의 내용을 제 3자가 판 독할 수 없는 글자 · 숫 자 · 부호 등으로 변경 시킨 것 2/16 암호? 철수 영희 Plaintext attack attack ? ? Cryptography 개방통신로 모레 3.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
1 정보보안 경일대학교컴퓨터공학과 김 현 성 2 강의구성  교과목 소개 (1 주 )  산업체 전문가 특강실시 (2 주 )  소프트웨어 공학 (3 주 ~7 주 : 5 주 )  산업체 전문가 특강실시 (8 주 )  팀 프로젝트 (9 주.
1 차시 : SW 코딩으로 배우는 3D 기초작품 및 톱니바퀴 만들기 1)SPL3D 프린팅 툴 설치하기 2) 도형 추가하기 3) 도형 연산 명령어 익히기 4)3D 프린터 출력을 위한 STL 파일 내보내기 5) 하트모양 만들기 6) 하트모양 열쇠고리 만들기 7) 변수와 수식.
컴퓨터와 인터넷.
<<< 시스템등록정보 “하드웨어-장치관리자” 설정 >>>
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
제 9 장 구조체와 공용체.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
제2장 관용암호: 고전암호 기법
제 3장 고전 대칭키 암호 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chap 2. 관용 암호 방식.
5장 Mysql 데이터베이스 한빛미디어(주).
교과목 소개 정보보호.
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
Graph 개론 통계분석을 위한 Excel Chart 기초.
File Depender 중간 발표.
공개키 암호화 프로그래밍 전자상거래보안.
23 장 OSI 상위계층 23.1 세션(session)층 23.2 표현(presentation)층
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Error Detection and Correction
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
CAS (Computer Algebra System) 소개
행렬 기본 개념 행렬의 연산 여러가지 행렬 행렬식 역행렬 연립 일차 방정식 부울행렬.
5장 Mysql 데이터베이스 한빛미디어(주).
프로그래밍 개요
Chap 6.Assembler 유건우.
인터넷응용프로그래밍 JavaScript(Intro).
제 10 장 의사결정이란 의사결정은 선택이다.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
연산자 (Operator).
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
3D 프린팅 프로그래밍 05 – 반복패턴 만들기 강사: 김영준 목원대학교 겸임교수.
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
14장. 필터 효과와 CSS 활용하기 포토샵을 대신하는 필터 효과 CSS 활용하기.
자바 5.0 프로그래밍.
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
I-PIN 그리고 My-PIN 김가영 김경보 윤재호 이주헌
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
컴퓨터 개론 √ 원리를 알면 IT가 맛있다 쉽게 배우는 컴퓨터 기본 원리 한빛미디어 교재출판부.
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
CAS (Computer Algebra System) 소개
문서 클러스터링 일본언어문화학과 서동진.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
1. 정투상법 정투상법 정투상도 (1) 정투상의 원리
9 장 오류 검출 및 오류 정정 9.1 오류 종류 9.2 검출 9.3 오류 정정 9.4 요약.
Chapter 10 데이터 검색1.
12 그리드 시스템.
1. 입력 데이터 ② 대학, 학과: 대학이 존재하지 않을 경우 학과명을 대학에 입력 학과명은 공백으로 유지 (하단 참조)
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
제 4 장 Record.
워드프로세서 스프레드시트 문서 관리 인터넷 활용
수치해석 ch3 환경공학과 김지숙.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
과제물 3호 3번 문제 설명자료.
암호 시스템 (Crypto system) 신효철
 6장. SQL 쿼리.
교착 상태 해결 : 교착 상태 탐지 교착 상태 탐지(Deadlock Detection)
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
Report #2 (기한: 3/16) 데이터 구조 과목의 수강생이 50명이라고 가정한다. 이 학생(학번은 2016????으로 표현됨)들의 중간 시험(0~100), 기말 시험(0~100) 성적을 성적 파일에 작성하라(프로그램을 통해서 또는 수작업으로). 성적 파일을 읽어들여서.
6 객체.
SPL-Duino 블록 편집기 이용하기 전류센서 블록 만들기 SPL-Duino 블록 편집기를 실행합니다.
20 XMLHttpRequest.
Presentation transcript:

박 종 혁 (parkjonghyuk1@hotmail.com) 2장. 고전 암호 기법 박 종 혁 (parkjonghyuk1@hotmail.com) http://www.parkjonghyuk.net

목 차 대칭 암호 모델 치환 기법 전치 기법 회전자 기계 STEGANOGRAPHY

대칭 암호 모델 대칭 암호 기법 5가지 요소 평 문 입력으로 주어지는 원래의 알아볼 수 있는 메시지 또는 데이터 암호 알고리즘 평 문 입력으로 주어지는 원래의 알아볼 수 있는 메시지 또는 데이터 암호 알고리즘 평문에 대하여 다양한 치환 및 변환을 수행 비밀키 하나의 입력으로 키는 평문에 독립적 다른 키를 사용될 때마다 다른 출력을 생성 암호문 암호 알고리즘의 출력으로 생성된 혼합된 형태의 메시지 알아볼 수 없는 형태 복호알고리즘 암호 알고리즘을 역으로 수행하는 알고리즘은 키의 입력으로 평문 생성

대칭 암호 모델 관용 암호 방식의 단순 모델

대칭 암호 모델 관용 암호 시스템의 모델

대칭 암호 모델 암호 해독 암호 해독(Cryptanalysis) 특정 평문 또는 사용된 키의 추론을 시도하기 위하여 알고리즘의 특성을 활용 전사적 공격(Brute-force attack) 하나의 암호문에 대하여 이해할 수 있는 평문으로 전환될 때까지 가능한 모든 키를 시도 공격 유형 해독자에 알려진 정보 암호문 단독 공격 암호 알고리즘, 해독될 암호문 기지 평문 공격 암호 알고리즘, 해독될 암호문, 하나 이상의 비밀키에 의한 평문-암호문 쌍 선택 평문 공격 암호 알고리즘, 해독될 암호문, 해독자가 선택한 평문 메시지와 비밀키로 생성된 그평문에 대한 암호문 선택 암호문 공격 해독자가 선택한 목적 암호문과 비밀키로 생성된 그 암호문의 해독된 평문 선택 원문 공격 해독자가 선택한 평문 메시지와 비밀키로 생성된 그 평문에 대한 암호문 해독자가 선택한 목적 암호문과 비밀키로 생성된 그 암호문에 해독된 평문

대칭 암호 모델 알고리즘을 개발 기준 암호해독 비용이 암호화된 정보의 가치 초과 암호 해독 시간이 정보의 유효 기간 초과 32 키 크기(비트) 가능한 키의 수 s당 1 암호화 s당 106 암호화 32 232 = 4.3 x 109 231 s = 35.8분 2.15 ms 56 256 = 7.2 x 1016 255 s = 1142년 10.01 h 128 2128 = 3.4 x 1038 2127 s = 5.4 X 1024년 5.4 x 1018년 26문자 permutation 26 ! = 4 X 1026 2 X 1026 s = 6.4 X 1012년 6.4 x 106년

치환 기법 시이저 암호 기법 알파벳 문자를 두문자 건너의 세 번째 문자로 치환하는 방식 예 평문 : meet me after the toga party 암호문 : PHHW PH DIWHU WKH WRJD SDUWB 문자의 치환 수식을 이용한 시이저 암호 알고리즘 분석 평문자 a b c D e f g h i j k l m n o p q r s t u v w x y z 암호문자 E F G H I J K L M N O P Q R S T U V W X Y Z A B C 평문자 a b c d e f g h i j k l m 숫자 1 2 3 4 5 6 7 8 9 10 11 12 평문자 n o p q r s t u v w x y z 숫자 13 14 15 16 17 18 19 20 21 22 23 24 25

치환 기법 시이저 암호 기법 암호 알고리즘 취약점 암호화 및 복호 알고리즘을 알고 있음 가능한 키는 25개 평문의 언어를 알고 있으면 쉽게 인식할 수 있음

치환 기법 시이저 암호문의 전사적 암호 해독 25개의 키 평문 언어 인식

치환 기법 단일 문자 치환 암호 기법 영어 언어의 규칙성을 이용한 해독 임의의 치환을 허용하는 단일문자 치호나 암호 기법 키 공간을 급격히 증가 각 문자 대신 26개 문자를 모두 허용하는 경우 26! 영어 언어의 규칙성을 이용한 해독 상대 문자 빈도

치환 기법 문자 빈도를 이용한 방법 암호문 문자빈도 각 장 높은 P를 E로 변경, Z은 A, T 중 하나로 변경 영어 단어상 THE가 많이 사용됨으로 우선 P앞에 Z이 많이 발견 Z=T로 변경 U Z Q S O V H X M P G E W F D B T A I J P 13.33 Z 11.67 S 8.33 U 8.33 O 7.50 M 6.67 H 5.83 D 5.00 E 5.00 V 4.17 X 4.17 F 3.33 W 3.33 Q 2.50 T 2.50 A 1.67 B 1.67 G 1.67 Y 1.67 I 0.83 J 0.83 C 0.00 K 0.00 L 0.00 N 0.00 R 0.00

치환 기법 문자 빈도를 이용한 방법 위와 같이 문자의 빈도를 구해 지속적으로 적용 암호 U Z Q S O V H X M P G E W F D B T 평문 A I J

치환 기법 Playfair 암호 기법 M O N A R C H Y B D E F G I/J K L P Q S T U V W X 다중문자 치환 암호 기법 암호문 2중자로 번역 5 X 5 문자 행렬에 기초 본 표에서의 키워드 : MONARCHY 문자들을 중복 문자는 제외하고 행렬의 좌에서 우로 상단에서 하단 행렬 여백은 나머지 알파벳 순서대로 채워 감 I와 J는 한 문자로 취급 M O N A R C H Y B D E F G I/J K L P Q S T U V W X Z

치환 기법 다중문자 치환 암호 기법 방식 같은 쌍 내의 반복되는 평문자는 X와 같은 채움 문자로 분리 예 ) balloon -> ba lx lo on으로 처리 행렬의 동일 행 내의 평문자 쌍은 각각 바로 우측에 위치한 문자로 치환 마지막은 다음에 첫 문자 행렬의 어떤 열에 적용하는 경우 바로 아래에 있는 문자로 치환, 최 하단의 문자는 최 상위 문자로 치환 그 외의 경우, 각 평문자는 그 평문자가 있는 행 그리고 다른 평문자가 있는 열의 문자로 치환

치환 기법 다중문자 치환 암호 기법 M O N A R C H Y B D E F G I/J K L P Q S T U V W X 예) balloon -> ba lx lo on으로 1차 변경 행렬에서 ba는 같은 열에 있으므로 아래 문자 치환 : IB 또는 JB 행렬에서 lx는 서로 다른 위치에 있음 : lx -> su 로 치환 행렬에서 lo는 서로 다른 위치에 있음 : lo -> pm로 치환 행렬에서 on은 같은 행에 있으므로 우측 문자 치환 : on -> na로 치환 ba lx lo on -> ibsupmna로 변경 M O N A R C H Y B D E F G I/J K L P Q S T U V W X Z

치환 기법 Hill 암호 기법 C1 = (k11 p1 + k12 p2 + k13 p3 ) mod 26

치환 기법 암호문 형식을 열 벡터와 행렬로 표현 C1 k11 k12 k13 P1 C2 = k21 k22 k23 P2 암호화 사례 평문: PAYMOREMONEY 암호 키 C1 k11 k12 k13 P1 C2 = k21 k22 k23 P2 C3 k31 k32 k33 P3 17 17 5 K = 21 18 21 2 2 19

치환 기법 암호문 계산 평문을 숫자변환 PAYMOREMONEY: P 15, A  0, Y  24, … 숫자 대입 암호문 치환 K(15 0 24) + (375 819 486) mod 26 = (11 13 18) = LNS C1 = 17 x 15 + 17 x 0 + 5 x 24 = 375 mod 26 = 14 … …11 C2 = 21 x 15 + 18 x 0 + 21 x 24 = 819 mod 26 = 31 … …13 C3 = 2 x 15 + 2 x 0 + 19 x 24 = 486 mod 26 = 18 … …18 C1 k11 k12 k13 P1 C2 = k21 k22 k23 P2 C3 k31 k32 k33 P3 C1 17 17 5 15 C2 = 21 18 21 0 mod 26  C3 2 2 19 24 11 13 18 L N S

치환 기법 복호문 계산 암호문 계산 형식 C = EK(P) = KP에서 평문 P = DK(C) = K-1C = K-1KP = P; 여기서, K-1는 역행열: K-1K = I 역행렬 계산 P1 4 9 15 11 P2 = 15 17 6 13 mod 26  P3 24 0 7 18 15 24 P A Y 17 17 15 4 9 15 443 442 442 1 0 0 21 18 2 15 17 6 = 858 495 780 mod 26  0 1 0 2 2 19 24 0 7 494 52 365 0 0 1

치환 기법 다중 단일 문자 치환 암호 기법 대표적인 Vigenere 암호 방식 관련된 단일 문자 치환 규칙들의 집합을 사용함 주어진 변환에 사용될 특정 규칙은 키에 의해 결정됨 대표적인 Vigenere 암호 방식 행렬표를 구성 키 문자 x와 평문자 y가 주어지면 암호 문자는 x행 y 열의 암호문 V 키 : deceptive 평문 : we are discovered save yourself 평문 길이 만큼 키 크기가 필요 언어의 특징을 모두 없애지 못함 키 d e c p t i v 평문 w a r s o y u l f 암호문 Z I C V T W Q N G R A H Y L M J

현 대 V I G E N R 표 a b c d e f g h i j k l m n o p q r s t u v w x y z

전치 기법 전치 기법 평문자에 대한 일종의 순서 바꿈에 의해 이루어 짐 예 “meet me after the toga party” 깊이 2의 rail fence 기법으로 암호화 암호문 : MEMATRHTGPRYETEFETEOAAT 깊이 2의 경우 해독이 쉽게 될 수 있음 동일한 예로 메시지를 사각형의 행순으로 써놓고 열 순으로 읽되 열의 순서를 키로 바꿈 암호문 : FOTTAERPMTGEEAATYEETMHR M E A T R H G P Y F O 키 4 5 3 2 8 7 6 1 평 문 M E T A F R H O G P Y

전치 기법 한번 전치한 암호문을 동일한 방법으로 두 단계 이상의 전치를 함 키는 동일함 2단계 전치 암호문 평문 : FOTTAERPMTGEEAATYEETMHR 키는 동일함 2단계 전치 암호문 PTTETTGEFMYOTERAREAHAEM 키 4 5 3 2 8 7 6 1 평 문 F O T A E R P M G Y H

회전자 기계 회전자 기계 기본 원리 26개의 입력 핀과 26개의 출력 핀 주기가 26인 다중 단일 문자 치환 알고리즘

회전자 기계 1943년 초, 빌딩 26 (미국 오하이오주 데이턴)에서, 조지프 데쉬가 이끈 NCR 기술팀  군이 요청한 암호 자동 해독기 개발 이후 연합군은 거의 실시간으로 독일군의 암호를 해독 당시 암호작성기는 ‘에니그마(사진)’. 누구도 풀지 못한다고 해서 이름 붙여진 에니그마(enigmaㆍ수수께끼)의 해독을 위해 영국은 암호학교까지 세움. 전쟁 양상을 바꾼 새 암호해독기의 개발과 그 작전 87년 조지프 데쉬가 숨진 지 몇 년 뒤, 비밀해제를 통해 알려짐. 미군은 태평양전쟁에서도 승기를 잡음 당시 일본군은 에니그마 변형 암호작성기를 사용했는데, 미국은 그 90%이상을 해독 함 42년, 미드웨이 해전의 승리, 43년, 진주만 기습을 주도한 야마모토 이로소쿠(山本五十六) 사령관의 피격  일본군 암호를 해독했기에 가능

STEGANOGRAPHY 메시지의 존재 자체를 은폐하는 방식 그림 파일에 일정한 그림이나 문자 혹은 문서를 변환 삽입 문자 마킹 인쇄 또는 타자된 원문의 문자들을 선택하여 연필로 그 위에 덧쓰는 방법, 밝은 빛을 적당한 각도로 비춰야만 보임 보이지 않는 잉크 종이에 열 또는 화학 처리를 해야만 보이는 다양한 종류의 잉크 사용 핀 구멍 빛을 비춰야만 보이는 작은 구멍을 원문의 특정 문자에 넣는 방법 타자 수정 리본 흑색 리본으로 타자된 줄 사이에 강한 빛에서만 보이는 수정 리본을 이용 미국의 테러사건의 빈라덴과 알카에다의 조직원들이 웹의 이미지 사진에 정보를 숨겨서 이용함

STEGANOGRAPHY STEGANOGRAPHY 프로그램 순서도 김태희 사진 실습 : www.stegoarchive.com 개발사 및 프리 소프트웨어 제공 실습 프로그램 : S-tools3를 다운받아 실행 하나의 이미지 안에 다른 이미지를 숨김 아래 김태희 사진에 프로그램 순서도 이미지를 숨길 예정 프로그램 순서도 김태희 사진

STEGANOGRAPHY 그러나 실제로는 앞 사진에 이미 S-tool3를 이용하여 다른 이미지 하나를 미리 숨겨 두었음. 1번은 인터넷 상 실제 이미지 즉 원본 2번은 다른 이미지를 숨긴 앞 피티에서 본 이미지 의식하지 않고 보면 그냥 해상도가 낮은 사진처럼 보임 1번 김태희 사진 2번 김태희 사진