Anda di halaman 1dari 14

2.

3 Teknik Dasar Kriptografi


Enkripsi dan dekripsi diibaratkan seperti dua sisi mata uang. Suatu pesan dibuat
seolah tidak bermakna dengan merubahnya menurut prosedur tertentu (enkripsi), dan
dibuat bermakna kembali dengan menggunakan prosedur yang biasanya bersifat
kebalikannya (dekripsi). Prosedur kriptografi dapat dibuat pada level kata maupun
karakter, namun untuk aplikasi praktis umumnya dibuat pada level karakter, karena bila
dilakukan pada level kata, akan diperlukan suatu "kamus pasangan kata" yang
mengakomodasikan seluruh kata yang akan digunakan dalam pesan.
Dalam dunia kriptografi, pesan yang akan dirahasiakan disebut plaintext,
sedangkan bentuk pesan hasil proses enkripsi disebut ciphertext. Terdapat lima teknik
yang mendasari kriptografi. Berikut ini akan dicontohkan prosedur enkripsi dari masingmasing teknik dasar itu untuk melakukan pengacakan data terhadap plaintext yang sama,
yaitu "5 teknik dasar kriptografi".
2.3.1

Teknik Substitusi
Salah satu contoh teknik ini adalah Caesar cipher yang telah dicontohkan diatas.

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.

A B C D E F G H I J K L M N O P Q R S T U VWX Y Z1

2 3 4 5 6 7 8 9 0

B F 1 K Q G A T P J 6 H Y D 2 X 5 MV 7 C 8 4 I 9 N R E U 3 L S WO Z 0

Gambar 2.3. Tabel Substitusi

Tabel substitusi diatas dibuat secara acak. Dengan menggunakan tabel tersebut,
dari plaintext "5 teknik dasar kriptografi" dihasilkan ciphertext "L 7Q6DP6 KBVBM
6MPX72AMBGP". Dengan menggunakan tabel substitusi yang sama secara dengan arah
yang terbalik (reverse), plaintext dapat diperoleh kembali dari ciphertext-nya.

2.3.2

Teknik Blocking
Sistem enkripsi terkadang membagi plaintext menjadi blok-blok yang terdiri

dari beberapa karakter yang kemudian dienkripsikan secara independen. Plaintext


yang dienkripsikan dengan menggunakan teknik blocking adalah seperti ditunjukkan
pada gambar 2.4.

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

Gambar 2.4. Enkripsi dengan Blocking


lajur, dan dilanjutkan pada kolom berikutnya sampai seluruhnya tertulis. Ciphertext-nya
adalah hasil pembacaan plaintext secara horizontal berurutan sesuai dengan blok-nya.
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.

2.3.3

Teknik 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 2.5. Permutasi


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

Gambar 2.6. Proses Enkripsi dengan Permutasi


Ciphertext yang dihasilkan dengan teknik permutasi ini adalah "N ETK5 SKD AIIRK
RAATGORP FI".

2.3.4

Teknik 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 :
5

5 AN

T EKN I K

EKN

KTAN

DA S AR

KR I P TOGRA F I

ASARDAN

R I P TOGRA F I KAN

Gambar 2.7. Enkripsi dengan Ekspansi

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.

2.3.5

Teknik Pemampatan (Compaction)


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 :

Gambar 2.8. Enkripsi dengan Pemampatan


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 sematamata 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.
2.4 Teknik Kriptografi Modern
Dalam dunia kriptografi modern, teknik enkripsi yang digunakan dibagi menjadi
dua bagian besar, yaitu enkripsi konvensional atau simetrik dan enkripsi asimetrik (public
key). Dua "jawara" dari masing-masing teknik enkripsi modern adalah Data Encryption
Standard (DES) yang merupakan metode enkripsi konvensional dan Rivest-ShamirAdleman (RSA) yang merupakan metode enkripsi asimetrik.
Pada tahun 1977, DES yang pada mulanya dikembangkan oleh para ahli enkripsi
dari IBM ditetapkan sebagai metode standard untuk perlindungan data komputer sensitif
pada seluruh badan pemerintahan federal Amerika Serikat. DES menggunakan satu key
yang sama dan digunakan baik untuk proses enkripsi maupun dekripsi.
Suatu pendekatan baru terhadap kriptografi dilakukan oleh tiga serangkai yang
terdiri dari Adi Shamir, seorang ahli matematika Israel yang mengajar di M.I.T dan
rekannya ahli matematika Leonard Adleman dari University of Southern California, serta
Ronald Rivest, juga dari M.I.T. Rivest-Shamir-Adleman menemukan cara melakukan
enkripsi dengan dua key yang berbeda, masing-masing untuk proses enkripsi dan
dekripsi. Algoritma ini pertama kali dipublikasikan tahun 1978. Algoritma DES dan RSA
inilah yang paling banyak digunakan dalam aplikasi kriptografi sekarang ini.

