Anda di halaman 1dari 25

Kunci Simetris (2)

1. Caesar cipher
Salah satu contoh dari “substitution cipher” adalah Caesar
cipher yang digunakan oleh Julius Caesar. Pada prinsipnya,
setiap huruf digantikan dengan huruf yang berada tiga (3)
posisi dalam urutan alfabet.
Sebagai contoh huruf “a” digantikan dengan huruf “D” dan
seterusnya.
Transformasi yang digunakan adalah:
plain : 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
cipher : 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

Penggunaan dari Caesar cipher ini dapat dimodifikasi dengan


mengubah jumlah gesaran (bukan hanya 3) dan juga arah
geseran. Jadi kita dapat menggunakan Caesar cipher dengan
geser 7 ke kiri, misalnya. Hal ini dilakukan untuk lebih menyulitkan
orang yang ingin menyadap pesan sebab dia harus mencoba
semua kombinasi (26 kemungkinan geser).

1
2. Enigma Rotor Machine (Enigma cipher)
Enigma rotor machine merupakan sebuah alat enkripsi dan dekripsi
mekanik yang digunakan dalam perang dunia ke dua oleh Jerman.
Dia terdiri atas beberapa rotor dan kabel yang silang menyilang
menyebabkan substitusi alfabet yang selalu berubah sehingga Enigma
mengimplementasikan polyalphabetic cipher. Setiap huruf diketikkan,
rotor berputar untuk mengubah tabel konversi. Susunan dari rotor dan
kondisi awalnya merupakan kunci dari enkripsinya. Perubahan ini
sangat menyulitkan analisis biasa dan statistik. Buku “Code Book” [44]
banyak membahas tentang Enigma ini.
Penyandian yang menggunakan Enigma ini akhirnya berhasil
dipecahkan oleh Alan Turing dan kawan-kawannya di Inggris dengan
menggunakan komputer. Jadi aplikasi komputer yang pertama adalah
untuk melakukan cracking terhadap Enigma. Banyak orang yang
percaya bahwa perang dunia kedua menjadi lebih singkat dikarenakan
Sekutu berhasil memecahkan sandi Jerman yang menentukan posisi
U-boat nya.

2
Gambar Enigma Rotor
Machine

3
3. Data Encryption Standard (DES)
DES, atau juga dikenal sebagai Data Encryption Algorithm (DEA)
oleh ANSI dan DEA-1 oleh ISO, merupakan algoritma kriptografi
simetris yang paling umum digunakan saat ini. Sejarahnya DES
dimulai dari permintaan pemerintah Amerika Serikat untuk
memasukkan proposal enskripsi.
DES memiliki sejarah dari Lucifer1, enkripsi yang dikembangan di
IBM kala itu. Horst Feistel merupakan salah satu periset yang mula-
mula mengembangkan DES ketika bekerja di IBM Watson
Laboratory di Yorktown Heights, New York. DES baru secara resmi
digunakan oleh pemerintah Amerika Serikat (diadopsi oleh National
Bureau of Standards) di tahun 1977. Ia dikenal sebagai Federal
Information Processing Standard 46 (FIPS PUB46).
DES banyak digunakan pada enkripsi password di sistem UNIX dab
berbagai aplikasi perbankan. DES beroperasi pada sistem biner
artinya data yang dikirim akan diubah ke sistem biner (berupa
bilangan 0 dan 1), misalnya karakter a binernya adalah 01100001
(dengan sistem ASCII)
4
DES akan membagi data menjadi 64 bit dan kunci berukuran 56 bit.
Data 64 bit ini akan dipermutasi lalu dibagi menjadi dua masing-
masing 32 bit (atau L dan R). Lalu pada masing-masing data 32 bit
akan dilakukan operasi subtitusi dan penambahan kunci sampai
dengan beberapa langkah, biasanya sampai 16 langkah. Setalah itu
kedua data tersebut digabungkan menjadi 64 bit lagi dan dilakukan
permutasi akhir yang merupakan lawan dari permutasi di awal. Bisa
dibayangkan betapa rumitnya algoritma ini. Untuk memecahkan kode
DES dengan mencoba segala kombinasi, dibutuhkan 256 kombinasi
atau sekitar 70 miliar kombinasi.

