MAKALAH ALGORITMA PEMBAKIT ACAK PROGRAM

MAKALAH
ALGORITMA PEMBAKIT ACAK
Disusun Oleh :
Nama
NPM

:
:

Tomy Eko Ferdiansyah
5520112035

PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS SURYAKANCANA
CIANJUR
2015

ALGORITMA PEMBANGKIT ACAK
Salah satu algoritma pembangkit acak adalah algoritma kiptografi klasik di mana
krakernya di ganti dengan karakter lain .

ALGORITMA KRIPTOGRAFI KLASIK
1. Cipher Substitusi
Subsitusi adalah penggantian setiap karakter plaintext dengan karakter lain. Beberapa istilah yang
mungkin perlu diingat adalah KUR04:
a.

Monoalfabet : Setiap karakter ciphertext mengganti satu macam karakter plainteks tertentu.

b. Polyalfabet : Setiap karakter ciphertext dapat mengganti lebih dari satu karakter plaintext.
c.

Monograf / unilateral : Satu enkripsi dilakukan terhadap satu karakter plaintext.

d. Polygraf / multilateral : Satu enkripsi dilakukan terhadap lebih dari satu karakter plaintext sekaligus.

Adalah algoritma kriptografi yang mula-mula digunakan oleh kaisar Romawi, Julius
Caesar (sehingga dinamakan juga caesar chiper), untuk menyandikan pesan yang ia kirim
kepada para gubernurnya.
Caranya adalah dengan mengganti (menyulih atau mensubstitusi) setiap karakter
dengan karakter lain dalam susunan abjad (alfabet). Misalnya, tiap huruf disubstitusi dengan

huruf ketiga berikutnya dari susunan akjad. Dalam hal ini kuncinya adalah jumlah pergeseran
huruf (yaitu k = 3).
Tabel substitusi :
pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Contoh 1. Pesan
AWASI ASTERIX DAN TEMANNYA OBELIX
disamarkan (enskripsi) menjadi
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
Penerima pesan men-dekripsi chiperteks dengan menggunakan tabel substitusi, sehingga
chiperteks
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
dapat dikembalikan menjadi plainteks semula:
AWASI ASTERIX DAN TEMANNYA OBELIX
Dengan mengkodekan setiap huruf abjad dengan integer sebagai berikut: A= 0, B = 1,
…, Z = 25, maka secara matematis caesar chiper menyandikan plaintekspi menjadi ci dengan
aturan:
ci = E(pi) = (pi + 3) mod 26
(1)
dan dekripsi chiperteks ci menjadi pi dengan aturan:

pi = D(ci) = (ci – 3) mod 26
(2)
Karena hanya ada 26 huruf abjad, maka pergeseran huruf yang mungkin dilakukan adalah
dari 0 sampai 25. Secara umum, untuk pergeseran huruf sejauh k (dalam hal ini k adalah
kunci enkripsi dan deksripsi), fungsi enkripsi adalah
ci = E(pi) = (pi + k) mod 26
(3)
dan fungsi dekripsi adalah

pi = D(ci) = (ci – k) mod 26
Catatan:

(4)

1. Pergeseran 0 sama dengan pergeseran 26 (susunan huruf tidak berubah)
2. Pergeseran lain untuk k > 25 dapat juga dilakukan namun hasilnya akan kongruen

dengan bilangan bulat dalam modulo 26. Misalnya k = 37 kongruen dengan 11 dalam
modulo 26, atau 37 º 11 (mod 26).
3. Karena ada operasi penjumlahan dalam persamaan (3) dan (4), maka caesar


chiperkadang-kadang dinamakan juga additive chiper.
2. Jenis-jenis Cipher Substitusi
Cipher subsitusi paling tua yang dikenal adalah subsitusi yang dilakukan Julius Caesar. Beberapa
teknik subsitusi yang pernah dilakukan, antara lain [KUR04]:
a. Subsitusi deret campuran kata kunci yaitu subsitusi yang kata kuncinya didapat dari mengumpulkan
karakter yang sama dari sebuah plaintext dan pada ciphertextnya ditambahkan semua sisa karakter dalam
abjad.
b.