2.4.1 Data Encryption Standard (DES)


data dienkripsikan dalam blok-blok 64-bit
key 56-bit.
Algoritma DES mentransformasikan 64-bit input secara berurutan menjadi 64-bit
output.
Algoritma yang sama serta key yang sama digunakan dalam proses dekripsi.
DES merupakan pengembangan dari suatu metode enkripsi yang dikembangkan
oleh para ahli IBM, yaitu Lucifer, pada tahun 1971.
Dalam Lucifer digunakan key 128-bit dengan input 64-bit. Lucifer kemudian
dikembangkan lagi oleh para ahli IBM dibantu oleh para ahli dari National Security
Agency (NSA) pemerintah Amerika Serikat, menjadi algoritma yang kemudian dikenal
sebagai DES.

DES, yang dikembangkan dari Lucifer, didesain untuk dapat diimplementasikan secara
komersial, namun hasilnya terjadi pengurangan panjang key yang cukup signifikan, yaitu
pengurangan panjang key sebanyak 72-bitmenjadi 56-bit.
Hal inilah yang menjadi pertanyaan sekaligus kekuatiran sementara orang pada saat DES
ditetapkan sebagai standard enkripsi badan pemerintahan federal Amerika Serikat, bahwa
DES yang memiliki panjang key 56-bit tidak cukup andal untuk menghadapi serangan

paksa terhadap key, yang disebut brute force attack, yang pada prinsipnya adalah upaya
menggunakan key secara trial and error dari seluruh kombinasi yang mungkin.
Algoritma enkripsi modern umumnya dipublikasikan secara luas, dan keandalan
teknik enkripsi modern tidak tergantung pada kerahasiaan algoritmanya, namun amat
tergantung pada key yang digunakan untuk proses enkripsi dan dekripsi. Dengan key
sepanjang 56-bit, brute force attack dengan teori peluang cukup mencoba setengah dari
kombinasi yang ada. Kombinasi key yang mungkin untuk DES adalah 2 56 alternatif, atau
7.2 x 1016.

Gambar 2.9. Diagram Dasar DES


Bila diasumsikan satu percobaan key dalam brute force attack terhadap DES
memerlukan waktu 1 ms (sepersejuta detik), maka waktu yang diperlukan untuk mencoba
setengah dari alternatif yang ada adalah 0.5 x 256 m s, atau sekitar 1142 tahun .
Selain pada badan pemerintahan federal Amerika Serikat, DES sekarang telah
banyak digunakan, khususnya dalam aplikasi finansial. Pada tahun 1994, National Institut
of Standard and Technology (NIST), suatu badan pengkajian standard dan teknologi

milik pemerintah Amerika Serikat merekomendasikan kembali penggunaan DES pada


badan-badan pemerintahan federal AS sampai 5 tahun berikutnya (sampai 1999). NIST
juga merekomendasikan penggunaan DES untuk aplikasi-aplikasi selain informasi yang
memiliki sensitivitas sangat tinggi yang mempengaruhi keamanan negara.
Diagram dasar DES pada gambar 2.9 memperlihatkan bahwa terdapat dua input
ke dalam fungsi enkripsi DES, yaitu plaintext (64-bit) dan key (56-bit). Bila plaintext
yang akan dienkripsikan lebih panjang dari 64 bit, maka plaintext terlebih dahulu dibagi
menjadi blok-blok yang terdiri dari 64 bit.
Pemrosesan plaintext berlangsung dalam tiga fase. Pertama-tama plaintext 64-bit
mengalami permutasi awal yang dengan suatu aturan tertentu. Pada prinsipnya, permutasi
ini sama dengan teknik permutasi yang telah dijelaskan dalam 5 dasar teknik kriptografi,
hanya saja jumlah bit yang dipermutasikan sebanyak 64 bit. Fase selanjutnya terdiri dari
pengulangan (iterasi) sebanyak 16 kali yang terdiri dari fungsi yang sama (terdiri dari
permutasi dan substitusi). Keluaran dari iterasi terakhir kemudian ditukar (swap) posisi
32-bit kiri dan kanannya. Akhirnya, hasil swap bit ini dimasukan ke dalam fungsi
permutasi yang berlawanan (inverse) dengan permutasi awal, untuk menghasilkan
ciphertext.
Key 56-bit untuk proses enkripsi mula-mula diproses oleh suatu fungsi permutasi
(Permutasi 1). Selanjutnya, untuk setiap iterasi, sebuah sub-key (K n) dihasilkan dari
kombinasi pergeseran sirkular dan suatu fungsi permutasi (Permutasi 2). Fungsi
Permutasi 2 ini sama untuk setiap iterasi, namun sub-key yang dihasilkan akan selalu
berbeda karena adanya pergeseran sirkular. Fungsi permutasi 1 dan 2 keduanya memiliki
tabel-tabel tersendiri.

