Uraikan tentang algoritma rijndael dan berikan contoh

27
4. Uraikan tentang algoritma rijndael dan berikan contoh: Algoritma Rijndael merupakan standar enkripsi dengan kunci simetris yang diadopsi oleh pemerintah Amerika Serikat. Standar ini terdiri atas 3 blok cipher ,yaitu AES- 128, AES-192, dan AES – 256. Masing-masing cipher memiliki ukuran 128 bit dengan ukuran kunci masing masing 128,192,256. Contoh Algoritma Rijndael: Pesan :INDONESI Kunci : 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c Input bits 49 4e 44 4f 4e 45 53 49 00 00 00 00 00 00 00 00 Key bits 0f 15 71 c9 47 d9 e8 59 0c b7 ad d6 af 7f 67 98 w[0] = 0f 15 71 c9 w[1] = 47 d9 e8 59 w[2] = 0c b7 ad d6

description

algoritma AES dan DES

Transcript of Uraikan tentang algoritma rijndael dan berikan contoh

Page 1: Uraikan tentang algoritma rijndael dan berikan contoh

4. Uraikan tentang algoritma rijndael dan berikan contoh:

Algoritma Rijndael merupakan standar enkripsi dengan kunci simetris yang

diadopsi oleh pemerintah Amerika Serikat. Standar ini terdiri atas 3 blok

cipher ,yaitu AES- 128, AES-192, dan AES – 256. Masing-masing cipher

memiliki ukuran 128 bit dengan ukuran kunci masing masing 128,192,256.

Contoh Algoritma Rijndael:

Pesan :INDONESI

Kunci : 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c

Input bits 49 4e 44 4f

4e 45 53 49

00 00 00 00

00 00 00 00

Key bits 0f 15 71 c9

47 d9 e8 59

0c b7 ad d6

af 7f 67 98

w[0] = 0f 15 71 c9

w[1] = 47 d9 e8 59

w[2] = 0c b7 ad d6

w[3] = af 7f 67 98

RotWord()= 7f 67 98 af

SubWord()= d2 85 46 79

^ Rcon()= d3 85 46 79

w[4] = dc 90 37 b0

Page 2: Uraikan tentang algoritma rijndael dan berikan contoh

w[5] = 9b 49 df e9

w[6] = 97 fe 72 3f

w[7] = 38 81 15 a7

RotWord()= 81 15 a7 38

SubWord()= 0c 59 5c 07

^ Rcon()= 0e 59 5c 07

w[8] = d2 c9 6b b7

w[9] = 49 80 b4 5e

w[10] = de 7e c6 61

w[11] = e6 ff d3 c6

RotWord()= ff d3 c6 e6

SubWord()= 16 66 b4 8e

^ Rcon()= 12 66 b4 8e

w[12] = c0 af df 39

w[13] = 89 2f 6b 67

w[14] = 57 51 ad 06

w[15] = b1 ae 7e c0

RotWord()= ae 7e c0 b1

SubWord()= e4 f3 ba c8

^ Rcon()= ec f3 ba c8

w[16] = 2c 5c 65 f1

w[17] = a5 73 0e 96

w[18] = f2 22 a3 90

Page 3: Uraikan tentang algoritma rijndael dan berikan contoh

w[19] = 43 8c dd 50

RotWord()= 8c dd 50 43

SubWord()= 64 c1 53 1a

^ Rcon()= 74 c1 53 1a

w[20] = 58 9d 36 eb

w[21] = fd ee 38 7d

w[22] = 0f cc 9b ed

w[23] = 4c 40 46 bd

RotWord()= 40 46 bd 4c

SubWord()= 09 5a 7a 29

^ Rcon()= 29 5a 7a 29

w[24] = 71 c7 4c c2

w[25] = 8c 29 74 bf

w[26] = 83 e5 ef 52

w[27] = cf a5 a9 ef

RotWord()= a5 a9 ef cf

SubWord()= 06 d3 df 8a

^ Rcon()= 46 d3 df 8a

