Chapter 3 Symmetric Key Crypto

Slides:



Advertisements
Similar presentations
Chapter | 4 암호화 기술 Ⅱ암호화. ❖ 암호  통신문의 내용을 제 3자가 판 독할 수 없는 글자 · 숫 자 · 부호 등으로 변경 시킨 것 2/16 암호? 철수 영희 Plaintext attack attack ? ? Cryptography 개방통신로 모레 3.
Advertisements

8. 현대 대칭키 암호를 이용한 암호화 기법 경일대학교 사이버보안학과 김현성 교수.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
1 정보보안 경일대학교컴퓨터공학과 김 현 성 2 강의구성  교과목 소개 (1 주 )  산업체 전문가 특강실시 (2 주 )  소프트웨어 공학 (3 주 ~7 주 : 5 주 )  산업체 전문가 특강실시 (8 주 )  팀 프로젝트 (9 주.
1 Chap 3. 관용 암호 방식 현대적 기법. 2
순천향대학교 정보보호연구회 김현민 DES (Data Encryption Standard)
7.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 7 Advanced Encryption Standard (AES)
문자코드 1 박 2 일 (4 조 ) 이경도 이준집 이수연 엄태규. 문자코드란 ? 문자나 기호를 컴퓨터로 다루기 위하여, 문자나 기호 하나하나에 할당 시키는 고유의 숫자를 말하는 것이다.
Chapter 8 현대 대칭키 암호를 이용한 암호화 기법
알고리즘 기본 개념 정렬 알고리즘 탐색 알고리즘 알고리즘 복잡도.
컴퓨터와 인터넷.
제3장 관용암호: 현대적 암호기법
I부 암호.
박 종 혁 3장. 블록 암호 및 DES 박 종 혁
연결리스트(linked list).
자바 암호 프로그래밍 Java Cryptography Programming
뇌를 자극하는 Windows Server 2012 R2
DES (Data Encryption Standard)
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
제 4장 블록 암호 모드.
Chapter 3 Symmetric Key Crypto
20장. Hyper-V 설치와 운영(64bit 전용)
Chap 2. 관용 암호 방식.
Chapter 3 Symmetric Key Crypto
ATMEG2561 & TFT-LCD를 이용한 MOBILE DEVICE 구현
암호학 응용 Applied cryptography
File Depender 중간 발표.
암호에 대한 이해 정보 보안 개론 7장.
전자상거래 보안 (암호학과 네트워크보안) Chul Ho Rhee
23 장 OSI 상위계층 23.1 세션(session)층 23.2 표현(presentation)층
DES를 이용한 GPS 위치 정보 암호화 송신 2조 김민수 문형진 안인석 조우람.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
Error Detection and Correction
제 12장 난수 예측 불가능성의 원천.
4. LAN의 배선체계 (3장. LAN: Local Area Network)
PSW : PROGRAM STATUS WORD
Chapter 6 Contemporary Symmetric Ciphers
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
20장. Hyper-V 설치와 운영(64bit 전용)
이동식 다 관절 로봇팔 Removable Articulated robot arm
8051기반의 음성 인식 프로세서 설계 Chang-Min Kim and Soo-Young Lee
전자상거래 보안 (암호학과 네트워크보안) ) Chul Ho Rhee
자바 암호 프로그래밍 Java Cryptography Programming
자바 5.0 프로그래밍.
어서와 C언어는 처음이지 제14장.
Computer System Architecture
군집 분석.
DK-128 FND 실습 아이티즌 기술연구소
AES(Advanced Encryption Standard)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
제4강 처리장치 1.
ARM Development Suite v1.2
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
비대칭 암호화 알고리즘 공개키 암호화 알고리즘 소속 : 한세사이버보안고등학교 조장 : 안도현
10장. 실현기술 10.1 유한 어장 영향 10.2 디지털 필터의 기본 하드웨어 10.3 하드웨어에 의한 디지털필터 실현
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
알고리즘 알고리즘이란 무엇인가?.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
논리회로 설계 및 실험 4주차.
아날로그 신호를 디지털 신호로 변환하는 A/D 변환기 A/D 변환 시 고려하여 할 샘플링 주파수 D/A 변환기
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
암호-3장. 대칭키 암호 ㅎㅎ 정보보호 기능의 가장 핵심적 기술인 암호를 다룬다. 흥미로운 암호의 역사를 소개하고, 고전적인 암호체계로부터 현대적인 디지털 암호체계에 이르는 기술의 발전을 살펴보고 현대의 고급 암호분석 기법을 소개한다. 한빛미디어(주)
LEON3 DBT 엔진을 이용한 ERC32 기반의 하이퍼바이저 프로토 타입 개발
Presentation transcript:

Chapter 3 Symmetric Key Crypto

주요 내용 스트림 암호(Stream cipher) 블록 암호(Block cipher) 블록 암호 모드 RC4 블록 암호(Block cipher) Data Encryption Stantard(DES): relatively simple, Advanced Encryption STD(AES) International Data Encrytption Alg.(IEDA) Blowfish, RC6 Tiny Encryption Algorithm 블록 암호 모드 Electronic codebook (ECB) Cipher-block chaining (CBC) Counter (CTR) 대칭키 암호와 무결성(Integrity)

