Anda di halaman 1dari 15

Makalah

Algoritma dan Kosep Dasar Kriptografi

Oleh:
Yuga Hadfridar Putra
NIM. K11112007

JURUSAN/PROGRAM STUDI SISTEM KOMPUTER


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS TANJUNGPURA
PONTIANAK
2016

Kata Pengantar
Bismillahirrahmanirrahiim. Assalamualaikum, wr. wb.
Puji dan syukur senantiasa kita panjatkan kehadirat Allah SWT, shalawat serta salam semoga
senantiasa dilimpahkan kepada Nabi Muhammad SAW, juga untuk para keluarga, sahabat dan
pengikutnya sampai akhir zaman. Karena atas rahmat-Nya, penyusun dapat menyelesaikan
penyusunan makalah ini yang berjudul Algoritma dan Konsep Dasar Kriptografi.
Makalah ini disusun untuk memenuhi tugas mata kuliah Matematika Diskrit. Penyusun
mengucapkan terimakasih kepada Ibu Dwi Marisa Midyanti., ST., M.cs . selaku dosen
pengampu, teman-teman dan semua pihak yang membantu dalam penyelesaian karya tulis
ini.
Penyusun berharap makalah ini dapat menambah pengetahuan pembaca dan memberikan
gambaran mengenai materi terkait yaitu Algoritma Kriptografi. Sehingga pembaca dapat
menggunakan makalah ini sebagai literatur pendukung dalam pengembangan bidang ilmu
selanjutnya yang terkait dengan penggunaan algoritma kriptografi.
Penyusun menyadari bahwa makalah ini masih jauh dari kesempurnaan, oleh karena
penyusun mengharapkan saran dan kritik yang membangun untuk perbaikan makalah ini.
Besar harapan penyusun agar penulisan makalah ini dapat berguna bagi siapapun yang
menjadikan makalah ini sebagai bahan literatur mengenai materi terkait.
Wassalamualaikum, wr. wb.

Penyusun

Daftar Isi
Kata Pengantar............................................................................................................................ i
Daftar Isi ..................................................................................................................................... ii
Bab 1 Pendahuluan .................................................................................................................... 1
1.1.

Algoritma Kriptografi ................................................................................................... 1

1.2.

Jenis Algoritma Kriptografi .......................................................................................... 3

1.3.

Algoritma Kriptografi Klasik......................................................................................... 3

1.4.

Algoritma Kriptografi Modern ..................................................................................... 4

Bab 2 Pembahasan..................................................................................................................... 5
2.1.

Konsep Acak ................................................................................................................ 5

2.2.

One-Time Pad .............................................................................................................. 5

2.3.

Cryptanalysis ............................................................................................................... 7

2.3.1.

Known Plaintext attack ........................................................................................ 8

2.3.2.

Analisa Statistik .................................................................................................... 8

2.3.3.

Brute Force Search ............................................................................................. 10

2.4.

Manajemen Kunci ..................................................................................................... 10

2.5.

Oprasi Dasar .............................................................................................................. 10

II

Bab 1
Pendahuluan
1.1.

Algoritma Kriptografi

Algoritma merupakan urutan langkah-langkah logis untuk menyelesaikan masalah yang


