![]() 31
setelah 2 tahap atau lebih.
Efek tersebut adalah setiap bit plaintext mempengaruhi semua
bit dari data setelah 3 tahap, sebagaimana
juga bit pada key pada
masing-masing tahap.
Meskipun
seseorang
mencari
subkey
dan
bekerja
secara
terbalik,
hal
ini
tetap
terjamin
bahwa setiap bit pada key akan mempengaruhi data setelah 6 tahap.
Alasan kedua adalah karena kesederhanaannya, dan dapat dipakai pada
processor
modern
dengan
jumlah
pipeline
stall
minimum.
Alasan
ketiga
adalah
bahwa
hal ini telah dianalisis dan ditemukan hubungan antar sifat-sifat linear dan diferensialnya.
Hubungan ini menunjukkan bahwa pilihan ini paling sesuai dengan kebutuhan.
Algoritma
kriptografi
kita
membutuhkan
132
variabel
berukuran
32
bit.
Pada
awalnya
user
menyediakan key
dengan
ukuran 256 bit, kemudian kita
memperluas
key
tersebut
hingga
33
buah
subkey
(K
0
,
K1,
K2,
,
K
32
)
dengan
ukuran
128
bit.
Kita
menuliskan
key
K
sebagai
8
buah
variabel
32
bit
w-8,w,-7,
w-6,
,
w-1
dan
memperluas variabel-variabel tersebut menjadi deretan panjang key (yang disebut prekey)
w
0
, w1, w2,
, w31 dengan rekursi dari transformasi affine sebagai berikut:
(
?
?
?
?
?
)
Dimana
PHI adalah
bagian
dari
fractal
perbandingan emas
(v
)
atau
0x9E3779B9 pada hexadecimal. Polinom yang mendasari,
bersifat
primitif, dimana bersama dengan round key dilakukan untuk memastikan distribusi
genap dari key pada tahap-tahap, dan untuk
menghilangkan key-key lemah dan key
yang
saling berhubungan.
Round key dikalkulasi dengan prekey dari S-Box. Kita menggunakan S-Box untuk
mentrasnformasi prekey w
i
menjadi k
i
dengan cara sebagai berikut:
*
+
(
)
*
+
(
)
|