Subsitusi monomer-dinome-trinome.
Monome berarti setiap satu karakter plaintext akan disubsitusi oleh satu karakter ciphertext, dinome
disubsitusi dua karakter ciphertext, tridome disubsitusi tiga karakter ciphertext. Jadi sistem ini adalah
campuran.

c.

Subsitusi multilateral variant.
Subsitusi ini masih termasuk jenis monoalfabet yang dalam mensubsitusi memanfaatkan huruf abjad a,b,c,
…,z yang disusun dalam matrik 5 X 5.


d.

Subsitusi digrafik.
Pada sistem ini, setiap huruf plaintext akan disubsitusi oleh dua huruf ciphertext. Pola huruf cipher text
diambil dari sebuah matrik 26 X 26 yang berasal dari 26 abjad yang memiliki pola khusus.

e.

Subsitusi persegi panjang.
Sistem digrafik terlalu memerlukan matrik yang besar. Untuk memperkecil matrik dengan keamanan yang
setara dapat digunakan sistem empat persegi.

f.

Subsitusi kode playfair
Kode rahasia multi huruf yang paling terkenal adalah playfair. Playfair menggunakan 676 digraf. Selama
waktu yang lama, kode ini dianggap tak dapat dipecahkan. Playfair dijadikan system standar oleh tentara
Inggris dalam PD I dan masih digunakan secara luas oleh tentara Amerika dan sekutu selama PD II. Sistem
ini menggunakan matrik 5 x 5


g. Subsitusi Polialfabet periodik.
Dalam sistem polialfabet, setiap ciphertext dapat memiliki banyak kemungkinan plaintext. Dan
sistem periodik itu sendiri dikarenakan adanya kunci yang berulang. Jenis polialfabet klasik yang terkenal
adalah Vigenere.
Termasuk ke dalam cipher abjad-majemuk (polyalpabetic substitution cipher ). Ditemukan oleh
diplomat (sekaligus seorang kriptologis) Perancis, Blaise de Vigènere pada abad 16. Sudah berhasil
dipecahkan pada Abad 19.Vigènere Cipher menggunakan Bujursangkar Vigènere untuk melakukan

enkripsi. Setiap baris di dalam bujursangkar menyatakan huruf-huruf cipherteks yang diperoleh
dengan Caesar Cipher.
Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang secara periodik.
Bila panjang kunci adalah m, maka periodenya dikatakan m.
Contoh: kunci = sony
Plainteks: THIS PLAINTEXT
Kunci: sony sonysonys
Huruf yang sama tidaks elalu dienkripsi menjadi huruf cipheteks yang sama pula. Contoh: huruf
plainteks T dapat dienkripsi menjadi L atau H, dan huruf cipherteks V dapat merepresentasikan huruf
plainteks H, I, dan X. Hal di atas merupakan karakteristik dari cipher abjad-majemuk: setiap huruf
cipherteks dapat memiliki kemungkinan banyak huruf plainteks. Pada cipher substitusi sederhana, setiap

huruf cipherteks selalu menggantikan huruf plainteks tertentu. Vigènere Cipher dapat mencegah frekuensi
huruf-huruf di dalam cipherteks yang mempunyai pola tertentu yang sama seperti pada cipher abjadtunggal. Jika periode kunci diketahui dan tidak terlalu panjang, maka kunci dapat ditentukan dengan
menulis program komputer untuk melakukan exhaustive key search.
h.

Enigma.
Merupakan mesin kriptografi yang digunakan oleh tentara NAZI Hitler pada masa PD II. Mesin
ini menggunakan rotor. Enigma menggunakan tiga rotor untuk melakukan subsitusi. Tiga rotor berarti tiga
kali

subsitusi.