disusun secara matematis dan benar. Sedangkan kriptografi (cryptography) berasal dari kata
crypto yang berarti secret (rahasia) dan graphy yang berarti writing (tulisan).
Kriptografi merupakan suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau
pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari
pihak ketiga. Sehingga algoritma kriptografi merupakan langkah-langkah logis bagaimana
menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut. Namun,
seiring berkembangnya teknologi, kriptografi ini juga berkembang, perkembangan teknologi
ini dapat dilihat dengan adanya internet yang menghubungkan komputer satu sama lain.
Dengan adanya perkembangan ini kriptografi sangat dibutuhkan untuk keamanan data yang
dikirim kepada komputer lain.
Algoritma kriptografi yang baik tidak ditentukan oleh kerumitan dalam mengolah
data atau pesan yang akan disampaikan. Yang penting, algoritma tersebut harus
memenuhi 4 persyaratan berikut :
1. Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap rahasia
dan tidak diketahui oleh pihak lain (kecuali pihak pengirim, pihak penerima / pihakpihak memiliki ijin). Umumnya hal ini dilakukan dengan cara membuat suatu algoritma
matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan
dipahami.
2. Data integrity (keutuhan data) yaitu layanan yang mampu mengenali/mendeteksi
adanya manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak
sah (oleh pihak lain).
3. Authentication (otentik) yaitu layanan yang berhubungan dengan identifikasi.
Baik otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi
keaslian data/informasi.
4. Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak
untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan
tersebut berasal dirinya). (Alferd J. Menezes, 1996).
Kriptografi juga dibagi atas dua: kriptografi klasik dan kriptografi modern. Yang masingmasing memiliki algoritma tersendiri. Dalam kriptogra klasik, teknik enkripsi yang digunakan
adalah enkripsi simetris dimana kunci dekripsi sama dengan kunci enkripsi. Untuk public key
cryptography, diperlukan teknik enkripsi asimetris dimana kunci dekripsi tidak sama dengan
kunci enkripsi. Enkripsi, dekripsi dan pembuatan kunci untuk teknik enkripsi asimetris
memerlukan komputasi yang lebih intensif dibandingkan enkripsi simetris, karena enkripsi
asimetris menggunakan bilanganbilangan yang sangat besar. Walaupun awalnya kriptogra
digunakan untuk merahasiakan naskah teks, kini kriptogra digunakan untuk data apa saja
1

yang berbentuk digital yang umumnya beroperasi dalam mode bit ketimbang mode karakter
(seperti yang dilakukan pada cipher substitusi atau cipher transposisi dari algoritma
kriptografi klasik) yang digunakan dalam kriptografi modern.
Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu :
1. Enkripsi, merupakan hal yang sangat penting dalam kriptografi, merupakan
pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut
plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enskripsi bisa
diartikan dengan cipher atau kode.
2. Dekripsi, merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan
ke bentuk asalnya (tesk-asli), disebut dengan dekripsi pesan. Algoritma yang
digunakan untuk dekripsi tentu berbeda dengan algoritma untuk enkripsi.
3. Kunci, yang dimaksud adalah kunci yang dipakai untu melakukan enkripsi dan dekripsi.
Kunci terbagi menjadi dua bagian, kunci rahasia (private key) dan kunci umum (public
key).
Secara umum fungsi tersebut digambarkan sebagai berikut :

Plaintex
t

Enkripsi

Chipertex
t

Kunci

Dekripsi

Plaintex
Plaintex
t
t

Kunci

Kriptografi memiliki beberapa elemen, yaitu :


1. Pesan, Plainteks dan Cipherteks.
Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama
lain untuk pesan adalah plainteks. Agar pesan tidak bisa dimengerti maknanya oleh
pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami.
Bentuk pesan yan g tersandi disebut cipherteks
2. Pengirim dan Penerima
Pengirim adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima adalah
entitas yang menerima pesan. Entitas di sini dapat berupa orang, mesin (komputer),
kartu kredit dan sebagainya.
3. Enkripsi dan dekripsi
Proses menyandikan plainteks menjadi cipherteks disebut enkripsi. Sedangkan proses
mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi.
4. Cipher
Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering dan
deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi.
Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah
2

himpunan yaitu himpunan yang berisi elemen-elemen plainteks dan himpunan yang
berisi cipherteks. Enkripsi dan dekripsi adalah fungsi yang memetakan elemen-elemen
antara kedua himpunan tersebut.
5. Sistem Kriptografi
Sistem kriptografi merupakan kumpulan yang terdiri dari algoritma kriptografi, semua
plainteks dan cipherteks yang mungkin dan kunci.
6. Penyadap
Penyadap adalah orang yang berusaha mencoba menangkap pesan selama
ditransmisikan dengan tujuan mendapatkan informasi sebanyak-banyaknya mengenai
sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk
memecahkan cipherteks.
7. Kriptanalisis dan kriptologi
Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks
menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelakunya disebut
kriptanalis. Kriptologi adalah studi mengenai kriptografi dan kriptanalisis.