Pada dasarnya, setiap iterasi menghasilkan nilai antara (intermediate) 64-bit yang
menjadi input bagi proses iterasi selanjutnya, sampai 16 iterasi diselesaikan. Nilai-nilai
32-bit kiri dan kanan dari 64-bit nilai antara ini diperlakukan terpisah (sebagai L untuk
kiri, dan R untuk kanan). Secara umum proses setiap iterasi dapat disingkat dengan
persamaan berikut ini :
Ln = Rn-1
Rn = Ln-1 XOR f(Rn-1,Kn)
32 bit sebelah kiri yang menjadi masukan bagi suatu iterasi ke-n (L n) adalah keluaran 32bit sebelah kanan dari iterasi sebelumnya (R n-1). Sementara itu 32 bit sebelah kanan yang
menjadi masukan bagi iterasi ke-n (Rn) merupakan fungsi ekslusif OR (XOR) dari
keluran 32-bit sebelah kiri dari iterasi sebelumnya (Ln-1)dengan suatu fungsi yang
memproses Rn-1 dengan sub-key yang dihasilkan pada iterasi ke-n (K n). Sub-key sendiri
dihasilkan dengan melakukan permutasi antara bit-bit key sebelah kiri (C n-1) dan sebelah
kanan (Dn-1), setelah sebelumnya masing-masing dirotasikan sirkular.
Sekilas proses enkripsi yang terjadi di dalam suatu iterasi terlihat amat rumit,
namun sebenarnya proses yang terjadi merupakan kombinasi dari ekspansi, permutasi
dan substitusi, yang prinsip dasarnya sebenarnya sederhana, seperti telah diuraikan pada
teknik dasar kriptografi.
Proses dekripsi DES pada dasarnya sama dengan proses enkripsi. Ciphertext dan
key menjadi input algoritma dekripsi DES. Algoritma dekrispi ini persis sama dengan
algoritma yang digunakan untuk proses enkripsi. Perbedaannya adalah, sub-key yang
digunakan dalam proses dekripsi memiliki urutan yang berlawanan dengan proses
enkripsi. Jadi, sub-key untuk dekripsi iterasi ke 1 sama dengan sub-key untuk enkripsi

iterasi ke 16. Selanjutnya dekripsi iterasi ke 2 menggunakan sub-key yang sama dengan
enkripsi iterasi ke 15, dst. Setelah iterasi ke 16 dari proses dekripsi, diperoleh kembali
plaintext dari ciphertextnya.
Karena algoritma DES ini telah dipublikasikan secara luas, maka keamanan
kriptografi dengan algoritma ini amat tergantung pada keamanan dan kerahasiaan key
yang digunakan. Bila key ini jatuh ke tangan orang yang tidak berhak, maka informasi
yang dienkripsikan dengan DES dapat diketahui oleh orang yang tidak berhak.

2.4.2 Rivest-Shamir-Adleman (RSA)


