Anda di halaman 1dari 12

Fenomena ini disebut paradoks ulang tahun atau birthday paradoks.

Paradoks ulang tahun


adalah kasus khusus dari masalah hunian, yaitu diberikan sebagai berikut. Misalkan sebuah
wadah memiliki n bola bernomor 1 sampai n inklusif. Sekali lagi asumsikan bahwa m bola
diambil satu per satu, dicatat, dan diganti setiap waktu. Maka probabilitas l yang tepat dari m
bola berbeda untuk 1 ≤l ≤ m diberikan oleh

l
1

l! j =0
l− j

j ()
(−1 ) l jm P1 ( n ,m ) ,

Dimana ( lj) adalah koefisien binomial. Sekarang kita kembali ke serangan ulang tahun untuk
memulai diskusi ini. Kami awalnya bertanya, bagaimana kami dapat menemukan tabrakan
atau tumbukan. Berdasarkan hal di atas, kemungkinan bahwa tidak ada tabrakan jika

∏ (1− nj ) ,
m −1

j=1

−x
1=x ≈ e

untuk nilai x kecil. Oleh karena itu, probabilitas tidak adanya tabrakan adalah

∏( )
m −1 m−1
j
1− ≈ ∏ e− j / n=e−m(m −1 )/(2 n)
j=1 n j=1

Oleh karena itu, peluang paling sedikit terjadi satu tabrakan adalah

Ketika

−m (m−1)/(2 n)
e ≈ 1− pc ,

Maka

−m ( m−1 )
≈ ln(1− p c )
2n

Karena itu

2
m −m ≈−2 n ln ( 1− pc )

Dan

2
m ≈−2 n ln ( 1− pc ) ≈ 2 n ln
( 1−1p ) ,
c
karena kita dapat mengabaikan faktor −m yang lebih kecil dalam suatu pendekatan, jadi


m ≈ 2 n ln
( 1
1− p c )
Jika pc =1/2 maka m ≈1.17 √ n . Jelas bahwa dengan melakukan hashing lebih dari √ nelemen
acak dari δ , kita memiliki peluang lebih besar dari 50% untuk menemukan sebuah tabrakan
atau tumbukan. Ini yang disebut serangan ulang tahun.

Serangan ulang tahun menempatkan batas bawah pada jumlah bit hash fungsi yang harus
dimiliki agar aman. Alasannya adalah bahwa ulang tahun serangan dapat menemukan
tabrakan dalam O(2k /2 ) hashing pada fungsi k-bit. Jadi, jika k =64 , maka tidak aman terhadap
serangan ulang tahun karena hanya 232 hashing yang diperlukan.

 Alice Cheats Bob Using the Birthday Attack

Fungsi hash memiliki 64 bit. Alice ingin Bob menandatangani kontrak yang dia pikir akan
menguntungkannya, dan kemudian dia ingin "membuktikan" bahwa dia menandatangani
kontrak yang benar-benar merampas tabungan hidupnya.

a. Alice menyiapkan dua kontrak, satu yang “baik” untuk Bob, CG dan satu lagi, CB
yang akan menandatangani tabungannya.
b. Alice membuat sedikit perubahan di masing-masing CG dan CB. Lalu dia hash 232
versi modifikasi CG dan 232 versi modifikasi CB.
c. Dia membandingkan dua set nilai hash sampai dia menemukan tabrakan
h(CG )=h(CB) dan memulihkan gambar awal yang sesuai.
d. Alice meminta Bob menandatangani CG melalui hash dari nilainya.
e. Kemudian Alice mengganti CB dengan CG yang nilai hashnya sama dengan yang
ditandatangani oleh Bob, yang kini telah kehilangan semua uangnya.

Dari pembahasan sebelum serangan Yuval di atas, kita melihat bahwa serangan hari ulang
tahun atau birthday attack hanya membutuhkan upaya urutan 232. Jadi, fungsi hash sederhana
berdasarkan intisari pesan 64-bit tidak aman, jadi dari perspektif kriptografi tidak layak untuk
didiskusikan.
 ANALISIS PADA S-DES DAN PERBANDINGAN DENGAN DES