1.2.

Jenis Algoritma Kriptografi

Berdasarkan kunci yang dipakainya, algoritma kriptografi dibagi menjadi tiga jenis :
1. Algoritma Simetri Algoritma yang memakai kunci simetri di antaranya adalah :
a. Blok Chiper : Data Encryption Standard (DES), International Data Encryption Algorithm
(IDEA), Advanced Encryption Standard (AES).
b. Stream Chiper : On Time Pad (OTP), A5, RC2, RC4, RC5, dan RC6.
2. Algoritma Asimetri Algoritma yang memakai kunci public di antaranya adalah : Digital
Signature Algorithm (DSA), RSA, Diffle-Hellman (DH), Elliptic Curve Cryptography (ECC),
Kriptografi Quantum, dan lain sebagainya.
3. Fungsi Hash Contoh algoritma yang menggunakan fungsi hash adalah MD5 dan SHA1.

1.3.

Algoritma Kriptografi Klasik

Algoritma kriptografi klasik merupakan suatu algoritma yang menggunakan satu kunci untuk
mengamankan data. Teknik ini telah digunakan beberapa abad yang lalu. Teknik dasar yang
biasa digunakan adalah sebagai berikut :
1. Substitusi
Penggantian setiap karakter teks-asli dengan karakter lain berdasarkan tabel substitusi
yang dibuat, dengan catatan bahwa penerima pesan memiliki tabel yang sama untuk
keperluan dekripsi.
Contohnya : tabel subsitusi Caesar Chipher dan ROT 13
SISTEM
VLVWHP (Menggunanakn Caesar Chipher)

2. Blocking
Membagi plaintext menjadi blok-blok yang terdiri dari beberapa karakter yang kemudian
dienkripsikan secara independen. Dengan menggunakan enkripsi blocking dipilih jumlah
lajur dan kolom untuk penulisan pesan. Jumlah lajur atau kolom menjadi kunci bagi
kriptografi dengan teknik ini.
3. Permutasi
Sering juga disebut transposisi, teknik ini memindahkan atau merotasikan karakter
dengan aturan tertentu. Prinsipnya adalah 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.
Sebelum dilakukan permutasi, umumnya plaintext terlebih dahulu dibagi menjadi
blokblok dengan panjang yang sama.
4. Ekspansi
Suatu metode sederhana untuk mengacak pesan adalah dengan memanjangkan pesan
itu dengan aturan tertentu. Salah satu contoh penggunaan teknik ini adalah dengan
meletakkan huruf konsonan atau bilangan ganjil yang menjadi awal dari suatu kata di
akhir kata itu dan menambahkan akhiran "an". Bila suatu kata dimulai dengan huruf vokal
atau bilangan genap, ditambahkan akhiran "i".
5. Pemampatan
Mengurangi panjang pesan atau jumlah bloknya. Contoh sederhana ini menggunakan
cara menghilangkan setiap karakter ke-tiga secara berurutan. Karakter-karakter yang
dihilangkan disatukan kembali dan disusulkan sebagai "lampiran" dari pesan utama,
dengan diawali oleh suatu karakter khusus, dalam contoh ini digunakan "&".

1.4.

Algoritma Kriptografi Modern