Memecahkan DES
DES merupakan block cipher yang beroperasi dengan menggunakan
blok berukuran 64-bit dan kunci berukuran 56-bit. Brute force attack
dengan mencoba segala kombinasi membutuhkan 256 kombinasi
atau sekitar 7x1017 atau 70 juta milyar kombinasi.
DES dengan penggunaan yang biasa (cookbook mode) dengan
panjang kunci 56 bit saat ini sudah dapat dianggap tidak aman karena
sudah berhasil dipecahkan dengan metoda coba-coba (brute force
attack).

5
Ada berbagai group yang mencoba memecahkan DES dengan berbagai
cara. Salah satu group yang bernama distributed.net menggunakan
teknologi Internet untuk memecahkan problem ini menjadi sub-
problem yang kecil (dalam ukuran blok). Pengguna dapat menjalankan
sebuah program yang khusus dikembangkan oleh tim ini untuk
mengambil beberapa blok, via Internet, kemudian memecahkannya di
komputer pribadinya.
Program yang disediakan meliputi berbagai operating system seperti
Windows, DOS, berbagai variasi Unix, Macintosh. Blok yang sudah
diproses dikembalikan ke distributed.net via Internet. Dengan cara ini
puluhan ribu orang, termasuk penulis, membantu memecahkan DES.
Mekanisme ini dapat memecahkan DES dalam waktu 30 hari.
Sebuah group lain yang disebut Electronic Frontier Foundation (EFF)
membuat sebuah komputer yang dilengkapi dengan Integrated Circuit
chip DES cracker. Dengan mesin seharga US$50.000 ini mereka dapat
memecahkan DES 56-bit dalam waktu rata-rata empat (4) sampai lima
(5) hari.

6
DES cracker yang mereka kembangkan dapat melakukan eksplorasi
keseluruhan dari 56-bit keyspace dalam waktu sembilan (9) hari.
Dikarenakan 56-bit memiliki 216 (atau 65536) keyspace dibandingkan
DES dengan 40-bit, maka untuk memecahkan DES 40-bit hanya
dibutuhkan waktu sekitar 12 detik1. Dikarenakan hukum average, waktu
rata-rata untuk memecahkan DES 40-bit adalah 6 detik.

7
4. Triple DES (3DES)
Triple DES adalah variasi minor dari model enkripsi DES,
cara ini dipakai untuk membuat DES lebih kuat lagi, yaitu
dengan melakukan enkripsi DES tiga kali dengan
menggunakan dua kunci yang berbeda. Ternyata enkripsi
dengan dua kali saja dengan dua kunci yang berbeda tidak
meningkatkan derajat ketangguhannya.
Triple DES menjawab dari kekurangan DES, karena
modelnya didasarkan pada algoritma DES, maka sangat
mudah untuk memodifikasi software yang menggunakan
Triple DES. Panjang kunci lebih panjang sehingga dapat
mematahkan serangan yang tiba-tiba datang.

8
5. Rivest Code 2 (RC-2) dan Rivest Code 4 (RC-4)
RC-4 merupakan salah satu algoritma kunci simetris yang
berbentuk stream cipher. Algortima ini ditemukan pada tahun
1987 OLEH Ronald Rivest dan menjadi simbol keamanan
RSA. Kunci RC-4 sering terbatas hanya 40 bit, tetapi kadang-
kadang juga menggunakan kunci 128 bit. Bisanya RC-4
digunakan dalam paket software perdagangan seperti Lotus
Note dan Oracle Secure SQL.
Algoritma RC-4 merupakan salah satu jenis stream cipher ,
yaitu memproses unit atau input data pada satu saat. Unit atau
data pada umumnya adalah sebuat byte atau bahkan kadang-
kadang bit (byte dalam hal RC-4). Dengan cara ini enkripsi
atau deskripsi dapat dilaksanakan pada panjang yang variabel.
Algorimat ini tidak harus menunggu jumlah input data tertentu
sebelum diproses atau menambahkan byte tambahan untuk
mengenkripsi

