memberikan
perlindungan privasi.
375
Kriptografi merupakan sebuah ilmu yang mempelajari bagaimana cara menjaga agar data atau
pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari
pihak ketiga. Naskah asli yang diacak memanfaatkan sebuah kunci enkripsi sehingga naskah asli
ini berubah menjadi naskah yang sulit dibaca (chipertext) oleh pihak yang tidak memiliki kunci
dekripsi. Bagi banyak orang, manual pemakai untuk kriptografi sudah cukup. namun bagi orang-
orang yang menginginkan atau membutuhkan detail lebih lanjut tentang topik ini, kami memperluas
kriptografi dalam bab ini.
Kita mulai dengan pengenalan kriptanalisis. Kriptanalisis yaitu sebuah studi mengenai cipher,
ciphertext atau cyrptosystems yang bertujuan menemukan kelemahan dalam sistem penyandian,
sehingga dimungkinkan untuk memperoleh plaintext dari ciphertext yang ada, tanpa perlu mengetahui
kunci ataupun algoritma pembangun ciphertext ini . Cara ini disebut dengan memecahkan
cipher, ciphertext atau cryptosystem.
Kriptografi mengacu pada informasi dan teknik komunikasi yang berasal dari konsep matematika dan
seperangkat perhitungan berbasis aturan yang disebut algoritma. Algoritma dan konsep perhitungan
matematika ini nantinya akan dipakai untuk mengubah sebuah pesan dengan cara yang sulit
diuraikan.
Bab ini akan membahas tentang:
• Kriptologi, kriptanalisis
• Enkripsi simetris: DES, AES, dan RC2, RC4, RC5, dan RC6
• Enkripsi asimetris: RSA
• Intisari pesan: SHA
• Tanda tangan digital: Kriptosistem kurva elips, El Gamal, dan DSA/DSS
• Kriptografi kuantum
Kriptografi dalam Keamanan
Komputer
Bab 6
376
Kriptografi telah dipakai oleh Julius Caesar sejak zaman Romawi Kuno. Teknik ini dijuluki Caesar
cipher untuk mengirim pesan secara rahasia, meskipun teknik yang dipakai nya sangat tidak
memadai untuk ukuran kini. Casanova memakai pengetahuan mengenai kriptografi untuk
mengelabui Madame d’Urfe (ia mengatakan kepada Madame d’Urfe bahwa sesosok jin memberi
tahu kunci rahasia Madame d’Urfe kepadanya, padahal ia berhasil memecahkan kunci rahasia
berdasarkan pengetahuannya mengenai kriptografi), sehingga ia mampu mengontrol kehidupan
Madame d’Urfe secara total. (Kromodimoeljo, 2010).
Contoh algoritma seperti ini sering dipakai untuk pembuatan kunci kriptografi, penandatanganan
digital, verifikasi untuk melindungi privasi data, penjelajahan situs web di internet, dan komunikasi
pribadi seperti transaksi kartu kredit dan email. Kami menyimpulkan bab ini dengan beberapa aplikasi
di mana kriptografi tertanam: kode hash dan tanda tangan digital.
Kriptografi yaitu topik khusus yang bergantung pada beberapa bidang matematika dan ilmu
komputer teoretis, termasuk teori bilangan, aljabar medan hingga, kompleksitas komputasi, dan
logika. Setelah membaca ikhtisar ini, Anda perlu mengembangkan latar belakang yang signifikan
untuk mempelajari kriptografi secara mendalam. Dan kami sangat memperingatkan Anda agar tidak
mempelajari sedikit kriptografi dan menyimpulkan bahwa Anda dapat merancang sistem kriptografi
aman Anda sendiri. Bidang kriptografi dipenuhi dengan pendekatan gagal yang dirancang bahkan
oleh para ahli, jadi yang tidak ahli disarankan untuk “menyerahkan kendali kepada para profesional.”
Lihat, misalnya, Studi Kasus 6-1 tentang bahayanya menciptakan kriptografi Anda sendiri.
Studi Kasus 1-2 : Bos Mafia memakai Enkripsi
Ditangkap di Sisilia pada April 2006, kepala keluarga mafia Italia yang terkenal,
Bernardo Provenzano, membuat catatan, pizzini dalam dialek Sisilia. Saat ditangkap,
ia meninggalkan sekitar 350 lembar uang kertas. Di restoran pizza dia memberikan
instruksi kepada para letnannya tentang orang-orang tertentu.
Alih-alih menulis nama seseorang, Provenzano memakai variasi sandi Caesar
di mana huruf diganti dengan angka: A dengan 4, B dengan 5, ... Z dengan 24 (hanya
ada 21 huruf dalam alfabet Italia). Jadi dalam salah satu catatannya string “… Saya
bertemu 512151522 191212154 dan kami sepakat bahwa kami akan bertemu setelah
liburan …,” mengacu pada Binnu Riina, seorang rekan yang ditangkap segera setelah
Provenzano. Polisi mendekripsi catatan yang ditemukan sebelum penangkapan
Provenzano dan memakai petunjuk di dalamnya untuk menemukan bos yang
dicari selama 40 tahun.
Semua catatan tampaknya memakai enkripsi yang sama, membuatnya sepele
untuk didekripsi begitu polisi melihat polanya.
Saran yang mungkin kami buat untuk Sig. Provenzano: gunakan algoritma
enkripsi yang kuat, ubah kunci enkripsi dari waktu ke waktu, dan pekerjakan ahli
kriptografi.
377
6.1 Kriptologi
Pada bagian ini kita mempelajari dua hal terkait: menemukan kode dan memecahkannya. Pemain
olahraga mempelajari gerakan ofensif dengan mempelajari manuver defensif, dan sebaliknya. Oleh
sebab itu, kami menyajikan aspek primitif membuat dan memecahkan kode bersama-sama.
Kriptografi memicu timbulnya kriptanalisis, yaitu ilmu pengetahuan dan seni untuk membongkar
data acak. Praktisi dari kriptanalisis disebut kriptanalis. Kriptanalis berkembang sejalan dengan
kriptografi. Setiap ada algoritma kriptografi baru yang dibuat oleh kriptografer, langsung diikuti oleh
adanya upaya percobaan kriptanalisis. Percobaan kriptanalisis ini disebut attack (serangan).
6.1.1 Kriptanalisis
Kriptanalisis yaitu tindakan mempelajari algoritma kriptografi, implementasinya, plaintext, ciphertext,
dan informasi lain yang tersedia untuk mencoba merusak perlindungan enkripsi.
Kriptanalisis mencoba megembalikan data jelas tanpa akses ke ke kunci kriptografi. Ukuran
keberhasilan suatu upaya kriptanalisis yaitu sampai sejauh mana keberhasilan diketahuinya data
jelas atau kunci kriptografi. Asumsi dasar dari suatu kriptosistem yaitu bahwa seorang kriptanalis
mengetahui keseluruhan mekanisme enkripsi kecuali kuncinya.
Ciphertext-only attack
Pada jenis serangan ini, kriptanalis mempunyai ciphertext dari beberapa data yang dienkripsikan
dengan algoritma kriptografi yang sama. Tujuan kriptanalis yaitu mendapatkan plaintext dari
ciphertext atau lebih baik lagi menarik kesimpulan megnenai kunci yang dipakai .
Known-plaintext attack
Pada jenis serangan ini, kriptanalis tidak hanya memiliki ciphertext, namun juga plaintext dari ciphertext
ini . Tujuan kriptanalis yaitu menarik kesimpulan mengenai kunci yang digunkan untuk
mengenkripsi data atau algoritma untuk mendekripsikan ciphertext.
Chosen-plaintext attack
Pada jenis serangan ini, kriptanalis selain megetahui ciphertext dan plaintext, juga dapat memilih
plaintext yang diinginkan yang biasanya memiliki lebih banyak informasi tentang kunci. Tujuan
kriptanalis yaitu menarik kesimpulan mengenai kunci yang diguankan untuk mengenkripsi data.
Adaptive-chosen-plaintext attack
Pada hal ini kriptanalis tidak hanya dapat memilih plaintext yang telah dienkripsi, tapi ia juga dapat
memodifikasi pilihannya ini berdasarkan hasil enkripsi sebelumnya. Kriptanalis mengetahui blok
plaintext yang lebih kecil dan lalu memilih yang lainnya berdasarkan hasil enkripsi pertama,
kedua dan seterusnya.
378
Seorang cryptanalyst dapat mencoba melakukan salah satu atau semua dari enam hal yang
berbeda:
• Memcahkan (dekripsi) satu pesan.
• Mengenali pola dalam pesan terenkripsi, untuk memecahkan pola berikutnya dengan
menerapkan algoritme dekripsi langsung.
• Menyimpulkan beberapa makna bahkan tanpa merusak enkripsi, seperti memperhatikan
frekuensi komunikasi yang tidak biasa atau menentukan sesuatu berdasarkan apakah
komunikasi itu pendek atau panjang.
• Mudah menyimpulkan kunci untuk memecahkan satu pesan, dan mungkin pesan
berikutnya.
• Menemukan kelemahan dalam implementasi atau lingkungan pemakai an enkripsi oleh
pengirim.
• Menemukan kelemahan umum dalam algoritme enkripsi, tanpa harus mencegat pesan apa
pun.
Selain serangan-serangan ini, satu pendekatan lain yang layak disebut, meskipun tidak secara
langsung melibatkan enkripsi itu sendiri. Penyerang dapat mencoba memperoleh data sebelum
enkripsi atau setelah dekripsi, misalnya, dengan mengetuk jalur komunikasi atau memodifikasi program
atau sistem operasi. Meskipun bukan teknik kriptografi, metode ini menegaskan bahwa penyerang
harus diharapkan memakai segala cara untuk mendapatkan data yang diinginkan.
Kadang-kadang analis cukup beruntung untuk mendapatkan salinan dari algoritma atau mesin
enkripsi, situasi yang dijelaskan di Studi Kasus 6-2. Dalam hal ini analis dapat menghasilkan banyak
pesan, menjalankannya melalui mesin, dan melihat hasilnya.
Studi Kasus 6-2 : Kesalahan Manusia memicu Kode Rusak
Kahn menjelaskan sejarah mesin Enigma, alat mekanis yang dipakai oleh Jerman
dalam Perang Dunia II untuk mengacak pesan dan mencegah musuh memahaminya.
Enigma didasarkan pada roda berputar, atau rotor, yang dihubungkan bersama
dan terhubung ke keyboard mesin tik. Ada begitu banyak cara untuk mengenkripsi
pesan sehingga bahkan jika 1.000 analis mencoba empat cara berbeda setiap menit,
sepanjang hari, setiap hari, tim akan membutuhkan waktu 1,8 miliar tahun untuk
menguji semuanya.
Jadi bagaimana Sekutu memecahkan enkripsi? Pertama, mereka memanfaatkan
kemungkinan obrolan melalui kabel tentang peristiwa setiap hari. Dengan menebak
bahwa Jerman akan mendiskusikan tempat atau masalah tertentu, Sekutu menemukan
bagian teks acak yang dapat mereka hubungkan dengan pesan asli, atau teks jelas.
Selanjutnya, mereka berkonsentrasi pada pesan Luftwaffe.
Mengandalkan kemungkinan bahwa pemberi sinyal Luftwaffe tidak terlatih dengan
baik seperti yang ada di Angkatan Darat atau Angkatan Laut, Sekutu lalu
mengawasi kesalahan yang meningkatkan kemungkinan memahami pesan
379
Ciphertext dari Any Plaintext
Analis, setelah menyusup ke proses transmisi pengirim, dapat secara menguntungkan memicu
pesan dienkripsi dan dikirim sesuka hati. Serangan ini disebut serangan plaintext terpilih. Misalnya,
analis dapat memasukkan catatan ke dalam database dan mengamati perubahan statistik setelah
penyisipan. Pemrograman linier terkadang memungkinkan analis semacam itu untuk menyimpulkan
data dalam database yang harus dirahasiakan. Sebagai alternatif, seorang analis dapat menyadap
kabel dalam jaringan dan memperhatikan efek pengiriman pesan tertentu ke pemakai jaringan
tertentu. cryptanalyst mungkin orang dalam atau memiliki rekan orang dalam yang dapat memicu
transaksi tertentu tercermin dalam ciphertext; misalnya, orang dalam dapat meneruskan pesan
yang dihasilkan dari penerimaan pesanan dalam jumlah besar. Serangan plaintext yang dipilih
menguntungkan analis. Situasi lain yang diinginkan yaitu bagi analis untuk memaksa musuh
memasukkan konten tertentu ke dalam aliran ciphertext, situasi yang dijelaskan di Studi Kasus
6-3.
Studi Kasus 6-3 : Makna Tersembunyi Mengubah Arah Perang Dunia II
terenkripsi. Misalnya, petugas sinyal Luftwaffe sering memakai "nama pacar
untuk pengaturan kunci atau memulai pesan kedua dengan pengaturan yang sama
seperti yang tersisa di akhir yang pertama." Pengetahuan ini memungkinkan
Sekutu untuk menentukan beberapa rencana Luftwaffe selama Pertempuran
Inggris.
Dengan demikian, teknologi canggih dapat dipalsukan saat protokol kontrol tidak
diikuti dengan hati-hati dan lengkap.
Pada musim semi 1942, Amerika Serikat berperang melawan Jepang di Pasifik.
Kriptanalisis Amerika telah memecahkan beberapa kode angkatan laut Jepang,
namun mereka tidak memahami pengkodean tambahan yang dipakai Jepang untuk
menggambarkan situs tertentu. Sebuah pesan yang dicegat oleh Amerika Serikat
mengatakan kepada petugas Sekutu bahwa “AF” akan menjadi target serangan
besar. Angkatan Laut AS menduga bahwa serangan itu akan dilakukan di pulau
Midway, namun itu perlu dipastikan.
Komandan Joseph Rochefort, kepala pusat kriptografi Angkatan Laut AS di Pearl
Harbor, menyusun rencana cerdas untuk menggali arti “AF.” Dia mengarahkan
kelompok angkatan laut di Midway untuk mengirim pesan, meminta air segar,
mengatakan bahwa penyulingan air telah rusak. Segera, Amerika Serikat mencegat
pesan Jepang yang menunjukkan bahwa "AF" kekurangan air— memverifikasi bahwa
"AF" memang berarti Midway!
380
Kelemahan Lainnya
Seorang cryptanalyst bekerja melawan manusia, yang bisa tergesa-gesa, malas, ceroboh, naif, atau
kurang informasi. Manusia terkadang gagal mengubah kunci kriptografi saat dibutuhkan, menyiarkan
kunci kriptografi secara jelas, atau memilih kunci dengan cara yang dapat diprediksi. Artinya,
algoritme mungkin kuat dan implementasinya efektif, namun orang yang memakai nya gagal
dalam beberapa cara dan membuka ciphertext untuk dideteksi. Orang-orang diketahui membuang
materi sensitif secara sembarangan yang dapat memberikan akses mata-mata ke teks biasa dengan
mencocokkan teks sandi yang diketahui. Dan manusia terkadang bisa disuap atau dipaksa.
Tidak hanya orang bisa salah, namun juga implementasi perangkat keras dan perangkat lunak.
Terkadang perangkat keras gagal dengan cara yang dapat diprediksi, seperti saat kepala pembaca
disk kehilangan keselarasan treknya, sehingga data sensitif yang dianggap terhapus masih ada di
disk. Di lain waktu, hal-hal yang tampaknya kecil dapat melemahkan pendekatan yang sebenarnya
kuat. Misalnya, dalam satu serangan, analis secara akurat mengukur listrik yang dipakai oleh
komputer yang melakukan enkripsi dan menyimpulkan kunci dari perbedaan daya yang dipakai
untuk menghitung 1 versus 0.
Masalah-masalah ini terpisah dari masalah algoritma itu sendiri, namun mereka menawarkan cara-
cara yang dapat dilakukan oleh seorang cryptanalyst untuk memecahkan kode. Ingatlah bahwa
satu-satunya aturan yang berlaku untuk penyerang yaitu tidak ada aturan. Contoh "apa pun yang
berfungsi" dalam kriptanalisis dijelaskan di Studi Kasus 6-4.
Studi Kasus 6-4 : Cold Data data yang benar-benar 'dingin'
Alex Halderman dan tim peneliti di Universitas Princeton menyelidiki cara baru untuk
mendapatkan kunci kriptografi. Chip memori komputer, modul memori akses acak
dinamis (DRAM), kehilangan isinya setelah kehilangan daya. Untuk semua tujuan
praktis, nilai data menghilang saat dimatikan.
Kinerja semikonduktor pada suhu rendah bervariasi dari perilaku mereka pada suhu
kamar. sebab sebagian besar semikonduktor dipakai dalam rentang suhu yang
sempit (–20°C hingga +40°C, misalnya) efeknya tidak penting. namun kriptanalisis
yaitu pertempuran "tidak ada larangan".
Namun, seperti yang dijelaskan oleh tim Halderman, kehilangan data DRAM tidak
langsung terjadi. Data tetap selama beberapa detik dan kehilangannya bertahap,
tidak sesaat . Mereka menemukan laporan tentang perangkat semikonduktor yang
menyimpan datanya selama seminggu bila dipertahankan dalam nitrogen cair, sekitar
–200 °C; mereka menjalankan tes mereka sendiri dan menemukan hanya 0,17
persen kehilangan data setelah 60 menit dalam nitrogen cair tanpa daya di luar
komputer.
Kebanyakan penyerang tidak berjalan-jalan dengan wadah nitrogen cair. Tim
Halderman memakai alternatif yang tersedia: toko elektronik menjual kaleng
aerosol "udara kalengan", semprotan untuk meniup debu dan kotoran lain dari
381
elektronik. Terlepas dari namanya, kaleng ini mengandung gas terkompresi, refrigeran
fluorohidrokarbon terkompresi, yaitu sekitar -50 ° C dalam bentuk cair, dan cairan
dapat bocor jika kaleng dibalik. Tim Halderman memakai produk semacam itu
dalam eksperimen mereka, menemukan bahwa mereka dapat menyimpan konten
memori selama beberapa menit.
Jadi bagaimana chip komputer mengarah ke kriptanalisis? Enkripsi dan dekripsi
keduanya membutuhkan kunci. Jika sebuah aplikasi melakukan kriptografi untuk
pemakai , ia harus menyimpan kunci di suatu tempat, biasanya di memori agar
tersedia untuk dimasukkan ke dalam rutin enkripsi atau dekripsi. Yang sangat
membantu yaitu bahwa program enkripsi sering kali melakukan pra-perhitungan
bagian dari pekerjaan mereka, memperdagangkan sejumlah ruang memori (untuk
menyimpan tabel yang telah dihitung sebelumnya) untuk waktu yang dihemat dengan
mengurangi pekerjaan untuk melakukan setiap enkripsi atau dekripsi. Pola tabel
yang telah dihitung sebelumnya ini membantu tim menemukan tabel ini dalam
memori, membuatnya lebih mudah ditemukan daripada, katakanlah, nomor rekening
bank. sebab tim Halderman dapat menyimpan konten chip memori, mereka memiliki
cukup waktu untuk menyalin seluruh kontennya ke media stabil lain sebelum rusak
parah. Setelah data berada pada media yang tidak mudah menguap, analis memiliki
waktu luang untuk melakukan analisis forensik terperinci pada memori, mencari
petunjuk yang menunjukkan di mana kunci disimpan.
Diakui, contoh ini menunjukkan pendekatan yang sangat kreatif (beberapa orang
mungkin mengatakan aneh atau bahkan patologis) untuk mendapatkan data sensitif.
Namun demikian, ini mencontohkan dua poin yang awalnya kami buat di Bab 1:
Pertama, penyerang dapat memakai alat atau teknik apa pun; tidak ada konsep
"bermain dengan baik" dalam kriptanalisis (atau dalam keamanan). Kedua, motivasi
itu penting; penyerang bermotivasi tinggi memiliki insentif untuk mengembangkan
dan memakai serangan yang sangat canggih yang dapat menghasilkan hasil
yang kaya.
Informasi latar belakang ini telah mempersiapkan Anda untuk mempelajari skema enkripsi yang
banyak dipakai saat ini. memakai skema ini cukup mudah, meskipun konstruksi rinci dari
algoritma bisa sangat kompleks. Saat Anda mempelajari ketiga algoritme, ingatlah kemungkinan
bahwa cryptanalyst juga bekerja untuk mengalahkan enkripsi ini.
6.1.2 Kriptografi Primitif
Saat membuat sistem kriptografi, desainer memakai primitif kriptografi sebagai blok bangunan
paling dasar mereka. sebab itu, primitif kriptografi dirancang untuk melakukan satu tugas yang
sangat spesifik dengan cara yang ditentukan secara tepat dan sangat andal.
sebab primitif kriptografi dipakai sebagai blok bangunan, mereka harus sangat andal, yaitu
bekerja sesuai dengan spesifikasinya. Misalnya, jika prosedur enkripsi mengklaim hanya dapat
dibobol X jumlah operasi komputer, dan rusak dengan jauh lebih sedikit dari X operasi, maka primitif
382
kriptografi itu telah gagal. Jika primitif kriptografi ditemukan gagal, hampir setiap protokol yang
memakai nya menjadi rentan. sebab membuat rutinitas kriptografi sangat sulit, dan mengujinya
membutuhkan waktu lama, pada dasarnya tidak pernah masuk akal (atau aman) untuk merancang
primitif kriptografi baru untuk menyesuaikan dengan kebutuhan sistem kriptografi baru.
Kriptografi melibatkan dua teknik dasar: mengganti dan mengacak. Operasi ini dapat diterapkan
dalam pola yang kompleks. Dengan komputer, kompleksitas pola hanya dibatasi oleh waktu yang
bersedia dicurahkan untuk proses enkripsi dan dekripsi.
Substitusi dan Transposisi
Cipher Substitusi yaitu cipher dengan cara mensubstitusi huruf dengan huruf yang lain sesuai
dengan yang ditetapkan. Prinsip utama cipher substitusi yaitu menukarkan setiap huruf pada
plainteks dengan sesuatu. Cipher substitusi termasuk algoritma kriptografi klasik. Idenya yaitu
menggantikan sebuah atau lebih huruf pada plainteks dengan sebuah atau lebih huruf pada plainteks
dengan aturan tertentu. Aturan ini bergantung cara proses enkripsi dan dekripsi.
Dua primitif kriptografi yaitu substitusi dan transposisi. Dalam substitusi, satu set bit ditukar dengan
yang lain. Jika enkripsi bekerja pada huruf alfabet, setiap huruf dapat diganti dengan yang lain, seperti
teka-teki kriptogram yang diterbitkan di beberapa surat kabar. Substitusi juga dapat dilakukan pada
byte atau blok data dengan ukuran lain. Substitusi melibatkan pencarian tabel sederhana, sehingga
dapat dilakukan dengan cepat, dan prosesor kriptografi perangkat keras dapat dioptimalkan dengan
tabel substitusi yang dikodekan dalam memori prosesor.
Sandi substitusi yaitu jenis metode enkripsi dimana setiap satuan pada teks terang digantikan oleh
teks tersandi dengan sistem yang teratur. Metode penyandian substitusi telah dipakai dari zaman
dulu (kriptografi klasik) hingga kini (kriptografi modern).
Langkah pertama yaitu membuat suatu tabel substitusi. Tabel substitusi dapat dibuat sesuka
hati, dengan catatan bahwa penerima pesan memiliki tabel yang sama untuk keperluan decrypt.
Bila tabel substitusi dibuat secara acak, akan semakin sulit pemecahanciphertext oleh orang yang
tidak berhak. Metode ini dilakukan dengan mengganti setiap huruf dari teks asli dengan huruf lain
sebagai huruf sandi yang telah didefinisikan sebelumnya oleh algoritma kunci.
Contoh:
Metode Penyandian Substitusi Sederhana
383
Pada penyandian substitusi, setiap unit plainteks digantikan dengan satu unit chiperteks. Satu uni
disini bisa saja berupa saty huruf, pasangan huruf, atau sekelompoik huruf (lebih dari 3 huruf).
Untuk membaca huruf aslinya kembali dari teks asli, cukup dengan membalik prosesnya. Metode
ini dengan mengganti setiap huruf dari teks asli dengan huruf lain sebagai huruf sandi yang telah
didefinisikan debelumnya oleh algoritma kunci.
Jenis-jenis CipherSubstitusi
1. Cipher Abjad - Tunggal (Monoalphabetic Cipher)
2. Cipher Substitusi Homofonik (Homophonic substitution cipher)
3. Cipherabjad – majemuk (Polyalpabetic substitution cipher)
4. Cipher Substitusi Poligram (Polygram substitution cipher)
CAESAR CIPHER 1
Plain text: MAHASISWA BARU
Nomor: 12 0 7 0 18 8 18 22 0 1 0 17 20
Transformasi(n=3): 3+Pt
15 3 10 3 21 11 21 25 3 4 3 20 23
Chipertext: PDKDVLVZD EDUX
CAESAR CIPHER 2
Tiap huruf alfabet digeser 3 huruf kekanan
Contoh:
Plainteks : KEAMANAN SISTEM KOMPUTER
Cipherteks : NHDPDQDQ VLVWHP NRPSXWHU
CAESAR CIPHER 3
Dalam praktek, cipherteks dikelompokkan kedalam kelompok n - huruf, misalnya kelompok 4 -
huruf:
NHDP DQDQ VLVW HPNR PSXW HU
Atau membuang semua spasi:
NHDPDQDQVLVWHPNRPSXWHU
Tujuannya agar kriptanalisis menjadi lebih sulit
CAESAR CIPHER 4
Misalkan A = 0, B = 1, …, Z = 25,
maka secara matematis caesar cipher dirumuskan sebagai berikut:
Enkripsi: ci = E(pi) = (pi + 3) mod 26
Dekripsi: pi = D(ci) = (ci – 3) mod 26
Jika pergeseran huruf sejauh k, maka:
Enkripsi: ci = E(pi) = (pi + k) mod 26
Dekripsi: pi = D(ci) = (ci – k) mod 26
k = kunci rahasia
384
Untuk 256 karakter ASCII, maka:
Enkripsi: ci = E(pi) = (pi + k) mod 256
Dekripsi: pi = D(ci) = (ci – k) mod 256
k = kunci rahasia
Kelemahan substitusi yaitu keteraturannya. Dalam substitusi berbasis huruf, jika E selalu diganti
dengan p, frekuensi ciphertext p akan sama dengan plaintext E, memberikan petunjuk kepada
analis. Untuk alasan ini, substitusi jarang dipakai sendiri. Kadang-kadang tabel substitusi diubah,
sehingga, misalnya, E kadang-kadang diganti dengan p dan kadang-kadang oleh w. pemakai an
beberapa penggantian ini membantu memuluskan pola yang terlihat dalam ciphertext keluaran.
Transposisi melibatkan penataan ulang urutan ciphertext untuk memecahkan pola berulang di
plaintext yang mendasarinya. Beberapa surat kabar juga menerbitkan teka-teki kata-kata individu,
yang huruf-hurufnya telah diacak. Pemecah teka-teki ini mencari pola huruf umum, seperti Q diikuti
oleh U, E-D, I-N-G, dan terminal S. Jika transposisi dipakai dengan sendirinya, pola ortografi ini
membantu memecahkan teka-teki.
Salah satu teknik enkripsi yang terpenting yaitu permutasi atau sering juga disebut transposisi.
Teknik ini memindahkan atau merotasikan karakter dengan aturan tertentu. Prinsipnya yaitu
berlawanan dengan teknik substitusi. Dalam teknik substitusi, karakter berada pada posisi yang
tetap tapi identitasnya yang diacak. Pada teknik permutasi, identitas karakternya tetap, namun
posisinya yang diacak.
Caranya
Sebelum dilakukan permutasi, umumnya plaintext terlebih dahulu dibagi menjadi blok-blok dengan
panjang yang sama.
Plaintext akan dibagi menjadi blok-blok yang terdiri dari 6 karakter, dengan aturan permutasi,
sebagai berikut :
Banyak algoritma kriptografi melibatkan substitusi dan transposisi; substitusi memuluskan distribusi
keluaran ciphertext dan transposisi memecah pola yang tampak dari unit plaintext berikutnya.
385
Prinsip Confusion dan Diffusion
Dua konsep penting tambahan terkait dengan jumlah pekerjaan yang diperlukan untuk melakukan
enkripsi. Sebuah algoritma enkripsi harus mengambil informasi dari plaintext dan mengubahnya
sehingga pencegat tidak dapat dengan mudah mengenali pesan ini . Interseptor seharusnya
tidak dapat memprediksi apa yang akan terjadi pada ciphertext dengan mengubah satu karakter
pada plaintext. Kami menyebutnya confusion. Algoritma yang memberikan kebingungan yang baik
memiliki hubungan fungsional yang kompleks antara plaintext/key pair dan ciphertext. Dengan cara
ini, sebuah interseptor akan membutuhkan waktu yang lama untuk menentukan hubungan antara
plaintext, key, dan ciphertext; oleh sebab itu, pencegat akan membutuhkan waktu lama untuk
memecahkan kode. Pergantian menghasilkan kebingungan.
Prinsip Confusion menyembunyikan hubungan apapun yang ada antara plainteks, cipherteks, dan
kunci. Prinsip Confusion akan membuat kriptanalis frustasi untuk mencari pola-pola statistik yang
muncul cipherteks. Confusion yang bagus membuat hubungan statistik antara plainteks, chiperteks,
dan kunci menjadi sangat rumit.
Cipher juga harus menyebarkan informasi dari plaintext ke seluruh ciphertext sehingga perubahan
pada plaintext mempengaruhi banyak bagian ciphertext. Prinsip ini disebut diffusion, karakteristik
pendistribusian informasi dari satu huruf plaintext ke seluruh keluaran. Difusi yang baik berarti
bahwa pencegat membutuhkan akses ke sebagian besar ciphertext untuk dapat menyimpulkan
algoritma. Prinsip diffusion menyebarkan pengaruh satu bit plainteks atau kunci ke sebanyak mungkin
cipherteks. Prinsip Diffusion juga menyembunyikan hubungan statistik antara plainteks, cipherteks,
dan kunci dan membuat kriptanalisis menjadi sulit.
One-Time Pad
One Time Pad merupakan salah satu algoritma yang populer dan sering dipakai dalam teknik
kriptografi. OTP termasuk kelompok algoritma yang simetris dalam kriptografi dimana kunci enkripsi
dan dekripsi dalam bentuk dan panjang yang sama, serta memakai operasi XOR (Ignatius et
al. 2017). Keunggulan OTP yaitu sangat sulit untuk dipecahkan tapi memiliki kekurangan dimana
kunci yang dipakai kadang terlalu panjang sebab harus menyesuaikan jumlah karakter yang
akan dienkripsi (Tornea et al. 2011).Dari semua metode kriptografi yang telah dirancang, OTP yaitu
metode yang telah terbukti benar-benar aman secara matematis.One Time Pad bisa dikatakan
jika memenuhi kondisi berikut (Sari et al. 2016)kunci harus sepanjang plainteks, kunci harus acak
seluruhnya atau sepenuhnya berbeda, kunci hanya sekali dipakai setiap melakukan enkripsi,
danhanya terdapat dua salinan dari kunci: satu untuk pengirim dan satu untuk penerima(Shukla et
al. 2013).
One-Time Pad dianggap sebagai sandi yang sempurna. Ini yaitu sandi substitusi murni. Nama
ini berasal dari metode enkripsi di mana satu set kunci besar yang tidak berulang ditulis pada
lembaran kertas, direkatkan menjadi satu pad. Misalnya, jika kuncinya yaitu 20 karakter dan
pengirim harus mengirimkan pesan sepanjang 300 karakter, pengirim akan merobek 15 halaman
kunci berikutnya. Pengirim akan menulis huruf-huruf kunci satu per satu di atas huruf-huruf plaintext
dan menyandikan setiap plaintext dengan substitusi yang telah diatur sebelumnya yang melibatkan
setiap huruf plaintext dan nilai kunci yang tertulis di atasnya. Pengirim lalu akan menghancurkan
kunci yang dipakai .
386
Agar enkripsi berfungsi, penerima memerlukan pad yang identik dengan pad pengirim. Setelah
menerima pesan, penerima mengambil jumlah kunci yang sesuai dan menguraikan pesan seolah-
olah itu yaitu substitusi biasa dengan kunci yang panjang. Pada dasarnya, algoritma ini memberikan
efek kunci selama jumlah karakter di pad.
Metode one-time pad memiliki dua masalah: kebutuhan akan sinkronisasi mutlak antara pengirim dan
penerima, dan kebutuhan akan jumlah kunci yang tidak terbatas. Meskipun menghasilkan sejumlah
besar kunci acak tidak masalah, mencetak, mendistribusikan, menyimpan, dan menghitung kunci
ini yaitu masalah.
Random Number (Bilangan Acak)
Sebuah pendekatan dekat dari pad satu kali untuk dipakai pada komputer yaitu Random
Number yang panjang. Faktanya, nomor acak komputer tidak acak; mereka benar-benar membentuk
urutan dengan periode yang sangat panjang. Dalam prakteknya, generator dengan periode yang
lama dapat diterima untuk waktu yang terbatas atau plaintext.
Telah banyak algoritma generator bilangan acak yang diusulkan dan dipakai hingga saat ini.
Algoritma-algoritma ini memakai berbagai pendekatan berbeda untuk menghasilkan
bilangan random seacak mungkin. Hingga saat ini kita tidak dapat membuat suatu generator
bilangan acak yang dapat menghasilkan bilangan acak secara murni. Untuk mendapatkan bilangan
acak banyak ahli yang mengusulkan berbagai algoritma dari yang sederhana hingga yang paling
rumit. Dari pemakai an variabel waktu sebagai faktor pengacak hingga pemakai an teori biologi
cellular. Algoritma-algoritma ini masing – masing memiliki kelebihan maupun kekurangan.
Untuk memakai generator random number, pengirim dengan pesan 300 karakter akan
menginterogasi komputer untuk 300 nomor acak berikutnya dan memakai satu bilangan untuk
menyandikan setiap karakter pesan teks biasa.
Cipher Vernam
Vernam Cipher ditemukan oleh Gilbert Sandford Vernam (1890-1960) pada tahun 1917. Vernam
berkerja di suatu perusahaan bernama Bell Labs, dia memiliki hak paten yang menjelaskan tentang
sebuah cipher dengan kunci yang telah disiapkan pada sebuah pita kertas, lalu dikombinasikan
dengan sebuah plaintext untuk menghasilkan sebuah pesan ciphertext yang dapat ditransmisikan.
Pita yang sama lalu dipakai pula untuk mendekripsikan ciphertext. Cipher Vernam kebal
dari sebagian besar serangan cryptanalytic. Enkripsi dasar melibatkan urutan angka yang tidak
berulang yang dikombinasikan dengan teks biasa. Penemuan Vernam memakai pita kertas
yang dilubangi dengan panjang sewenang-wenang yang dimasukkan ke dalam mesin teletype.
Rekaman itu berisi nomor acak yang digabungkan dengan karakter yang diketik ke dalam teletype.
Urutan angka acak tidak berulang, dan setiap pita hanya dipakai sekali. Selama pita kunci tidak
berulang atau tidak dipakai kembali, jenis cipher ini kebal dari serangan cryptanalytic sebab
ciphertext yang tersedia tidak menampilkan pola kunci. Sebuah model dari proses ini ditunjukkan
pada Gambar 6-1.
387
Gambar 6-1 Vernam Cipher
Vernam Cipher merupakan stream cipher yang didefenisikan pada sebuah alfabet. Sebuah pesan
binaryM1, M2, M3, …, Mt dioperasikan dengan kunci string binaryK1, K2, K3, …, Kt yang
memilikipanjang yang sama untuk menghasilkan sebuah string ciphertextC1, C2, C3, …, Ct.
1. Enkripsi Vernam Cipher
Secara matematis proses enkripsi plaintext (M) menjadi ciphertext (C) memakai kunci
rahasia (k) dapat dinyatakan sebagai berikut :
C = M + k (mod n)
Dimana :
C = Ciphertext
M = Message / Plaintext
k = Key / Kunci
n = Banyaknya jumlah karakter yang dipakai
2. Dekripsi Vernam Cipher
Proses dekripsi ciphertext (C) menjadi plaintext (P) memakai kunci rahasia (k) dapat
dinyatakan sebagai berikut :
M = C – k (mod n)
Dimana :
M = Message / Plaintext
C = Ciphertext
k = Key / Kunci
n = Banyaknya jumlah karakter yang dipakai
Dimana Ci yaitu digit binary dari ciphertext, Pi yaitu digit binary dari plaintext, sedangkan Ki
yaitu bit binary dari kunci, dan + yaitu operasi penjumlahan.
Algoritma yang dipakai untuk Vernam Cipher dapat dinyatakan sebagai berikut:
1. Misalkan setiap alfabet plaintext sebagai sebuah urutan nomor yang meningkat, contoh A=0,
B=1, …, Z=25.
2. Lakukan hal yang sama untuk setiap karakter input plaintext
388
3. Tambahkan setiap nomor yang bersangkutan dari alfabet plaintext kepada nomor alfabet kunci
yang bersangkutan.
4. Jika hasil yang dikeluarkan melebihi 26, modulo hasilnya dengan 26.
5. Terjemahkan setiap nomor hasil yang didapat tadi kembali kedalam alfabet yang bersangkutan.
Hal ini akan memberikan outputciphertext.
Book Ciphers
Sumber lain dari angka yang dianggap "acak" yaitu buku, karya musik, atau objek lain yang
strukturnya dapat dianalisis. Baik pengirim maupun penerima membutuhkan akses ke objek yang
identik. Misalnya, buku catatan satu kali yang mungkin dapat didasarkan pada buku telepon. Pengirim
dan penerima mungkin setuju untuk memulai dari halaman 35 dan memakai dua digit tengah
(ddd- DDdd) dari setiap nomor telepon tujuh digit, mod 26, sebagai huruf kunci untuk sandi pengganti.
Mereka memakai tabel yang sudah disepakati (tabel Vigenre) yang memiliki 26 huruf.
Book cipher yaitu suatu teknik enkripsi dengan memakai suatu buku atau dokumen untuk
menyembunyikan maknanya. Kode ini memakai angka yang menunjukkan urutan dari Buku
atau dokumen ini . Urutannya dapat kita tentukan sendiri. Dalam dunia modern ini, kita dapat
memakai banyak hal sebagai kunci untuk memecahkan Kode ini.
Buku apa pun dapat memberikan kunci. Kuncinya dibentuk dari huruf-huruf teks, secara berurutan.
Jenis enkripsi ini yaitu dasar untuk novel Ken Follett, The Key to Rebecca, di mana film thriller
terkenal Daphne du Maurier Rebecca bertindak sebagai sumber kunci untuk mata-mata dalam
Perang Dunia II. Jika pengirim dan penerima diketahui memakai buku populer, seperti The
Key to Rebecca, the bible, atau Security in Computing, akan lebih mudah bagi cryptanalyst untuk
mencoba buku yang bertentangan dengan ciphertext, daripada mencari pola dan memakai
yang canggih. alat. Tentu saja, analis harus menyimpulkan buku yang benar.
Kami ingin menekankan bahwa bantalan satu kali dan bantalan satu kali semu ini tidak dapat
diulang. Jika ada pengulangan, pencegat mendapatkan dua aliran ciphertext: satu untuk satu blok
plaintext, yang lain untuk plaintext yang berbeda, namun keduanya dienkripsi dengan kunci yang
sama. Interseptor menggabungkan dua cipherteks sedemikian rupa sehingga tombol-tombolnya
saling meniadakan, meninggalkan kombinasi dari dua teks biasa. Interseptor lalu dapat
melakukan analisis lain untuk mengekspos pola di plaintext yang mendasarinya dan memberikan
beberapa elemen plaintext yang mungkin. Kasus terburuk yaitu bahwa pemakai hanya memulai
pad untuk pesan baru, sebab pencegat lalu dapat menentukan cara membagi plainteks dan
membuka ritsleting kedua plainteks secara utuh.
6.1.3 Analisis Statistik
Teks dalam bahasa alami apa pun memiliki pola. Pertama yaitu frekuensi huruf itu sendiri. Huruf
A, E, O, dan T menyumbang sekitar 40 persen dari semua huruf yang dipakai dalam teks bahasa
Inggris standar, dan huruf-huruf itu ditambah N dan I mencapai 50 persen. Lebih lanjut, pasangan
huruf tertentu, seperti EN, RE, ER, dan NT, dan rangkap tiga, seperti ENT, ION, AND, dan ING,
muncul dengan frekuensi tinggi. Bahasa abjad selain bahasa Inggris memiliki hasil yang serupa.
389
Bahkan plaintext non-bahasa sering mengungkapkan ketidakteraturan dalam distribusi: Bahasa mesin,
misalnya, mencerminkan kode operasi instruksi populer, dan kode sumber program mencerminkan
kata kunci dari bahasa dan pilihan pemrogram untuk nama variabel.
Bagi cryptanalyst, distribusi frekuensi ini sangat membantu sebab mencerminkan ketidakteraturan
tertentu dari bahasa dasar yang mungkin ditampilkan dalam ciphertext keluaran.
Apa yang Membuat Algoritma Enkripsi “Aman”?
Algoritma enkripsi berlimpah, termasuk banyak teknik di luar yang kita bahas dalam buku ini. Misalkan
Anda memiliki teks untuk dienkripsi. Bagaimana Anda memilih algoritma enkripsi untuk aplikasi
tertentu? Untuk menjawab pertanyaan ini, pertimbangkan kembali apa yang telah kita pelajari sejauh
ini tentang enkripsi. Kami melihat dua kelas besar algoritma: substitusi dan transposisi. Substitusi
“menyembunyikan” huruf-huruf dari plaintext, dan beberapa substitusi menghilangkan frekuensi
huruf tinggi untuk mempersulit menentukan bagaimana substitusi dilakukan. Sebaliknya, transposisi
mengacak teks sehingga analisis karakter yang berdekatan gagal.
Untuk setiap jenis enkripsi yang kami pertimbangkan, kami menjelaskan kelebihan dan kekurangannya.
namun ada pertanyaan yang lebih luas: Apa artinya cipher menjadi "baik"? Arti baik tergantung pada
tujuan pemakai an sandi. Sandi yang akan dipakai oleh personel militer di lapangan memiliki
persyaratan yang berbeda dari sandi yang dipakai dalam instalasi yang aman dengan dukungan
komputer yang substansial. Pada bagian ini, kita melihat lebih dekat pada karakteristik yang berbeda
dari cipher.
Karakteristik Sandi “Baik” Menurut Shannon
Pada tahun 1949, Claude Shannon mengusulkan beberapa karakteristik yang mengidentifikasi
cipher yang baik.
1. Jumlah kerahasiaan yang dibutuhkan harus menentukan jumlah tenaga kerja yang sesuai untuk
enkripsi dan dekripsi.
Prinsip 1 yaitu pengulangan prinsip ketepatan waktu dari Bab 1 dan pengamatan sebelumnya
bahwa bahkan sandi sederhana mungkin cukup kuat untuk menghalangi pencegat biasa atau
untuk menahan pencegat apa pun untuk waktu yang singkat.
2. Himpunan kunci dan algoritma penyandian harus bebas dari kerumitan.
Prinsip ini menyiratkan bahwa kita tidak boleh membatasi pilihan kunci maupun jenis teks biasa
yang dapat dipakai algoritma. Misalnya, sebuah algoritma yang hanya bekerja pada plaintext
yang memiliki jumlah A dan E yang sama tidak berguna. Demikian pula, akan sulit untuk memilih
kunci sedemikian rupa sehingga jumlah nilai huruf dari kunci ini yaitu bilangan prima.
Pembatasan seperti ini membuat pemakai an penyandian menjadi sangat rumit. Jika prosesnya
terlalu rumit, itu tidak akan dipakai . Selanjutnya, kunci harus ditransmisikan, disimpan, dan
diingat, sehingga harus pendek (setidaknya untuk implementasi tangan).
390
3. Pelaksanaan proses harus sesederhana mungkin.
Implementasi manual termotivasi prinsip 3: Algoritma yang rumit rentan terhadap kesalahan
atau mungkin terlupakan. Dengan perkembangan dan popularitas komputer digital, algoritma
yang terlalu rumit untuk implementasi tangan menjadi layak. Namun, masalah kompleksitas
itu penting. Orang akan menghindari algoritma enkripsi yang proses implementasinya sangat
menghambat transmisi pesan, sehingga merusak keamanan. Dan algoritma yang kompleks
lebih mungkin diprogram secara tidak benar.
4. Kesalahan dalam penyandian tidak boleh menyebar dan memicu kerusakan informasi
lebih lanjut dalam pesan.
Prinsip 4 mengakui bahwa manusia membuat kesalahan dalam pemakai an algoritma
penyandian. Satu kesalahan di awal proses seharusnya tidak membuang seluruh ciphertext
yang tersisa. Misalnya, menjatuhkan satu huruf dalam transposisi membuang seluruh penyandian
yang tersisa. Kecuali penerima dapat menentukan di mana surat itu dijatuhkan, sisa pesan
tidak akan dapat dipahami. Sebaliknya, membaca baris atau kolom yang salah untuk substitusi
berbasis tabel hanya memengaruhi satu karakter—karakter yang tersisa tidak terpengaruh.
5. Ukuran teks yang dienkripsi tidak boleh lebih besar dari teks pesan aslinya.
Di balik prinsip 5 yaitu gagasan bahwa ciphertext yang berkembang secara dramatis dalam
ukuran tidak mungkin membawa lebih banyak informasi daripada plaintext, namun memberikan
cryptanalyst lebih banyak data untuk menyimpulkan suatu pola. Selain itu, ciphertext yang lebih
panjang menyiratkan lebih banyak ruang untuk penyimpanan dan lebih banyak waktu untuk
berkomunikasi.
Prinsip-prinsip ini dikembangkan sebelum ketersediaan komputer digital, meskipun Shannon
mengetahui komputer dan kekuatan komputasi yang diwakilinya. Dengan demikian, beberapa
kekhawatiran yang dia ungkapkan tentang implementasi tangan tidak benar-benar membatasi
implementasi berbasis komputer. Misalnya, implementasi cipher di komputer tidak perlu sederhana,
asalkan kompleksitas waktu implementasinya dapat ditoleransi. Namun demikian, alasan yang
disiratkan oleh prinsip-prinsip ini sebagian besar masih sah.
Properti Sistem Enkripsi “Terpercaya”
pemakai komersial memiliki beberapa persyaratan yang harus dipenuhi saat mereka memilih
algoritma enkripsi. Jadi, saat kami mengatakan bahwa enkripsi yaitu "tingkat komersial," atau
"dapat dipercaya" yang kami maksudkan yaitu memenuhi batasan berikut:
• Hal ini didasarkan pada matematika suara. Algoritma kriptografi yang baik tidak hanya
ditemukan; mereka berasal dari prinsip-prinsip yang solid.
• Telah dianalisis oleh para ahli yang kompeten dan terbukti benar. Bahkan ahli kriptografi
terbaik hanya dapat memikirkan begitu banyak kemungkinan serangan, dan para pengembang
mungkin menjadi terlalu yakin akan kekuatan algoritme mereka sendiri. Dengan demikian,
tinjauan oleh ahli luar yang kritis sangat penting.
391
• Itu telah bertahan dalam "ujian waktu". Saat algoritme baru semakin populer, orang-orang
terus meninjau fondasi matematisnya dan cara membangunnya di atas fondasi ini .
Meskipun pemakai an dan analisis yang sukses dalam jangka waktu yang lama bukanlah
jaminan dari algoritma yang baik, kekurangan dalam banyak algoritma ditemukan relatif
segera setelah dirilis.
Tiga algoritma yang populer di dunia komersial: DES (standar enkripsi data), RSA (Rivest-Shamir-
Adelman, dinamai menurut penemunya), dan AES (standar enkripsi lanjutan). Ketiganya (dan juga
yang lainnya) memenuhi kriteria kami untuk enkripsi kelas komersial. Pada bagian berikutnya kita
membahas DES, AES, dan RSA, tiga algoritma yang diuraikan dalam Bab 2. Dalam bab ini kita
mempelajari lebih dalam struktur internal. Kami tidak merinci secara lengkap tentang algoritme ini
sebab dokumen pendefinisi yang direferensikan melakukannya dengan baik, serta menguraikan
pilihan desain dan alasan untuk setiap pembaca yang tertarik.
6.2 Algoritma Enkripsi Simetris
Selama berabad-abad, militer nasional dan dinas diplomatik telah memakai kriptografi untuk
melindungi rahasia mereka. Faktanya, sejarah kriptografi hampir secara eksklusif melibatkan
pemerintah yang melindungi barang-barang dari pemerintah lain.
saat komputer digital menjadi populer, perusahaan yang memakai komputer ini merasa
perlu untuk melindungi data dari paparan pesaing, serta untuk memastikan privasi pekerja mereka.
Dan, saat jaringan menjadi lebih populer, mereka perlu mencegah masalah dari transmisi yang salah.
Jadi, untuk alasan kerahasiaan dan integritas, bisnis dan bahkan beberapa individu mulai mencari
enkripsi. Menyadari bahwa kurangnya enkripsi berkualitas tinggi yang andal akan menghambat
perdagangan, Departemen Perdagangan A.S., melalui Biro Standar Nasional, mengambil langkah-
langkah untuk membuat enkripsi yang solid tersedia untuk industri.
Metode enkripsi simetris memakai kunci kriptografi tunggal untuk enkripsi dan dekripsi data.
pemakai an satu kunci untuk kedua operasi membuatnya menjadi proses yang mudah, dan
sebab nya disebut “simetris.”
Metode enkripsi saat ini sudah tidak memakai jenis enkripsi simetris sebab dianggap sangat
sederhana. Algoritma enkripsi yang dipakai secara luas sangat kompleks sehingga kekuatan
komputasi gabungan tidak dapat meretas. Inilah mengapa tidak perlu khawatir untuk melakukan
transaksi memakai kartu kredit maupun debit secara online.
Fitur enkripsi simetris yang paling menonjol yaitu kesederhanaan proses enkripsi dan dekripsi
yang memakai satu jenis kunci. Hal ini menjadikan teknik enkripsi simetris ini secara signifikan
lebih cepat dibandingkan dengan enkripsi asimetris, membutuhkan lebih sedikit daya komputasi
serta mengurangi kecepatan internet.
Enkripsi simetris menjadi salah satu enkripsi terbaik saat sejumlah besar data akan di enkripsi,
sehingga tidak membutuhkan proses yang sangat panjang untuk enkripsi dan dekripsi data ini .
Lihat Gambar 6.2
392
Gambar 6.2 Enkripsi Symetric
6.2.1 Enkripsi Simetris DES
Diperkenalkan pada tahun 1976, DES (Data Encryption Standard) merupakan salah satu metode
enkripsi simetris tertua yang dikembangkan oleh IBM dan difungsikan untuk melindungi data
perintahan secara elektronik.
DES memakai kunci enkripsi 56-bit, dan itu didasarkan pada Struktur Feistel yang dirancang
oleh seorang cryptographer bernama Horst Feistel. Algoritma enkripsi DES termasuk di antara yang
termasuk dalam TLS (transport layer security) versi 1.0 dan 1.1.
DES mengubah blok 64-bit dari data plaintext menjadi ciphertext dengan membagi blok menjadi dua
blok 32-bit yang terpisah dan menerapkan proses enkripsi untuk masing-masing secara independen.
Ini melibatkan 16 putaran berbagai proses – seperti ekspansi, permutasi, penggantian, atau operasi
XOR dengan kunci bulat – yang akan dilalui data saat dienkripsi. Pada akhirnya, 64-bit blok teks
terenkripsi diproduksi sebagai output.
Saat ini, DES tidak lagi dipakai sebab sudah dirusak oleh banyak peneliti keamanan. Pada tahun
2005, DES secara resmi dihentikan dan digantikan oleh algoritma enkripsi AES dan dialihkan juga
pemakai an ke TLS 1.2.
Latar Belakang dan Sejarah
Pada awal 1970-an, Biro Standar Nasional AS (National Bureau of Standards / NBS), lalu
berganti nama menjadi the National Institute for Standards and Technology (NIST), mengakui
bahwa masyarakat umum membutuhkan teknik enkripsi yang aman untuk melindungi informasi
sensitif. Secara historis, Departemen Pertahanan AS dan Departemen Luar Negeri terus tertarik
pada sistem enkripsi untuk melindungi rahasia militer dan diplomatik; dianggap bahwa departemen
ini yaitu rumah bagi keahlian terbesar dalam kriptologi. Namun, justru sebab sifat sensitif dari
informasi yang mereka enkripsi, departemen tidak dapat merilis pekerjaan mereka. Dengan demikian,
tanggung jawab untuk teknik enkripsi yang lebih umum didelegasikan kepada NBS, sebuah badan
dari Departemen Perdagangan AS.
393
Pada saat yang sama, beberapa vendor swasta telah mengembangkan perangkat enkripsi mekanis
atau perangkat lunak yang dapat dibeli oleh individu atau perusahaan untuk melindungi komunikasi
sensitif mereka. Kesulitan dengan proliferasi komersial teknik enkripsi ini yaitu pertukaran: Dua
pemakai dengan perangkat yang berbeda tidak dapat bertukar informasi terenkripsi. Selain itu, tidak
ada badan independen yang mampu menguji perangkat secara ekstensif untuk memverifikasi bahwa
mereka menerapkan algoritme dengan benar, atau bahkan algoritme ini layak dipakai .
Segera menjadi jelas bahwa enkripsi sudah sempurna untuk penilaian dan standarisasi, untuk
mempromosikan kemampuan pihak yang tidak terkait untuk bertukar informasi terenkripsi dan untuk
menyediakan sistem enkripsi tunggal yang dapat diuji secara ketat dan disertifikasi secara publik.
Selanjutnya, pada tahun 1972 NBS meminta proposal untuk memproduksi algoritma enkripsi publik.
Panggilan ini menentukan kriteria yang diinginkan untuk algoritme seperti itu:
• mampu memberikan tingkat keamanan yang tinggi
• ditentukan dan mudah dimengerti
• dapat dipublikasikan, sehingga keamanan tidak bergantung pada kerahasiaan algoritme
• tersedia untuk semua pemakai
• mudah beradaptasi untuk dipakai dalam beragam aplikasi
• ekonomis untuk diterapkan pada perangkat elektronik
• efisien untuk dipakai
• dapat divalidasi
• dapat diekspor
NBS membayangkan menyediakan enkripsi sebagai perangkat keras terpisah. Untuk memungkinkan
algoritme publik, NBS berharap untuk mengungkapkan algoritme itu sendiri, mendasarkan keamanan
sistem pada kunci (yang akan berada di bawah kendali pemakai ).
Beberapa organisasi menanggapi panggilan ini , sehingga NBS mengeluarkan pengumuman
kedua pada Agustus 1974. Pengajuan yang paling menjanjikan yaitu algoritma Lucifer yang telah
dipakai IBM selama beberapa tahun. Ide ini telah diterbitkan sebelumnya, sehingga algoritma
dasarnya sudah terbuka untuk umum dan telah terbuka untuk pemeriksaan dan validasi. Meskipun
panjang, algoritmenya mudah, kandidat alami untuk implementasi berulang dalam program komputer.
Lebih jauh lagi, tidak seperti beberapa algoritma yang memakai aritmatika pada bilangan
biner 500 atau 1.000 digit atau lebih panjang (jauh lebih besar daripada yang dapat ditangani oleh
kebanyakan instruksi mesin sebagai kuantitas tunggal), Lucifer hanya memakai operasi logika
sederhana pada blok data yang relatif kecil. Dengan demikian, algoritma dapat diimplementasikan
dengan cukup efisien baik dalam perangkat keras maupun perangkat lunak pada komputer
konvensional.
Algoritma enkripsi data yang dikembangkan oleh IBM untuk NBS didasarkan pada Lucifer, dan
lalu dikenal sebagai Data Encryption Standard (DES), meskipun nama aslinya yaitu DEA
(Data Encryption Algorithm) di Amerika Serikat dan DEA1 (Data Encryption Algorithm-1 ) di negara
Lain. lalu , NBS meminta Departemen Pertahanan melalui Badan Keamanan Nasional (NSA)
untuk menganalisis kekuatan algoritma enkripsi, dan IBM mengubahnya sedikit. Akhirnya, NBS
merilis algoritme untuk pengawasan dan diskusi publik.
394
DES secara resmi diadopsi sebagai standar federal AS [NBS77] pada November 1976, disahkan
oleh NBS untuk dipakai pada semua komunikasi tidak terklasifikasi sektor publik dan swasta.
Akhirnya, DES diterima sebagai standar internasional oleh Organisasi Standar Internasional.
Algoritma DES
Algoritme memanfaatkan dua teknik yang diidentifikasi Shannon untuk menyembunyikan informasi:
kebingungan dan difusi. Artinya, algoritma menyelesaikan dua hal: memastikan bahwa bit output
tidak memiliki hubungan yang jelas dengan bit input dan menyebarkan efek dari satu bit plaintext ke
bit lain dalam ciphertext. Substitusi membingungkan, transposisi menyebar. Secara umum, plaintext
dipengaruhi oleh serangkaian siklus substitusi diikuti oleh permutasi.
Kami tidak merinci algoritma DES lengkap di sini sebab sepenuhnya didokumentasikan dalam
dokumen definisi asli. Namun, kami ingin Anda melihat struktur dasar algoritme sehingga Anda
dapat menghargai asal mula kekuatan kriptografinya.
Dasar dari DES yaitu dua cipher yang berbeda, diterapkan secara bergantian. Shannon mencatat
bahwa dua cipher yang lemah namun saling melengkapi dapat dibuat lebih aman dengan diterapkan
bersama-sama (disebut "produk" dari dua cipher) secara bergantian, dalam struktur yang disebut
product cipher.
Setelah inisialisasi, algoritma DES beroperasi pada blok data. Ini membagi blok data menjadi dua,
mengacak masing-masing setengah secara independen, menggabungkan kunci dengan satu
setengah, dan menukar dua bagian. Proses ini diulang sebanyak 16 kali. Ini yaitu algoritma iteratif
yang hanya memakai pencarian tabel dan operasi bit sederhana. Meskipun manipulasi tingkat
bit dari algoritme itu rumit, algoritme itu sendiri dapat diimplementasikan dengan cukup efisien.
Manipulasi data memakai string bit mulai dari 32 hingga 64 bit, hanya memakai pencarian
tabel, operasi logika (AND, OR, exclusive OR, (XOR)), dan bit shift dan rotasi, membuat prosedur
ini ideal untuk diimplementasikan pada komputer dengan 32- atau ukuran kata 64-bit.
Input ke DES dibagi menjadi blok 64 bit. 64 bit data diubah oleh apa yang disebut permutasi awal.
Bit data diubah oleh kunci 64-bit (yang hanya dipakai 56 bit). Kuncinya dikurangi dari 64 bit
menjadi 56 bit dengan menjatuhkan bit 8, 16, 24, … 64 (di mana bit yang paling signifikan diberi
nama bit “1”). Bit yang diabaikan diasumsikan sebagai bit paritas yang tidak membawa informasi
dalam kunci.
Selanjutnya dimulai urutan operasi yang dikenal sebagai siklus. 64 bit data permutasi dipecah
menjadi setengah kiri dan setengah kanan masing-masing 32 bit. Agar setengah kanan 32-bit
digabungkan dengan kunci 64-bit, diperlukan dua perubahan. Pertama, algoritma memperluas
setengah 32-bit menjadi 48 bit dengan mengulang bit-bit tertentu, sambil mengurangi kunci 56-bit
menjadi 48 bit dengan memilih hanya bit-bit tertentu menurut tabel yang disebut S-box. Dua operasi
terakhir ini disebut permutasi ekspansi dan pilihan permutasi.
Kunci digeser ke kiri oleh sejumlah bit dan juga permutasi. Kuncinya digabungkan dengan separuh
kanan, yang lalu digabungkan dengan separuh kiri. Hasil dari kombinasi ini menjadi bagian
kanan yang baru; bagian kanan yang lama menjadi bagian kiri yang baru. Urutan kegiatan ini, yang
395
merupakan siklus, ditunjukkan pada Gambar 6-3. Siklus diulang sebanyak 16 kali. Setelah siklus
terakhir yaitu permutasi akhir, yang merupakan kebalikan dari permutasi awal.
Gambar 6-3 Siklus dalam DES
Siklus ini diulang 16 kali untuk satu blok data 64-bit. Proses yang sama ini diulang secara terpisah
untuk setiap blok data plaintext.
Skema DES Lengkap
Sekarang kita dapat menyatukan kembali semua bagian, seperti yang ditunjukkan pada Gambar
6-3. Pertama, kuncinya dikurangi menjadi 56 bit. lalu , sebuah blok 64 bit data diubah oleh
permutasi awal. Berikut yaitu 16 siklus di mana kunci digeser dan di permutasi, setengah dari
blok data ditransformasikan dengan fungsi substitusi dan permutasi, dan hasilnya digabungkan
dengan setengah sisanya dari blok data. Setelah siklus terakhir, blok data diubah dengan permutasi
terakhir.
396
Gambar 6-3 DES Lengkap
397
Dekripsi DES
Algoritma DES yang sama dipakai baik untuk enkripsi maupun dekripsi. Hasil ini benar sebab
siklus j diturunkan dari siklus (j-1) dengan cara sebagai berikut:
di mana yaitu operasi OR eksklusif dan f yaitu fungsi yang dihitung dalam siklus perluasan-
pergeseran-pengganti-permutasi. Kedua persamaan ini menunjukkan bahwa hasil setiap siklus
hanya bergantung pada siklus sebelumnya.
Dengan menulis ulang persamaan ini dalam bentuk Rj-1 dan Lj-1, kita mendapatkan
dan
Mengganti (3) menjadi (4) menghasilkan
Persamaan (3) dan (5) menunjukkan bahwa nilai yang sama dapat diperoleh dari hasil siklus
selanjutnya. Properti ini membuat DES prosedur reversibel; kita dapat mengenkripsi string dan juga
mendekripsi hasilnya untuk mendapatkan plaintext lagi.
Dengan DES, fungsi yang sama f dipakai maju untuk mengenkripsi atau mundur untuk mendekripsi.
Satu-satunya perubahan yaitu bahwa kunci harus diambil dalam urutan terbalik (k16, k15, …, k1)
untuk dekripsi. memakai satu algoritma baik untuk mengenkripsi atau mendekripsi nyaman
untuk implementasi perangkat keras atau perangkat lunak DES.
Chaining
Anda mungkin telah melihat kelemahan dalam deskripsi bagian sebelumnya. DES memakai
proses yang sama untuk setiap blok 64-bit. Itu berarti bahwa setiap blok data identik yang dienkripsi
dengan kunci yang sama akan memiliki output yang sama. Tentu saja, Anda mungkin mengatakan,
prosesnya harus teratur dan konsisten agar dekripsi dapat dilakukan, dan itu memang benar.
Sekarang berpikirlah seperti penyerang. Sebuah bank memakai DES untuk mengenkripsi aliran
data jaringan yang berisi instruksi untuk mentransfer uang dari satu akun ke akun lainnya. Bank
memilih kunci yang akan dipakai untuk jangka waktu tertentu, misalnya sehari, sebab mengganti
kunci tidak praktis. Untuk menyederhanakan argumen ini, asumsikan jumlah dan nomor rekening
sama-sama panjangnya 64 bit dan kebetulan muncul pada batas 64-bit dalam pesan transfer.
(Argumen serupa akan bekerja terlepas dari panjang dan posisi bidang.) Pada Gambar 6-4 kami
menggambarkan bentuk umum dari pesan-pesan ini. Gambar ini juga menunjukkan empat
contoh, untuk mentransfer (1) $100 dari Annie ke Brian, (2) $500 dari Carole ke Drew, (3) $0,01
398
dari Evin ke agen jahat kami Zelda, dan (4) jumlah yang sama dari Feng ke Zelda . (Catatan: nilai
terenkripsi dalam empat contoh gambar ini yaitu fiktif, dibuat hanya untuk penjelasan ini; tidak
ada kriptografi nyata yang diterapkan.)
Gambar 6-4 Transfer Pesan
sebab ini yaitu komunikasi jaringan, Zelda dapat melihatnya dalam bentuk ciphertext. Meskipun
dia tidak bisa menafsirkan isinya, dia bisa mencari kesamaan. Mari kita asumsikan dia tahu di mana
mencari bidang yang berbeda. Dia akan melihat dua pesan dengan nomor akun tujuan terenkripsi
yang sama dan menyimpulkan bahwa itu mungkin dua transfer ke akunnya. Dengan pengetahuan
itu, dia dapat membuat pesan baru, seperti yang ditunjukkan pada Gambar 6-5, untuk mentransfer
uang dari Annie dan Carole ke rekeningnya.
Gambar 6-5 Pesan Transfer Fabrikasi
Tanpa pernah mengakses plaintext yang mendasarinya, Zelda telah membuat dua pesan terenkripsi
yang mungkin lewat. (Dia masih memiliki sedikit pekerjaan yang harus dilakukan untuk menutupi
pemakai an kembali nomor transaksi sebelumnya.) Masalah yang dijelaskan di sini terjadi sebab
setiap blok plaintext dienkripsi secara independen dari semua blok lainnya, sehingga penyerang
dapat menyusun ulang dan mengganti blok tanpa terdeteksi.
Solusi untuk masalah ini disebut chaining. Jika enkripsi setiap blok tidak hanya bergantung pada
ciphertext langsung dari konten yang berbeda namun juga pada konten sebelumnya, urutan dan
posisi setiap blok dalam rantai tetap. Perubahan itu akan mencegah Zelda memakai kembali
blok dari enkripsi sebelumnya.
399
Pada Gambar 6-6 Anda dapat melihat efek chaining. Pada gambar sebelumnya, nomor akun Annie
dienkripsi dua kali sebagai w2z%pr. Namun dalam gambar ini nomor rekening Annie pertama kali
digabungkan dengan enkripsi blok tanggal memakai fungsi OR ( ) eksklusif, menghasilkan
hasil C4UI6H. C4UI6H itu lalu dienkripsi, menghasilkan hasil bl3tfr.
Gambar 6-6 Chained Encryption
Membandingkan bagian atas dan bawah gambar, Anda dapat melihat bahwa bidang pertama,
tanggal, mengenkripsi sama di kedua bagian, namun bidang berikutnya berbeda, sehingga semua
blok berikutnya dipengaruhi oleh perbedaan ini. Nilai terenkripsi dari setiap blok dimasukkan ke
dalam plaintext dari blok berikutnya, sehingga setiap blok terenkripsi bergantung pada nilai dari
semua blok sebelumnya. Dengan demikian, tidak ada penyerang yang dapat menyusun ulang atau
mengganti blok terenkripsi tanpa merusak rantai enkripsi ini. Jika kami telah menunjukkan hasil
untuk dua baris terakhir dari gambar asli, Anda akan melihat bahwa kedua blok Zelda akan berbeda,
sebab masing-masing bergantung pada data sebelumnya yang berbeda.
Initialization Vector
Anda mungkin telah mendeteksi satu kesulitan terakhir dengan contoh rantai. Meskipun blok data
di sepanjang rantai berbeda, blok pertama (tanggal) tidak memiliki konteks sebelumnya untuk
bergantung, dan dengan demikian akan selalu mengenkripsi sama. Solusi untuk kesulitan ini yaitu
sedikit perluasan dari pendekatan chaining.
Untuk memulai enkripsi aliran data, Anda terlebih dahulu membuat satu blok tambahan yang berisi
nilai apa pun. Nilai pastinya tidak signifikan selama itu berubah untuk setiap enkripsi; generator nomor
acak berguna. lalu , seperti yang ditunjukkan pada Gambar 6-7 Anda menerapkan enkripsi
berantai, dimulai dengan blok pertama (nomor acak), dan menghubungkan blok berikutnya bersama-
sama seperti pada contoh sebelumnya. Dengan cara ini, blok data nyata pertama (sebenarnya blok
kedua yang dienkripsi) berbeda dari satu waktu ke waktu berikutnya sebab vektor inisialisasi acak
berbeda.
400
Gambar 6-7 Enkripsi Berrantai dengan Initialization Vector
Kedua teknik chaining ini berlaku sama dengan sebagian besar cipher simetris.
6.2.1 Pertanyaan Tentang Keamanan DES
Sejak pertama kali diumumkan, ada kontroversi mengenai keamanan yang diberikan oleh DES.
Meskipun banyak kontroversi ini telah muncul dalam literatur terbuka, fitur tertentu dari DES belum
diungkapkan oleh para desainer atau disimpulkan oleh analis luar.
Desain Algoritma
Awalnya, ada kekhawatiran dengan algoritma dasar itu sendiri. Selama pengembangan algoritme,
Badan Keamanan Nasional (NSA) menunjukkan bahwa elemen kunci dari desain algoritme "sensitif"
dan tidak akan dipublikasikan. Elemen-elemen ini termasuk alasan di balik transformasi oleh S-box,
P-box, dan perubahan kunci. Ada banyak kemungkinan untuk substitusi S-box, namun satu set
tertentu dipilih untuk DES.
Dua masalah muncul tentang kerahasiaan desain. Yang pertama melibatkan ketakutan bahwa "pintu
jebakan" tertentu telah tertanam dalam algoritma DES sehingga cara rahasia dan mudah tersedia
untuk mendekripsi pesan terenkripsi DES. Misalnya, pintu jebakan semacam itu akan memberi NSA
kemampuan untuk memeriksa komunikasi pribadi.
Setelah penyelidikan Kongres, yang hasilnya diklasifikasikan, ringkasan yang tidak terklasifikasi
membebaskan NSA dari keterlibatan yang tidak semestinya dalam desain DES.
Isu kedua membahas kemungkinan bahwa cacat desain akan (atau mungkin telah) ditemukan oleh
seorang cryptanalyst, kali ini memberikan pencegat kemampuan untuk mengakses komunikasi
pribadi.
Baik Bell Laboratories dan Lexan Corporation meneliti operasi (bukan desain) dari S-box. Tidak
ada analisis yang mengungkapkan kelemahan apa pun yang mengganggu berfungsinya S-box.
Algoritma DES telah dipelajari secara ekstensif dan, sampai saat ini, tidak ada kekurangan serius
yang dipublikasikan.
401
Menanggapi kritik, NSA merilis informasi tertentu tentang pemilihan S-box.
• Tidak ada S-box yang merupakan fungsi linear atau affine dari inputnya; yaitu, empat bit
keluaran tidak dapat dinyatakan sebagai sistem persamaan linier dari enam bit masukan.
• Mengubah satu bit input dari S-box menghasilkan perubahan setidaknya dua bit output;
yaitu, kotak-S menyebarkan informasinya dengan baik ke seluruh keluarannya.
• S-box dipilih untuk meminimalkan perbedaan antara jumlah 1s dan 0s saat setiap bit
input tetap konstan; yaitu, memegang satu bit konstan sebagai 0 atau 1 dan mengubah bit
di sekitarnya seharusnya tidak menghasilkan banyak 0 atau 1 secara tidak proporsional
dalam output.
Jumlah Iterasi
Banyak analis bertanya-tanya apakah 16 iterasi sudah cukup. sebab setiap iterasi menyebarkan
informasi dari plaintext ke seluruh ciphertext, tidak jelas apakah 16 siklus menyebarkan informasi
secara memadai. Misalnya, dengan hanya satu siklus, satu bit ciphertext hanya dipengaruhi oleh
beberapa bit plaintext. Dengan lebih banyak siklus, difusi menjadi lebih besar, jadi idealnya tidak
ada satu bit cipherteks yang bergantung pada subset bit plainteks.
Eksperimen dengan DES dan pendahulunya IBM Lucifer dilakukan oleh NBS dan oleh IBM sebagai
bagian dari proses sertifikasi algoritma DES. Eksperimen ini telah menunjukkan] bahwa 8 iterasi
cukup untuk menghilangkan ketergantungan yang diamati. Dengan demikian, 16 iterasi DES tentunya
harus memadai.
Kriptanalisis Diferensial
Pada tahun 1990 Eli Biham dan Adi Shamir mengumumkan sebuah teknik yang mereka namakan
kriptanalisis diferensial. Teknik yang diterapkan pada algoritma kriptografi yang memakai
substitusi dan permutasi. Teknik yang kuat ini yaitu yang pertama memiliki efek yang mengesankan
terhadap berbagai algoritma jenis ini. Teknik ini memakai pasangan plaintext yang dipilih secara
hati-hati dengan perbedaan halus dan mempelajari efek dari perbedaan ini pada ciphertext yang
dihasilkan. Jika kombinasi bit input tertentu dimodifikasi secara bersamaan, bit perantara tertentu
juga kemungkinan besar akan berubah dengan cara tertentu. Teknik ini melihat eksklusif OR (XOR)
dari sepasang input; XOR akan memiliki 0 di setiap bit di mana input identik dan 1 di mana mereka
berbeda.
Analisis lengkapnya agak rumit, namun kami menyajikan sketsanya di sini. S-box mengubah enam
bit menjadi empat. Jika S-box benar-benar seragam, orang akan mengharapkan semua output 4-bit
memiliki kemungkinan yang sama. Namun, seperti yang ditunjukkan Biham dan Shamir, teks-teks
serupa tertentu lebih mungkin menghasilkan keluaran yang serupa daripada yang lain. Misalnya,
memeriksa semua pasangan string 6-bit dengan pola XOR 35 dalam notasi heksadesimal (yaitu,
string bentuk ddsdsd di mana d berarti nilai bit berbeda antara dua string dan s berarti nilai bitnya
sama) untuk S-box S1, peneliti menemukan bahwa pasangan memiliki pola keluaran dsss 14 kali,
ddds 14 kali, dan semua pola lainnya memiliki frekuensi berkisar antara 0 dan 8. Artinya, masukan
berupa ddsdsd memiliki keluaran sebesar bentuk dsss 14 kali dari 64, dan ddds 14 kali lagi dari
64; masing-masing hasil ini hampir 1/4, yang berlanjut ke babak berikutnya. Biham dan Shamir
menyebut masing-masing efek yang dapat dikenali ini sebagai "karakteristik"; mereka lalu
402
memperluas hasil mereka dengan menggabungkan karakteristik. Serangan itu memungkinkan
mereka menyimpulkan nilai di posisi kunci tertentu. Jika m bit dari kunci k-bit dapat ditemukan, sisa
(k-m) bit dapat ditemukan dalam pencarian menyeluruh dari semua 2(k-m) kunci yang mungkin;
jika m cukup besar, pencarian lengkap 2(k–m) layak dilakukan.
Dalam [BIH90] penulis menyajikan kesimpulan dari banyak hasil yang telah mereka hasilkan
dengan memakai kriptanalisis diferensial; mereka menjelaskan rincian hasil ini dalam makalah
berikutnya. Serangan terhadap Lucifer, pendahulu DES yang dirancang IBM, hanya berhasil dengan
30 pasangan cipherteks. FEAL yaitu algoritma yang mirip dengan DES yang memakai
sejumlah putaran; versi n-putaran disebut FEAL-n. FEAL-4 dapat