Algoritma kriptografi modern umumnya beroperasi dalam mode bit ketimbang mode
karakter (seperti yang dilakukan pada cipher substitusi atau cipher transposisi dari algoritma
kriptografi klasik). Operasi dalam mode bit berarti semua data dan informasi (baik kunci,
plainteks, maupun ciphertext) dinyatakan dalam rangkaian (string) bit biner, 0 dan 1.
Algoritma enkripsi dan dekripsi memproses semua data dan informasi dalam bentuk
rangkaian bit. Rangkaian bit yang menyatakan plaintext dienkripsi menjadi ciphertext dalam
bentuk rangkaian bit, demikian sebaliknya.
Enkripsi modern berbeda dengan enkripsi konvensional. Enkripsi modern sudah
menggunakan komputer untuk pengoperasiannya, berfungsi untuk mengamankan data baik
yang ditransfer melalui jaringan komputer mauapun yang bukan. Hal ini sangat berguna untuk
melindungi privacy, data integrity, authentication dan non-repudiation. Perkembangan
algoritma kriptografi modern berbasis bit didorong oleh penggunaan komputer digital yang
merepresentasikan data dalam bentuk biner.

Bab 2
Pembahasan
2.1.

Konsep Acak

Yang dimaksud dengan sifat acak (randomness) dalam kriptogra adalah sifat bebas dari
kecenderungan sehingga tidak mudah untuk diterka. Dari segi matematika, jika suatu variabel
dianggap bersifat acak, maka teori probabilitas dapat digunakan untuk memprediksi
kelakuan dari variabel tersebut, antara lain variabel akan memenuhi beberapa kriteria
statistik. Metode statistika dapat digunakan, berdasarkan apa yang sudah terjadi, untuk
menilai apakah variabel memenuhi kriteria statistik untuk variabel acak. Akan tetapi jika
kriteria statistik terpenuhi, belum tentu variabel benar acak, karena sesuatu yang
deterministik seperti pseudo-random number generator dapat memenuhi kriteria statistik
untuk variabel acak. Jadi kriteria statistik bukan merupakan denisi untuk variabel acak.
Sifat acak memang tidak dapat didenisikan secara matematis, sebab sesuatu yang
mempunyai denisi matematis sudah tidak bersifat acak. Apalagi jika denisi berupa rumus
yang dapat digunakan untuk kalkulasi, yang didenisikan bukan saja mudah diterka tetapi
tidak perlu diterka. Sifat acak dapat dikaitkan dengan urutan events, dimana event berikutnya
dalam suatu urutan tidak mudah untuk diterka berdasarkan apa yang sudah lalu.
Sifatinidiperlukandalampembuatankunci(key generation)supayakunci dekripsi tidak mudah
untuk diterka.
Sifat acak juga dikaitkan dengan tidak adanya korelasi (atau korelasi yang mendekati nol).
Dalam kriptogra, tidak diinginkan adanya korelasi antara naskah asli dengan naskah acak
atau kunci dengan naskah acak. Ini untuk mempersulit analisa seperti analisa frekuensi
(frequency analysis) atau analisa lebih canggih seperti linear cryptanalysis atau dierential
cryptanalysis. Meskipun tidak sebenarnya acak, sesuatu yang pseudo-random berguna dan
digunakan dalam kriptogra, tetapi harus dikombinasikan dengan sesuatu yang benar acak.
Sebagai contoh, pseudo-random number generator dikombinasikan dengan sumber entropi
yang benar acak sebagai seed, untuk mendapatkan sesuatu yang praktis bersifat random
number generator.

2.2.

One-Time Pad

Secara teoritis, teknik one-time pad merupakan teknik enkripsi yang sempurna (perfect
encryption ) asalkan proses pembuatan kunci benar acak.

10010111001011101001 naskah asli


01001110001101001101 kunci
11011001000110100100 naskah acak

Tabel 2.1 : Proses enkripsi one-time pad


