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