w[28] = 37 14 93 48

w[29] = bb 3d e7 f7

w[30] = 38 d8 08 a5

w[31] = f7 7d a1 4a

RotWord()= 7d a1 4a f7

Page 4: Uraikan tentang algoritma rijndael dan berikan contoh

SubWord()= ff 32 d6 68

^ Rcon()= 7f 32 d6 68

w[32] = 48 26 45 20

w[33] = f3 1b a2 d7

w[34] = cb c3 aa 72

w[35] = 3c be 0b 38

RotWord()= be 0b 38 3c

SubWord()= ae 2b 07 eb

^ Rcon()= b5 2b 07 eb

w[36] = fd 0d 42 cb

w[37] = 0e 16 e0 1c

w[38] = c5 d5 4a 6e

w[39] = f9 6b 41 56

RotWord()= 6b 41 56 f9

SubWord()= 7f 83 b1 99

^ Rcon()= 49 83 b1 99

w[40] = b4 8e f3 52

w[41] = ba 98 13 4e

w[42] = 7f 4d 59 20

w[43] = 86 26 18 76

Initial state 49 4e 00 00

4e 45 00 00

44 53 00 00

Page 5: Uraikan tentang algoritma rijndael dan berikan contoh

4f 49 00 00

Round Key 0f 47 0c af

15 d9 b7 7f

71 e8 ad 67

c9 59 d6 98

Round 1 46 09 0c af

5b 9c b7 7f

35 bb ad 67

86 10 d6 98

After SubBytes 5a 01 fe 79

39 de a9 d2

96 ea 95 85

44 ca f6 46

After ShiftRows 5a 01 fe 79

de a9 d2 39

95 85 96 ea

46 44 ca f6

After MixColumns 1e 23 d6 a5

1f 98 2a d8

7f 75 5e 8e

29 a7 d2 af

Round Key dc 9b 97 38

90 49 fe 81

Page 6: Uraikan tentang algoritma rijndael dan berikan contoh

37 df 72 15

b0 e9 3f a7

Round 2 c2 b8 41 9d

8f d1 d4 59

48 aa 2c 9b

99 4e ed 08

After SubBytes 25 6c 83 5e

73 3e 48 cb

52 ac 71 14

ee 2f 55 30

After ShiftRows 25 6c 83 5e

3e 48 cb 73

71 14 52 ac

30 ee 2f 55

After MixColumns 49 fa 26 d0

fa 2e d7 02

a9 25 9d 91

40 2f 59 97

Round Key d2 49 de e6

c9 80 7e ff

6b b4 c6 d3

b7 5e 61 c6

Round 3 9b b3 f8 36

Page 7: Uraikan tentang algoritma rijndael dan berikan contoh

33 ae a9 fd

c2 91 5b 42

f7 71 38 51

After SubBytes 14 6d 41 05

c3 e4 d3 54

25 81 39 2c

68 a3 07 d1

After ShiftRows 14 6d 41 05

e4 d3 54 c3

39 2c 25 81

d1 68 a3 07

After MixColumns f7 f0 f8 d2

5d cc 25 07

ea 5e a1 d6

58 98 ef 43

Round Key c0 89 57 b1

af 2f 51 ae

df 6b ad 7e

39 67 06 c0

Round 4 37 79 af 63

f2 e3 74 a9

35 35 0c a8

61 ff e9 83

Page 8: Uraikan tentang algoritma rijndael dan berikan contoh

After SubBytes 9a b6 79 fb

89 11 92 d3

96 96 fe c2

ef 16 1e ec

After ShiftRows 9a b6 79 fb

11 92 d3 89

fe c2 96 96

ec ef 16 1e

After MixColumns 0e f7 1c e5

4d 3b 73 4d

43 91 a7 67

99 54 e2 35

Round Key 2c a5 f2 43

5c 73 22 8c

65 0e a3 dd

f1 96 90 50

Round 5 22 52 ee a6

11 48 51 c1

26 9f 04 ba

68 c2 72 65