Dengan one-time pad, operasi exclusive or (xor) dilakukan pada naskah asli dan kunci secara
bitwise seperti dalam tabel 2.1. Operasi xor menghasilkan 0 jika argumen sama (0 dengan 0
atau 1 dengan 1) dan menghasilkan 1 jika argumen berbeda (0 dengan 1 atau 1 dengan 0).
Jadi bit pertama naskah asli (1) dengan bit pertama kunci (0) menghasilkan bit pertama
naskah acak (1), bit kedua naskah asli (0) dengan bit kedua kunci (1) menghasilkan bit kedua
naskah acak (1), bit ketiga naskah asli (0) dengan bit ketiga kunci (0) menghasilkan bit ketiga
naskah acak (0), dan seterusnya.
11011001000110100100 naskah acak
01001110001101001101 kunci
10010111001011101001 naskah asli

Tabel 2.2 : Proses dekripsi one-time pad


Proses dekripsi sama dengan enkripsi tetapi xor dilakukan pada naskah acak, dengan kunci
yang sama (kunci dekripsi sama dengan kunci enkripsi). Setiap bit dalam kunci jika
dioperasikan terhadap bit dalam naskah asli (seperti dalam proses enkripsi) kemudian
dioperasikan lagi terhadap hasil operasi pertama (seperti dalam proses dekripsi) akan
mendapatkan kembali bit naskah asli. Ini adalah konsekuensi sifat aljabar operasi xor.
bit naskah
Bit kunci
Bit hasil operasi
0
0
0
1
0
1
0
1
1
1
1
0
Tabel 2.3 : Tabel operasi xor
Tabel 2.3 memperlihatkan operasi xor yang digunakan oleh one-time pad. Nilai 0 untuk bit
kunci mempertahankan nilai bit naskah yang dioperasikan, jadi dua kali mempertahankan
akan tetap mempertahankan nilai bit naskah asli. Nilai 1 untuk bit kunci menghasilkan negasi
bit naskah yang dioperasikan, jadi dua kali negasi akan mendapatkan nilai bit semula yaitu
nilai bit naskah asli. Alhasil, nilai apapun untuk bit kunci akan mendapatkan kembali nilai bit
naskah asli jika dioperasikan dua kali. Operasi exclusive or sangat berperan dalam kriptogra:
semua algoritma enkripsi simetris modern menggunakan operasi exclusive or. Simbol
kerap digunakan sebagai notasi untuk exclusive or.

Ketangguhan enkripsi one-time pad tergantung pada keacakan kunci yang digunakan. Key
management menjadi sangat penting dan merupakan kelemahan one-time pad yang
membuatnya tidak layak untuk penggunaan skala besar. Besar kunci harus menyamai besar
naskah asli, dan kunci tidak boleh diguna-ulang. Selain masalah key generation, masalah key
distribution menjadi kendala penggunaan skala besar enkripsi one-time pad.
Secara historis, enkripsione-time pad digunakan oleh misi diplomatik berbagai negara di masa
lalu untuk komunikasi rahasia. Semacam buku kode yang dibuat secara acak dan tidak boleh
diguna-ulang harus dibawa oleh kurir yang dipercaya untuk didistribusikan keperwakilan
diplomatik negara yang bersangkutan. Setiap pengiriman naskah rahasia, kunci sebesar
naskah rahasia diambil dari buku kode untuk mengenkripsi naskah. Kunci yang sudah
digunakan untuk enkripsi tidak boleh digunakan lagi untuk enkripsi selanjutnya.
One-time pad dapat digunakan untuk komunikasi sangat rahasia dengan volume yang tidak
terlalu besar, namun untuk penggunaan skala besar dalam suatu sistem teknologi informasi,
one-time pad tidak praktis. Walaupun tidak digunakan secara langsung, konsep one-time pad
ditiru dalam teknik enkripsi stream cipher.

2.3.

Cryptanalysis

Cryptanalysis adalah teknik untuk mencoba memecahkan enkripsi, biasanya dengan mencari
kunci enkripsi. Ada tiga kategori teknik pencarian kunci yang biasanya digunakan untuk
kriptogra klasik yaitu :

known plaintext attack,


analisa statistik, dan
brute force search.