Enigma adalah mesin yang digunakan Jerman selama Perang Dunia II untuk mengenkripsi/dekripsi pesanpesan militer.
Enigma menggunakan sistem rotor (mesin berbentuk roda yang berputar) untuk membentuk huruf
cipherteks yang berubah-ubah. Setelah setiap huruf dienkripsi, rotor kembali berputar untuk membentuk
huruf cipherteks baru untuk huruf plainteks berikutnya. Enigma menggunakan 4 buah rotor untuk
melakukan substitusi. Ini berarti terdapat 26 ´ 26´ 26 ´ 26 = 456.976 kemungkinan huruf cipherteks sebagai
pengganti huruf plainteks sebelum terjadi perulangan urutan cipherteks.
Setiap kali sebuah huruf selesai disubstitusi, rotor pertama bergeser satu huruf ke atas. Setiap
kali rotor pertama selesai bergeser 26 kali, rotor kedua juga melakukan hal yang sama, demikian

untuk rotor ke-3 dan ke-4. Posisi awal keempat rotor dapat di-set; dan posisi awal ini menyatakan kunci
dari Enigma. Jerman meyakini bahwa cipherteks yang dihasilkan Enigma tidak mungkin dipecahkan.
Namun, sejarah membuktikan bahwa pihak Sekutu berhasil juga memecahkan kode Enigma. Keberhasilan
memecahkan Enigma dianggap sebagai faktor yang memperpendek Perang Dunia II menjadi hanya 2
tahun.
3. Cipher Transposisi
Beberapa model kriptografi yang menggunakan teknik transposisi, antara lain [KUR04]:
1. Algoritma transposisi kolom dengan kunci numerik. Teknik ini menggunakan permutasi karakter. Kunci
dapat diperoleh dari kata yang mudah dibaca dan kemudian dikodekan menjadi bentuk bilangan.
2.

Masukan plaintext pola zig-zag, keluaran ciphertext berupa baris.

3. Masukan pola segitiga, keluaran berupa kolom, dibaca dari atas kebawah.
4. Masukan berpola spiral, dari luar kedalam, keluaran berupa kolom dibaca pembacaannya mengikuti pola
yang berasal dari atas ke bawah.
5. Dimasukan secara diagonal dari kiri bawah ke kanan atas, keluaran baris.
6. Masukan spiral dari dalam ke luar, keluaran diagonal bergantian.

Kombinasi subsitusi dan transposisi yang komplek menjadi dasar pembentukan algoritmaalgoritma kriptografi modern. Salah satu algoritma klasik yang menggunakan kedua teknik ini adalah VIC

yang tidak memerlukan komputer dalam penggunaannya
4. Super Enkripsi
Super enkripsi adalah mengkombinasikan metode cipher substitusi dengan cipher transposisi.
Tujuanya memperoleh cipher yang lebih kuat daripada hanya satu cipher saja. Mula-mula enkripsi
dengan cipher substitusi sederhana (cipher abjad-tunggal), lalu hasilnya dienkripsi lagi
dengan cipher transposisi
Contoh:
Plainteks: HELLO WORLD
Enkripsi dengan caesar cipher menjadi:
KHOOR ZRUOG
Kemudian enkripsi lagi dengan cipher transposisi (k = 4):
KHOO
RZRU
OGZZ
Cipherteks akhir adalah: KROHZGORZOUZ
5. Teknik Analisis Frekuensi

Kelemahan sandi substitusi adalah hubungan frekuensi kemunculan huruf pada
plainteks dan cipherteks yang tidak berubah. Jika huruf a dienkripsi menjadi huruf X, dan a
muncul sebanyak n kali, maka X juga muncul sebanyak nkali. Hal ini dimanfaatkan

penyerang untuk menemukan kuncinya. Penyerang memanfaatkan data statistik peluang
kemunculan huruf berikut ini. Teknik seperti ini disebut dengan teknik analisis frekuensi.

