ADVANCED ENCRYPTION STANDARD (AES) MODES OF

2y ago
15 Views
2 Downloads
1.33 MB
41 Pages
Last View : 14d ago
Last Download : 3m ago
Upload by : Maxton Kershaw
Transcription

ADVANCED ENCRYPTIONSTANDARD (AES) MODESOF OPERATION1Arya RohanUnder the guidance of Dr. Edward SchneiderUniversity of Maryland, College Park

MISSION:TO SIMULATE BLOCK CIPHER MODES OFOPERATION FOR AES IN MATLABSimulation of the AES (Rijndael Algorithm) inMATLAB for 128 bit key-length. Simulation of the five block cipher modes ofoperation for AES as per FIPS publication. Comparison of the five modes based onAvalanche Effect. Future Work 2

OUTLINEA brief history of AES Galois Field Theory De-Ciphering the Algorithm-ENCRYPTION De-Ciphering the Algorithm-DECRYPTION Block Cipher Modes of Operation Avalanche Effect Simulation in MATLAB Conclusion & Future Work References 3

A BRIEF HISTORY OF AES4

In January 1997, researchers world-over were invitedby NIST to submit proposals for a new standard to becalled Advanced Encryption Standard (AES).From 15 serious proposals, the Rijndael algorithmproposed by Vincent Rijmen and Joan Daemen, twoBelgian cryptographers won the contest.The Rijndael algorithm supported plaintext sizes of128, 192 and 256 bits, as well as, key-lengths of 128,192 and 256 bits.The Rijndael algorithm is based on the Galois fieldtheory and hence it gives the algorithm provablesecurity properties.5

GALOIS FIELD6

GALOIS FIELD - GROUP Group/Albelian Group: A group G or {G, .} is a setof elements with a binary operation denoted by . , thatassociates to each ordered pair (a, b) of elements in Gan element (a . b) such that the following propertiesare obeyed: Closure: If a & b belong to G, then a . b also belongs to G.Associative: For elements a, b & c in G, a . (b . c) (a . b) . c.Identity element: There is an element e in G such that a . e e . a a, for all a in G.Inverse element: For each element a in G there is anelement a’ in G such thata . a’ a’ . a e.Commutative: for all elements a & b in G, a . b b . a.7

GALOIS FIELD - RING Ring/Commutative Ring: A ring R or {R, , x} is a set ofelements with two binary operations , addition andmultiplication, such that for all a, b & c in R the followingproperties are obeyed. All properties inside the definition of a ‘Group’ are obeyed.Closure under multiplication: If a & b belong to R, then a x balso belongs to R.Associativity of multiplication: a x (b x c) (a x b) x c for all a,b & c in R.Distributive laws: a x (b c) a x b a x c; (a b) x c a x c bx c for all a, b & c in R.Commutativity of multiplication: a x b b x a, for a & b in R.Multiplicative identity: There is an element 1 in R such that ax 1 1 x a a, for all a in R.No zero divisors: If a, b in R and a x b 0, then either a 0 or b 0.8

GALOIS FIELD - FIELD Field: A field F or {F, , x} is a set of elements with twobinary operations, addition and multiplication, suchthat for all a, b & c in F the following properties areobeyed. All properties inside the definition of ‘Group’ and ‘Ring’ areobeyed.Multiplicative inverse: For each element a in F, except 0,there is an element a-1 in F such that aa-1 (a-1)a 1.Note: Finite field of the order pn, is written as GF (pn).We will study this field when n 1 and when p 2.Finite field of form GF (p): For a given prime p,finite field of order p, GF (p), is defined as the set Zp ofintegers {0, 1, 2 .p-1} together with the arithmeticoperations modulo p. Addition: a b (a b) mod pMultiplication: a * b (a * b) mod p9

GALOIS FIELD OF FORM GF(P)10

GALOIS FIELD OF FORM GF(2 )NArithmetic operations follow the ordinary rules ofpolynomial arithmetic using the basic rules ofalgebra, with the following two rules: Rule 1: Arithmetic on coefficients is performedmodulo p. (In simple words addition, subtractionare done modulo 2 or equivalently XORed) Rule 2: If multiplication results in a polynomialof degree n-1 or greater, then the polynomial isreduced modulo some irreducible polynomial m(x)of degree n. Hence, f(x)*g(x) f(x)*g(x) mod m(x) 11

GF(23) [M(X) X3 X2 1 OR X3 X 1]12