After SubBytes 93 00 28 24

82 52 d1 78

f7 db f2 f4

Page 9: Uraikan tentang algoritma rijndael dan berikan contoh

45 25 40 4d

After ShiftRows 93 00 28 24

52 d1 78 82

f2 f4 f7 db

4d 45 25 40

After MixColumns 74 d9 0a 4e

77 fb ff 0d

e9 ed ca cb

94 af bd b5

Round Key 58 fd 0f 4c

9d ee cc 40

36 38 9b 46

eb 7d ed bd

Round 6 2c 24 05 02

ea 15 33 4d

df d5 51 8d

7f d2 50 08

After SubBytes 71 36 6b 77

87 59 c3 e3

9e 03 d1 5d

d2 b5 53 30

After ShiftRows 71 36 6b 77

59 c3 e3 87

Page 10: Uraikan tentang algoritma rijndael dan berikan contoh

d1 5d 9e 03

30 d2 b5 53

After MixColumns e8 bd c3 2c

9b 9e ba 34

c1 22 6b 03

7b 7b b1 bb

Round Key 71 8c 83 cf

c7 29 e5 a5

4c 74 ef a9

c2 bf 52 ef

Round 7 99 31 40 e3

5c b7 5f 91

8d 56 84 aa

b9 c4 e3 54

After SubBytes ee c7 09 11

4a a9 cf 81

5d b1 5f ac

56 1c 11 20

After ShiftRows ee c7 09 11

a9 cf 81 4a

5f ac 5d b1

20 56 1c 11

After MixColumns 58 25 cb 5c

Page 11: Uraikan tentang algoritma rijndael dan berikan contoh

66 fb eb 5c

99 b1 16 11

9f 9d ff ea

Round Key 37 bb 38 f7

14 3d d8 7d

93 e7 08 a1

48 f7 a5 4a

Round 8 6f 9e f3 ab

72 c6 33 21

0a 56 1e b0

d7 6a 5a a0

After SubBytes a8 0b 0d 62

40 b4 c3 fd

67 b1 72 e7

0e 02 be e0

After ShiftRows a8 0b 0d 62

b4 c3 fd 40

72 e7 67 b1

e0 0e 02 be

After MixColumns 1e a1 63 0b

ad aa 47 94

c3 0f 38 82

fe 25 89 30

Page 12: Uraikan tentang algoritma rijndael dan berikan contoh

Round Key 48 f3 cb 3c

26 1b c3 be

45 a2 aa 0b

20 d7 72 38

Round 9 56 52 a8 37

8b b1 84 2a

86 ad 92 89

de f2 fb 08

After SubBytes b1 00 c2 9a

3d c8 5f e5

44 95 4f a7

1d 89 0f 30

After ShiftRows b1 00 c2 9a

c8 5f e5 3d

4f a7 44 95

30 1d 89 0f

After MixColumns 45 5b 66 f2

db 51 56 4b

b7 2d 2f 87

2f c2 f5 03

Round Key fd 0e c5 f9

0d 16 d5 6b

42 e0 4a 41

Page 13: Uraikan tentang algoritma rijndael dan berikan contoh

cb 1c 6e 56

After SubBytes 6c fc 0a 2b

f6 a0 ec b7

e6 bd 4d b4

69 1d 14 fc

After ShiftRows 6c fc 0a 2b

a0 ec b7 f6

4d b4 e6 bd

fc 69 1d 14

Output d8 46 75 ad

2e 74 fa d0

be a7 bf a5

ae 27 3d 62

Hasil Enkrisi : d8 2e be ae 46 74 a7 27 75 fa bf 3d ad d0 a5 62

5. Uraikan algoritma standar enkripsi data dan berikan contoh

DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis

cipherblok.DES beroperasi pada ukuran blok 64 bit. DES Mengenkripsikan 64 bit

plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal

(internal key) atau upa- kunci (subkey). Kunci internal dibangkitkan dari kunci

eksternal (external key ) yang panjangnya 64 bit.