Pemikiran untuk melakukan pendekatan baru terhadap kriptografi diawali oleh
kenyataan bahwa DES, walaupun secara teoritis andal terhadap brute force attack
(mencoba satu persatu kombinasi key yang mungkin), memiliki ketergantungan
keamanan yang amat tinggi terhadap kerahasiaan key yang digunakan. Key dapat
dianggap sebagai password, dan password terkadang diperlakukan dengan tidak hati-hati
oleh pemiliknya, misalnya ditulis di tempat yang dapat ditemukan oleh orang lain, atau
dicuri dari sistem pengelolaan key untuk DES yang disebut Key Distribution Center.
Pendekatan terhadap kriptografi yang disebut kriptografi public key ini pada
prinsipnya menggunakan dua key yang berbeda (namun memiliki relevansi antara
keduanya), yang masing-masing digunakan untuk proses enkripsi dan dekripsi. Adalah
Whitfield Diffie dan Martin Hellman, keduanya dari Stanford University, yang
mempublikasikan konsep kriptografi public key ini pertama kali pada tahun 1977, tak
lama setelah penetapan DES sebagai standard enkripsi di Amerika Serikat. Namun
demikian, Rivest-Shamir-Adleman merupakan tiga serangkai yang menuangkan konsep

Diffie-Hellman berupa algoritma enkripsi berbasis public key yang aplikatif pada tahun
1978.
Berbeda dengan DES yang banyak menggunakan teknik-teknik dasar kriptografi,
teknik yang dilakukan RSA adalah pendekatan matematis, suatu terobosan yang benarbenar berarti pada ilmu kriptografi yang telah berusia kurang lebih 4 millenium, yang
diawali dengan penggunaan kode rahasia dalam makam-makam raja mesir kuno.
Skema RSA banyak menggunakan ekspresi eksponensial dan aritmetika modulus.
Plaintext dienkripsikan perblok data yang masing-masing memiliki panjang biner yang
kurang dari suatu angkat tertentu (n). Dengan plaintext (P) dan ciphertext tertentu (C),
berlaku :
C = Pe mod n
P = Cd mod n
Dalam aritmetika modulus, a mod b adalah sisa (residu) hasil pembagian a
terhadap b, atau dengan persamaan matematis, jika a = bx + r, dengan x integer terbesar
yang menghasilkan bx a, maka r = a mod b. Dalam persamaan diatas, public key adalah
e dan private key adalah d dan nilai n harus diketahui oleh pengirim maupun penerima.
Untuk suatu nilai n tertentu, antara public key (e) dan private key (d) terdapat
hubungan ed = 1 mod f (n), dimana f (n) adalah fungsi totient Euler, yang menyatakan
jumlah integer positif yang lebih kecil dari n dan relatif prima ( bukan faktor ) terhadap n.

Gambar 10. Skema Dasar RSA


Algoritma RSA dapat dilihat pada gambar 11. Key yang akan digunakan pada
proses enkripsi maupun dekripsi ditentukan terlebih dahulu. Mula-mula dipilih dua
bilangan prima (p dan q). Selanjutnya dihitung nilai n yang merupakan hasil kali nilai p
dan q ini. Menghitung fungsi totient Euler f (n) dapat lebih disederhakan dengan
memanfaatkan nilai p dan q, yaitu f (n) = (p-1)x(q-1). Selanjutnya dipilih integer d
sedemikian rupa sehingga faktor pembagi terbesar (greatest common divisor, gcd) antara
d dan f (n) adalah 1. Sampai disini telah dihasilkan private key, yaitu d.
Persyaratan untuk memilih nilai public key (d) adalah ed = 1 mod f (n). Dengan
demikian, private key dapat dihitung dengan e = d -1 mod f (n). Nilai-nilai d, e dan n
menjadi key yang digunakan dalam proses enkripsi-dekripsi RSA.

2.4.2 Enkripsi Dengan Public Key

Gambar 2.11. Model Enkripsi Publik Key


Dalam skema enkripsi public key, plaintext dari User A dienkripsikan dengan key
milik User B (public key). Setelah ciphertext diterima User B, ciphertext ini kemudian
didekripsikan dengan menggunakan key kedua milik user B (private key). Public key
dapat disebarluaskan ke seluruh user, namun private key tetap menjadi rahasia user yang
bersangkutan. Jika suatu ketika ada pihak asing yang dapat mengetahui public key, dia
tetap tidak dapat mengetahui informasi yang terdapat didalam suatu ciphertext karena
untuk itu diperlukan private key.
Nilai tambah dari enkripsi ini adalah public key dapat disebarluaskan tanpa
memerlukan komunikasi yang rahasia, tidak seperti pada DES, dimana pengiriman key
merupakan masalah yang kritis, karena bila key ini dapat diketahui pihak asing, enkripsi
DES menjadi tidak berarti lagi, karena ciphertext dapat didekripsikan oleh pihak asing
itu.

Anda mungkin juga menyukai