Kunci : 12 Byte
Ciphertext : ?
Jawab :
Enkripsi:
1. Mengenkripsi mode 12 byte :
- S-Box yang dimiliki dengan panjang 4 byte, dengan S[0]=0,
S[1]=1, S[2]=2 dan S[3]=3 sehingga array S menjadi: 0 1 2 3 4 5 6 7 8 9 10
11 ( Langkah ke 1)
ij
0 to 255 do
( j+S[j]+U[i]) mod 256 swap(S[i], S[j])
endfor lakukan sebanyak 4
iterasi:
1. Iterasi 1
i=0
j = (0+S[0]+K[0])mod 12
= (0+0+2) mod 12
=2
Swap (S[0],S[2])
Hasil Array S
2 1 0 3 4 5 6 7 8 9 10 11
2. Iterasi 2
i=1
j = (2+S[1]+K[1])mod 12
= (2+1+5) mod 12
= 8
Swap (S[1],S[8])
Hasil Array S
2 8 0 3 4 5 6 7 1 9 10 11
3. Iterasi 3
i=2
j = (8+S[2]+K[2]) mod 12
= (8+0+7) mod 12
= 3
Swap (S[2],S[3])
Hasil Array S
2 8 3 0 4 5 6 7 1 9 10 11
4. Iterasi 4
i=3
j = (3+S[3]+K[3])mod 12
= (3+0+3) mod 12
= 6
Swap (S[3],S[6])
Hasil Array S
2 8 3 6 4 5 0 7 1 9 10 11
5. Iterasi 5
i=4
j = (6+S[4]+K[4])mod 12
= (6+4+1) mod 12
= 11
Swap (S[4],S[11])
Hasil Array S
2 8 3 6 11 5 0 7 1 9 10 4
6. Iterasi 6
i=5
j = (11+S[5]+K[5])mod 12
= (11+5+6) mod 12
= 10
Swap (S[5],S[10])
Hasil Array S
2 8 3 6 11 10 0 7 1 9 5 4
7. Iterasi 7
i=6
j = (10+S[6]+K[6])mod 12
= (10+0+8) mod 12
= 6
Swap (S[6],S[6])
Hasil Array S
2 8 3 6 11 10 0 7 1 9 5 4
8. Iterasi 8
i=7
j = (6+S[7]+K[7])mod 12
= (6+7+9) mod 12
= 10
Swap (S[7],S[10])
Hasil Array S
2 8 3 6 11 10 0 5 1 9 7 4
9. Iterasi 9
i=8
j = (10+S[8]+K[8])mod 12
= (10+1+4) mod 12
= 3
Swap (S[8],S[3])
Hasil Array S
2 8 3 1 11 10 0 5 6 9 7 4
10. Iterasi 10
i=9
j = (3+S[9]+K[9])mod 12
= (3+9+11) mod 12
= 11
Swap (S[9],S[11])
Hasil Array S
2 8 3 1 11 10 0 5 6 4 7 9
11. Iterasi 11
i = 10
j = (0+S[10]+K[10])mod 12
= (0+7+10) mod 12
= 5
Swap (S[10],S[5])
Hasil Array S
9 8 3 1 11 7 0 5 6 2 10 4
12. Iterasi 12
i = 11
j = (5+S[11]+K[11]) mod 12
= (5+4+11) mod 12
= 8
Swap (S[11],S[8])
Hasil Array S
9 8 3 1 11 7 0 5 4 2 10 6
13. Iterasi 1
i=0
j=0
i = (i+1) mod 12
i = (0+1) mod 12
= 1
j = (0+S[i]) mod 12
j = (0+S[1]) mod 12
j = (0+8) mod 12
= 8
Swap(S[i],S[j])
Swap(S[1],S[8])
Array Awal : 9 8 3 1 11 7 0 5 4 2 10 6
Hasil setelah Swap : 9 4 3 1 11 7 0 5 8 2 10 6
t ( S[1]+S[8]) mod 12
(4+8) mod 12
= 0
K S[t] = 00000000
14. Iterasi 2
i=1
j=8
i = (i+1) mod 12
i = (1+1) mod 12
= 2
j = (8+S[i]) mod 12
j = (8+S[2]) mod 12
j = (8+3) mod 12
= 11
Swap(S[i],S[j])
Swap(S[2],S[11])
Array Awal : 9 4 3 1 11 7 0 5 8 2 10 6
Hasil setelah Swap : 9 4 6 1 11 7 0 5 8 2 10 3
t ( S[2]+S[11]) mod 12
(6+3) mod 12
= 1
K S[t] = 00001001
15. Iterasi 3
i=2
j = 11
i = (i+1) mod 12
i = (2+1) mod 12
= 3
j = (11+S[i]) mod 12
j = (11+S[3]) mod 12
j = (11+9) mod 12
= 8
Swap(S[i],S[j])
Swap(S[3],S[8])
Array Awal : 7 6 10 9 11 4 0 5 8 1 2 3
Hasil setelah Swap : 7 6 10 8 11 4 0 5 9 1 2 3
t ( S[3]+S[8]) mod 12
(8+9) mod 12
= 5
K S[t] = 00000101
16. Iterasi 4
i=3
j=8
i = (i+1) mod 12
i = (3+1) mod 12
= 4
j = (8+S[i]) mod 12
j = (8+S[4]) mod 12
j = (8+11) mod 12
= 7
Swap(S[i],S[j])
Swap(S[4],S[7])
Array Awal : 7 6 10 8 11 4 0 5 9 1 2 3
Hasil setelah Swap : 7 6 10 8 5 4 0 11 9 1 2 3
t ( S[4]+S[7]) mod 12
(5+11) mod 12
= 4
K S[t] = 00000100
17. Iterasi 5
i=4
j=7
i = (i+1) mod 12
i = (4+1) mod 12
= 5
j = (7+S[i]) mod 12
j = (7+S[5]) mod 12
j = (7+4) mod 12
= 11
Swap(S[i],S[j])
Swap(S[5],S[11])
Array Awal : 7 6 10 8 5 4 0 11 9 1 2 3
Hasil setelah Swap : 7 6 10 8 5 3 0 11 9 1 2 4
t ( S[5]+S[11]) mod 12
(3+4) mod 12
=7
K S[t] = 00000111
18. Iterasi 6
i=5
j = 11
i = (i+1) mod 12
i = (5+1) mod 12
= 6
j = (11+S[i]) mod 12
j = (11+S[6]) mod 12
j = (11+0) mod 12
= 11
Swap(S[i],S[j])
Swap(S[6],S[11])
Array Awal : 7 6 10 8 5 3 0 11 9 1 2 4
Hasil setelah Swap : 7 6 10 8 5 3 4 11 9 1 2 0
t ( S[6]+S[11]) mod 12
(4+0) mod 12
=4
K S[t] = 00000100
19. Iterasi 7
i=6
j = 11
i = (i+1) mod 12
i = (6+1) mod 12
= 7
j = (11+S[i]) mod 12
j = (11+S[7]) mod 12
j = (11+11) mod 12
= 10
Swap(S[i],S[j])
Swap(S[7],S[10])
Array Awal : 7 6 10 8 5 3 4 11 9 1 2 0
Hasil setelah Swap : 7 6 10 8 5 3 4 2 9 1 11 0
t ( S[7]+S[10]) mod 12
(2+11) mod 12
=1
K S[t] = 00000001
20. Iterasi 8
i=7
j = 10
i = (i+1) mod 12
i = (7+1) mod 12
= 8
j = (10+S[i]) mod 12
j = (10+S[8]) mod 12
j = (10+9) mod 12
= 7
Swap(S[i],S[j])
Swap(S[8],S[7])
Array Awal : 7 6 10 8 5 3 4 2 9 1 11 0
Hasil setelah Swap : 7 6 10 8 5 3 4 9 2 1 11 0
t ( S[8]+S[7]) mod 12
(2+9) mod 12
= 11
K S[t] = 00001011
21. Iterasi 9
i=8
j=7
i = (i+1) mod 12
i = (8+1) mod 12
= 9
j = (7+S[i]) mod 12
j = (7+S[9]) mod 12
j = (7+1) mod 12
= 8
Swap(S[i],S[j])
Swap(S[9],S[8])
Array Awal : 7 6 10 8 5 3 4 9 2 1 11 0
Hasil setelah Swap : 7 6 10 8 5 3 4 9 1 2 11 0
t ( S[9]+S[8]) mod 12
(2+1) mod 12
=3
K S[t] = 00000011
22. Iterasi 10
i=9
j=8
i = (i+1) mod 12
i = (9+1) mod 12
= 10
j = (8+S[i]) mod 12
j = (8+S[10]) mod 12
j = (8+11) mod 12
= 7
Swap(S[i],S[j])
Swap(S[10],S[7])
Array Awal : 7 6 10 8 5 3 4 9 1 2 11 0
Hasil setelah Swap : 7 6 10 8 5 3 4 11 1 2 9 0
t ( S[10]+S[7]) mod 12
(9+11) mod 12
=8
K S[t] = 00001000
23. Iterasi 11
i = 10
j=7
i = (i+1) mod 12
i = (10+1) mod 12
= 11
j = (7+S[i]) mod 12
j = (7+S[11]) mod 12
j = (7+0) mod 12
= 7
Swap(S[i],S[j])
Swap(S[11],S[7])
Array Awal : 7 6 10 8 5 3 4 11 1 2 9 0
Hasil setelah Swap : 7 6 10 8 5 3 4 0 1 2 9 11
t ( S[11]+S[7]) mod 12
(11+0) mod 12
= 11
K S[t] = 00001011
24. Iterasi 12
i = 11
j=7
i = (i+1) mod 12
i = (11+1) mod 12
= 0
j = (7+S[i]) mod 12
j = (7+S[0]) mod 12
j = (7+7) mod 12
= 2
Swap(S[i],S[j])
Swap(S[0],S[2])
Array Awal : 7 6 10 8 5 3 4 0 1 2 9 11
Hasil setelah Swap : 10 6 7 8 5 3 4 0 1 2 9 11
t ( S[0]+S[2]) mod 12
(10+7) mod 12
=5
K S[t] = 00000101
3. Enkripsi pesan dengan proses pengXORan dari plainteks dengan key yang telah
didapat:
Plaintext : FARHAN RASYID
F = 01000110
A = 01000001
R = 01010010
H = 01001000
A = 01000001
N = 01001110
R = 01010010
A = 01000001
S = 01010011
Y = 01011001
I = 01001001
D = 01000100
Kunci : 4 Byte
1. 01000110+00000010 = 01001000
2. 01000001+00000001 = 01000010
3. 01010010+00000101= 01010111
4. 01001000+00000100 = 01001100
Ciphertext : 01001010 01000010 01001110 01001100
: (J B N L )
Dekripsi:
1. Proses XOR pseudo random byte dengan cipherteks pada dekripsi
yaitu:
Ciphertext : H
JBNL
J = 01001010
B = 01000010
N = 01001110
L = 01001100
Kunci : 4 Byte
1. 01001010+00000010 = 01001000
2. 01000010+00000011 = 01000001
3. 01001110+00000010 = 01001100
4. 01001100+00000011 = 01001111
5.
Plaintext : 01001000 01000001 01001100 01001111
: (H A L O )
RSA di bidang kriptografi adalah sebuah algoritme pada enkripsi public key. RSA merupakan
algoritme pertama yang cocok untuk digital signature seperti halnya enkripsi, dan salah satu yang
paling maju dalam bidang kriptografi public key. RSA masih digunakan secara luas dalam protokol
electronic commerce, dan dipercaya dalam mengamankan dengan menggunakan kunci yang cukup
panjang. Perhitungan manual enkripsi dan dekripsi menggunakan algoritma RSA. Dimana
sebelumnya harus ditentukan dulu Public Key Dan Private Key-nya, berikut langkah-langkah untuk
mendapatkan Public Key dan Private Key :
p = 11 q = 13
n = 11 * 13 n = 143
GCD(120,17) = 1
• Dari proses diatas, maka akan mendapatkan kunci public dan kunci privat dimana :
Setelah mendapatkan public key dan private key, proses selanjutnya melakukan Enkripsi dan
Dekripsi, yaitu kata “Malam". Berikut prosesnya :
Enkripsi “Malam”
Enkripsi : 50.5081.501.0.11281.501.0.81
Dekripsi “50.5081.501.0.11281.501.0.81”
Proses Dekripsi Text ASCII
= 97
Dekripsi : Malam