Skema global dari algoritma DES adalah sebagai berikut:

1. Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation

atau IP).

Page 14: Uraikan tentang algoritma rijndael dan berikan contoh

2. Hasil permutasi awal kemudian di - enciphering -sebanyak 16 kali (16

putaran). Setiap putaran menggunakan kunci internal yang berbeda.

3. Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan

(invers initial permutation atau IP -1)menjadi blok cipherteks.

Contoh :

Pesan :INDONESI

DES Key/Triple DES Key Part A : 3b3898371520f75e

Triple DES Key Part B : 922fb510c71f436e

Input bits: 01001001 01001110 01000100 01001111 01001110 01000101

01010011 01001001

Key bits: 00111011 00111000 10011000 00110111 00010101 00100000

11110111 01011110

CD[0]: 0100010 0110000 0001101 0111101 1100100 1110110 0010000 1111111

CD[1]: 1000100 1100000 0011010 1111010 1001001 1101100 0100001 1111111

KS[1]: 010111 000000 100001 001100 010101 011000 111101 001111

CD[2]: 0001001 1000000 0110101 1110101 0010011 1011000 1000011 1111111

KS[2]: 010100 010010 110111 110000 011001 001001 011111 001100

CD[3]: 0100110 0000001 1010111 1010100 1001110 1100010 0001111 1111100

KS[3]: 110101 001110 010010 000101 110110 001011 010011 101111

CD[4]: 0011000 0000110 1011110 1010001 0111011 0001000 0111111 1110010

KS[4]: 010100 111000 011100 000110 011011 101101 111010 101001

CD[5]: 1100000 0011010 1111010 1000100 1101100 0100001 1111111 1001001

KS[5]: 011010 001001 000010 100111 000110 100111 110101 111011

CD[6]: 0000000 1101011 1101010 0010011 0110001 0000111 1111110 0100111

Page 15: Uraikan tentang algoritma rijndael dan berikan contoh

KS[6]: 101100 011000 000001 101110 101011 111101 100100 110000

CD[7]: 0000011 0101111 0101000 1001100 1000100 0011111 1111001 0011101

KS[7]: 101000 000100 001010 110010 110000 010110 111101 110010

CD[8]: 0001101 0111101 0100010 0110000 0010000 1111111 1100100 1110110

KS[8]: 101101 000001 101100 110100 111111 011000 101000 011100

CD[9]: 0011010 1111010 1000100 1100000 0100001 1111111 1001001 1101100

KS[9]: 001000 101101 110101 000010 100100 111000 011001 111100

CD[10]: 1101011 1101010 0010011 0000000 0000111 1111110 0100111

0110001

KS[10]: 011010 000110 000101 010111 110110 011011 111110 000100

CD[11]: 0101111 0101000 1001100 0000011 0011111 1111001 0011101

1000100

KS[11]: 001001 011100 010100 011001 001110 000110 011010 111101

CD[12]: 0111101 0100010 0110000 0001101 1111111 1100100 1110110

0010000

KS[12]: 010001 110000 000110 110011 011110 110111 100010 000111

CD[13]: 1110101 0001001 1000000 0110101 1111111 0010011 1011000

1000011

KS[13]: 101111 111000 100010 010001 101001 100110 000110 111011

CD[14]: 1010100 0100110 0000001 1010111 1111100 1001110 1100010

0001111

KS[14]: 000111 110010 001010 001010 101001 110011 101101 000111

CD[15]: 1010001 0011000 0000110 1011110 1110010 0111011 0001000

0111111

KS[15]: 001110 100001 010010 011100 111101 101000 001111 110010

Page 16: Uraikan tentang algoritma rijndael dan berikan contoh

CD[16]: 0100010 0110000 0001101 0111101 1100100 1110110 0010000

1111111

KS[16]: 000100 010111 110010 000001 110101 111110 000101 001110

L[0]: 11111111 01000000 00111110 11101001

R[0]: 00000000 00000000 10011011 01011010

Round 1

E : 000000 000000 000000 000001 010011 110110 101011 110100