Kombinasi dari teknik-teknik diatas juga kerap digunakan. Biasanya minimal pemecah
mempunyai akses kenaskah acak, dan kadang juga mengetahui naskah aslinya. Algoritma
enkripsi klasik yang baik adalah algoritma yang tahan terhadap known plaintext attack dan
analisa statistik sehingga pencarian kunci harus dilakukan dengan brute force search.
Tentunya kunci enkripsi harus cukup besar agar brute force search tidak efektif. Berbeda
dengan kriptogra klasik, kriptogra public key mengandalkan keamanannya pada sukarnya
komputasi untuk mendapatkan kunci rahasia, yaitu

penguraian bilangan bulat yang besar, atau


komputasi logaritma diskrit untuk nite eld yang besar.

Jadi pemecahan kunci untuk kriptogra public key difokuskan pada teknikteknik untuk
mempercepat kedua komputasi tersebut.

2.3.1. Known Plaintext attack


Known plaintext attack adalah teknik pencarian kunci enkripsi berdasarkan pengetahuan
mengenai pasangan naskah asli - naskah acak. Enkripsi yang menggunakan shift
transformation seperti Caesar cipher sangat rentan terhadap known plaintext attack. Jika
pasangan naskah asli - naskah acak diketahui. Known plaintext attack terhadap enkripsi
Caesar cipher adalah contoh attack yang bersifat deterministik dimana jika pasangan (atau
beberapa pasangan) naskah asli - naskah acak diketahui maka kunci dapat ditemukan dengan
pasti. Jika tidak hati-hati, enkripsi one-time pad juga sangat rentan terhadap known plaintext
attack yang bersifat deterministik. Operasi exclusive or terhadap naskah asli dan naskah acak
langsung mendapatkan kunci. Oleh karena itu kunci untuk one-time pad tidak boleh digunaulang (itulah maksud nama one-time pad: hanya digunakan satu kali). Efek serupa berlaku
untuk enkripsi yang meniru one-time pad seperti stream cipher (dimana operasi exclusive
or terhadap naskah acak dan naskah asli langsung mendapatkan keystream), jadi penggunaan
stream cipher harus dengan sangat hati-hati.
Tidak semua known plaintext attack bersifat deterministik. Linear cryptanalysis menggunakan
known plaintext attack tetapi secara probabilistik. Tingkat kesukaran known plaintext attack
tergantung pada rumus yang digunakan untuk enkripsi. Semakin rumit rumus yang digunakan,
semakin sukar untuk melakukan known plaintext attack. Rumus yang bersifat linear masih
tergolong sederhana dan dianggap rentan terhadap known plaintext attack. Semakin nonlinear dan semakin banyak parameter yang digunakan untuk rumus, semakin sulit untuk
mengkalkulasi kunci berdasarkan rumus.

2.3.2. Analisa Statistik


Kecualione-time pad, semuaalgoritmaenkripsisebelumData Encryption Standard (DES) rentan
terhadap analisa statistik. Sebagai contoh, mari kita lihat bagaimana enkripsi dengan cara shift
transformation seperti Caesar cipher rentan terhadap analisa statistik yang sederhana yaitu
analisa frekuensi. Enkripsi dengan cara shift transformation sangat rentan terhadap analisa
frekuensi sebagai berikut: dengan rumus enkripsi

C P +b (mod n),
Jika n diketahui dan sepasang C dan P dapat diterka dengan akurat, maka parameter b (kunci)
dapat dicari. Setiap pencarian b dapat dicoba cukup dengan sepasang nilai untuk C dan P.
Pasangan nilai yang patut dicoba adalah pasangan yang sesuai dengan statistik frekuensi
penggunaan. Sebagai contoh, menggunakan naskah acak Mdqjdq udkdvldndq shvdq lql!,
huruf D dan Q adalah yang terbanyak digunakan dalam naskah acak. Karena dalam bahasa
Indonesia, huruf A adalah huruf dengan statistik penggunaan terbesar, jika naskah asli
dalam bahasa Indonesia, maka besar kemungkinan huruf D atau Q merupakan huruf acak
untuk A. Jadi besar kemungkinan, jika kita menggunakan kode untuk D atau Q sebagai
8