Chapter 3 Symmetric Key Crypto 이 장의 목표 대칭키 암호를 소개 대칭키 암호 알고리즘이 내부적으로 어떻게 동작하고 있는지를 이해한다. “why”보다는 “how”에 초점을 맞춘다. ”why”를 이해하기 위해서는 cryptanalysis를 이해해야 한다. (6장) Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto 스트림 암호(stream cipher) Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto 스트림 암호 최근에는 블록 암호 처럼 많이 쓰이지 않는다. n 비트의 키를 긴 키 스트림(long keystream)으로 확장해서 사용한다. 스트림 암호의 기능 StreamCipher(K) = S where K:키, S:키 스트림 S는 일회성 암호(one-time pad)와 같이 사용한다. c0 = p0  s0, c1 = p1  s1, c2 = p2  s2, … p0 = c0  s0, p1 = c1  s1, p2 = c2  s2, … 송신자와 수신자는 동일한 스트림 암호 알고리즘을 사용하고 모두 키 K를 알고 있다. Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto 스트림 암호 두 가지 스트림 암호를 소개한다. A5/1 linear feedback shift registers에 기초 GSM mobile phone system에서 사용 A5/1은 유럽과 미국에서 사용 A5/2는 강력한 암호를 갖고 있다고 신뢰할 수 없는 나라에서 사용 RC4 changing lookup table에 기초 여러 응용에서 사용 – SSL Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto A5/1 는 H/W로 구현되는 대표적인 스트림 암호 3개의 Linear feedback shift registers로 구성 X: 19 bits (x0, x1, x2, …, x18) Y: 22 bits (y0, y1, y2, ………, y21) Z: 23 bits (z0, z1, z2, ………….,z22) X+Y+Z = 64 bits Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto At each step: m = maj(x8, y10, z10) Examples: maj(0,1,0) = 0 and maj(1,1,0) = 1 If x8 = m then X steps t = x13  x16  x17  x18 xi = xi1 for i = 18, 17, …, 1 and x0 = t If y10 = m then Y steps t = y20  y21 yi = yi1 for i = 21, 20, …, 1 and y0 = t If z10 = m then Z steps t = z7  z20  z21  z22 zi = zi1 for i = 22, 21, …, 1 and z0 = t Keystream bit is x18  y21  z22 Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto X x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18  Y y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 y17 y18 y19 y20 y21   Z z0 z1 z2 z3 z4 z5 z6 z7 z8 z9 z10 z11 z12 z13 z14 z15 z16 z17 z18 z19 z20 z21 z22  매 사이클의 결과는 한 비트(single bit)이다. 키는 3개의 레지스터를 채우는데 사용한다. 매번 레지스터 단계를 수행할지 안 할지 (x8, y10, z10)의 값에 의해 결정된다. 키 스트림 비트는 레지스터들의 맨 오른쪽 비트의 XOR 값이다. Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto From Wikipedia Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto X 1  Y 1   Z 1  위의 예에서, m = maj(x8, y10, z10) = maj(1,0,1) = 1 Register X와 Z 단계가 수행되고 , Y 단계는 수행되지 않는다. 키 스트림 비트는 레지스터의 맨 오른쪽 비트의 XOR 값이다. keystream bit : 0  1  0 = 1 Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto RC4 Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto RC4 RC4는 소프트웨어로 구현하도록 최적화되었다. 반면에 A5/1은 하드웨어로 구현 RC4는 매 단계에서 키 스트림 바이트(a keystream BYTE)를 만들어낸다. 반면에 A5/1는 키 스트림 비트(a single keystream bit)를 만들어낸다. Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto RC4 RC4는 아주 간단하다. 이것은 단지 256(28)-byte 값의 순열을 포함하는 lookup table이기 때문이다. 매번 바이트 키 스트림이 만들어질 때, {0,1,2,…255}의 순열을 포함하도록 변경된다. Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto RC4 초기화 첫단계 – 키를 사용하여 lookup table을 초기화한다. Key: key[i] for i=0,1,…,N-1 where key[i] is a byte Lookup table: S[i] is a byte Key의 길이는 0부터 255 바이트 사이 키는 오직 S를 초기화하는데 사용된다. S[] is permutation of 0,1,…,255 key[] contains N bytes of key for i = 0 to 255 S[i] = i K[i] = key[i (mod N)] next i j = 0 j = (j + S[i] + K[i]) mod 256 swap(S[i], S[j]) next j i = j = 0 Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto RC4 키 스트림(keystream) 다음 단계 – 키 스트림 바이트는 다음의 알고리즘에 의해서 발생된다. i = (i + 1) mod 256 j = (j + S[i]) mod 256 swap(S[i], S[j]) t = (S[i] + S[j]) mod 256 keystreamByte = S[t] 키 스트림 바이트를 일회성 암호(a one-time pad)와 같이 사용한다. 주의: 처음의 256 바이트는 반드시 폐기한다. 그렇지않으면 공격자가 키를 회복할 수 있다. Chapter 3 Symmetric Key Crypto

Chapter 3 Symmetric Key Crypto 스트림 암호 스트림 암호는 과거에 많이 사용되었다. 하드웨어로 구현하는데 효율적 음성 등과 같이 속도를 따라가는데 적절 하지만 최근에 CPU의 성능이 향상되어 소프트웨어 기반의 암호 방식도 충분히 빠르다. 스트림 암호의 미래는? Shamir: “스트림 암호의 사망” 과장된 얘기인지도 모른다… Chapter 3 Symmetric Key Crypto