Lecture 4 Data Encryption Standard (DES) Dr. Nermin Hamza

Slides:



Advertisements
Similar presentations
1 Lecture 3: Secret Key Cryptography Outline concepts DES IDEA AES.
Advertisements

Cryptography and Network Security Chapter 3
Block Ciphers and the Data Encryption Standard
Cryptography and Network Security
Rachana Y. Patil 1 Data Encryption Standard (DES) (DES)
Data Encryption Standard (DES)
1 Chapter 3 – Block Ciphers and the Data Encryption Standard Modern Block Ciphers  now look at modern block ciphers  one of the most widely used types.
1 Chapter 3 – Block Ciphers and the Data Encryption Standard Modern Block Ciphers  now look at modern block ciphers  one of the most widely used types.
ICS 454: Principles of Cryptography
Lecture 23 Symmetric Encryption
Cryptography Block Ciphers and Feistel Functions.
Chapter 3 – Block Ciphers and the Data Encryption Standard
CSE 651: Introduction to Network Security
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Data Encryption Standard (DES). Symmetric Cryptography  C = E(P,K)  P = D(C,K)  Requirements  Given C, the only way to obtain P should be with  the.
The Digital Encryption Standard CSCI 5857: Encoding and Encryption.
CSCI 5857: Encoding and Encryption
Cryptography and Network Security Chapter 3. Modern Block Ciphers  now look at modern block ciphers  one of the most widely used types of cryptographic.
Network Security Lecture 14 Presented by: Dr. Munam Ali Shah.
Chapter 20 Symmetric Encryption and Message Confidentiality.
Lec. 5 : History of Cryptologic Research II
Chapter 20 Symmetric Encryption and Message Confidentiality.
Feistel Cipher Structure
Data Security and Encryption (CSE348) 1. Lecture # 6 2.
Chapter 2 (B) – Block Ciphers and Data Encryption Standard.
Stream Ciphers and Block Ciphers A stream cipher is one that encrypts a digital data stream one bit or one byte at a time. Examples of classical stream.
1 University of Palestine Information Security Principles ITGD 2202 Ms. Eman Alajrami 2 nd Semester
Introduction to Modern Symmetric-key Ciphers
Computer and Network Security Rabie A. Ramadan Lecture 3.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
DATA & COMPUTER SECURITY (CSNB414) MODULE 3 MODERN SYMMETRIC ENCRYPTION.
5.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 5 Introduction to Modern Symmetric-key Ciphers.
Instructor: Dania Alomar
Lecture 3 Overview. Ciphers The intent of cryptography is to provide secrecy to messages and data Substitutions – ‘hide’ letters of plaintext Transposition.
Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 7 September 9, 2004.
Module :MA3036NI Symmetric Encryption -3 Lecture Week 4.
Block Ciphers and the Data Encryption Standard. Modern Block Ciphers  One of the most widely used types of cryptographic algorithms  Used in symmetric.
Information and Network Security Lecture 2 Dr. Hadi AL Saadi.
Information and Computer Security CPIS 312 Lab 6 & 7 1 TRIGUI Mohamed Salim Symmetric key cryptography.
@Yuan Xue CS 285 Network Security Block Cipher Principle Fall 2012 Yuan Xue.
@Yuan Xue Announcement Project Release Team forming Homework 1 will be released next Tuesday.
CS480 Cryptography and Information Security
Provides Confidentiality
Chapter3: Block Ciphers and the Data Encryption Standard
Triple DES.
Block Ciphers and the Data Encryption Standard
Symmetric Algorithm of Cryptography
Classical Encryption techniques
- Stream Cipher and Block Cipher - Confusion & Diffusion
SYMMETRIC KEY ALGORITHMS
Lecture 2.2: Private Key Cryptography II
Networks and Communication Systems Department
NET 311 Information Security
NET 311 Information Security
Cryptography and Network Security Chapter 3
ICS 454: Principles of Cryptography
Block Ciphers and the Data Encryption Standard (DES)
Chapter -2 Block Ciphers and the Data Encryption Standard
SYMMETRIC KEY ALGORITHMS
SYMMETRIC ENCRYPTION.
Computer Security IT423 Semester II
DES (Data Encryption Standard)
Florida State University
ICS 555: Block Ciphers & DES Sultan Almuhammadi.
Advanced Encryption Standard
Data Encryption Standard (DES)
Presentation transcript:

Lecture 4 Data Encryption Standard (DES) Dr. Nermin Hamza

From Classical Ciphers to Modern Ciphers Classical Cipher Modern Cipher (Block cipher) Alphabetic letters  Binary data Easy to do Large block size, large key space DES= Substitution + Transposition + Feistel Network