nilai C dan kode untuk A sebagai nilai P, rumus enkripsi akan menghasilkan nilai b yang
benar. Jadi kita coba dua kemungkinan: pasangan D-A (yang menghasilkan b = 3) dan
pasangan Q-A (yang menghasilkan b = 16). Hasil yang dicari adalah nilai b yang jika
digunakan untuk mendekripsi naskah acak akan menghasilkan naskah asli yang masuk akal.
Pasangan
DA
QA

Kode
acak
3
16

Kode
asli
0
0

Nilai b

Hasil dekripsi

b=3
b = 16

Jangan rahasiakan pesan ini!


Wnatna enunfvnxna crfna vav!

Tabel 2.4 : Hasil analisa frekuensi


Berdasarkan hasil analisa frekuensi, yang masuk akal hanya b = 3 dengan hasil dekripsi
Jangan rahasiakan pesan ini!, jadi kita dapat cukup yakin bahwa parameter b = 3.
Analisa frekuensi diatas didasarkan pada pengetahuan bahwa naskah asli adalah dalam
bahasa Indonesia dimana huruf A mempunyai statistik frekuensi penggunaan terbesar.
Tentunya naskah asli tidak akan selalu mempunyai statistik yang mirip dengan data empiris.
Tetapi secara umum, semakin panjang naskah yang digunakan untuk analisa, semakin besar
kemungkinan statistik penggunaan akan mirip dengan data empiris, yang berarti semakin
besar kemungkinan analisa frekuensi akan sukses. Dalam contoh diatas, statistik penggunaan
huruf A cukup mirip dengan data empiris, jadi analisa frekuensi berhasil.
Untuk shift transformation, karena rumus transformasi sangat sederhana hanya dengan satu
parameter, setiap percobaan cukup dengan menggunakan satu persamaan. Strategi
pencarian yang baik adalah dengan mencoba pasangan yang mempunyai frekuensi
penggunaan yang besar (huruf acak yang frekuensinya besar dalam naskah acak dipasangkan
dengan huruf asli yang frekuensinya juga besar menurut data empiris). Semakin besar
frekuensi terbesar dalam data empiris, secara umum berarti semakin besar redundancy dari
segi teori informasi, yang akan mempermudah analisa frekuensi.
Jika rumus transformasi lebih rumit dengan lebih dari satu parameter, maka setiap percobaan
harus dilakukan dengan lebih dari satu persamaan, dengan banyaknya persamaan yang
dibutuhkan sedikitnya sama dengan banyaknya parameter yang harus dicari.
Untuk sukses dalam analisa frekuensi, dibutuhkan pengetahuan empiris mengenai statistik
penggunaan huruf, naskah acak yang dapat dianalisa harus cukup besar, rumus atau
seminimnya jenis enkripsi harus diketahui (jika rumus tidak diketahui tetapi jenis enkripsi
diketahui berupa simple substitution, setiap huruf acak harus dipasangkan dengan huruf asli).
Untuk analisa frekuensi yang rumit, penggunaan komputer sangat membantu.
Secara umum, enkripsi yang rentan terhadap known plaintext attack yang deterministik juga
rentan terhadap analisa frekuensi, jika data empiris mengenai statistik naskah asli diketahui.
Ini karena analisa frekuensi dapat dipandang sebagai suatu known plaintext attack yang
probabilistik, dimana pasangan naskah asli - naskah acak diterka atau diperkirakan
berdasarkan data empiris. Analisa frekuensi lebih mudah dilakukan pada substitution cipher
dibandingkan dengan block cipher. Analisa frekuensi terhadap polyalphabetic substitution
9

cipher memang jauh lebih sukar dibandingkan dengan analisa frekuensi terhadap simple
substitution cipher, tetapi jauh lebih mudah dibandingkan analisa frekuensi terhadap block
cipher.

