1Encryption AlgorithmsEncryption AlgorithmsDavid MorganUCLA ExtensionConventional algorithmsConventional algorithms Data Encryption Standard (DES) International Data Encryption Algorithm (IDEA) Blowfish RC5 CAST-128 RC22DESDES Originated largely by IBM Blessed ‘77 by National Bureau of Standards Very widespreadDESDES Block cipher – 64-to-64 bits at a time Key length – 56 bits Combines substitution and permutation Applied in 16 successive stages– each has 48-bit subkey derived from main key– each stage output feeds next stage input– therefore a “product cipher”3 Originated Santa Clara Prof. Edward Schaefer Parallels DES with smaller parameters For pedagogy, not security Permits by-hand operationSimplified DES (SSimplified DES (S--DES)DES)Simplified DES (SSimplified DES (S--DES)DES) Block cipher – 8-to-8 bits at a time Key length – 10 bits Combines substitution and permutation Applied in 2 successive stages– each has 8-bit subkey derived from main key– each stage output feeds next stage input4SS--DES operational elementsDES operational elements 5 fixed (invariant) permutations 2 fixed substitutions binary XOR operationSS--DES fixed permutationsDES fixed permutations IP the initial permutation E/P an expansion/permutation P4 a 4-bit permutation SW a swap permutation IP-1inverse initial permutation5IP IP ––the initial permutationthe initial permutation75841362IP01111001 1010001011011010 00100011Examples:E/P E/P ––an extension/permutationan extension/permutation14323214E/P00010100 11000011give 4 get 8Examples:0010 10016P4 P4 ––a 4a 4--bit permutationbit permutation1342P40010 1001Examples:0001 1010SW SW ––swap permutationswap permutation43218765IP01111001 1010001010010111 00101010Examples:7IPIP--11––inverse initial permutationinverse initial permutation68275314IP-111011010 0110111101111001 10110111Examples:SS--DES fixed substitutionsDES fixed substitutions S0 a 4x4 s-box S1 another 4x4 s-box8S0 S0 ––a 4x4 sa 4x4 s--boxbox231333120201231230103210colnumrownumS1 S1 ––another 4x4 sanother 4x4 s--boxbox301230103231021321003210colnumrownum9S0 S0 ––an examplean example231333120201231230103210rowcolGive 4, get 2. Input bits 4&1 compose row coordinate,2&3 compose column coordinate, of table item.Table item in binary is output.011101row11col= 2= 3input:output:11S0 as a substitution S0 as a substitution ––another way to viewanother way to view000111100110010101110100100011000010110001010000OutputInput101111111110111101011100011011101010111001001000OutputInput10Binary XOR operationBinary XOR operation011101110000A XOR
View Full Document