Block Cipher Principles most symmetric block ciphers are based on a Feistel Cipher Structure needed since must be able to decrypt ciphertext to recover messages efficiently would need table of 264 entries for a 64-bit block instead create from smaller building blocks using idea of a product cipher Most symmetric block encryption algorithms in current use are based on a structure referred to as a Feistel block cipher. A block cipher operates on a plaintext block of n bits to produce a ciphertext block of n bits. An arbitrary reversible substitution cipher for a large block size is not practical, however, from an implementation and performance point of view. In general, for an n-bit general substitution block cipher, the size of the key is n x 2n. For a 64-bit block, which is a desirable length to thwart statistical attacks, the key size is 64x 264 = 270 = 1021 bits. In considering these difficulties, Feistel points out that what is needed is an approximation to the ideal block cipher system for large n, built up out of components that are easily realizable.

Claude Shannon and Substitution-Permutation Ciphers Claude Shannon introduced idea of substitution- permutation (S-P) networks in 1949 paper form basis of modern block ciphers S-P nets are based on the two primitive cryptographic operations seen before: substitution (S-box): Each plaintext group of elements is uniquely replaced by a corresponding ciphertext group of elements permutation (P-box): A sequence of plaintext elements is replaced by a permutation of that sequence . No added , deleted or replaced in the sequence. provide confusion & diffusion of message & key Feistel proposed that we can approximate the ideal block cipher by utilizing the concept of a product cipher, which is the execution of two or more simple ciphers in sequence in such a way that the final result or product is cryptographically stronger than any of the component ciphers. In particular, Feistel proposed the use of a cipher that alternates substitutions and permutations, as a practical application of a proposal by Claude Shannon. Claude Shannon’s 1949 paper has the key ideas that led to the development of modern block ciphers. Critically, it was the technique of layering groups of S-boxes separated by a larger P-box to form the S-P network, a complex form of a product cipher. He also introduced the ideas of confusion and diffusion, notionally provided by S-boxes and P-boxes (in conjunction with S-boxes).

Confusion and Diffusion cipher needs to completely obscure statistical properties of original message a one-time pad does this more practically Shannon suggested combining S & P elements to obtain: diffusion – dissipates تبدد statistical structure of plaintext over bulk of ciphertext confusion – makes relationship between ciphertext and key as complex as possible The terms diffusion and confusion were introduced by Claude Shannon to capture the two basic building blocks for any cryptographic system. Shannon's concern was to thwart cryptanalysis based on statistical analysis. Every block cipher involves a transformation of a block of plaintext into a block of ciphertext, where the transformation depends on the key. The mechanism of diffusion seeks to make the statistical relationship between the plaintext and ciphertext as complex as possible in order to thwart attempts to deduce the key. Confusion seeks to make the relationship between the statistics of the ciphertext and the value of the encryption key as complex as possible, again to thwart attempts to discover the key. So successful are diffusion and confusion in capturing the essence of the desired attributes of a block cipher that they have become the cornerstone of modern block cipher design.

Feistel Network Design features/parameters Block size Key size Number of rounds Subkey generation algorithm Round function (F)

Feistel Network The process of decryption with a Feistel cipher is essentially the same as the encryption process. Rule: Use the ciphertext as input to the algorithm, but use the subkeys in the reverse order

Main Modern Cryptography Algorithm DES: (Data Encryption Standard), was the first encryption standard to be recommended by NIST (National Institute of Standards and Technology). It is based on the IBM proposed algorithm called Lucifer. 3DES: As an enhancement of DES, the3DES (Triple DES) encryption standard was proposed. In this standard the encryption method is similar to the one in original DES but applied 3 times to increase the encryption level. AES: (Advanced Encryption Standard), is the new encryption standard recommended by NIST to replace DES.. Blowfish: Blowfish is a variable length key, 64-bit block cipher. The Blowfish algorithm was first introduced in 1993.This algorithm can be optimized in hardware applications though it's mostly used in software applications.

DES Overview Data Encryption Standard (DES) Most widely used encryption scheme Adopted as Federal Information Processing Standard (FIPS) for the United States in 1976 64-bit data block 56-bit key Based on Feistel Network The decryption follows the same process as the encryption. Now considered insecure for many application

DES Structure

DES… Initial Permutation (IP): The plaintext block undergoes an intial permutation. 64 bits of the block are permuted. A Complex Transformation: 64 bit permuted block undergoes 16 rounds of complex transformation. (Using subkeys)

