Block Cipher and the data encryption standard (DES) Lecture slides By Rasha
Content  Block Cipher Principles  The Data Encryption Standard  DES Details  DES Design Issues and Attacks
The objectives  now look at modern block ciphers  one of the most widely used types of cryptographic algorithms  provide secrecy /authentication services  focus on DES (Data Encryption Standard)  to illustrate block cipher design principles
Cryptography Classification  The old encryption and decryption techniques before the implementation of computer system are called classical techniques , with implementation computer are called modern techniques.  However , cryptography system (classical or modern ) are generally classified along three independent dimensions: 1- type of operations : used for transforming plaintext to ciphertext . all encryption algorithm are based on general principle: a) substitution b) transposition c) bit manipulation
Cryptography Classification 2- Number of keys used a) symmetric: if the same key is used by both the sender and receiver for encryption and decryption it might be called single key ,secret key, conventional encryption. b) asymmetric: each sender and receiver using different key. 3- The way in which plaintext processed a) block cipher: the input massage is divided in the blocks of elements and each block is processes at a time ,producing an output block for input. b)stream cipher :the input elements are processed individually , producing an output as one element at a time too.
Block Ciphers  Encrypt data one block at a time  „Used in broader range of applications  „Typical block size 64 – 128 bits 128 bits  „Most algorithms based on a structure referred to as Feistel block cipher
Block vs Stream Ciphers
Block cipher principles  n-bit block cipher takes n bit plaintext and produces n bit ciphertext  2n possible different plaintext blocks  Encryption must be reversible (decryption possible)  Each plaintext block must produce unique ciphertext block  Total transformations is 2n!
Ideal Block Cipher key is mapping ; Key length 16 × 4 bits = 64 bits . i.e. concatenate all bits of ciphertext table
Encryption/decryption table
Ideal Block Cipher  n-bit input maps to 2n possible input states  Substitution used to produce 2n output states  Output states map to n-bit output  Ideal block cipher allows maximum number of possible encryption mappings from plaintext block  Problems with ideal block cipher: – Small block size: equivalent to classical substitution cipher; cryptanalysis based on statistical characteristics feasible – Large block size: key must be very large; performance/implementation problems  Key length : – In general, key length is 2n × n – „Actual block size is at least 64 bit ( „Key length will be 264× 64 ≈ 1021 „bits)
Feistel Structure for Block Ciphers  Feistel proposed applying two or more simple ciphers in sequence so final result cryptographically stronger than component ciphers  n-bit block length; k-bit key length; 2k transformations (rather than 2n !)  Feistel cipher alternates: substitutions, transpositions (permutations)  Applies concepts of diffusion and confusion  Applied in many ciphers today  Approach: – Plaintext split into halves – Subkeys (or round keys) generated from key – Round function, F, applied to right half – Apply substitution on left half using XOR – Apply permutation: interchange to halves  implements Shannon’s S-P net concept
Feistel Cipher Structure
Confusion and Diffusion  Diffusion – Statistical nature of plaintext is reduced in ciphertext – E.g. A plaintext letter affects the value of many ciphertext letters – How: repeatedly apply permutation (transposition) to data, and then apply function  Confusion – Make relationship between ciphertext and key as complex as possible – Even if attacker can find some statistical characteristics of ciphertext, still hard to find key
Using the Feistel Structure  Exact implementation depends on various design features  Block size, e.g. 64, 128 bits: larger values leads to more diffusion  Key size, e.g. 128 bits: larger values leads to more confusion, resistance against brute force  Number of rounds, e.g. 16 rounds  Subkey generation algorithm: should be complex  Round function F: should be complex  Other factors include fast encryption in software and ease of analysis
Feistel Example
Data Encryption Standard (DES)  Symmetric block cipher – 56-bit key, 64-bit input block, 64-bit output block  One of most used encryption systems in world – Developed in 1977 by NBS/NIST – Designed by IBM (Lucifer) with input from NSA – Principles used in other ciphers, e.g. 3DES, IDEA.
DES Encryption Algorithm
Permutation Tables for DES
3: Expansion permutation (E ) 4 : Permutation Function (P) Permutation Tables for DES
Single Round of DES Algorithm 21
DES Round Structure
Definition of DES S-Boxes
Definition of DES S-Boxes
DES Key Schedule Calculation 25
Table 3.2 DES Example Note: DES subkeys are shown as eight 6-bit values in hex format (Table can be found on page 75 in textbook)
DES Example
Avalanche Effect  Aim: small change in key (or plaintext) produces large change in ciphertext  Avalanche effect is present in DES (good for security)  Following examples show the number of bits that change in output when two different inputs are used, differing by 1 bit – Plaintext 1: 02468aceeca86420 – Plaintext 2: 12468aceeca86420 – Ciphertext difference: 32 bits – Key 1: 0f1571c947d9e859 – Key 2: 1f1571c947d9e859 – Ciphertext difference: 30
Table 3.3 Avalanche Effect in DES: Change in Plaintext
Table 3.4 Avalanche Effect in DES: Change in Key
Table 3.5 Average Time Required for Exhaustive Key Search
Key size  Although 64 bit initial key, only 56 bits used in encryption (other 8 for parity check)  256 = 7.2 x 1016 – Today: 56 bits considered too short to withstand brute force attack  3DES uses 128-bit keys
Attacks on DES  Timing Attacks – Information gained about key/plaintext by observing how long implementation takes to decrypt – No known useful attacks on DES  Differential Cryptanalysis – Observe how pairs of plaintext blocks evolve – Break DES in 247 encryptions (compared to 255); but require 247 chosen plaintexts  Linear Cryptanalysis – Find linear approximations of the transformations – Break DES using 243 known plaintexts
DES Algorithm Design  DES was designed in private; questions about the motivation of the design – S-Boxes provide non-linearity: important part of DES, generally considered to be secure – S-Boxes provide increased confusion – Permutation P chosen to increase diffusion
Summary  have considered: – block vs stream ciphers – Feistel cipher design & structure – DES » details » strength