GF(23) [M(X) X3 X2 1 OR X3 X 1]13

AES – GF(28)For AES, the finite field defined is GF(28). Addition and subtraction operations areequivalent to XOR operation. Multiplication is done using m(x) x8 x4 x3 x 1. F(x) x6 x4 x2 x 1 87 G(x) x7 x 1 131 F(x) G(x) x7 x6 x4 x2 212 F(x)*G(x) F(x)*G(x) mod m(x) F(x)*G(x) x13 x11 x9 x8 x6 x5 x4 x3 1 F(x)*G(x) mod m(x) x7 x6 1 193 14

DE-CIPHERING THE ALGORITHMENCRYPTION15

The Rijndael algorithm starts with the key-expansionstep. In this step, the 128, 192 or 258 bit key isexpanded into 11, 13 and 15 sub-keys respectively,representing the number of rounds.Each sub-key has the same number of bits as theprimary symmetric key.The four major steps of the Rijndael algorithm duringencryption are SubBytes StepShiftRows StepMixColumns StepAdd Round Key step16

SUBBYTES STEP-I Here each byte in the plain-text array issubstituted using an 8-bit substitution box.17

SUBBYTES STEP-II It provides non-linearity to the cipher.18

SUBBYTES STEP – IIIFor any F(x), find its multiplicative inverse. Or, find G(x) such that F(x)*G(x) mod m(x) 1 Perform the affine transform on G(x) to get thesubstitution value 19

SHIFTROWS STEPThis step operates on the rows of the state,cyclically shifting it by a fixed offset. The Shiftrows and the next step (Mixcolumnsstep) provides diffusion to the cipher. 20

MIXCOLUMNS STEP – IHere the four bytes of each column of the state arecombined using an invertible linear transformation. The transformation function takes each of the fourbytes as input and gives four output bytes with eachinput byte affecting all four output bytes. 21

MIXCOLUMNS STEP – II The MixColumns step is performed by carryingout the following transformation on each column.r0 2a0 3a1 a2 a3r1 a0 2a1 3a2 a3r2 a0 a1 2a2 3a3r3 3a0 a1 a2 2a3 The multiplication and additions are performedas discussed before.22

ADDROUNDKEY STEPIn this step the sub-key is combined with the state. Each byte of the state is XOR-ed with the respectivebytes of the sub-key All the four steps are repeated for each round.23

DE-CIPHERING THE ALGORITHMDECRYPTION24

The decryption applies the inverse operation of theencryption routineHowever, the first step is to expand the key throughthe key-expansion step.The inverse of addroundkey is exactly the sameThe inverse of subbytes step uses an inverse 8-bitsubstitution boxThe inverse of shiftrows step is shifting the rows overa suitable distance25

The inverse substitution box26

BLOCK CIPHER MODES OFOPERATION27

BLOCK CIPHER MODES OF OPERATIONA mode of operation is a technique for enhancingthe effect of a cryptographic algorithm oradapting the algorithm for an application such asapplying a block cipher to a sequence of datablocks or a data stream. Can be used with any symmetric block cipheralgorithm such as DES, 3DES or AES. NIST originally defined four modes of operation,as part of FIPS 81, through which block cipherscan be applied to a variety of applications.However, with newer applications the NISTextended the list of federal recommended modesto five in Special Publication 800-38A. 28

ELECTRONIC CODEBOOK (ECB)29

CIPHER BLOCK CHAINING (CBC)30

CIPHER FEEDBACK MODE (CFB)31

OUTPUT FEEDBACK MODE (OFB)32

COUNTER MODE (CTR)33

AVALANCHE EFFECT34

AVALANCHE EFFECTWhen the input (plaintext or key) to anycryptographic algorithm is changed slightly, thenthere must be significant change in the output. It is the most desirable property of anycryptographic algorithm is the avalanche effect.It was a term coined by Horst Feistel. It accounts for the randomization in thealgorithm or can be thought of as a metric fordiffusion & confusion. Normally, a change of about 50% is desirable asit makes the algorithm truly random. 35

SIMULATION IN MATLAB36

SIMULATION PARAMETERSA plaintext-key combination is given as input. First, a random bit in the plaintext is changedand percentage change in the cipher for all fivemodes is outputted. Then, a random bit in the key is changed andpercentage change in the cipher for all five modesis outputted. This process is repeated for several plaintext-keycombinations (20). The results are averaged over all differentplaintext-key combinations. 37