DES… 32-bit swap: 32 bit left and right halves of the output of the 16th round are swapped. Inverse Initial Permutation (IP-1): The 64 bit output undergoes a permutation that is inverse of the intial permutation. The 64 bit output is the ciphertext.

DES: IP WHAT IS IP ? IP FOR initial permutation. 64 bits  64 bits According to IP table

DES PLAIN BLOCK IP 16 round IP-1 CIPHERBLOCK

IP table

Inverse Permutation

Single Round

Let us take an example Let M= 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1100 1011 1110 1101 1110 1111 So What happen after Initial Permutation IP? 1100 1100 0000 0000 1100 1100 1111 1111 1111 0000 1010 1010 1111 0000 1010 1010 58 50 42 34 1100

IP : 1100 1100 0000 0000 1100 1100 1111 1111 1111 0000 1010 1010 1111 0000 1010 1010 L0 = 1100 1100 0000 0000 1100 1100 1111 1111 R0 = 1111 0000 1010 1010 1111 0000 1010 1010

Single Round

Single Round From the picture: Ln = Rn-1 Rn = Ln-1 xor f(Rn-1,Kn) For n = 1, we have K1 = 000110 110000 001011 101111 111111 000111 000001 110010 L1 = R0 = 1111 0000 1010 1010 1111 0000 1010 1010 R1 = L0 xor f(R0,K1)

What f(Rn-1,Kn)? Single Round : what is f? Details of function F: Rn= Ln-1 xor f(Rn-1,K1) Note: R is 32 and K is 48 what happen? What f(Rn-1,Kn)? Details of function F: It takes 32 bits input and produces a 32 bit output

Single Round : what is f? E(Rn-1) E BIT-SELECTION TABLE …. For expanding 32 to be 48 K1 xor E(Rn-1) …. Actually 48 bits Kn xor E(Rn-1) =B1B2B3B4B5B6B7B8, … divide to 8 block each one =6 Si(Bi) = S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7(B7)S8(B8) perform S box substitution f= P(S1(B1)S2(B2)...S8(B8)) … to come back 32 with using P permutation table

Single Round : what is f? Details of function F: 32 bit input is expanded into 48 bits. -This is done by permuting and duplicating some bits of 32 bits. Exclusive OR operation is performed between these 48 bits and 48 bit subkey.

Single Round : what is f? Details of function F (cont...): 48 bit output of the Exclusive OR operation is grouped into 8 groups of 6 bits each. Each 6 bit group is fed into a 6-to-4 substitution box that transforms 6 bits to 4 bits.

Single Round : what is f? Details of function F:... 32 bit output of 8 substitution boxes is fed into a permutation box. The 32 bit output of the permutation box is F(Ri-1, Ki).

Expansion (E) and Permutation (P)

S-Box

S-box definition

S-box definition

Bit Selection Expansion R0 = 1111 0000 1010 1010 1111 0000 1010 1010 from 32 to 48 bits E(R0) = 011110 100001 010101 010101

Xor Key with E(Rn-1) Kn xor E(Rn-1). K1 = 000110 110000 001011 101111 111111 000111 000001 110010 E(R0) = 011110 100001 010101 010101 011110 100001 010101 010101 K1 xor E(R0) = 011000 010001 011110 111010 100001 100110 010100 100111

DES: using S-Box Kn xor E(Rn-1) =B1B2B3B4B5B6B7B8, S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7( B7)S8(B8) K1 xor E(R0) = 011000 010001 011110 111010 100001 100110 010100 100111 B1= 011000 S1(B1)= ?

DES: using S-Box S1(011000) = 0101. HOW?

DES: using S-Box 011000 00 is the row : 0 1100 the Colum : 12 From the table 0 and 12 will be 5 which is 0101

DES: using S-Box K1 xor E(R0) = 011000 010001 011110 111010 100001 100110 010100 100111. S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7( B7)S8(B8) = 0101 1100 1000 0010 1011 0101 1001 0111

DES: using P table f= P(S1(B1)S2(B2)...S8(B8)) 0101 1100 1000 0010 1011 0101 1001 0111 16 7 20 21 0 0 1 0 f = 0010 0011 0100 1010 1010 1001 1011 1011

DES: using inverse permutation IP table After 16 round ? Block = R16L16 Perform inverse permutation IP-1

DES: using inverse permutation IP table  then reverse the order of the two blocks into the 64-bit block : R16L16 R16L16 = 00001010 01001100 11011001 10010101 01000011 01000010 00110010 00110100 IP-1 = 10000101 11101000 00010011 01010100 00001111 00001010 10110100 00000101