Anda di halaman 1dari 7

PERTEMUAN 4

a. Tujuan Pembelajaran
Mahasiswa mengerti dan dapat menerapkan beberapa teknik cryptography dasar dalam
program aplikasi
b. Materi Pembelajaran

4.1 TEKNIK CRYPTOGRAPHY DASAR


Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu
kripto dan graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan.
Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan
dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data,
serta autentikasi data .Tetapi tidak semua aspek keamanan informasi dapat diselesaikan
dengan kriptografi.
A. Algoritma Kriptografi
Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan
pesan. Pada prinsipnya kriptografi memiliki 4 komponen utama yaitu:
Plaintext, yaitu pesan yang dapat dibaca

1. Ciphertext, yaitu pesan acak yang tidka dapat dibaca


2. Key, yaitu kunci untuk melakukan teknik kriptografi
3. Algorithm, yaitu metode untuk melakukan enkrispi dan dekripsi

Kemudian, proses yang akan dibahas dalam artikel ini meliputi 2 proses dasar pada
Kriptografi yaitu:

1. Enkripsi (Encryption)
2. Dekripsi (Decryption)

dengan key yang digunakan sama untuk kedua proses diatas. Penggunakan key yang
sama untuk kedua proses enkripsi dan dekripsi ini disebut juga dengan Secret Key,
Shared Key atau Symetric Key Cryptosystems.
Berikut adalah ilustrasi 4 komponen dan 2 proses yang digunakan dalam teknik
kriptografi.

 Enkripsi
Enkripsi (Encryption) adalah sebuah proses menjadikan pesan yang dapat dibaca
(plaintext) menjadi pesan acak yang tidak dapat dibaca (ciphertext). Berikut adalah
contoh enkripsi yang digunakan oleh Julius Caesar, yaitu dengan mengganti masing-
masing huruf dengan 3 huruf selanjutnya (disebut juga Additive/Substitution
Cipher):

Plaintext Ciphertext
rumah xasgn
motor suzux
kompor qusvux
dst…

 Dekripsi
Dekripsi merupakan proses kebalikan dari enkripsi dimana proses ini akan
mengubah ciphertext menjadi plaintext dengan menggunakan algortima ‘pembalik’
dan key yang sama.

Ciphertext Plaintext
xasgn rumah
suzux motor
qusvux kompor
dst…
4.2 TEKNIK DASAR KRIPTOGRAFI
 1. SUBSTITUSI
Dalam kriptografi, sandi substitusi adalah 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 adalah 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

 Caesar Cipher

 ROT13

     2. BLOCKING

     Sistem enkripsi ini terkadang membagi plaintext menjadi beberapa blok yang terdiri
dari beberapa karakter, kemudian di enkripsikan secara independen.

Caranya :
Plaintext dituliskan secara vertikal ke bawah berurutan pada lajur, dan dilanjutkan pada
kolom berikutnya sampai seluruhnya tertulis. Ciphertext-nya adalah hasil pembacaan
plaintext secara horizontal berurutan sesuai dengan blok-nya.
Contoh :

3. PERMUTASI
   
     Salah satu teknik enkripsi yang terpenting adalah permutasi atau 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.

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 :

Dengan menggunakan aturan diatas, maka proses enkripsi dengan permutasi dari
plaintext adalah sebagai berikut :
4. EKSPANSI

     Suatu metode sederhana untuk mengacak pesan adalah dengan memelarkan 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”. Jika suatu kata dimulai dengan huruf vokal atau
bilangan genap, ditambahkan akhiran “i”.
Contoh :

  
5. PEMAMPATAN

     Mengurangi panjang pesan atau jumlah bloknya dengan cara lain untuk
menyembunyikan isi pesan. 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 menggunakan ”  * “.
Contoh :

 
4.3 TOP DOWN PARSING
Metode Top-Down Parsing ini meliputi :
1. Backtrack/ Backup             : Brute Force
2. No Backtrack                  : Recursive Descent Parser
Metoda Brute-Force tidak dapat menggunakan grammar rekursi kiri, yaitu grammar yang
mengandung produksi rekursi kiri (left recursion) :
Problems:
1. Left Recursion
2. Left factoring
Sebuah grammar dikatakan bersifat left recursion apabila grammar tersebut mengandung
suatu nonterminal dan derivasinya.
Contoh : A → Aα
Contoh 2:
A → Aα|β
Maka, A → βA’
A’ → αA’ | ε
Metode Top-Down Parsing tidak bisa menangani grammar yang mengandung left recursive,
sehingga left recursive perlu dihilangkan.. Produksi rekursi kiri akan
menyebabkan parsing mengalami looping tak hingga.
Grammar dapat dikatakan left factoring apabila terdapat produksi yang berbentuk seperti di
bawah ini :
Contoh  :
A → αβ1 | αβ2
Grammar tersebut diubah menjadi :
A → αA’
A’ → β1 |β2
Adanya left factoring ini menyebabkan grammar menjadi ambigu karena tidak jelas yang
mana dari dua produksi alternatif yang bisa digunakan untuk memperluas nonterminal A.
Dari contoh soal di atas, kita tidak tahu mau menelusuri A ke αβ1 atau ke αβ2.
TUGAS
Jelaskan penerapan kriptografi dalam pemrograman !

Anda mungkin juga menyukai