Information and data security block cipher and the data encryption standard (des)

  • 1.
    Block Cipher andthe data encryption standard (DES) Lecture slides By Rasha
  • 2.
    Content  Block CipherPrinciples  The Data Encryption Standard  DES Details  DES Design Issues and Attacks
  • 3.
    The objectives  nowlook at modern block ciphers  one of the most widely used types of cryptographic algorithms  provide secrecy /authentication services  focus on DES (Data Encryption Standard)  to illustrate block cipher design principles
  • 4.
    Cryptography Classification  Theold encryption and decryption techniques before the implementation of computer system are called classical techniques , with implementation computer are called modern techniques.  However , cryptography system (classical or modern ) are generally classified along three independent dimensions: 1- type of operations : used for transforming plaintext to ciphertext . all encryption algorithm are based on general principle: a) substitution b) transposition c) bit manipulation
  • 5.
    Cryptography Classification 2- Numberof keys used a) symmetric: if the same key is used by both the sender and receiver for encryption and decryption it might be called single key ,secret key, conventional encryption. b) asymmetric: each sender and receiver using different key. 3- The way in which plaintext processed a) block cipher: the input massage is divided in the blocks of elements and each block is processes at a time ,producing an output block for input. b)stream cipher :the input elements are processed individually , producing an output as one element at a time too.
  • 6.
    Block Ciphers  Encryptdata one block at a time  „Used in broader range of applications  „Typical block size 64 – 128 bits 128 bits  „Most algorithms based on a structure referred to as Feistel block cipher
  • 7.
  • 8.
    Block cipher principles n-bit block cipher takes n bit plaintext and produces n bit ciphertext  2n possible different plaintext blocks  Encryption must be reversible (decryption possible)  Each plaintext block must produce unique ciphertext block  Total transformations is 2n!
  • 9.
    Ideal Block Cipher keyis mapping ; Key length 16 × 4 bits = 64 bits . i.e. concatenate all bits of ciphertext table
  • 10.
  • 11.
    Ideal Block Cipher n-bit input maps to 2n possible input states  Substitution used to produce 2n output states  Output states map to n-bit output  Ideal block cipher allows maximum number of possible encryption mappings from plaintext block  Problems with ideal block cipher: – Small block size: equivalent to classical substitution cipher; cryptanalysis based on statistical characteristics feasible – Large block size: key must be very large; performance/implementation problems  Key length : – In general, key length is 2n × n – „Actual block size is at least 64 bit ( „Key length will be 264× 64 ≈ 1021 „bits)
  • 12.
    Feistel Structure forBlock Ciphers  Feistel proposed applying two or more simple ciphers in sequence so final result cryptographically stronger than component ciphers  n-bit block length; k-bit key length; 2k transformations (rather than 2n !)  Feistel cipher alternates: substitutions, transpositions (permutations)  Applies concepts of diffusion and confusion  Applied in many ciphers today  Approach: – Plaintext split into halves – Subkeys (or round keys) generated from key – Round function, F, applied to right half – Apply substitution on left half using XOR – Apply permutation: interchange to halves  implements Shannon’s S-P net concept
  • 13.
  • 14.
    Confusion and Diffusion Diffusion – Statistical nature of plaintext is reduced in ciphertext – E.g. A plaintext letter affects the value of many ciphertext letters – How: repeatedly apply permutation (transposition) to data, and then apply function  Confusion – Make relationship between ciphertext and key as complex as possible – Even if attacker can find some statistical characteristics of ciphertext, still hard to find key
  • 15.
    Using the FeistelStructure  Exact implementation depends on various design features  Block size, e.g. 64, 128 bits: larger values leads to more diffusion  Key size, e.g. 128 bits: larger values leads to more confusion, resistance against brute force  Number of rounds, e.g. 16 rounds  Subkey generation algorithm: should be complex  Round function F: should be complex  Other factors include fast encryption in software and ease of analysis
  • 16.
  • 17.
    Data Encryption Standard(DES)  Symmetric block cipher – 56-bit key, 64-bit input block, 64-bit output block  One of most used encryption systems in world – Developed in 1977 by NBS/NIST – Designed by IBM (Lucifer) with input from NSA – Principles used in other ciphers, e.g. 3DES, IDEA.
  • 18.
  • 19.
  • 20.
    3: Expansion permutation(E ) 4 : Permutation Function (P) Permutation Tables for DES
  • 21.
    Single Round ofDES Algorithm 21
  • 22.
  • 23.
  • 24.
  • 25.
    DES Key ScheduleCalculation 25
  • 26.
    Table 3.2 DES Example Note: DES subkeysare shown as eight 6-bit values in hex format (Table can be found on page 75 in textbook)
  • 27.
  • 28.
    Avalanche Effect  Aim:small change in key (or plaintext) produces large change in ciphertext  Avalanche effect is present in DES (good for security)  Following examples show the number of bits that change in output when two different inputs are used, differing by 1 bit – Plaintext 1: 02468aceeca86420 – Plaintext 2: 12468aceeca86420 – Ciphertext difference: 32 bits – Key 1: 0f1571c947d9e859 – Key 2: 1f1571c947d9e859 – Ciphertext difference: 30
  • 29.
    Table 3.3 AvalancheEffect in DES: Change in Plaintext
  • 30.
    Table 3.4 AvalancheEffect in DES: Change in Key
  • 31.
    Table 3.5 Average TimeRequired for Exhaustive Key Search
  • 32.
    Key size  Although64 bit initial key, only 56 bits used in encryption (other 8 for parity check)  256 = 7.2 x 1016 – Today: 56 bits considered too short to withstand brute force attack  3DES uses 128-bit keys
  • 33.
    Attacks on DES Timing Attacks – Information gained about key/plaintext by observing how long implementation takes to decrypt – No known useful attacks on DES  Differential Cryptanalysis – Observe how pairs of plaintext blocks evolve – Break DES in 247 encryptions (compared to 255); but require 247 chosen plaintexts  Linear Cryptanalysis – Find linear approximations of the transformations – Break DES using 243 known plaintexts
  • 34.
    DES Algorithm Design DES was designed in private; questions about the motivation of the design – S-Boxes provide non-linearity: important part of DES, generally considered to be secure – S-Boxes provide increased confusion – Permutation P chosen to increase diffusion
  • 35.
    Summary  have considered: –block vs stream ciphers – Feistel cipher design & structure – DES » details » strength