2.3.3. Brute Force Search


Satu dari kriteria sistem enkripsi yang baik adalah bahwa dekripsi tanpa kunci hanya dapat
dipecahkan dengan cara brute force search dimana semua kemungkinan kunci harus dicoba.
Tentunya jumlah kemungkinan kunci harus cukup besar sehingga diperlukan waktu yang
sangat lama untuk mencoba semua kunci. Jika jumlah kunci yang harus dicoba kurang besar,
maka sistem enkripsi rentan terhadap analisa brute force search.
Besarnya kunci enkripsi (jumlah bit dalam kunci enkripsi) menentukan jumlah kemungkinan
kunci yang harus dicoba dalam brute force search. Untuk kunci sebesar n bits, jumlah
kemungkinan kunci adalah 2n dan rerata, kunci akan ditemukan setelah kita mencoba 2n1
kemungkinan (setengah dari semua kemungkinan). Jadi enkripsi rentan terhadap brute force
search jika 2n kemungkinan kunci dapat dicoba dalam waktu yang tidak terlalu lama. Tentunya
selain tergantung pada jumlah kemungkinan kunci yang harus dicoba, waktu yang diperlukan
juga tergantung pada kemampuan hardware yang digunakan.

2.4.

Manajemen Kunci

Aspek manajemen kunci sangat penting dalam aplikasi kriptogra. Manajemen kunci yang
tidak baik dapat berakibat fatal. Proses pembuatan kunci sangat penting dan sebaiknya proses
ini benar acak. Sumber acak (entropi) dapat diambil dari proses sika acak seperti proses
radio-aktif. Sumber acak dapat juga diambil dari berbagai kejadian (events) yang muncul
secara acak. Operating system seperti unix menggunakan kombinasi system events termasuk
interrupts sebagai sumber entropi, yang kemudian dikombinasikan dengan algoritma pseudorandom number generator menjadi random number generator. Aplikasi kriptogra dapat
menggunakan random number generator yang disediakan operating system untuk
pembuatan kunci, akan tetapi sebaiknya ini dilakukan hanya jika random number generator
yang disediakan cukup acak.

2.5.

Oprasi Dasar

Operasi terpenting terhadap unit data dalam kriptogra adalah exclusive or (xor), seperti yang
digunakan dalam enkripsi one-time pad. Operasi xor sangat mudah implementasinya dalam
hardware, dan prosesor komputer biasanya memiliki instruksi untuk melakukan bitwise xor.

10

Jika one-time pad dapat digunakan dalam skala besar, maka enkripsi hanya memerlukan
operasi xor. Akan tetapi, one-time pad tidak praktis untuk penggunaan skala besar, oleh sebab
itu diperlukan operasi lainnya yaitu substitusi dan permutasi.
Substitusi adalah proses penukaran unit data secara utuh, seperti yang dilakukan dalam
Caesar cipher dimana huruf ditukar dengan huruf. Operasi ini membuat efek confusion
(pembingungan) terhadap analisa statistik. Permutasi adalah proses penukaran posisi dalam
unit data. Operasi ini membuat efek diusion (pembauran) yang mempersulit analisa statistik.
Operasi ini dapat diimplementasikan dalam hardware secara esien. Operasi permutasi
bersifat bijective map dimana tidak ada komponen data yang hilang dan tidak ada komponen
data yang digandakan. Dalam kriptogra, komponen data dalam operasi permutasi biasanya
berupa bit. Contoh operasi permutasi adalah Initial Permutation yang digunakan algoritma
DES.

11

Daftar Pustaka
(2016,

April
22).
Diambil
kembali
http://repository.usu.ac.id/bitstream/123456789/43942/5/Chapter%20I.pdf

Firmansyah, E. R. (2012). Algoritma Kriptografi dan Contohnya. Jakarta.


Kromodimoeljo, S. (2010). Teori dan Aplikasi Kriptografi. SPK IT.

12

dari