9
Contoh stream cipher adalah RC-4, Seal, A5, Oryx, dll.
Tipe lainnya adalah block cipher yang memproses sekaligus
jumlah tertentu data (biasanya 64 bit atau 128 bit blok).
Contohnya Blowfish, DES, Gost, Idea, RC-5, Safer, Square,
Twofish, RC-6, Loki97, dll
RC-4 merupakan enkripsi stream simetrik proprietary yang dibuat
oleh RSA Data Secutiry, Inc (RSAADSI), penyebarannya diawali
dari sebuah source code yang diyakini sebagai RC-4 dan
dipublikasikan secara anonim pada tahun 1994.
Algoritma yang dipublikasikan ini sangat identik dengan
implementasi RC-4 pada produk resmi. RC-4 digunakan secara
luas pada beberapa aplikasi dan umumnya dinyatakan sangat
aman.

10
6. Blowfish
blowfish merupakan metode enkripsi yang mirip dengan DES
(DES-like cipher) dan diciptakan oleh Bruce Schneier yang
ditujukan untuk mikroprosesor besar (32 bit ke atas dengan
cache data yang besar). Blowfish dikembangkan untuk
memenuhi kriteria desain sebagai berikut :
 Cepat, pada implementasi yang optimal Blowfish dapat
mencapai kecepatan 26 clock cycle per byte
 Kompak, Blowfish dapat berjalan pada memori kurang dari 5 KB
 Sederhana, Blowfish hanya menggunakan operasi yang simpel :
penambahan (addition), XOR dan penelusuran tabel (table
lookup) pada operand 32 bit. Desainnya mudah untuk dianalisa
dan membuatnya resisten terhadap kesalahan implementasi.
 Keamanan yang variabel, panjang kunci Blowfish dapat
bervariasi dan dapat mencapai 488 bit (56 byte)

11
Blowfish dioptimasikan untuk aplikasi di mana kunci tidak sering
berubah seperti jalur komunikasi atau enkripsi file otomatis.
Blowfish jauh lebih cepat dari DES bila diimplementasikan pada 32
bit mikroprosesor dengan cache data yang besar seperti pentium
dan power PC. Blowfish tidak cocok untuk aplikasi seperti pecket
switching dengan perubahan kunci yang sering atau sebagai fungsi
hash satu arah. Kebutuhan memorinya yang besar tidak
memungkinkannya untuk digunakan pada aplikasi kartu pintar
(Smartcard)

12
II. Enkripsi dengan Kunci Asimetris (Public)
Metode yang menggunakan kunci yang perlu diketahui oleh umum, atau
kunci publik yang kita miliki dapat disebarkan ke orang lain. Jika teknik
kriptografi menggunakan kunci simetris dan memakai kunci yang sama
untuk melakukan proses enkripsi dan dekripsi, teknik kriptografi ini
menggunakan kunci asimetris yang memerlukan sepasang kunci untuk
enkripsi dan dekripsi.
Proses yang dienkripsi menggunakan sebuah kunci hanya bisa dibuka
menggunakan kunci pasangannya. Pesan tersebut tidak bisa dibuka
menggunakan kunci yang sama. Kunci yang pertama disebut kunci
publik dan kunci pasangannya disebut kunci private. Jadi sebuah pesan
yang dienkripsi menggunakan kunci publik hanya bisa dibuka dengan
menggunakan kunci private, demikian juga sebaliknya. Proses enkripsi
atau dekripsi tersebut hanya bisa dilakukan menggunakan pasangan
kunci yang tepat. Jika pasangan kuncinya salah, proses enkripsi dan
dekripsi akan gagal. Kunci publik dapat diketahui oleh semua orang,
sedangkan kunci private hanya boleh diketahui oleh satu orang saja,
yaitu orang yang berhak memilikinya.