Data di atas dapat dibagi menjadi lima kelompok, yaitu:
1. E, mempunyai peluang 0.120.
2. T, A, O, I, N, S, H, R, mempunyai peluang antara 0.06 dan 0.09.
3. D, L, mempunyai peluang sekitar 0.04.

4. C, U, M, W, F, G, Y, P, B, mempunyai peluang antara 0.015 dan 0.023.
5. V, K, J, X, Q, Z, peluangnya kurang dari 0.01.
Selain itu juga ditemukan data mengenai frekuensi kemunculan digrams dantrigrams.
30 digram paling sering muncul dalam Bahasa Inggris berturut-turut dari yang peluang
terbesar adalah:
TH, HE, IN, ER, AN, RE, ED, ON, ES, ST, EN,
AT, TO, NT, HA, ND, OU, EA, NG, AS, OR,
TI, IS, ET, IT, AR, TE, SE, HI, OF.
Sedangkan 12 trigram yang sering muncul dalam Bahasa Inggris berturut-turut dari peluang
terbesar adalah:
THE, ING, AND, HER, ERE, ENT, THA, NTH,
WAS, ETH, FOR, DTH.

Untuk lebih jelasnya mengenai cara kerja teknik analisis frekuensi dalam memecahkan cipher
substitusi.
6. Affine Cipher
Salah satu kriptosistem klasik selain shift cipher adalah Affine Cipher. Ide awalnya hampir sama
dengan shift cipher di mana tiap huruf direpresentasikan oleh nilai dari 0 ( yaitu a ) sampai 25 ( z ).
Bedanya adalah jika pada shift cipher, tiap-tiap huruf digeser sejauh k, dan nilai k pada tiap huruf sama,
pada Affine cipher, tiap huruf pada ciphertext merupakan hasil fungsi berikut :
X = α x + β (mod 26)
7. Vigenere Cipher
Sandi Vigenère adalah metode menyandikan teks alfabet dengan menggunakan deretan sandi
Caesar berdasarkan huruf-huruf pada kata kunci. Sandi Vigenère merupakan bentuk sederhana dari
sandi substitusi polialfabetik. Kelebihan sandi ini dibanding sandi Caesar dan sandi monoalfabetik lainnya
adalah sandi ini tidak begitu rentan terhadap metode pemecahan sandi yang disebut analisis frekuensi.
Giovan Batista Belaso menjelaskan metode ini dalam buku La cifra del. Sig. Giovan Batista
Belaso (1553); dan disempurnakan oleh diplomat Perancis Blaise de Vigenère, pada 1586. Pada abat ke-19,
banyak orang yang mengira Vigenère adalah penemu sandi ini, sehingga, sandi ini dikenal luas sebagai
"sandi Vigenère".
Sandi ini dikenal luas karena cara kerjanya mudah dimengerti dan dijalankan, dan bagi para
pemula sulit dipecahkan. Pada saat kejayaannya, sandi ini dijuluki le chiffre indéchiffrable (bahasa
Prancis: 'sandi yang tak terpecahkan'). Metode pemecahan sandi ini baru ditemukan pada abad ke-19. Pada
tahun 1854, Charles Babbage menemukan cara untuk memecahkan sandi Vigenère. Metode ini
dinamakan tes Kasiski karena Friedrich Kasiski-lah yang pertama mempublikasikannya.

Sandi Vigenère sebenarnya merupakan pengembangan dari sandi Caesar. Pada sandi
Caesar, setiap huruf teks terang digantikan dengan huruf lain yang memiliki perbedaan
tertentu pada urutan alfabet. Misalnya pada sandi Caesar dengan geseran
3, A menjadi D, B menjadi E and dan seterusnya. Sandi Vigenère terdiri dari beberapa sandi
Caesar dengan nilai geseran yang berbeda.
Untuk menyandikan suatu pesan, digunakan sebuah tabel alfabet yang disebut tabel
Vigenère (gambar). Tabel Vigenère berisi alfabet yang dituliskan dalam 26 baris, masingmasing baris digeser satu urutan ke kiri dari baris sebelumnya, membentuk ke-26