SIMULATION 3%74%87%*98%*98%38

CONCLUSION & FUTURE WORK We learnt the mathematics behind the design ofthe Rijndael Algorithm (AES)We briefly analyzed the five block cipher modesof operation for AES based on the Avalancheeffect.For the future, I would like to simulate the DESand 3-DES algorithms and compare them withAES.And of course, my constant efforts to break theRijndael algorithm. 39

REFERENCES The Design of Rijndael, AES-The Advanced EncryptionStandard, Joan Daemen & Vincent Rijmen, 2002 bySpringer.Advanced Encryption Standard (AES), FIPS Publication97, Nov 26, 2001.Cryptography and Network Security, William Stallings,Fourth Edition, 2006 by Pearson Education-Prentice Hall.http://en.wikipedia.org/wiki/Advanced Encryption Standardhttp://en.wikipedia.org/wiki/Rijndael S-boxhttp://en.wikipedia.org/wiki/Rijndael key schedulehttp://en.wikipedia.org/wiki/Rijndael mix columns40

QUESTIONS? THANK YOU41

MISSION: TO SIMULATE BLOCK CIPHER MODES OF OPERATION FOR AES IN MATLAB Simulation of the AES (Rijndael Algorithm) in MATLAB for 128 bit key-length. Simulation of the five block cipher modes of operation for AES as per FIPS publication. Comparison of the five modes based on Avalanche Effect. Future Work 2

Related Documents:

Nov 26, 2001 · 1. Name of Standard. Advanced Encryption Standard (AES) (FIPS PUB 197). 2. Category of Standard. Computer Security Standard, Cryptography. 3. Explanation. The Advanced Encryption Standard (AES) specifies a FIPS-approved cryptographic algorithm that can be used to protect electronic data. The AES algorithm is aFile Size: 1MBPage Count: 51Explore furtherAdvanced Encryption Standard (AES) NISTwww.nist.govAdvanced Encryption Standard - Wikipediaen.wikipedia.orgAdvanced Encryption Standard - Tutorialspointwww.tutorialspoint.comWhat is Data Encryption Standard?searchsecurity.techtarget.comRecommended to you b

Full disk encryption (FDE), file/folder encryption, USB encryption and email encryption are all supported features. FULLY VALIDATED ESET Endpoint Encryption is FIPS 140-2 validated with 256-bit AES encryption. ALGORITHMS & STANDARDS AES 256 bit, AES 128 bit, SHA 256 bit, SHA1 160 bit, RSA 1024 bit, Triple DES 112 bit, Blowfish 128 bit. OS SUPPORT Support for Microsoft Windows 10, 8, 8.1 .

1. Name of Standard. Advanced Encryption Standard (AES) (FIPS PUB 197). 2. Category of Standard. Computer Security Standard, Cryptography. 3. Explanation. The Advanced Encryption Standard (AES) specifies a FIPS-approved cryptographic algorithm that can be used to protect electronic data. The AES algorithm is a

unauthorized users. This paper defines endpoint encryption, describes the differences between disk encryption and file encryption, details how disk encryption and removable media encryption work, and addresses recovery mechanisms. What is Endpoint Encryption? When it comes to encrypting data, there are various encryption strategies.

Encryption Email Encryption The McAfee Email Gateway includes several encryption methodologies: Server-to-server encryption Secure Web Mail Pull delivery Push delivery The encryption features can be set up to provide encryption services to the other scanning features, or can be set up as an encryption-only server used just

AES CBC and ECB mode with 128 & 256 bits for encryption and decryption (Cert. #C 1556) (Note: CBC mode is tested but not used.) AES GCM mode with 128 bits for encryption and decryption use within TLS 1.2 (Cert. #C 1556) AES GCM mode with 128 & 256 bits for encryption and decryption use within SSH v2 (Cert. #C1556)

Hacking AES-128 Timothy Chong Stanford University ctimothy@stanford.edu Kostis Kaffes Stanford University kkaffes@stanford.edu Abstract—Advanced Encryption Standard, commonly known as AES, is one the most well known encryption protocols. It is used in a large variety of applications ranging from encrypting

Engineering Mathematics – I Dr. V. Lokesha 10 MAT11 8 2011 Leibnitz’s Theorem : It provides a useful formula for computing the nth derivative of a product of two functions. Statement : If u and v are any two functions of x with u n and v n as their nth derivative. Then the nth derivative of uv is (uv)n u0vn nC