13
Cara enkripsi ini mempunyai banyak kelebihan, salah satunya
adalah setiap orang hanya perlu memiliki satu set kunci tanpa
peduli berapa banyak orang yang akan diajak berkomunikasi.
Setiap orang yang menggunakan enkripsi ini harus mempunyai
dua buah kunci. Jika si A hendak mengirimkan pesan publik
kepada si B, maka si A perlu mengenkripsikan pesan tersebut
dengan kunci publik si B.
Pesan yang telah dienkripsi tersebut hanya dapat dibuka dan
dibaca dengan menggunakan kunci private si B, maka si B wajib
manjaga kunci private-nya.
Kelebihannya karena kunci private tidak perlu diketahui oleh pihak
lain, maka tidak akan pernah dikirim lewat jalur umum, hal ini
menjadi lebih aman dari sistem simetris atau kunci pribadi. Ada
beberapa algoritma yang terkenal dari cara enkripsi ini misalnya :
Sistem Diffie Hellman, RSA dan PGP

14
Pretty Good Privacy (PGP)

PGP merupakan produk kriptografi yang kuat dan memungkinkan


orang secara aman bertukar pesan-pesan dan file-file di jaringan
publik. PGP menggunakan IDEA sebagai algoritma enkripsi private
key dan RSA untuk enkripsi publik keynya.
PGP mengkombinasikan 3 mekanisme sistem keamanan, yaitu :
enkripsi (encryption), tanda tangan digital (digital signature) dan
Hash (pengujian integritas) Fungsi Hash (hash function)
merupakan fungsi yang bersifat satu arah dimana jika kita
masukkan data, maka dia akan menghasilkan sebuah
“checksum” atau “fingerprint” dari data tersebut. Sebuah
pesan yang dilewatkan ke fungsi hash akan menghasilkan
keluaran yang disebut Message Authenticated Code (MAC).
Dilihat dari sisi matematik, hash function memetakan satu set
data ke dalam sebuah set yang lebih kecil dan terbatas
ukurannya

15
Beberapa alasan PGP cepat berkembang :
 PGP tersedia dalam beberapa platform seperti DOS/Windows,
Unix dan Macintosh
 PGP berdasarkan algortima-algoritma enkripsi yang sudah
terbukti keamanannya, yaitu :
a. IDEA untuk kunci enkripsi konvensional
b. RSA untuk enkripsi kunci publik
c. MD5 untuk kode hash
 PGP telah digunakan secara luas oleh perusahaan maupun
perorangan
 PGP tidak dikendalikan maupun dibangun oleh suatu negara
maupun organisasi tertentu
 PGP dapat digunakan untuk data authentication, data secrecy
atau gabungan keduanya.
Gambar cara kerja enkripsi PGP hal 77

16
PGP mengkombinasikan beberapa keunggulan dari enkripsi
konvensional dan enkripsi publik keu. PGP adalah hybrid
cryptosystem. Adapun prinsip kerja dari PGP seperti gambar di
atas adalah :
1. PGP menggunakan dua kode. Kode-kode ini berhubungan
secara instristik, namun tidak mungkin untuk memecahkan satu
sama lain. Kunci sesi digunakan untuk mendekripsikan pesan
yang dienkripsi dengan RSA
2. Ketika suatu kunci dibuat, secara otomatis dihasilkan sepasang
kunci, yaitu kunci publik dan kunci rahasia (private). Misalnya si
A memberikan kunci publik ke mana pun tujuan yang
diinginkannya melalui telepon, emai, website, dll. Kunci rahasia
yang disimpan pada mesin si A dan menggunakan messanger
decipher akan dikirim ke si A. Jadi orang lain yang akan
mengirimkan pesan ke si A harus melakukan enkripsi dengan
kunci publik si A dan si A dapat membuka pesan tersebut
dengan kunci private-nya.

