![]() 36
perbedaan
sebuah
bit input
akan
mengakibatkan perubahan dua buah bit
output,
sebagai mana deret {0, 1, 3, 5, 7, 13, 22} modulo 32 tidak mempunyai bit yang
sama
kecuali
bit
pertama,
ini
mengakibatkan
perubahan
sebuah
bit input
akan
mengubah jumlah perubahan bit yang sangat banyak setelah dua tahap atau lebih.
Efek tersebut adalah setiap bit plaintext mempengaruhi semua bit dari data
setelah
tiga
tahap,
sebagaimana
juga
bit
pada key
pada
masing-masing
tahap.
Meskipun
seseorang
mencari
subkey tertentu
dan
bekerja
secara terbalik, hal ini
tetap terjamin bahwa setiap bit pada key akan
mempengaruhi
setiap data
setelah
enam tahap.
Alasan kedua adalah karena kesederhanaannya, dan dapat digunakan pada
prosesor modern dengan jumlah
pipeline stall yang minimum. Alasan ketiga
adalah bahwa
hal
ini
telah dianalisis dan telah ditemukan
hubungan antara sifat-
sifat linear dan diferensial. Hubungan
ini
menunjukkan bahwa pilihan ini sesuai
dengan kebutuhan kita.
Algoritma kriptografi kita membutuhkan 132 buah variabel berukuran 32
bit.
Pada
awalnya
user
menyediakan key
dengan
ukuran
256
bit,
kemudian
kita
memperluas
key
tersebut
hingga
menjadi
33
buah
subkey
(?
?
,
?
?
,
?
?
,
,
?
??
)
dengan
ukuran 128 bit. Kita
menuliskan key K sebagai delapan buah
variabel 32
bit
w-8,
w-7,
w-6,
,
w-1
dan
memperluas variabel-variabel tersebut menjadi
deretan
panjang
key
(dimana
kita
menyebutnya
prekey)
?
?
,
?
?
,
?
?
,
, ?
??
dengan rekursi dari transformasi affine sebagai berikut:
?
?
?
?
??
?
??
?
??
?
??
? ?
?
?
??
|