Schaefer memberi label ulang S-DES sebagai baby DES karena merupakan blok yang jauh
lebih sederhana daripada DES full-blown. S-DES akan mengenkripsi satu blok pada satu
waktu, dan ada 28 kemungkinan blok plaintext karena kita berurusan dengan 8-bit plaintext
bitstring. Dalam hal komposisi fungsi, semua pembahasan di atas S-DES dapat dienkapsulasi
sebagai berikut.

( I P−1 ◦ f k ◦ SW ◦ f k ◦ IP )=I P−1 ¿


2 1

Full DES mengambil blok plaintext 64-bit, kunci 56-bit, dari mana enam belas 48-bit
subkunci yang dihasilkan, dan enam belas fungsi putaran yang akan kita beri label
f kj untuk j=1, 2 ,... , 16. Oleh karena itu, kita dapat menetapkan DES sekarang sebagai
komposisi tunggal fungsi.

(I P−1 ◦ f k ◦ SW ◦ f k ◦SW ◦ … ◦f k ◦ IP)( m)=c


16 15 1

Selain itu, di DES memiliki delapan S-Box S juntuk j=1 ,2 , ..., 8 , masing-masing memiliki
empat baris dan enam belas kolom, di mana

S j (m1 m2 m 3 m4 m5 m6 )

memilih entri dalam baris (m1 m6 ) dan kolom (m2 m3 m4 m5), yang mewakili enam belas
kemungkinan entri, dalam biner, untuk setiap baris tersebut. Selain itu, P4 di S-DES,
digantikan oleh P32 di DES, yang merupakan setengah panjang bit input dalam kedua kasus
tersebut. Salah satu kelemahan DES yang membuatnya tidak layak pakai dan
memeringkatnya seperti di bawah standar untuk zaman modern adalah kunci lemahnya, yang
merupakan kunci k seperti

Ek ( E k ( m ) ) =muntuk semua m∈ M

DES memiliki empat di antaranya sebagai berikut, di mana eksponen berarti pengulangan
bahwa bitstring berapa kali eksponen menentukan.

k ∈ {( 0 , 0 ) , ( 1 , 1 ) , ( 0 , 1 ) , ( 1 , 0 ) ∈ Z x Z }
28 28 28 28 28 28 28 28 28 28

Dengan kunci ini, enkripsi memiliki fungsi yang sama dengan dekripsi, jadi kunci ini harus
dihindari. Ada juga kunci semiweak, yaitu pasangan kunci (k 1 , k 2 ) seperti

Ek ( E k ( m ) ) =muntuk semua m∈ M
1 2

Ada enam yaitu sebagai berikut

( ( 01 )14 ( 01 )14 , ( 10 )14 ( 10 )14 ) ,


( ( 01 )14 ( 10 )14 , (10 )14 ( 01 )14 ) ,

( ( 01 )14 ( 0 )28 , (10 )14 ( 0 )28 ) ,

( ( 01 )14 ( 1 )28 , ( 10 )14 ( 1 )28) ,


28 14 28 14
( ( 0 ) ( 01 ) , ( 0 ) ( 10 ) )

28 14 28 14
( ( 1 ) ( 01 ) , ( 1 ) ( 10 ) )

Masing-masing pasangan kunci 56-bit ini akan mengenkripsi teks biasa menjadi teks sandi
yang identik. Dengan kata lain, satu kunci dalam pasangan dapat menguraikan pesan yang
dienkripsi dengan pasangan kunci yang lain. Oleh karena itu, pasangan kunci ini masing-
masing hanya menghasilkan dua subkunci yang berbeda yang digunakan delapan kali dalam
algoritma DES.

Kelemahan lain dari DES adalah sifat komplementasi. Misalkan c (k ) menyatakan


komplemen bitwise dari kunci masukan k di DES. Dengan kata lain, ganti semua 0 dengan 1
dan semua 1 dengan 0.

DES Complementation Property

Ec (k) ( c ( m ) )=c ( E k ( m ) ) .

Dengan kata yang sederhana, jika seseorang mengenkripsi pelengkap teks biasa dengan
pelengkap kunci (sisi kiri persamaan), lalu satu mendapat komplemen dari ciphertext asli (sisi
kanan file persamaan).