17
3. Dengan sistem publik key, tidak akan menjadi masalah siapa pun
yang melihat kunci publik kita karena kunci yang dilihat orang lain
adalah yang digunakan hanya untuk enkripsi dan hanya pemiliknya
saja yang mengetahui kunci rahasia (private) tersebut.

Dalam kenyataannya PGP menggunakan serangkaian kunci pribadi,


kunci publik dan fungsi campuran satu arah untuk mengenkripsikan
pesan. Fungsi campuran satu arah mengambil beberapa plaintext
dan menerjemahkannya ke dalam fungsi khusus. Campuran ini unik
untuk sebuah pesan serta tidak bisa dibalik prosesnya, karena itu
dinamakan satu arah
Setelah pesan diterima si A, si A melakukan enkripsi kunci sesi dengan
memecahkan kunci sesi dengan enkripsi RSA, lalu si A
mendekripsikan dengan kunci pribadi pada kunci sesi tersebut. Kunci
sesi digunakan untuk mendekripsikan ciphertext menjadi plaintext
dari B
Gambar dekripsi halaman 79

18
Cryptography (Kriptografi)
Cryptography (Kriptografi) merupakan ilmu dan seni untuk menjaga
pesan agar aman (Cryptography is the art and science of keeping
messages secure), “Crypto” berarti “Secret” (rahasia) dab “graphy”
berarti “Writing” (tulisan). Para pelaku atau praktisi kriptografi disebut
“Cryptographers”.
Sebuah algoritma kriptografik (Cryptographic algorithm), disebut
cipher dan merupakan persamaan matematik yang digunakan untuk
proses enkripsi dan dekripsi. Biasanya kedua persamaan matematik
(untuk enkripsi dan dekripsi) tersebut memiliki hubungan matematis
yang cukup erat.
Dalam perkembangan teknologi informasi, telah dan sedang
dikembangkan cara-cara untuk menangkal berbagai bentuk
serangan, salah satu cara yang ditempuh untuk mengatasi masalah
tersebut adalah dengan menggunakan transformasi data sehingga
data yang dihasilkan tidak dapat dimengerti pihak ketiga.

19
Algoritma kriptografi terdiri dari algoritma enkripsi (E) dan algoritma
deksipsi (D). Algoritma enkripsi menggunakan kunci enkripsi (KE),
sedangkan algoritma dekripsi menggunakan kunci dekripsi (KD).
Secara umum keduanya dapat diterangkan secara matematis
sebagai berikut :

EK (M) = C (proses enkripsi)

DK (C) = M (proses dekripsi)

Saat menyandikan pesan M dengan suatu kunci K, dihasilkan


pesan C. pada proses dekripsi pesan C tersebut diuraikan dengan
kunci K sehingga dihasilkan pesan M yang sama seperti pesan
sebelumnya.

20
Algoritma kriptografi secara umum dibagi menjadi dua bagian :
1. Algoritma Kriptografi Kunci Rahasia
Algoritma enkripsi digunakan dalam mengenkripsi data dan kunci
dekripsi digunakan untuk mengubah kembali ke data aslinya,
oleh karena atribut ini algoritma kriptografi kunci rahasia disebut
juga kriptografi kunci simetris.
2. Algoritma Kriptografi Kunci Publik.
Algoritma tersebut menyatakan bahwa algoritma enkripsi dan
dekripsi berbeda. Algoritma kriptografi kunci publik mempunyai
karakteristik tidak ada perhitungan kembali dari kunci dekripsi
bahkan sesudah kunci enkripsi dilakukan.