KS : 010111 000000 100001 001100 010101 011000 111101 001111

E xor KS: 010111 000000 100001 001101 000110 101110 010110 111011

Sbox: 1011 1111 0001 0000 0001 0011 0111 0101

P : 01100110 10111000 01101110 00110010

L[i]: 00000000 00000000 10011011 01011010

R[i]: 10011001 11111000 01010000 11011011

Round 2

E : 110011 110011 111111 110000 001010 100001 011011 110111

KS : 010100 010010 110111 110000 011001 001001 011111 001100

E xor KS: 100111 100001 001000 000000 010011 101000 000100 111011

Sbox: 0010 1101 0110 0111 0000 0010 0010 0101

P : 10000000 01101001 01011110 00110100

L[i]: 10011001 11111000 01010000 11011011

R[i]: 10000000 01101001 11000101 01101110

Round 3

E : 010000 000000 001101 010011 111000 001010 101101 011101

Page 17: Uraikan tentang algoritma rijndael dan berikan contoh

KS : 110101 001110 010010 000101 110110 001011 010011 101111

E xor KS: 100101 001110 011111 010110 001110 000001 111110 110010

Sbox: 1000 0100 0001 0101 0110 1010 0010 0110

P : 10010100 10100110 00010100 10110000

L[i]: 10000000 01101001 11000101 01101110

R[i]: 00001101 01011110 01000100 01101011

Round 4

E : 100001 011010 101011 111100 001000 001000 001101 010110

KS : 010100 111000 011100 000110 011011 101101 111010 101001

E xor KS: 110101 100010 110111 111010 010011 100101 110111 111111

Sbox: 0011 1110 0011 0010 0000 0010 1111 1011

P : 01001110 01111010 00001110 00010111

L[i]: 00001101 01011110 01000100 01101011

R[i]: 11001110 00010011 11001011 01111001

Round 5

E : 111001 011100 000010 100111 111001 010110 101111 110011

KS : 011010 001001 000010 100111 000110 100111 110101 111011

E xor KS: 100011 010101 000000 000000 111111 110001 011010 001000

Sbox: 1100 0001 1010 0111 0011 1011 1010 0110

P : 10110000 11100010 11110101 10100101

L[i]: 11001110 00010011 11001011 01111001

R[i]: 10111101 10111100 10110001 11001110

Round 6

Page 18: Uraikan tentang algoritma rijndael dan berikan contoh

E : 010111 111011 110111 111001 010110 100011 111001 011101

KS : 101100 011000 000001 101110 101011 111101 100100 110000

E xor KS: 111011 100011 110110 010111 111101 011110 011101 101101

Sbox: 0000 1000 1100 1100 0101 1011 1000 1000

P : 00111000 00101101 00110001 01000001

L[i]: 10111101 10111100 10110001 11001110

R[i]: 11110110 00111110 11111010 00111000

Round 7

E : 011110 101100 000111 111101 011111 110100 000111 110001

KS : 101000 000100 001010 110010 110000 010110 111101 110010

E xor KS: 110110 101000 001101 001111 101111 100010 111010 000011

Sbox: 0111 1010 0110 0011 1101 1110 0101 1111

P : 11111011 01111111 10001010 00101110

L[i]: 11110110 00111110 11111010 00111000

R[i]: 01000110 11000011 00111011 11100000

Round 8

E : 001000 001101 011000 000110 100111 110111 111100 000000

KS : 101101 000001 101100 110100 111111 011000 101000 011100

E xor KS: 100101 001100 110100 110010 011000 101111 010100 011100

Sbox: 1000 0011 0010 0001 1101 1010 1001 1100

P : 11111011 10100100 01000000 00100101

L[i]: 01000110 11000011 00111011 11100000

R[i]: 00001101 10011010 10111010 00011101

Page 19: Uraikan tentang algoritma rijndael dan berikan contoh

Round 9

E : 100001 011011 110011 110101 010111 110100 000011 111010

