15812_5 advanced encryption standards

Upload: rahul-kumar

Post on 04-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 15812_5 Advanced Encryption Standards

    1/98

    14-10-2012 1

    Advanced Encryption Standard

    5.1. Evaluation Criteria For AES

    The Origins of AES

    AES Evaluation

    5.2. The AES Cipher

  • 7/31/2019 15812_5 Advanced Encryption Standards

    2/98

    14-10-2012 2

    Origins

    Replacement for DES was needed

    Theoretical attacks that can break it

    Demonstrated exhaustive key search attacks

    Can use Triple DES but slow, small block size

  • 7/31/2019 15812_5 Advanced Encryption Standards

    3/98

    14-10-2012 3

    NIST issued a call for a new AES in 1997

    15 candidates accepted in Jun 1998

    5 candidates were short-listed in Aug 1999

    Rijndael was selected as the AES in Oct 2000

    Published as FIPS PUB 197 standard in Dec 2001

  • 7/31/2019 15812_5 Advanced Encryption Standards

    4/98

    14-10-2012 4

  • 7/31/2019 15812_5 Advanced Encryption Standards

    5/98

    14-10-2012 5

    AES Evaluation Criteria

  • 7/31/2019 15812_5 Advanced Encryption Standards

    6/98

    14-10-2012 6

    Final criteria:

    General security

    Ease of software & hardware implementation

    Flexibility (in en/decrypt, keying, other factors)

  • 7/31/2019 15812_5 Advanced Encryption Standards

    7/98

    14-10-2012 7

    Advanced Encryption Standard

    5.1. Evaluation Criteria For AES

    The Origins of AES

    AES Evaluation

    5.2. The AES Cipher

  • 7/31/2019 15812_5 Advanced Encryption Standards

    8/98

    14-10-2012 8

    The AES Cipher - Rijndael

  • 7/31/2019 15812_5 Advanced Encryption Standards

    9/98

    14-10-2012 9

  • 7/31/2019 15812_5 Advanced Encryption Standards

    10/98

    14-10-2012 10

    Rijndael was designed to have thefollowing characteristics:

  • 7/31/2019 15812_5 Advanced Encryption Standards

    11/98

    14-10-2012 11

    AES Structure

    Key Scheduling

    Message Encoding

  • 7/31/2019 15812_5 Advanced Encryption Standards

    12/98

    14-10-2012 12

    Example:

  • 7/31/2019 15812_5 Advanced Encryption Standards

    13/98

    14-10-2012 13

    Add Round Key : Initial Round Key

    Transformation (For 9 Rounds)

    1. Sub Bytes

    2. Shift Rows

    3. Mix Columns

    4. Add Round Keys

    Transformation (10th

    Round Key)1. Sub Bytes

    2. Shift Rows

    3. Add Round Keys

    AES Structure

  • 7/31/2019 15812_5 Advanced Encryption Standards

    14/98

    14-10-2012 14

    AES Structure

  • 7/31/2019 15812_5 Advanced Encryption Standards

    15/98

    14-10-2012 15

  • 7/31/2019 15812_5 Advanced Encryption Standards

    16/98

    14-10-2012 16

  • 7/31/2019 15812_5 Advanced Encryption Standards

    17/98

    14-10-2012 17

  • 7/31/2019 15812_5 Advanced Encryption Standards

    18/98

    14-10-2012 18

    Example:

  • 7/31/2019 15812_5 Advanced Encryption Standards

    19/98

    14-10-2012 19

  • 7/31/2019 15812_5 Advanced Encryption Standards

    20/98

    14-10-2012 20

  • 7/31/2019 15812_5 Advanced Encryption Standards

    21/98

    14-10-2012 21

  • 7/31/2019 15812_5 Advanced Encryption Standards

    22/98

    14-10-2012 22

    Sub Bytes Table

  • 7/31/2019 15812_5 Advanced Encryption Standards

    23/98

    14-10-2012 23

    Inverse Sub Bytes Table

  • 7/31/2019 15812_5 Advanced Encryption Standards

    24/98

    14-10-2012 24

    Example:

  • 7/31/2019 15812_5 Advanced Encryption Standards

    25/98

    14-10-2012 25

  • 7/31/2019 15812_5 Advanced Encryption Standards

    26/98

    14-10-2012 26

    Example:

  • 7/31/2019 15812_5 Advanced Encryption Standards

    27/98

    14-10-2012 27

  • 7/31/2019 15812_5 Advanced Encryption Standards

    28/98

    14-10-2012 28

  • 7/31/2019 15812_5 Advanced Encryption Standards

    29/98

    14-10-2012 29

  • 7/31/2019 15812_5 Advanced Encryption Standards

    30/98

    14-10-2012 30

    Example:

  • 7/31/2019 15812_5 Advanced Encryption Standards

    31/98

    14-10-2012 31

  • 7/31/2019 15812_5 Advanced Encryption Standards

    32/98

    14-10-2012 32

    Key Expansion

  • 7/31/2019 15812_5 Advanced Encryption Standards

    33/98

    Firstly, the original 16-byte key is copied into the first 4 words of the expanded

    key (i.e, the first 4x4 array of our diagram) as shown below:

    14-10-2012 33

  • 7/31/2019 15812_5 Advanced Encryption Standards

    34/98

    14-10-2012 34

  • 7/31/2019 15812_5 Advanced Encryption Standards

    35/98

    14-10-2012 35

  • 7/31/2019 15812_5 Advanced Encryption Standards

    36/98

    14-10-2012 36

  • 7/31/2019 15812_5 Advanced Encryption Standards

    37/98

    14-10-2012 37

  • 7/31/2019 15812_5 Advanced Encryption Standards

    38/98

    14-10-2012 38

  • 7/31/2019 15812_5 Advanced Encryption Standards

    39/98

    14-10-2012 39

    Given:

  • 7/31/2019 15812_5 Advanced Encryption Standards

    40/98

    14-10-2012 40

  • 7/31/2019 15812_5 Advanced Encryption Standards

    41/98

    14-10-2012 41

  • 7/31/2019 15812_5 Advanced Encryption Standards

    42/98

    14-10-2012 42

  • 7/31/2019 15812_5 Advanced Encryption Standards

    43/98

    14-10-2012 43

    =

    Circular Shift column 1

  • 7/31/2019 15812_5 Advanced Encryption Standards

    44/98

    14-10-2012 44

    S b B t T bl

  • 7/31/2019 15812_5 Advanced Encryption Standards

    45/98

    14-10-2012 45

    Sub Bytes Table

  • 7/31/2019 15812_5 Advanced Encryption Standards

    46/98

    14-10-2012 46

  • 7/31/2019 15812_5 Advanced Encryption Standards

    47/98

    14-10-2012 47

    Fill rest of the column

  • 7/31/2019 15812_5 Advanced Encryption Standards

    48/98

    14-10-2012 48

  • 7/31/2019 15812_5 Advanced Encryption Standards

    49/98

    14-10-2012 49

  • 7/31/2019 15812_5 Advanced Encryption Standards

    50/98

    14-10-2012 50

  • 7/31/2019 15812_5 Advanced Encryption Standards

    51/98

    14-10-2012 51

  • 7/31/2019 15812_5 Advanced Encryption Standards

    52/98

    14-10-2012 52

  • 7/31/2019 15812_5 Advanced Encryption Standards

    53/98

    14-10-2012 53

  • 7/31/2019 15812_5 Advanced Encryption Standards

    54/98

    14-10-2012 54

  • 7/31/2019 15812_5 Advanced Encryption Standards

    55/98

    14-10-2012 55

  • 7/31/2019 15812_5 Advanced Encryption Standards

    56/98

    14-10-2012 56

  • 7/31/2019 15812_5 Advanced Encryption Standards

    57/98

    14-10-2012 57

  • 7/31/2019 15812_5 Advanced Encryption Standards

    58/98

    14-10-2012 58

  • 7/31/2019 15812_5 Advanced Encryption Standards

    59/98

    14-10-2012 59

  • 7/31/2019 15812_5 Advanced Encryption Standards

    60/98

    14-10-2012 60

  • 7/31/2019 15812_5 Advanced Encryption Standards

    61/98

    14-10-2012 61

  • 7/31/2019 15812_5 Advanced Encryption Standards

    62/98

    14-10-2012 62

  • 7/31/2019 15812_5 Advanced Encryption Standards

    63/98

    14-10-2012 63

  • 7/31/2019 15812_5 Advanced Encryption Standards

    64/98

    14-10-2012 64

  • 7/31/2019 15812_5 Advanced Encryption Standards

    65/98

    14-10-2012 65

  • 7/31/2019 15812_5 Advanced Encryption Standards

    66/98

    14-10-2012 66

  • 7/31/2019 15812_5 Advanced Encryption Standards

    67/98

    14-10-2012 67

  • 7/31/2019 15812_5 Advanced Encryption Standards

    68/98

    14-10-2012 68

  • 7/31/2019 15812_5 Advanced Encryption Standards

    69/98

    14-10-2012 69

  • 7/31/2019 15812_5 Advanced Encryption Standards

    70/98

    14-10-2012 70

  • 7/31/2019 15812_5 Advanced Encryption Standards

    71/98

    14-10-2012 71

  • 7/31/2019 15812_5 Advanced Encryption Standards

    72/98

    14-10-2012 72

  • 7/31/2019 15812_5 Advanced Encryption Standards

    73/98

    14-10-2012 73

    Message EncodingStep: 1 : Initial Round: Add Round Key

    X- OR

    =

  • 7/31/2019 15812_5 Advanced Encryption Standards

    74/98

    14-10-2012 74

    Message EncodingStep 2 : Transformation

  • 7/31/2019 15812_5 Advanced Encryption Standards

    75/98

    14-10-2012 75

    Message EncodingTransformation : Step 1 : Sub Bytes

    Check Each cell of the table in S-BOX table

    Input:

    Sub Byte Table

  • 7/31/2019 15812_5 Advanced Encryption Standards

    76/98

    14-10-2012 76

  • 7/31/2019 15812_5 Advanced Encryption Standards

    77/98

    14-10-2012 77

  • 7/31/2019 15812_5 Advanced Encryption Standards

    78/98

    14-10-2012 78

  • 7/31/2019 15812_5 Advanced Encryption Standards

    79/98

    14-10-2012 79

  • 7/31/2019 15812_5 Advanced Encryption Standards

    80/98

    14-10-2012 80

    Check all the cells and fill as above said manner

  • 7/31/2019 15812_5 Advanced Encryption Standards

    81/98

    14-10-2012 81

    Message EncodingTransformation : Step 2 : Shift Rows

    Input:

  • 7/31/2019 15812_5 Advanced Encryption Standards

    82/98

    14-10-2012 82

    =

  • 7/31/2019 15812_5 Advanced Encryption Standards

    83/98

    14-10-2012 83

    =

  • 7/31/2019 15812_5 Advanced Encryption Standards

    84/98

    14-10-2012 84

    =

  • 7/31/2019 15812_5 Advanced Encryption Standards

    85/98

    14-10-2012 85

    =

  • 7/31/2019 15812_5 Advanced Encryption Standards

    86/98

    14-10-2012 86

    Message EncodingTransformation : Step 3 : Mix Columns

    Input:

    Constant Matrix:

  • 7/31/2019 15812_5 Advanced Encryption Standards

    87/98

    14-10-2012 87

  • 7/31/2019 15812_5 Advanced Encryption Standards

    88/98

    14-10-2012 88

  • 7/31/2019 15812_5 Advanced Encryption Standards

    89/98

    14-10-2012 89

    (d4* 02)+(bf*03)+(5d*01)+(30*01)

    M E di

  • 7/31/2019 15812_5 Advanced Encryption Standards

    90/98

    14-10-2012 90

    Message EncodingTransformation : Step 4 : Add Round Key

    Input:

    O/p from step 3 of Trans. =

    Round 1 Key =

  • 7/31/2019 15812_5 Advanced Encryption Standards

    91/98

    14-10-2012 91

    X-OR

  • 7/31/2019 15812_5 Advanced Encryption Standards

    92/98

    14-10-2012 92

    =

  • 7/31/2019 15812_5 Advanced Encryption Standards

    93/98

    14-10-2012 93

    X-OR

    X-OR

    X-OR

    =

    =

    =

  • 7/31/2019 15812_5 Advanced Encryption Standards

    94/98

    14-10-2012 94

  • 7/31/2019 15812_5 Advanced Encryption Standards

    95/98

    14-10-2012 95

  • 7/31/2019 15812_5 Advanced Encryption Standards

    96/98

    14-10-2012 96

  • 7/31/2019 15812_5 Advanced Encryption Standards

    97/98

    14-10-2012 97

  • 7/31/2019 15812_5 Advanced Encryption Standards

    98/98

    Link for animated AEShttp://www.cs.bc.edu/~straubin/cs381-

    05/blockciphers/rijndaelingles 2004.swf

    Otherwise in google type

    animated AES and open first link

    http://www.cs.bc.edu/~straubin/cs381-05/blockciphers/rijndaelingles%202004.swfhttp://www.cs.bc.edu/~straubin/cs381-05/blockciphers/rijndaelingles%202004.swfhttp://www.cs.bc.edu/~straubin/cs381-05/blockciphers/rijndaelingles%202004.swfhttp://www.cs.bc.edu/~straubin/cs381-05/blockciphers/rijndaelingles%202004.swfhttp://www.cs.bc.edu/~straubin/cs381-05/blockciphers/rijndaelingles%202004.swf