Pendahuluan
Kriptografi modern menggunakan gagasan dasar yang
sama seperti kriptografi klasik (permutasi dan transposisi)
tetapi penekanannya berbeda.
9D6
Operator XOR
Operator biner yang sering digunakan dalam cipher yang
yang beroperasi dalam mode bit adalah XOR atau
exclusive-or.
00=0
01=1
10=1
11=0
0 + 0 (mod 2) = 0
0 + 1 (mod 2) = 1
1 + 0 (mod 2) = 1
1 + 1 (mod 2) = 0
Operator XOR
Operator XOR
Operator XOR
Algoritma enkripsi XOR sederhana pada prinsipnya sama
seperti Vigenere cipher dengan penggunaan kunci yang
berulang secara periodik. Setiap bit plainteks di-XOR-kan
dengan setiap bit kunci.
Operator XOR
Program komersil yang berbasis DOS atau Macintosh
menggunakan algoritma XOR sederhana ini.
Perhatikan bahwa
ci ki = (pi ki) ki
= pi (ki ki)
= pi 0 = pi
Keystream Keystream
Generator Generator
Keystream ki Keystream ki
ci
pi pi
Plainteks Enkripsi Cipherteks Dekripsi Plainteks
Keystream ki Keystream ki
ci
pi pi
Plainteks Enkripsi Cipherteks Dekripsi Plainteks
111101011001000
U Keystream U Keystream
Generator Generator
Keystream ki Keystream ki
ci
pi pi
Plainteks Enkripsi Cipherteks Dekripsi Plainteks
K = gU(Z)
C = P K = P gU(Z)
P = C K = C gU(Z)
Nilai Z yang berbeda-beda pada setiap lelaran
menghasilkan bit-bit kunci yang berbeda pula.
P1 C1 = P1 (P1 K) = K
C: uhtr07hjLmkyR3j7Tkdhj38lkkldkYtr#)oknTkRgh
P : QT-TRNSFR US $10010,00 FRM ACCNT 123-67 TO
Populasi S-Box :
• S=[S0,S1,S2,S3] = [0,1,2,3] dan K= [K0,K1,K2,K3] = [2,5,2,5]
Iterasi 1 (i=0, j=0)
Because j = (j + S[i] + K[i]) mod 4 = (0 + S[0] + K[0] mod 4
j = (0+0+2) mod 4
j=2
Then swap S[i] dan S[j] → swap S[0] dengan S[2] → [0,1,2,3]
new array → S = [2,1,0,3]
i=i+1 = 0+1 =1
S=[S0,S1,S2,S3] = [2,1,0,3] dan K= [K0,K1,K2,K3] =
[2,5,2,5]
iterasi 2 (i=1 dan j = 2)
Because j = (j + S[i] + K[i]) mod 4 = (j + S[1] + K[1]) mod 4
j = (2 + 1 + 5) mod 4
j=0
i = i + 1 = 1+1 =2
S=[S0,S1,S2,S3] = [1,2,0,3] dan K= [K0,K1,K2,K3] =
[2,5,2,5]
iterasi 3 (i=2 dan j = 0)
Because j = (j + S[i] + K[i]) mod 4
j = (0 + 0 + 2) mod 4
j=2
i = i + 1 = 2+1 =3
S=[S0,S1,S2,S3] = [1,2,0,3] dan K= [K0,K1,K2,K3] =
[2,5,2,5]
iterasi 4 (i=3 dan j = 2)
Because j = (j + S[i] + K[i]) mod 4
j = (2 + 3 + 5) mod 4
j=2
i=i+1 =
Berikutnya adalah proses enkripsi yaitu meng XOR kan pseudorandom byte dengan
plainteks misalnya “HI”.
Oleh karena plainteks terdiri dari 2 karakter maka iterasi pun terjadi 2 kali.
P C = P (P K) = (P P) K = 0 K = K
54
2. Ciphertext-only attack
Misalkan kriptanalis memiliki dua potongan cipherteks berbeda (C1
dan C2) yang dienkripsi dengan bit-aliran-kunci yang sama. Ia meng-
XOR-kan kedua cipherteks tersebut dan memperoleh dua buah
plainteks yang ter-XOR satu sama lain:
C1 C2 = (P1 K ) (P2 K)
= (P1 P2 ) (K K)
= (P1 P2 ) 0
= (P1 P2 )
55