KS : 001000 101101 110101 000010 100100 111000 011001 111100

E xor KS: 101001 110110 000110 110111 110011 001100 011010 000110

Sbox: 0100 0110 1110 1011 1111 0110 1010 0100

P : 11100001 01100101 10000101 11111101

L[i]: 00001101 10011010 10111010 00011101

R[i]: 10100111 10100110 10111110 00011101

Round 10

E : 110100 001111 110100 001101 010111 111100 000011 111011

KS : 011010 000110 000101 010111 110110 011011 111110 000100

E xor KS: 101110 001001 110001 011010 100001 100111 111101 111111

Sbox: 1011 1111 0100 1100 1011 1100 0011 1011

P : 01111011 10001011 01011110 11011010

L[i]: 10100111 10100110 10111110 00011101

R[i]: 01110110 00010001 11100100 11000111

Round 11

E : 101110 101100 000010 100011 111100 001001 011000 001110

KS : 001001 011100 010100 011001 001110 000110 011010 111101

E xor KS: 100111 110000 010110 111010 110010 001111 000010 110011

Sbox: 0010 0101 0111 0010 1001 0101 1011 1100

P : 00101111 01000001 01100110 00111101

L[i]: 01110110 00010001 11100100 11000111

Page 20: Uraikan tentang algoritma rijndael dan berikan contoh

R[i]: 10001000 11100111 11011000 00100000

Round 12

E : 010001 010001 011100 001111 111011 110000 000100 000001

KS : 010001 110000 000110 110011 011110 110111 100010 000111

E xor KS: 000000 100001 011010 111100 100101 000111 100110 000110

Sbox: 1110 1101 0100 1000 1100 0010 1101 0100

P : 00000011 10111101 11000010 01110001

L[i]: 10001000 11100111 11011000 00100000

R[i]: 01110101 10101100 00100110 10110110

Round 13

E : 001110 101011 110101 011000 000100 001101 010110 101100

KS : 101111 111000 100010 010001 101001 100110 000110 111011

E xor KS: 100001 010011 010111 001001 101101 101011 010000 010111

Sbox: 1111 0000 1110 0110 0010 0101 0011 1011

P : 00001010 11000011 10111111 10001110

L[i]: 01110101 10101100 00100110 10110110

R[i]: 10000010 00100100 01100111 10101110

Round 14

E : 010000 000100 000100 001000 001100 001111 110101 011101

KS : 000111 110010 001010 001010 101001 110011 101101 000111

E xor KS: 010111 110110 001110 000010 100101 111100 011000 011010

Sbox: 1011 0110 0101 1101 1100 1011 0101 0000

P : 11010111 10110101 00110010 01010010

Page 21: Uraikan tentang algoritma rijndael dan berikan contoh

L[i]: 10000010 00100100 01100111 10101110

R[i]: 10100010 00011001 00010100 11100100

Round 15

E : 010100 000100 000011 110010 100010 101001 011100 001001

KS : 001110 100001 010010 011100 111101 101000 001111 110010

E xor KS: 011010 100101 010001 101110 011111 000001 010011 111011

Sbox: 1001 1010 0010 1101 0110 1010 0011 0101

P : 11010010 10101100 00011100 11100110

L[i]: 10100010 00011001 00010100 11100100

R[i]: 01010000 10001000 01111011 01001000

Round 16

E : 001010 100001 010001 010000 001111 110110 101001 010000

KS : 000100 010111 110010 000001 110101 111110 000101 001110

E xor KS: 001110 110110 100011 010001 111010 001000 101100 011110

Sbox: 1000 0110 1010 0100 0011 1001 0111 0111

P : 01110010 10010010 00111101 10110100

L[i]: 01010000 10001000 01111011 01001000

R[i]: 11010000 10001011 00101001 01010000

LR[16] 11010000 10001011 00101001 01010000 01010000 10001000 01111011

01001000

Output 00011100 00011000 00000000 00111110 11001001 00001100 11001011

01110000

Hasil Enkripsi : 1c18003ec90ccb70