Ini mengatakan bahwa komplemen dari plaintext menghasilkan komplemen di ciphertext, dan
ini berarti bahwa serangan selected-plaintext terhadap DES telah terjadi untuk menguji hanya
setengah dari ruang kunci dari256 kunci, yaitu 255 di antaranya.

Untuk saat ini kita perlu melihat lebih dalam prinsip-prinsip desain yang mendasari DES
karena prinsip-prinsip tersebut penting dari beberapa perspektif untuk dipahami cipher blok
kunci simetris.

1) Feistel Ciphers
Cipher Feistel adalah cipher blok yang memasukkan pasangan teks biasa ( L0 , R 0), di
mana kedua bagian L0 dan R0 memiliki panjang bit b ∈ N dan menghasilkan pasangan
ciphertext (Rr , Lr ), di mana Rr dan Lr memiliki panjang bit b ∈ N untuk setiap r ∈ N ,
menurut proses berulang, menjadikannya apa yang disebut cipher blok iterasi. Sebuah
kuncik adalah input dan subkunci k j untuk j=1 ,2 , ..., r dihasilkan dengan ditentukan
jadwal kunci. Umumnya, k j ≠ k i untuk j ≠ i, dan k ≠ k j untuk sembarang j .
Sebuah fungsi F, disebut fungsi putaran (diulang selamar putaran, yang semuanya
memiliki konstruksi yang sama), bekerja pada pasangan plaintext:
( R j−1 , k j ) untuk j=1,2, … , r
dengan cara yang ditentukan, bersamaan dengan fungsi switching. Teks sandi
keluaran (output) adalah
( L j , R j ) ,dimana L j−R j−1
Dan
R j=L j−1 ⊕f ( R j−1 , k j )**
Dengan kata lain, jika
( L0 , R 0 )=( R−1 , R 0)
adalah input awal plaintext, maka untuk putaran j=1 ,2 , ..., r +1 ,
( L j−1 , R j −1 ) =( R j−2 , R j−1 )
Adalah input dan
( L j , R j )=(R j−1 , L j−1 ⊕ f ( R j−1 , k j ) )***
Adalah output.
Metodologi yang ditentukan untuk setiap putaran adalah pergantian dilakukan pada
data sebelah kiri, dari putaran sebelumnya, melalui aksi di sebelah kanan sisi (**),
untuk menghasilkan
( L j−1 ⊕ f ( R j−1 , k j ) , R j−1 ) .****
Ini diikuti oleh permutasi yang menghasilkan (***), yang pada dasarnya dihasilkan
dari swap dari dua bagian data di (****). Proses ini ternyata konfigurasi metodologi
yang disebut jaringan substitusi-permutasi (SPN) dikemukakan oleh Shannon.
Enkripsi Feistel di atas pada dasarnya adalah algoritma yang sama dengan skema de
ciphering. Untuk menguraikan, seseorang memasukkan ciphertext dengan
menggunakan subkunci dalam urutan terbalik. Karenanya, kami memiliki fitur yang
bagus untuk implementasi di bahwa pada dasarnya algoritma yang sama digunakan
untuk enkripsi dan dekripsi. Kami sekarang melihat beberapa fitur desain cipher
Feistel. Kami hanya menguraikan pernyataan paling sederhana tentang setiap prinsip,
yang akan kami kembangkan di bagian ini.
2) Feistel Design Principles
a. Ukuran Blok : Panjang blok besar dipilih untuk meningkatkan keamanan, dengan
panjang blok 64-bit telah umum, tetapi panjang blok 128 bit atau lebih, menjadi
standar karena tuntutan modern yang berasal dari peningkatan perkembangan
kriptonalitik.
b. Panjang Kunci : Saat pertama kali dikembangkan, panjang kunci 64-bit
digunakan, tetapi, seperti yang kita telah lihat, ini tidak aman dari serangan
cryptanalytic. Sekarang biasanya panjang kunci 128-bit menjadi standar.
c. Putaran dan Fungsi Putaran: Lebih banyak putaran berarti lebih aman, dengan
biasanya enam belas putaran menjadi yang paling umum. Fungsi bulat dengan
kompleksitas yang meningkat menambah keamanan
d. Subkunci : Pembuatan subkunci dari kunci input selama operasi dari algoritma
membantu dalam menggagalkan cryptanalysis.