kemungkinan sandi Caesar. Setiap huruf disandikan dengan menggunakan baris yang
berbeda-beda, sesuai kata kunci yang diulang
Misalnya, teks terang yang hendak disandikan adalah perintah "Serbu Berlin":
serbuberlin
Sedangkan kata kunci antara pengirim dan tujuan adalah "Pizza"
"PIZZA" diulang sehingga jumlah hurufnya sama banyak dengan teks terang:
PIZZAPIZZAP
Huruf pertama pada teks terang, S, disandikan dengan menggunakan baris berjudul P,
huruf pertama pada kata kunci. Pada baris Pdan kolom S di tabel Vigenère, terdapat huruf H.
Demikian pula untuk huruf kedua, digunakan huruf yang terletak pada baris I (huruf kedua
kata kunci) dan kolom E (huruf kedua teks terang), yaitu huruf M. Proses ini dijalankan terus
sehingga
Teks terang: Serbuberlin
Kata kunci:
PIZZAPIZZAP
Teks bersandi: HMQAUQMQKIC
Proses sebalinya (disebut dekripsi), dilakukan dengan mencari huruf teks bersandi
pada baris berjudul huruf dari kata kunci. Misalnya, pada contoh di atas, untuk huruf pertama,
kita mencari huruf H (huruf pertama teks tersandi) pada baris P (huruf pertama pada kata
kunci), yang terdapat pada kolom S, sehingga huruf pertama adalah S. Lalu M terdapat pada
baris I di kolom E, sehingga diketahui huruf kedua teks terang adalah E, dan seterusnya
hingga didapat perintah "serbuberlin".
Enkripsi (penyandian) dengan sandi Vigenère juga dapat dituliskan secara matematis,
dengan menggunakan penjumlahan dan operasi modulus, yaitu:
atau C = P + K kalau jumlah dibawah 26 & - 26 kalau hasil jumlah di atas 26 dan dekripsi,
atau P = C - K kalau hasilnya positif & + 26 kalau hasil pengurangan minus
Keterangan:
adalah huruf ke-i pada teks tersandi,
adalah huruf ke-i pada teks
terang,

adalah huruf ke-i pada kata kunci, dan

adalah operasi modulus (sisa

pembagian).
Rumus enkripsi vigenere cipher :
atau
Ci = ( Pi + Ki ) – 26 kalau hasil penjumlahan Pi dan Ki lebih dari 26
Rumus dekripsi vigenere cipher :
atau
Pi = ( Ci – Ki ) + 26 kalau hasil pengurangan Ci dengan Ki minus
Dimana:
Ci = nilai desimal karakter ciphertext ke-i
Pi = nilai desimal karakter plaintext ke-i
Ki = nilai desimal karakter kunci ke-i

Pada contoh kata kunci KAMPUS diulang sedemikian rupa hingga panjang kunci sama
dengan panjang plainteksnya. Jika dihitung dengan rumus enkripsi vigenere plainteks huruf
pertamaS (yang memiliki nilai Pi=18) akan dilakukan pergeseran dengan huruf K (yang
memiliki Ki=10) maka prosesnya sebagai berikut:
Ci = ( Pi + Ki ) mod 26
= (18 + 10) mod 26
= 28 mod 26
=2
Ci=2 maka huruf ciphertext dengan nilai 2 adalah C . Begitu seterusnya dilakukan pergeseran
sesuai dengan kunci pada setiap huruf hingga semua plainteks telah terenkripsi menjadi
ciphertext. Setelah semua huruf terenkripsi maka proses dekripsinya dapat dihitung sebagai
berikut:
Pi = ( Ci – Ki ) + 26
= ( 2 – 10 ) + 26
= –8 + 26
= 18
8. Playfair Cipher

·
·
·

·

