DES (Data Encryption Standard)

Slides:



Advertisements
Similar presentations
Cryptography and Network Security Chapter 6. Multiple Encryption & DES clear a replacement for DES was needed  theoretical attacks that can break it.
Advertisements

1 정보보안 경일대학교컴퓨터공학과 김 현 성 2 강의구성  교과목 소개 (1 주 )  산업체 전문가 특강실시 (2 주 )  소프트웨어 공학 (3 주 ~7 주 : 5 주 )  산업체 전문가 특강실시 (8 주 )  팀 프로젝트 (9 주.
1 Chap 3. 관용 암호 방식 현대적 기법. 2
순천향대학교 정보보호연구회 김현민 DES (Data Encryption Standard)
SSL (Secure Socket Layer) 중부대학교 정보보호학과 이병천 교수. 웹 보안 구현방법  네트워크 계층에서의 구현방법  특징  IP 계층에 보안 기능을 둠  IP Sec  응용계층의 모든 응용서비스에 보안성 제공  VPN(Virtual Private.
7.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 7 Advanced Encryption Standard (AES)
Chapter 8 현대 대칭키 암호를 이용한 암호화 기법
정보보안 강의자료 ( 2016년 1학기 ) 윤 정 오 정 보 통 신 공 학 과.
SEED,AES표준 곽인범.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
제3장 관용암호: 현대적 암호기법
C++ Tutorial 1 서강대학교 데이터베이스 연구실.
Multiple features Linear Regression with multiple variables (다변량 선형회귀)
Chapter 7 ARP and RARP.
IT Application Development Dept. Financial Team May 24, 2005
Chapter 3 데이터와 신호 (Data and Signals).
박 종 혁 3장. 블록 암호 및 DES 박 종 혁
암호화 기술(SSL, IPSec) 손재성 권기읍 안복선 최준혁
IPsec 석진선.
기본 컴퓨터 프로그래밍 Lecture #6.
암호 이야기 - 보이지 않는 전쟁 -.
Chapter 3 Symmetric Key Crypto
자바 암호 프로그래밍 Java Cryptography Programming
Internet Control Message Protocol (ICMP)
7장 : 캐시와 메모리.
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
12. 데이터베이스 설계.
제 4장 블록 암호 모드.
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
Chapter 10 네트워크 보안.
Chapter 2 OSI 모델과 TCP/IP 프로토콜.
08장 암호의 이해: 숨기고자 하는 이들의 싸움.
Chapter 3 Symmetric Key Crypto
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
File Depender 중간 발표.
공개키 암호화 프로그래밍 전자상거래보안.
IPSec (Internet Protocol Security protocol)
전자상거래 보안 (암호학과 네트워크보안) Chul Ho Rhee
DES를 이용한 GPS 위치 정보 암호화 송신 2조 김민수 문형진 안인석 조우람.
1 도시차원의 쇠퇴실태와 경향 Trends and Features of Urban Decline in Korea
하둡 기반 빅데이터 처리 방법.
Fault Diagnosis for Embedded Read-Only Memories
순천향대학교 정보보호연구회 민성의 AES 순천향대학교 정보보호연구회 민성의
Chapter 4 The Von Neumann Model.
Transmission Control Protocol (TCP)
User Datagram Protocol (UDP)
Internet Protocol Objectives Chapter 8
2. CONCEPTS 컴퓨터 네트워크 실험실 석사 1학기 강 동 호.
컬럼 대칭키 암호화 작업(SQL 2008) ① 마스터 키 생성 ② 인증서 생성 초기 한번만 실행 ③ 대칭키 생성
시스템 분석 및 설계 글로컬 IT 학과 김정기.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Two-Port and Three-Port Networks
무선충전 특허 확보 전략 및 사례 발표자 : 오 재 언 변리사.
Operating System Multiple Access Chatting Program using Multithread
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
Signature, Strong Typing
Signature, Strong Typing
MR 댐퍼의 동특성을 고려한 지진하중을 받는 구조물의 반능동 신경망제어
Internet Computing KUT Youn-Hee Han
Signature, Strong Typing
CS712 병렬 처리 특강 차세대 무선 네트워크 및 보안의 최신동향
점화와 응용 (Recurrence and Its Applications)
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
제 9 장 ICMP 9.1 메시지 유형 9.2 메시지 형식 9.3 오류 보고 9.4 질의 9.5 검사합 9.6 ICMP 설계
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
정보보호 개론 Chapter 04 암호화 기술.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Lecture 7 7-Segment LED controller using u-controller
Data Compression 데이터 압축:음성, 비디오, 팩시밀리 전송등과 같은 경우에 중요
Presentation transcript:

Chap 2-2 Conventional Encryption Message Confidentiality (Symmetric, Block)

DES (Data Encryption Standard) Requirements 1. It must provide a high level of security. 2. It must be completely specified and easy to understand. 3. The security provided by the algorithm must not be based on the secrecy of the algorithm. 4. It must be all users and suppliers.

DES (Data Encryption Standard) 5. It must be adaptable for use in diverse applications. 6. It must be economical to implement in electronic devices and be efficient to use. 7. It must be amenable to validation. 8. It must be exportable.

S-DES Structure and Flow Diagram IP: initial permutation SW: Switch

Part1. Generation of Key Value Key generation for simplified DES

1.P10 Key Index 1 2 3 4 5 6 7 8 9 10 Initial Key Values P10 실행 후 Index 2 3 4 5 6 7 8 9 10 Initial Key Values P10 실행 후 의 Key 값

2.Shift(LS-1) Key 1 Index 3 5 2 7 4 10 9 8 6 LS-1 Key값 LS-1 실행 후 순열 변환이 이루어진 10비트 값을 좌측부터 5비트씩 2부분으로 나누어 각 부분의 5비트를 개별적으로 1비트씩 좌측으로 순환 이동시킨다. Key 1 Index 3 5 2 7 4 10 9 8 6 LS-1 Key값 LS-1 실행 후 의 Key 값

3.P8 Key 1 Index 2 3 4 5 6 7 8 9 10 Key1값 생성 : 1 1 1 0 0 1 0 1 Key값 1 Index 2 3 4 5 6 7 8 9 10 Key값 P8 실행 후 의 Key 값 Key1값 생성 : 1 1 1 0 0 1 0 1

4.Shift(LS-2) Key 1 Index 5 2 7 4 3 9 8 6 10 LS-1 Key값 LS-2 실행 후 1 Index 5 2 7 4 3 9 8 6 10 LS-1 Key값 LS-2 실행 후 의 Key 값

5.P8 Key 1 Index 2 3 4 5 6 7 8 9 10 Key2값 생성 : 0 1 1 0 0 0 1 1 Key값 Index 2 3 4 5 6 7 8 9 10 Key값 P8 실행 후 의 Key 값 Key2값 생성 : 0 1 1 0 0 0 1 1

Part2.평문 의 암호화 Simplified DES Scheme Encryption Detail

1. IP 주어진 평문 8비트로 순열(치환) 연산을 하여 Index값을 변환 시킨다. IP연산 후 얻어진 결과를 좌측부터 4비트씩 두 부분(0111 0100)으로 나눈 후 우측의 4비트 (0100) 를 가지고 Fk 함수 연산을 시작한다. 평문 1 Index 2 3 4 5 6 7 8 값

2.E/P (expansion/permutation) 입력된 4비트 값을 8비트로 확장 시키는 연산을 수행한다. 값 1 결과값 00101000 Index 4 2 3

3.XOR연산 값 Key1 결과값 1 확장된 8비트 값(00101000)과 입력받은 Key1의 값을 XOR연산 한다. 얻어진 8비트 값을 다시 좌측부터 4 비트씩 2부분(1100 1101)으로 나누어 좌측 4비트는 S0-box에 다음 4비트는 S1-box의 연산에 쓰여진다. 값 1 Key1 결과값

4.S-box 연산 S-1 S-0 1100 의 입력값 : 01 출력 1101의 입력값 : 00 출력 1 2 3 1 2 3 1100 의 입력값 : 01 출력 1101의 입력값 : 00 출력

5.P4 S-BOX 연산에 의해 얻어진값 0100 의 순열을 변환 시키는 연산 값 1 Index 2 3 4

6. XOR 연산 P4에 의해 얻어진 값 1000과 첫 IP연산후 얻어진 값 중 왼쪽 4비트 값을 XOR 연산 시킨다. 이때 얻어진 값(1111) 과 최초의 IP 연산후에 우측4비트로 나누어진 값 (0100)이 스위치 연산에의해 (0100 1111) 의 8비트로 만들어지고 이를 다시 좌측부터 4비트씩 2부분으로 나누어 우측의 (1111)4비트를 가지고 다음의 fk함수연산을 실행한다. 값 1 L 결과값

7.E/P 입력된 4비트 값을 8비트로 확장 시키는 연산을 수행한다. Value 1 결과값 11111111 Index 4 2 3

8. XOR연산 값 Key2 결과값 1 확장된 8비트 값(11111111)과 입력받은 Key2의 값을 XOR 연산 한다. 얻어진 8비트 값을 다시 좌측부터 4 비트씩 2부분(1001 1100)으로 나누어 좌측 4비트는 S1-box에 다음 4비트는 S2-box의 연산에 쓰여진다. 값 1 Key2 결과값

9.S-box 연산 S-1 S-2 1001 의 입력값 : 11 출력 1100의 입력값 : 01 출력 1 2 3 S-2 1 2 3 1001 의 입력값 : 11 출력 1100의 입력값 : 01 출력

10.P4 S-BOX 연산에 의해 얻어진값 1101의 순열을 변환 시키는 연산 값 1 Index 2 3 4

11. XOR 연산 P4에 의해 얻어진 값 1110과 처음 IP연산 후 얻어진 값중 오른쪽 4비트 값을 XOR 연산 시킨다. 값 1 R 결과값

12.IP-1 평문 Index IP-1 (Inverse IP) 암호문 : 11011011 (8bit ciphertext) 1 전 단계에서 얻어진 4비트 (1001)과 첫번째 fk의 두번째 XOR의 결과 4비트(1111)를 이용하여 역순열 작업을 하여준 후 여기서 얻어진 최종 값이 바로 최종의 S-DES암호문 값이 된다. 평문 1 Index 2 3 4 5 6 7 8 IP-1 암호문 : 11011011 (8bit ciphertext)

Part3.복호화 최종 으로 얻어진 암호문을 가지고 역순의 연산을 통해 최초로 주어졌던 평문을찾아 내는 방법 8-bit ciphertext 최종 으로 얻어진 암호문을 가지고 역순의 연산을 통해 최초로 주어졌던 평문을찾아 내는 방법 8-bit plaintext

1. IP 암호문 Index 값 IP연산 후 얻어진 결과를 좌측부터 4비트씩 두 부분(1001 1111)으로 주어진 암호문 8비트로 IP-1 연산의 역인 IP연산 하여 Index값을 변환 시킨다. 암호문 1 Index 2 3 4 5 6 7 8 값 IP연산 후 얻어진 결과를 좌측부터 4비트씩 두 부분(1001 1111)으로 나눈 후 우측의 4비트 (1111) 를 가지고 fk 함수 연산을 시작한다.

2.E/P (expansion/permutation) 입력된 4비트 값을 8비트로 확장 시키는 연산을 수행한다. 값 1 결과값 11111111 Index 4 2 3

3.XOR연산 값 Key2 결과값 1 확장된 8비트 값(01010101)과 입력받은 Key2의 값을 XOR연산 한다. 얻어진 8비트 값을 다시 좌측부터 4 비트씩 2부분(1001 1100)으로 나누어 좌측 4비트는 S0-box에 다음 4비트는 S1-box의 연산에 쓰여진다. 값 1 Key2 결과값

4.S-box 연산 S-1 S-0 1001 의 입력값 : 11 출력 1100의 입력값 : 01 출력 1 2 3 1 2 3 1001 의 입력값 : 11 출력 1100의 입력값 : 01 출력

5.P4 S-BOX 연산에 의해 얻어진값 1101 의 순열을 변환 시키는 연산 값 1 Index 2 3 4

6. XOR 연산 P4에 의해 얻어진 값 1101과 암호화 과정에서 IP연산후에 얻어진 값 중 왼쪽 4비트 값을 XOR 연산 시킨다. 값 1 L 결과값

7.E/P 입력된 4비트 값을 8비트로 확장 시키는 연산을 수행한다. Value 1 결과값 00101000 Index 4 2 3

8. XOR연산 값 Key1 결과값 1 확장된 8비트 값(00101000)과 입력받은 Key1의 값을 XOR 연산 한다. 얻어진 8비트 값을 다시 좌측부터 4 비트씩 2부분(1100 1101)으로 나누어 좌측 4비트는 S1-box에 다음 4비트는 S2-box의 연산에 쓰여진다. 값 1 Key1 결과값

9.S-box 연산 S-1 S-2 1101의 입력값 : 00 출력 1100 의 입력값 : 01 출력 1 2 3 S-2 1 2 3 1101의 입력값 : 00 출력 1100 의 입력값 : 01 출력

10.P4 S-BOX 연산에 의해 얻어진값 0001의 순열을 변환 시키는 연산 값 1 Index 2 3 4

11. XOR 연산 P4에 의해 얻어진 값 0001과 첫 IP연산 후 얻어진 값 중 오른쪽 4비트 값을 XOR 연산 시킨다. 값 1 R 결과값

12.IP-1 Input Index IP-1 (Inverse IP) 평문 : 10100101 (8bit plaintext) 1 전 단계에서 얻어진 4비트 (0111)과 첫번째 fk의 두번째 XOR의 결과 4비트(0100)를 이용하여 역순열 작업을 하여준 후 여기서 얻어진 최종 값이 바로 최종의 S-DES평문값이 된다. Input 1 Index 2 3 4 5 6 7 8 IP-1 평문 : 10100101 (8bit plaintext)

Feistel Cipher Structure Virtually all conventional block encryption algorithms, including DES have a structure first described by Horst Feistel of IBM in 1973 The realization of a Fesitel Network depends on the choice of the following parameters and design features (see next slide):

Feistel Cipher Structure Block size: larger block sizes mean greater security Key Size: larger key size means greater security Number of rounds: multiple rounds offer increasing security Subkey generation algorithm: greater complexity will lead to greater difficulty of cryptanalysis. Fast software encryption/decryption: the speed of execution of the algorithm becomes a concern

Classical Feistel Network  K1 Ki

Conventional Encryption Algorithms Data Encryption Standard (DES) The most widely used encryption scheme The algorithm is reffered to the Data Encryption Algorithm (DEA) DES is a block cipher The plaintext is processed in 64-bit blocks The key is 56-bits in length

General Depiction of DES Encryption Algorithm 64bits = 56bits key + parity bits or simply set arbitrary

DES Concerns about: The overall processing at each iteration: Li = Ri-1 Ri = Li-1 F(Ri-1, Ki) Concerns about: The algorithm and the key length (56-bits)

Time to break a code (106 decryptions/µs)

Triple DEA Use three keys and three executions of the DES algorithm (encrypt-decrypt-encrypt) C = ciphertext P = Plaintext EK[X] = encryption of X using key K DK[Y] = decryption of Y using key K Effective key length of 168 bits C = EK3[DK2[EK1[P]]]

Triple DEA

Other Symmetric Block Ciphers International Data Encryption Algorithm (IDEA) 128-bit key Used in PGP(Pretty Good in Privacy) Blowfish Easy to implement High execution speed Run in less than 5K of memory

Other Symmetric Block Ciphers RC5 Suitable for hardware and software Fast, simple Adaptable to processors of different word lengths Variable number of rounds Variable-length key Low memory requirement High security Data-dependent rotations Cast-128 Key size from 40 to 128 bits The round function differs from round to round

Cipher Block Modes of Operation Cipher Block Chaining Mode (CBC) The input to the encryption algorithm is the XOR of the current plaintext block and the preceding ciphertext block. Repeating pattern of 64-bits are not exposed For first block, need “initialization vector”, IV IV must be known to sender and receiver (often all 0’s)

Cipher Feedback (CFB) Mode Allows use of DES as a stream cipher (appropriate when data inherently arrives in bits/bytes) Start with IV Encrypt XOR (MSB) j bits of output with j bit plaintext Result is ciphertext Shift IV by j bits, insert ciphertext J-bit CFM Mode (Encryption)

Location of Encryption Device Link encryption: A lot of encryption devices High level of security Decrypt each packet at every switch End-to-end encryption The source encrypt and the receiver decrypts Payload encrypted Header in the clear High Security: Both link and end-to-end encryption are needed (see Figure 2.9)

Key Distribution A key could be selected by A and physically delivered to B. A third party could select the key and physically deliver it to A and B. If A and B have previously used a key, one party could transmit the new key to the other, encrypted using the old key. If A and B each have an encrypted connection to a third party C, C could deliver a key on the encrypted links to A and B.

Key Distribution (See Figure 2.10) Session key: Data encrypted with a one-time session key. At the conclusion of the session the key is destroyed Permanent key: Used between entities for the purpose of distributing session keys

Summary Conventional Description Algorithms Requirements of DES Key generation for simplified DES Simplified DES Scheme Encryption Detail Location of Encryption Device Key distribution by KDC