S-DES dan DES adalah contoh cipher Feistel (dengan satu-satunya deviasi dari
penjelasan di atas bahwa DES dan S-DES dimulai dan diakhiri dengan permutasi). S-
DES memiliki fungsi putaran yang diberikan di atas dengan r =2 dan pembangkitan
subkunci dijelaskan dalam jadwal kunci di atas. DES adalah cipher Feistel dengan
r =16.

Sekarang kita berada dalam posisi untuk menjelaskan detail intim tentang bagaimana
substitusi dan permutasi digunakan dalam sandi Feistel secara umum, dan DES secara
khusus.

3) Confusion and Diffusion


DES pada dasarnya adalah cipher blok yang menggabungkan teknik dasar
kriptografi, kebingungan(confusion) dan difusi. Kebingungan mengaburkan hubungan
antara plaintext dan ciphertext, yang menggagalkan upaya cryptanalyst mempelajari
ciphertext dengan mencari redudansi dan pola statistik. Itu cara terbaik untuk
menimbulkan kebingungan adalah melalui penggunaan algoritma substitusi kompleks.
(Perhatikan bahwa substitusi linier sederhana seperti yang telah kita pelajari
sebelumnya akan menambah kebingungan yang dapat diabaikan. Perlu untuk
memiliki kompleks yang dalam algoritma substitusi untuk menyebabkan
kebingungan.)
Difusi menghilangkan redundansi teks biasa dengan menyebarkannya
ciphertext, yang menggagalkan upaya cryptanalyst untuk mencari redundancies atau
redudansi di plaintext melalui pengamatan ciphertext. Yang paling sederhana cara di
mana kita dapat menyebabkan difusi dalam sandi blok biner adalah dengan
melakukan permutasi berulang kali pada data diikuti dengan penerapan fungsi untuk
permutasi itu. Ini menghasilkan bit dari posisi yang berbeda di plaintext berkontribusi
pada posisi yang sama dalam ciphertext. Karena DES melibatkan permutasi awal
diikuti dengan enam belas putaran substitusi, maka permutasi terakhir, DES pada
dasarnya menggunakan urutan kebingungan dan difusi teknik.
Pada tahun 1949, Shannon menerbitkan di mana istilah "kebingungan" dan
"difusi" diperkenalkan. Idenya adalah untuk menggagalkan analisis frekuensi oleh
cryptanalysts.
Ukuran blok teks biasa dalam DES dari input kunci 64-bit (dikurangi menjadi
56 bit dalam algoritma, karena delapan bit adalah bit pemeriksaan paritas yang
dibuang) terbukti tidak aman untuk tujuan modern. AES baru, yang akan kita pelajari
nanti, memiliki panjang kunci 128-bit, yang umum di sebagian besar sistem kripto
modern. (Banyak dari kita akan melihat di bagian bawah browser kita, kapan masuk
ke situs web yang aman seperti perbankan online, sesuatu yang mirip dengan

“koneksi aman — RC4: 128-bit terenkripsi”

Ini mengacu pada cipher RC4 128-bit Rivest yang aman, sebuah cipher “aliran”.
Semakin besar jumlah putaran dalam sandi Feistel, semakin besar lebih besar
keamanannya. Hari ini, enam belas putaran adalah tipikal. Tentu saja, semakin besar
kompleksitas fungsi putaran, semakin besar kesulitan untuk cryptanalyst `ala
Shannon. Nyatanya, Shannon menetapkan perintah pada tahun 1940-an untuk
kriptosistem kunci simetris yang aman. Dia pertama kali menggemakan Prinsip
Kerckhoffs. Selain itu, ia menetapkan bahwa setiap sandi yang aman harus
menyertakan keduanya teknik kebingungan dan difusi, seperti halnya DES, misalnya.

Mari kita tinjau cipher klasik dalam hal ini. Substitusi monolapabitik sandi
gagal kriteria Shannon pada kedua hal karena tidak ada kebingungan atau difusi,
mengingat bahwa semua simbol plaintext dikirim ke simbol ciphertext yang sama dan
tidak ada transposisi. Dengan cipher substitusi polyalphabetic seperti Vignere, ada
penggunaan kebingungan, karena huruf teks biasa tidak masuk ke huruf ciphertext
yang sama, tetapi gagal dalam difusi karena tidak ada transposisi. Cipher transposisi
menggunakan definisi difusi tetapi kebingungan belum tentu dipekerjakan, dan tentu
tidak efektif. Sekarang, kita kembali ke DES.

4) Double DES
Seseorang dapat memperkuat DES dengan banyak enkripsi (yang berarti
penerapan algoritma enkripsi beberapa kali dengan cara yang sama seperti yang kita
lakukan menulis fungsi berkali-kali). Misalnya, ada DES ganda di mana kami
memiliki dua kunci k 1 dan k 2 sehingga enkripsi diberikan oleh

Ek ◦ E k =Ek ( Ek ( m ) )=c untuk semua m∈ M


2 1 2 1

Dan dekripsi oleh


m=D k ( D k ( m ) )=D k ◦ D k ( c ) .
1 2 1 2

Di permukaan, tampaknya panjang kunci yang nyata dalam DES ganda skema
melibatkan 2 × 56 = 112 bit, yang akan menjadi peningkatan yang signifikan dalam
keamanan atas DES. Namun, kenyataan memiliki cara mengganggu harapan. Double
DES hanya memiliki tingkat keamanan panjang kunci 56-bit (yang membuatnya lebih
baik digunakan daripada DES asli, yang memiliki keamanan panjang kunci 55-bit
karena sifat pelengkap yang dijelaskan pada halaman 145). Kelemahan ini DES ganda
dibuktikan oleh Merkle dan Hellman pada tahun 1981. Mereka menunjukkan bahwa
keamanan dikurangi dari 112 bit menjadi 56 bit dengan memanfaatkan serangan meet
in-the-middle, yang sekarang kami jelaskan demi kelengkapan. Apalagi, bentuk
serangan ini terkait erat dengan serangan lain (disebut “serangan ulang tahun”).
Serangan meet-in-the-middle diperkenalkan pada tahun 1977 oleh Diffie dan
Hellman. Hal ini didasarkan pada pengamatan sederhana berikut. Sejak
Ek ( E k ( m ) ) =c ,maka Dk ( c )=Ek ( m ) ,
2 1 2 1

mengingat bahwa D k ◦ Ek adalah fungsi identitas, menurut definisi. Cara serangannya


2 2

bekerja adalah bahwa kita diberi pasangan plaintext/ciphertext yang diketahui


(m1 , c1 ), dan kita siapkan tabel, yang akan kita sebut T 1, dari nilai (diurutkan) yang
terdiri dari semua 256 kemungkinan nilai Ek (m) . Sekarang kita mulai menghitung
1

tabel lain yang terdiri dari semua kemungkinan nilai D k (c ), satu per satu, periksa
2

masing-masing nilai tersebut dalam tabel T 1. Jika ada kecocokan, katakanlah


(K 1 , K 2), maka kita ambil yang lain, yang diketahui pasangan plaintext/ciphertext
(m2 , c2 ) dan periksa persamaannya:
D k ( c 2 )=E k ( m2 )
2 1

Jika demikian, kami menerima pasangan kunci ini sebagai kunci yang sah
Untuk melihat mengapa ini berhasil, pertimbangkan yang berikut ini.
Misalkan kita memiliki kumpulan nilai elemen N dan kita ingin menemukan
kecocokan dari keduanya. (Bandingkan dengan serangan ulang tahun). Katakanlah
kita pisah nilai menjadi dua set nilai n1 dan n2 . Ada n1 n2 pasang elemen dan setiap
pasangan memiliki peluang 1/ N untuk mencocokkan. Oleh karena itu, perbandingan
kemungkinan besar akan terjadi terjadi ketika (n1 n2 )/N mendekati 1. Jadi, jika kita
memilih
n1 ≈ n2 ≈ √ N ,
kami mencapai efisiensi maksimum dalam pencarian ini. Sekarang, kembali ke situasi
spesifik dengan DES ganda. Karena N=2112 dan √ N=256 , kita lihat mengapa efektif
keamanan panjang kunci dari DES ganda adalah 256. Tingkat enkripsi berganda ini
adalah oleh karena itu tidak cukup. Kita butuh lebih.
Di penghujung abad ke-20 ketika DES telah mencapai ujungnya, dan sebelum
AES mulai berlaku, NIST mengusulkan standar sementara.

5) Triple DES
Biarkan Ee dan D d menunjukkan transformasi penyandian dan penguraian DES,
masing-masing, dan biarkank menunjukkan kunci DES. Kami menggunakan tiga
kunci k j untuk j=1 ,2 , 3. Kemudian enkripsi teks biasa melalui
Ek ( D k ( E k ( m ) ) )=c
3 2 1

Dan dekripsi dengan


D k ( E k ( D k ( m ) ) )=m
1 2 3

Beberapa enkripsi memperkuat cipher selama kita tidak memiliki k 1=k 2 atau k 2=k 3 ,
karena itu baik D k ◦ Ek atau Ek ◦ D k adalah fungsi identitas jadi kami kembali ke titik
2 1 2 3

awal dengan DES tunggal. Diperbolehkan bahwa k 1=k 3, atau jika semuanya berbeda.

6) DES Security-Related Issues


Ternyata banyak enkripsi DES akan menjadi tidak berguna jika itu adalah
kasus bahwa untuk setiap kunci yang diberikan k 1 dan k 2 terdapat kunci k 3 sehingga
Ek ( m )=E k (E k ( m) )
3 2 1

untuk semua input plainteks m. (Properti ini, jika dimiliki, akan sama saja dengan
permutasi DES ditutup di bawah komposisi, dan ini akan terjadi jika DES memenuhi
sifat bahwa himpunan permutasi tertutup sebagai grup di bawahnya komposisi.)
Kemudian beberapa enkripsi akan direduksi menjadi enkripsi tunggal dan sekali lagi
kami akan kembali ke titik awal. Namun, pada tahun 1992, Campbell dan Weiner
menyelamatkan hari dengan membuktikan,bahwa DES bukanlah sebuah grup.
Faktanya, mereka menunjukkan bahwa batas bawah pada ukuran kelompok dihasilkan
dengan menyusun himpunan permutasi adalah 102499. Jadi, karena kita aman dalam
masalah ini, maka dengan pilihan yang tepat dari tiga kunci triple DES memiliki
panjang kunci efektif 168 bit, menjadikannya alternatif yang masuk akal, dan triple
DES tahan terhadap serangan meet-in-the-middle. Konon, triple DES masih mewarisi
kelemahan DES, seperti kunci lemah, kunci semi lemah, dan properti pelengkap yang
disebutkan lebih awal. (Harus ditunjukkan, untuk mengantisipasi studi selanjutnya,
bagian itu dari Standar Operasi Mode ANSI X59.52 Triple DES, yang melibatkan
Mode CBC yang dijelaskan pada halaman berikutnya, dikriptanalisis pada tahun
2002. Sebagai akibatnya, ANSI menghapus mode ini dari standar yang diusulkan.)
Ada kemungkinan penguatan DES lainnya. Rivest mengembangkan yang
terbukti peningkatan yang kuat untuk DES, disebut DESX. Itu hanya melakukan hal
berikut. Memilih tiga kunci k 1 , k 2 , k 3, dan encipher dengan mengeksekusi
k 1 ⊕ Ek ( k 3 ⊕m ) .
2

Dengan kata lain, kita menambahkan kunci 64-bit k 3 modulo 2 ke input plainteks m
sebelum dienkripsi, lalu kita mengenkripsi hasilnya dengan kunci k 2, dan terakhir
menambahkan Kunci 64-bit k 1 modulo 2 ke ciphertext. Pada tahun 1996, Kilian dan
Rogaway mendemonstrasikan peningkatan keamanan DESX dibandingkan DES.
Keamanan DESX terhadap serangan DC kira-kira setara dengan DES.
Sebuah serangan yang dikembangkan lebih baru dari DC adalah satu oleh
Matsui pada tahun 1994, disebut kriptoanalisis linier (LC). Ini adalah salah satu
serangan plaintext paling terkenal terhadap block cipher. LC menggunakan perkiraan
linier untuk menggambarkan perilaku block cipher yang diserang. Matsui berhasil
menggunakan LC melawan DES untuk mendapatkan kunci dengan 2^43 teks biasa
yang diketahui. Di dalam umumnya, cipher blok dengan S-Box yang lebih besar
kurang rentan terhadap DC dan LC attack.

Anda mungkin juga menyukai