Pada pertemuan kali ini, kami membahas mengenai
Kriptografi.
Apa
sih Kriptografi itu? Ilmu
sekaligus seni untuk
menjaga keamanan pesan
Pesan Plaintext atau Cleartext
Pesan dapat berupa data atau
informasi yang dikirim (melalui kurir, saluran komunikasi data, dsb)
Pesan dapat disimpan di dalam
media perekaman (kertas, storage, dsb).
Agar pesan tidak dapat
dimengerti maknanya oleh pihak lain, maka pesan disandikan ke bentuk lain.
Bentuk pesan yang
tersandi disebut ciphertext atau cryptogram. Tidak
bergantung dengan suatu program.
Ciphertext harus dapat ditransformasi kembali menjadi
plaintext.
Ilustrasi
Komponen utama kriptografi
Pada prinsipnya, Kriptografi memiliki 4
komponen utama yaitu:
Plaintext,
yaitu pesan yang dapat dibaca
Ciphertext,
yaitu pesan acak yang tidka dapat dibaca
Key,
yaitu kunci untuk melakukan teknik kriptografi
Algorithm, yaitu metode untuk
melakukan enkrispi dan dekripsi
Tujuan kriptografi
Menjaga
kerahasiaan (confidentiality) pesan.
Keabsahan
pengirim (user authentication).
Keaslian
pesan (message authentication).
Anti-penyangkalan (non-repudiation).
Kriptografi
Proses menyandikan plaintext
menjadi ciphertext disebut enkripsi (encryption) atau enciphering
Proses mengembalikan ciphertext menjadi plaintextnya
disebut dekripsi (decryption) atau deciphering
Deskripsi 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)
Contoh Enkripsi
Plain Text: TEST ONLY
Cipher Text: &^*#^@%&*
Dekripsi merupakan proses
kebalikan dari enkripsi dimana proses ini akan mengubah ciphertext menjadi
plaintext dengan menggunakan algortima „pembalik‟ dan key yang sama.
Sehingga Kata yang telah di Enkripsi akan dapat dimengerti
oleh pembaca.
Definisi
Kriptografi adalah ilmu
sekaligus seni untuk menjaga keamanan pesan
Praktisi (pengguna kriptografi)
disebut kriptografer (cryptographer).
Algoritma kriptografi adalah:
◦aturan/metode untuk enkripsi dan
dekripsi
◦fungsi matematika yang digunakan
untuk enkripsi dan dekripsi.
Kunci adalah parameter yang
digunakan untuk transformasi enkripsi dan dekripsi.
Sistem kriptografi (atau cryptosystem)
adalah algoritma kriptografi, plainteks, cipherteks, dan kunci.
Penyadap adalah orang
yang mencoba menangkap pesan selama ditransmisikan. Nama lain: enemy, adversary,
intruder, interceptor, bad guy
Kriptanalisis (cryptanalysis)
adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa
mengetahui kunci yang diberikan. Pelakunya disebut kriptanalis.
Kriptologi (cryptology)
adalah studi mengenai kriptografi dan kriptanalisis.
Kriptografi
Persamaan kriptografer dan
kriptanalis:
Keduanya sama-sama
menerjemahkan cipherteks menjadi plainteks
Perbedaan kriptografer dan
kriptanalis:
Kriptografer
bekerja atas legitimasi pengirim atau penerima pesan
Kriptanalis bekerja atas nama
penyadap yang tidak berhak.
Aplikasi kriptografi:
Pengiriman
data melalui saluran komunikasi
Penyimpanan data di dalam disk storage.
Contoh-contoh pada pengiriman data melalui saluran komunikasi
ATM tempat mengambil uang
Internet
Militer
Wi-Fi
Pay TV
GSM
Contoh-contoh pada data tersimpan:
1.Dokumen Teks
Plainteks (plain.txt): Ketika saya berjalan-jalan di pantai,
saya menemukan banyak sekali kepiting yang merangkak menuju laut. Mereka adalah
anak-anak kepiting yang baru menetas dari dalam pasir. Naluri mereka mengatakan
bahwa laut adalah tempat kehidupan mereka
Cipherteks (cipher.txt):
Ztâxzp/épêp/qtüyp{p}<yp{p}/sx/•p}âpx;_épêp/|t}t|äzp}/qp}êpz/étzp{x/zt•xâx}v_êp}v/|tüp}vzpz/|t}äyä/{päâ=/\tützp_psp{pw/p}pz<p}pz/zt•xâx}v/êp}v/qpüä_|t}tâpé/spüx/sp{p|/•péxü=/]p{äüx_|ttüzp/|t}vpâpzp}/qpwåp/{päâ/psp{pw_ât|•pâ/ztwxsä•p}/|tützp=
2.Kriptografi
dokumen gambar
3.Kriptografi Dokumen Basis Data
Algoritma Enkripsi dan Dekripsi
Kekuatan algoritma
kriptografi TIDAK ditentukan dengan menjaga kerahasiaan algoritmanya.
Pada sistem kriptografi modern, kekuatan kriptografinya
terletak pada kunci, yang berupa deretan karakter atau bilangan bulat, dijaga
kerahasiaannya
Algoritma Enkripsi dan Dekripsi
Dengan menggunakan kunci K, maka fungsi enkripsi dan
dekripsi menjadi
E(P,K) = C
D(C,K) = P
dan kedua fungsi ini memenuhi
D(E(P,K),K) = P
Teknik dasar kriptografi
-Substitusi
-Blocking
-Permutasi
-Ekspansi
-Pemampatan
Langkah
pertama adalah membuat suatu tabel substitusi. Tabel substitusi dapat dibuat
sesuka hati, dengan catatan bahwa penerima pesan memiliki tabel yang sama untuk
keperluan dekripsi.
Bila
tabel substitusi dibuat secara acak, akan semakin sulit pemecahan ciphertext
oleh orang yang tidak berhak.
Contoh
1.Tabel subsitusi
2.Caesar Chipher
3.ROT 13
Table subsitusi
Caesar Chipher
Algoritma enkripsi sederhana pada
masa raja Julius Caesar. Tiap huruf alfabet digeser 3 huruf
Model perhitungan
Misalkan setiap huruf dikodekan
dengan angka:
A = 0, B = 1, C = 2, …, Z = 25
Maka secara matematis enkripsi
dan dekripsi pada 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
Pada Caesar Cipher, k = 3
Untuk alfabet ASCII 256 karakter
:
Enkripsi: ci = E(pi) = (pi + k)
mod 256
Dekripsi: pi = D(ci) = (ci – k)
mod 256
Contoh soal
Plainteks : MATH
Cipherteks: RFYM
k = 5
p1 = „M‟ = 12 c1 = E(12) = (12 +
5) mod 26 = 17 = „R‟
p2 = „A‟ = 0 c2 = E(0) = (0 + 5)
mod 26 = 5 = „F‟
p3 = „T‟ = 19 c3 = E(19) = (19 +
5) mod 26 = 24 = „Y‟
p4 = „H‟ = 7 c4 = E(7) = (7 + 5)
mod 26 = 12 = „M‟
ROT13
Pada
sistem ini sebuah huruf digantikan dengan huruf yang letaknya 13 posisi
darinya.
Sebagai
contoh, huruf “A” digantikan dengan huruf “N”, huruf “B” digantikan dengan
huruf “O”, dan seterusnya.
·
Secara
matematis, hal ini dapat dituliskan sebagai:
C ROT13 = (M)
C ROT13 = (M)
Untuk mengembalikan kembali ke
bentuk semulanya dilakukan proses enkripsi
ROT13 dua kali.
M = ROT13(ROT13(M))
Blocking
Sistem
enkripsi terkadang 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.
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.
Jika plaintext adalah 5 TEKNIK
DASAR KRIPTOGRAFI maka hasil chipertext ) . Jika menggunakan teknik blocking
dengan 1blok berisi 4 karakter.
Gambar
Jadi ciphertext yang dihasilkan dengan teknik ini adalah
"5K G KRTDRAEAIFKSPINAT IRO".
Plaintext dapat pula ditulis
secara horizontal dan ciphertextnya adalah hasil pembacaan secara vertikal.
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.
-Sebelum dilakukan permutasi,
umumnya plaintext terlebih dahulu dibagi menjadi blok-blok dengan panjang yang
sama.
-Untuk contoh diatas, plaintext
akan dibagi menjadi blok-blok yang terdiri dari 6 karakter, dengan aturan
permutasi sebagai berikut :
Gambar
Dengan menggunakan aturan diatas, maka proses enkripsi dengan
permutasi dari plaintext adalah sebagai berikut :
Ciphertext yang dihasilkan dengan teknik permutasi
ini adalah "N ETK5 SKD AIIRK RAATGORPIF".
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". Bila suatu kata dimulai dengan huruf vokal atau bilangan genap,
ditambahkan akhiran "i". Proses enkripsi dengan cara ekspansi
terhadap plaintext terjadi sebagai berikut :
Ciphertextnya adalah "5AN EKNIKTAN ASARDAN
RIPTOGRAFIKAN". Aturan ekspansi dapat dibuat lebih kompleks. Terkadang
teknik ekspansi digabungkan dengan teknik lainnya, karena teknik ini bila
berdiri sendiri terlalu mudah untuk dipecahkan.
Pemampatan
Mengurangi panjang pesan atau jumlah bloknya adalah
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
digunakan "&". Proses yang terjadi untuk plaintext kita adalah :
Aturan penghilangan
karakter dan karakter khusus yang berfungsi sebagai pemisah menjadi dasar untuk
proses dekripsi ciphertext menjadi plaintext kembali.
Dengan menggunakan kelima teknik dasar kriptografi diatas,
dapat diciptakan kombinasi teknik kriptografi yang amat banyak, dengan faktor
yang membatasi semata‐mata
hanyalah kreativitas dan imajinasi kita. Walaupun sekilas terlihat sederhana,
kombinasi teknik dasar kriptografi dapat menghasilkan teknik kriptografi
turunan yang cukup kompleks, dan beberapa teknik dasar kriptografi masih
digunakan dalam teknik kriptografi modern.
Algoritma Kriptografi :
Berdasarkan jenis kunci yang digunakan :
o Algoritma Simetris
o Algoritma Asimetris
Berdasarkan besar data yang diolah :
o Algoritma Block
Cipher
o Algoritma Stream Cipher
Berdasarkan jenis
kunci yang digunakan:
Algoritma Simetris
Algoritma simetris (symmetric
algorithm) adalah suatu
algoritma dimana kunci enkripsi
yang digunakan sama
dengan kunci dekripsi sehingga
algoritma ini disebut
juga sebagai single-key algorithm.
Berdasarkan jenis
kunci yang digunakan:
Kelebihan algoritma simetris :
-Kecepatan operasi lebih tinggi
bila dibandingkan
dengan algoritma asimetrik.
-Karena kecepatannya yang cukup
tinggi, maka dapat digunakan pada sistem real-time
Kelemahan Algoritma Simetris
-Untuk
tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang
berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut.
-Permasalahan dalam pengiriman
kunci itu sendiri yang disebut “key distribution problem”
Berdasarkan besar data yang diolah:
-Block Cipher
Informasi/data yang hendak dikirim dalam bentuk blok-blok
besar (misal 64-bit) dimana blok-blok ini dioperasikan dengan fungsi enkripsi
yang sama dan akan menghasilkan informasi rahasia dalam blok-blok yang
berukuran sama juga. Contoh: RC4, Seal, A5, Oryx.
-Stream Cipher
Informasi/data yang hendak dikirim dioperasikan
dalam bentuk blok-blok yang lebih kecil (byte atau bit), biasanya
satu karakter per-satuan waktu proses, menggunakan tranformasi enkripsi yang
berubah setiap waktu. Contohnya: Blowfish, DES, Gost, Idea, RC5, Safer, Square,
Twofish, RC6, Loki97.
Kriptografi Dengan Kunci Simetris/Private
-Bentuk kriptografi tradisional
-Kunci Simetris digunakan untuk
mengenkrip dan mendekrip pesan
-Kunci Simetris juga berkaitan
dengan otentikasi
Masalah utama:
-Pengirim dan penerima menyetujui kunci simetris tanpa ada
orang lain yang mengetahui.
-Butuh metode dimana kedua pihak dapat berkomunikasi tanpa
takut disadap
Contoh Metode Kriptografi Dengan Kunci Simetris/Private
Metode Caesar Cipher
- Huruf A-Z diberi nilai 0-25
- Karakter pesan dijumlah dengan kunci lalu di modulo 26
Metode Vigenere Cipher
- Huruf A-Z diberi nilai 0-25
- Kunci terdiri dari sekumpulan random karakter
- Karakter pesan dijumlah dengan kunci lalu di modulo 26
Metode Book Key Cipher
- Menggunakan teks dari sebuah sumber (misalnya buku) untuk
mengenkrip plainteks
- Karakter pesan dijumlah dengan kunci lalu di
modulo 26
Contoh Metode Kriptografi Dengan Kunci
Simetris/Private - Metode DES (Data Encryption Standard)
- Metode Triple DES Melakukan 3 kali pengenkripan - Metode AES (Advanced
Encryption Standard) Menggantikan DES (karena dapat dibobol) - Metode Rijndael
Block Cipher - Metode IDEA (Internatinal Data Encryption Algorithm) - Metode
RC5 dan RC6
Kunci Nirsimetris/Publik
-Setiap orang memiliki sepasang kunci, kunci publik dan kunci
private.
-Kunci publik dipublikasikan
-Kunci private disimpan rahasia dan tidak boleh
ditransmisikan atau dipakai bersama
Contoh Metode Kriptografi Dengan Kunci
NirSimetris/Publik - Metode RSA (Ronald Rivest, Adi Shamir,
Leonard Adleman) - Metode Diffie Hellman Key Exchange - Metode El Gamal
One-Way Function / Fungsi Hash
-Merupakan fungsi satu arah yang dapat menghasilkan ciri
(signature) dari data (berkas)
-Fungsi yang memproduksi output dengan panjang tetap dari
input yang berukuran variabel
-Perubahan satu bit saja akan mengubah keluaran hash secara
drastis
-Digunakan untuk menjamin integritas dan digital signature
-Plaintext yang di hash, tidak dapat dikembalikan ke bentuk
asalnya.
-Oleh karena itu Hash sering disebut sebagai one-way Hash,
proses mengubah plaintext menjadi bentuk unik dari plaintext.
-Hasil dari hash algorithm disebut hash atau digest
Contoh:
-MD5 (Message Diggest)
-Hasilnya 128-bit
-SHA (Secure Hash Function)
-Hasilnya 160-bit
HASH ALGORITHM
-Contoh
penggunaan Hash Function adalah pada mesin ATM.
-Pengguna
memiliki nomer PIN
-Nomer PIN tersebut di hash dan
tersimpan dalam pita magnet yang ada dalam ATM.
Steganography
-Membuat
seolah-olah pesan tidak ada
-Film: “Mercury rising”,
“Beautiful mind”
-Cryptography
-Transposition
(letters arranged)
-Substitution (letters
substituted with other letters)
Tidak ada komentar:
Posting Komentar