Algoritma hash yang digunakan dalam kriptografi dibagi menjadi


dua bagian, yaitu dengan kunci dan tanpa kunci. Ketika
menggunakan fungsi hash dengan kunci maka sama dengan
menggunakan metode yang sama dengan kondisi yang terjdi
bila menggunakan algoritma kunci rahasia.

21
Karakteristik dan tipe dari algoritma kriptografi dapat dilihat pada
gambar dibawah ini :

Secrecy Integrity Authenticity

Digital
Encryption Hash
Signature

Secret Key Public Key Hash

22
Jenis Serangan :
Jika ada pihak yang ingin menjaga agar pesan tetap aman, ada
juga pihak-pihak yang ingin mengetahui pesan rahasia tersebut
secara tidak sah, bahkan ada pihak-pihak yang ingin agar dapat
merubah isi pesan tersebut. Ilmu untuk mendapatkan pesan ali
dari pesan yang telah disandikan tanpa memiliki kunci untuk
membuka pesan rahasia tersebut disebut “Kriptoanalisis”,
sedangkan usaha untuk membongkar suatu pesan sandi tanpa
mendapatkan kunci dengan cara yang sah dikenal dengan
istilah “Serangan (Attack).
Berikut dijelaskan beberapa macam penyerangan terhadap pesan
yang sudah dienkripsi :
Ciphertext only attack, penyerang hanya mendapatkan pesan yang
sudah disandikan saja.
1. Known plaintext attack, dimana penyerang selain mendapatkan
sandi juga mendapatkan pesan asli. Terkadang disebut juga
Clear-text attack

23
2. Choosen plaintext attack, sama dengan known plaintext attack
namun penyerang bahkan dapat memilih penggalan mana dari
pesan asli yang akan disandikan.

Berdasarkan bagaimana cara dan posisi seseorang mendapatkan


pesan-pesan dalam saluran komunikasi, penyerangan dapat
dikategorikan menjadi :
1. Sniffing, secara harafiah berarti mengendus, tentunya dalam
hal ini yang diendus adalah pesan (baik yang belum atau pun
sudah di enkripsi) dalam suatu salurang komunikasi. Hal ini
umum terjadi pada saluran publik yang tidak aman. Sang
pengendus dapat merekam pembicaraan yang terjadi.
2. Replay Attack, jika seseorang bisa merekam pesan-pesan
handshake (persiapan komunikasi), ia mungkin dapat
mengulangi pesan-pesan yang telah direkamnya untuk menipu
salah satu pihak.

24
3. Spoofing (penyerang) : disebut juga kejahatan satu pihak.
Misalnya Budi bisa menyamar menjadi Agus, semua orang bisa dibuat
percaya bahwa Budi adalah Agus. Budi berusaha meyakinkan pihak-
pihak lain bahwa tidak ada yang salah dengan komunikasi yang
dilakukan, padahal komunikasi tersebut dilakukan dengan si penipu
(Budi).
Contoh lainnya : mengenai penipuan mesin ATM, jika seseorang
memasukkan nomor PIN ke dalam mesin ATM palsu yang benar-benar
dibuat seperti ATM asli, tentu sang penipu bisa mendapatkan PIN dan
salinan pita magnetik kartu ATM milik nasabah yang asli tanpa pihak
bank mengetahui telah terjadi kejahatan (penipuan)
4. Man-in-the-middle, jika spoofing terkdang hanya menipu satu pihak,
dalam skenario ini Agus hendak berkomunikasi dengan Budi, tetapi
Cecep dianggap Agus seolah-olah adalah Budi, dan Cecep dapat pula
menipu Budi sehingga Cecep seolah-olah adalah Agus. Cecep dapat
berkuasa penuh atas jalur komunikasi ini dan bisa membuat berita
pitnah.

25

Anda mungkin juga menyukai