Termasuk ke dalam polygram cipher
Ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada tahun 1854
Kunci kriptografinya adalah 25 buah huruf yang disusun di dalam bujursangkat 5x5 dengan
menghilangkan huruf J dari abjad.
Contoh kunci:
S T A N D
E R C H B
K F G I L
M O P Q U
V W X Y Z
Jumlah kemungkinan kunci:
25!=15.511.210.043.330.985.984.000.000
Susunan kunci di dalam bujursangkar diperluas dengan menambahkan kolom keenam dan
baris keenam

S T A N D S
E R C H B E
K F G I L K
M O P Q U M
V W X Y Z V

S T A N D

Baris ke-6 = baris ke-1
Kolom ke-6 = kolom ke-1
·
1.
2.
3.
4.

Pesan yang akan disamarkan diatur terlebih dahulu sebagai berikut:
Ganti huruf dengan J (bila ada) dengan huruf I
Tulis pesan dalam pasangan huruf
Jangan sampai ada pasangan huruf yang sama. Jika ada, sisipkan Z di tengahnya
Jika jumlah huruf ganjil,tambahkan huruf Z di akhir
Contoh: plainteks GOOD BROOMS SWEEP CLEAN
→ Tidak ada huruf J, maka langsung tulis pesan dalam pasangan huruf:
GO OD BR OZ OM SZ SW EZ EP CL EA NZ

· Algoritma enkripsi sebagai berikut:
1. Jika ada dua huruf terdapat pada baris kunci yang sama maka tiap huruf diganti dengan huruf
di kanannya (pada kunci yang sudah diperluas)
2. Jika dua huruf terdapat pada kolom kunci yang sama maka tiap huruf diganti dengan huruf di
bawahnya (pada kunci yang sudah diperluas)
3. Jika dua huruf tidak pada baris yang sama atau kolom yang sama, maka huruf pertama
diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom huruf kedua.
Huruf kedua diganti dengan huruf pada titik sudut keempat dari persegi panjang yang
dibentuk dari 3 huruf yang digunakan sampai sejauh ini
Contoh: Kunci (yang sudah diperluas) ditulis kembali sebagai berikut:
S
E
K
M
V
S

T A
R C
F G
O P
W X
T A

N
H
I
Q
Y
N

D
B
L
U
Z
D

S
E
K
M
V

Plainteks (dalam pasangan huruf):
GO OD BR OZ OM SZ SW EZ EP CL EA NZ
Cipherteks:
FP UT EC UW PO DV TV BV CM BG CS DY
·
·

Algoritma dekripsi kebalikan dari algoritma enkripsi
Kunci dapat dipilih dari sebuah kalimat yang mudah diingat, misal
JALAN GANESHA SEPULUH
Buang huruf yang berulang dan huruf J jika ada:
ALNGESHPU
Lalu tambahkan huruf-huruf yang belum ada (kecuali J):

ALNGESHPUBCDFIKMOQRTVWXYZ
Masukkan ke dalam bujursangkar:
A L N G E
S H P U B
C D F I K
M O Q R T
V W X Y Z

·
·
·

·

SUPER ENKRIPSI
Menggunakan metode cipher substitusi dengan cipher transposisi
Tujuan: memperoleh cipher yang lebih kuat daripada hanya satu cipher saja.
Mula-mula enkripsi dengan cipher substitusi sederhana (cipher abjad-tunggal), lalu hasilnya
dienkripsi lagi dengan cipher transposisi
Contoh: Plainteks: HELLO WORLD
Enkripsi dengan caesar cipher menjadi:
Chiperteks1: KHOOR ZRUOG
Kemudian enkripsi lagi dengan cipher transposisi (k=4):
KHOO
RZRU
OGZZ
Cipherteks akhir adalah:
Cipherteks2: KROHZGORZOUZ
Banyak dari algoritma kriptografi modern yang diacu sebagai hasil dari super enkripsi yang
menggunakan sejumlah algoritma kriptografi yang secara komparatif lemah.