You are on page 1of 11

1.

Latar Belakang

Di era globalisasi seperti sekarang ini dan dengan semakin berkembangnya teknologi kita
saling bertukar informasi maupun pesan dengan pihak lain meskipun terpisah oleh jarak
yang sangat jauh, misalnya antar kota maupun Negara dengan bantuan komputer yang
telah terhubung dengan jaringan, misalnya internet. Bahkan tidak menutup kemungkinan
kita maupun pihak lain yaitu organisasi-organisasi atau perusahaan-perusahaan besar di
Negara ini bisa saling mengirim informasi yang sangat penting melalui teknologi itu.

Namun semua kegiatan itu bisa terganggu oleh pihak-pihak yang tidak bertanggung
jawab yang ingin mengacau, misalnya para hacker yang ingin menyadap atau mencuri
pesan-pesan penting yang kita kirim kepihak lain, sehingga pesan atau informasi yang
seharusnya tidak perlu diketahui oleh pihak lain akhirnya bisa diketahui dan itu semua
sungguh mengganggu dan tidak menutup kemungkinan juga hal itu bisa merugikan.

Dalam hal keamanan komputer ada yang disebut dengan ilmu kriptografi. Kriptografi
telah menjadi bagian penting dalam dunia teknologi informasi saat ini. Hampir semua
penerapan teknologi informasi menggunakan kriptografi sebagai alat untuk menjamin
keamanan dan kerahasiaan informasi. Karena itu pulalah, kriptografi menjadi ilmu yang
berkembang pesat. Dalam waktu singkat, amat banyak bermunculan algoritma-algoritma
baru yang dianggap lebih unggul daripada pendahulunya. Namun, tetap saja cipher yang
digunakan tidak lepas dari penemuan lama.

2. Kriptografi

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 (Menezes, Oorschot and Vanstone, 1996). Tetapi tidak semua
aspek keamanan informasi dapat diselesaikan dengan kriptografi.

Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan.
Ketika suatu pesan dikirim dari suatu tempat ke tempat lain, isi pesan tersebut mungkin

dapat disadap oleh pihak lain yang tidak berhak untuk mengetahui isi pesan tersebut.
Untuk menjaga pesan, maka pesan tersebut dapat diubah menjadi suatu kode yang tidak
dapat dimengerti oleh pihak lain.

Kriptoanalisis (cryptanalysis) adalah kebalikan dari kriptografi, yaitu suatu ilmu untuk
memecahkan mekanisme kriptografi dengan cara mendapatkan kunci dari cipherteks
yang digunakan untuk mendapatkan plainteks. Kriptologi (cryptology) adalah ilmu yang
mencakup kriptografi dan kriptoanalisis.

• Persamaan kriptografer dan kriptanalis adalah sebagai berikut:


v Keduanya sama-sama menerjemahkan cipherteks menjadi plainteks.

• Perbedaan kriptografer dan kriptanalis:

v Kriptografer bekerja atas legitimasi pengirim atau penerima pesan

v Kriptanalis bekerja atas nama penyadap yang tidak berhak.

• Sistem Kriptografi

v Sistem kriptografi (atau cryptosystem) adalah algoritma kriptografi, plainteks,


cipherteks, dan kunci.

• Penyadap

v Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan selama


ditransmisikan.

Nama lain: enemy, adversary, intruder, interceptor, bad guy

3. Enkripsi dan Dekripsi

Dalam bidang kriptografi ada yang disebut dengan enkripsi dan dekripsi.
Enkripsi dapat didefinisikan sebagai proses konversi suatu informasi dalam bentuk yang
dapat dibaca (plainteks) kedalam bentuk yang tidak dapat dimengerti (cipherteks) oleh
pihak lain. Bila penerima data yang sudah dienkrip ingin membaca data semula, maka
penerima tersebut harus mengkonversikannya kembali kebentuk semula melalui proses
deskripsi. Deskripsi adalah invers dari proses enkripsi. Untuk melakukan deskripsi,
penerima harus memiliki suatu data khusus sebagai kunci. Kunci tersebut harus
didistribusikan dan dijaga secara hati-hati.

Keuntungan penggunaan enkripsi adalah bila metode lain untuk melindungi data (daftar
kontrol akses, file pemissions, password dan lain-lain) berhasil dibongkar oleh penyusup,
maka data yang diperoleh penyusup tersebut tidak ada artinya bagi penyusup tersebut.

Ada beberapa jenis paket Enkripsi, baik dalam bentuk perangkat keras maupun perangkat
lunak. Paket perangkat lunak enkripsi terdapat dalam versi komersial maupun freeware.
Perangkat keras enkripsi biasanya dibuat dengam prosesor khusus enkripsi dan jauh lebih
cepat dibandingkan dengan perangkat lunak enkripsi. Namun disisi lain, bila penyusup
memiliki akses terhadap perangkat keras enkripsi, maka penyusup tersebut dapat
membuat skema deskripsi berbasis perangkat keras yang dapat digunakan untuk
membuka informasi yang di-enkrip.
Data yang di transmisikan di dalam jaringan rentan terhadap penyadapan. Seringkali
dilakukan enkripsi terhadap seluruh file sebelum mengirimkannya. Hal ini sering disebut
end-to-encryption. Ada juga yang melakukan konversi data secara dinamis, hanya pada
saat data mencapai jaringan menggunakan perangkat keras enkripsi, membuat suatu
secure link.
Bila seluruh paket di-enkrip sebelum dikirim, seperti pada kasus perangkat keras
enkripsi, maka router-router yang menggunakan protokol IP yang tidak mengerti paket
yang ter-enkrip akan menolak paket-paket tersebut. Pada kenyataannya, router-router
internet tidak mengerti paket-paket yang ter-enkrip, sehingga akan menolaknya. Bila
ingin menggunakan enkripsi pada internet, maka enkripsi data harus dilakukan dalam
tahap yang berbeda kemudian melewatkan data tersebut ke proses aplikasi.
Jadi dapat disimpulkan bahwa proses enkripsi maupun deskripsi sebenarnya adalah
proses perhitungan matematika yang melibatkan kunci rahasia (baik itu public key
maupun private key). Kunci tersebut biasa disebut cipher yaitu sebuah algoritma untuk
menampilkan enkripsi dan kebalikannya, dekripsi. Rumus atau algoritma yang digunakan
untuk perhitungan matematika tersebut sudah ditentukan dan berbeda untuk masing-
masing metode/algoritma.

Banyak metode penyandian (alias algoritma enkripsi) yang bisa digunakan saat ini di
antaranya: RC2, RC5, RC6, ROT-13 (monoalphabetic ciphers), SAFERdll. Untuk bisa
membaca sebuah file atau pesan yang telah di-enkripsi (chiphertext), maka seorang
pengirim pesan harus menyertakan kunci untuk membuka atau menerjemahkan file atau
pesan yang telah di-enkrip-nya (plaintext) kepada penerima file atau pesan tersebut.

Beberapa Program Enkripsi-Dekripsi

1. Menggunakan bahasa Assembly

Yaitu tentang pembuatan program yang kegunaannya untuk mengenkripsi sekaligus juga
mendekripsi file teks, pengacakan dilakukan berdasarkan sandi/kata kunci tertentu.
Pertanyaannya kenapa dibikin pake assembly?

Karena program hasil bahasa assembly pastinya berjalan lebih cepat. hal ini memang
terbukti. Sebelum meneruskan setidaknya kita harus membaca referensi berikut, sebagai
pengetahuan dasar dan referensi utama:

• E-book PC Assembly Language karya Paul A. Carter.


• Tutorial mengenai dasar bahasa C di Linux dan kompiler GCC.
• Baca juga referensi fungsi getopt
• Listing program disini bersifat open source dan mengandung banyak keterangan
& komentar yg membantu memahaminya.
Program enkripsi file teks berfungsi untuk mengenkripsi (mengacak) suatu file teks
sehingga informasi di dalamnya tidak bisa dibaca. Pengacakan dilakukan berdasarkan
kata kunci (key) tertentu yang diisikan oleh pengguna.

Program juga sekaligus berfungsi untuk meng-dekripsi (enkripsi balik) file hasil enkripsi.
Agar file dapat didekripsi dengan benar, kata kunci (kode) yang digunakan harus sama
dengan kata kunci enkripsi. Jadi disini hanya terdapat 1 key (kunci) untuk melakukan
enkripsi dan dekripsi (symmetric encription).

Cara kerja enkripsi dilakukan dengan menambahkan kode karakter teks sumber dengan
teks kunci. Kunci yan lebih pendek dari teks sumber akan berulang-ulang sampai
panjangnya sama dengan teks sumber. Misalnya panjang teks sumber 20 karakter,
sedangkan kunci = “abcde” (5 karakter), maka faktor penambahan enkripsi adalah
abcdeabcdeabcdeabcde.

Contoh:
; sumber : "Kucing"
; kunci : "kode"
maka:
; sumber : 75 117 99 105 110 103
; kunci : 107 111 100 101 107 111
; hasil : 182 228 199 206 217 214

Demikian pula dengan proses dekripsi, yaitu dengan melakukan operasi pengurangan
teks sumber dengan kunci. Tentunya kunci harus sama dengan kunci enkripsi untuk
menghasilkan teks hasil yang benar. Jika kunci tidak cocok, informasi dalam teks tidak
akan terbaca.

Ada 4 parameter dari fungsi, yang akan dipush ke dalam stack, yaitu

• dest, sebagai parameter pertama [ebp+8]. dest. merupakan parameter yang di pass
by reference, karena ia akan berisi string. (berisi alamat awal dari string) dan
nantinya akan menampung string hasil enkripsi/dekripsi.
• src, [ebp+12]. Berisi string sumber, yaitu teks yang akan dienkripsi/didekripsi.
Parameter pass by reference.
• kunci, [ebp+16]. Berisi string kunci/kode, yaitu string yang akan dimanipulasi
dengan src untuk proses enkripsi/dekripsi.
• flag_enkripsi, [ebp+20]. Berisi variabel untuk menandai apakah akan melakukan
enkripsi atau melakukan dekripsi (bersifat boolean). Jika nilai <> 1, misalnya 0,
maka fungsi akan melakukan enkripsi. Jika flag_enkripsi = 1, maka fungsi akan
melakukan dekripsi.Parameter ini merupakan pass by value.

2. Menggunakan Program ROT-13

ROT-13 adalah program yang masih suka dipergunakan. Intinya adalah mengubah huruf
menjadi 13 huruf didepannya. Misalnya b menjadi o dan huruf “a” digantikan dengan
huruf “n” dan seterusnya.
ROT-13 disebut juga “monoalphabetic ciphers” karena setiap huruf digantikan dengan
sebuah huruf. Huruf yang sama akan memikili pengganti yang sama. Misalnya huruf “a”
digantikan dengan huruf “e”, maka setiap huruf “a” akan digantikan dengan huruf “e”.
Secara matematis, hal ini dapat dituliskan sebagai berikut :

C = I + 13

Sedangkan untuk membalikkan ke bentuk asli atau dikenal dengan dekripsi adalah
tinggal membalik fungsi penyandian tersebut. P = I – 13

3. Menggunakan Kriptografi Quantum

Teknik kriptografi Quatum ini menggunakan hukum Ketidakpastian Heisenberg. Ide


dasarnya adalah menggunakan sebuah perhitungan matematika yang sangat rumit dan
tidak mungkin dipecahkan oleh orang asing, karena keterbatasan sumberdaya maupun
waktu proses. Ketika ada orang asing yang berusaha masuk ke jaringa, maka ia pasti akan
merusak sesuatu yang ada di dalam jaringan tersebut.

Teknik kriptografi ini cocok untuk jaringan dengan serat optik. Ketika orang asing ini
mencoba membobol jaringan, foton yang ada pada jaringan akan teracak dan
menyebabkan jaringan terputus. Jaringan akan membentuk jalan baru ketika jaringan
semula terganggu, sehingga penerima dan pengirim pesan dapat kembali berkumunikasi
dengan aman.

Katanya, jaringan ini “tidak bisa ditembus”. Tapi penelitian terus dilakukan untuk
mencari cara mengamankan informasi yang sifatnya sensitif.

4. Menggunakan kriptografi kunci publik dengan algoritma RSA

Pada kriptografi kunci publik, setiap Pengguna memiliki sepasang kunci, satu kunci
untuk enkripsi yaitu kunci yang digunakan untuk menyandikan plainteks menjadi
cipherteks dan satu untuk dekripsi yaitu kunci yang digunakan untuk mengembalikan
cipherteks menjadi plainteks semula. RSA adalah salah satu dari kriptografi kunci publik
yang sering digunakan untuk memberikan pengamanan data sehingga data tidak bisa
dibaca oleh pihak yang tidak berhak. Keamanan enkripsi/dekripsi data model ini terletak
pada kesulitan untuk memfaktorkan modulus n yang sangat besar. sehingga ketika
kriptografi kunci publik dengan algoritma RSA mau dipecahkan oleh pihak yang tidak
berhak, maka mereka akan kesulitan dalam mencari faktor- faktor primanya dalam nilai
yang besar.

Dalam simulasi yang dilakukakan, didapatkan prosentase keamanan data sebesar 99,7 %,
sehingga keamanan kriptografi kunci publik dengan algoritma RSA dapat dikategorikan
aman.

Algoritma Kriptografi berdasarkan jenis kunci yang digunakan :


• Simetris dan Asimetris

Untuk menyandi informasi dan untuk menterjemahkan pesan tersandi sebuah algoritma
penyandian memerlukan sebuah data binary yang disebut kunci atau key. Tanpa kunci
yang cocok orang tidak bias mendapatkan kembali pesan asli dari pesan tersandi. Ada
dua jenis system tersandi yang dikenal dengan istilah system sandi simetris dan system
sandi asimetris.

Sistem sandi simetris menggunakan kunci yang sama dalam proses enkripsi maupun
proses dekripsi. Sedangkan system sandi asimetris dalam melakukan proses enkripsi
menggunakan kunci yang berbeda dengan kunci yang digunakan dalam proses dekripsi.
Contoh dari system sandi simetris adalah Data Encryption Standard ( DES ), sedangkan
contoh system sandi asimetris adalah Ron Shamir Adleman ( RSA ).

Kedua system ini memiliki keuntungan dan kerugiannya sendiri. Sistem sandi simetris
cenderung jauh lebih cepat sehingga lebih disukai oleh sementara kalangan industry.
Namun kelemahannya adalah bahwa pihak-pihak yang ingin berkomunikasi secara privat
harus punya akses ke sebuah kunci bersama. Dan tidak menutup kemungkinan bahwa
salah satu pihak akan ceroboh terhadap kunci tersebut hingga mudah jatuh ke tangan
pihak ketiga.

• Algoritma kriptografi berdasarkan besar data :

Algoritma kriptografi (cipher) simetri dapat dikelompokkan menjadi dua kategori, yaitu:

1. Cipher aliran (stream cipher)

Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal,


yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit.

Adapun algoritma yang termasuk dalam stream cipher yang sering digunakan adalah
algoritma A5/1 untuk jaringan GSM.

Algoritma A5 adalah algoritma stream cipher yang digunakan untuk mengenkripsi pesan
dalam transmisi udara. Stream cipher ini diinisialisasi dengan setiap frame yang dikirim.
Stream cipher ini diinisialisasikan dengan kunci sesi, Kc, dan jumlah frame yang akan
dienkripsi. Kunci sesi yang sama digunakan sepanjang panggilan berlangsung, tetapi 22
bit nomor frame berubah selama proses berlangsung, kemudian membangkitkan
keystream yang unik untuk setiap frame [FIR06].

2. Cipher blok (block cipher)

Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang
dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah
ditentukan sebelumnya.
Pada cipher blok, plainteks dibagi menjadi beberapa blok dengan panjang tetap. Ketika
melakukan enkripsi, cipher blok mungkin saja menerima input 128-bit plainteks dan
mengeluarkan 128-bit keluaran cipherteks. Transformasi selengkapnya dikontrol
menggunakan masukan kedua- yaitu kunci. Begitu pula halnya dengan dekripsi,
algoritma untuk melakukan dekripsi akan menerima masukan 128-bit cipherteks dan
kunci kemudian menghasilkan keluaran 128-bit plainteks aslinya.

Gambar. Enkripsi & Dekripsi

Untuk melakukan enkripsi terhadap pesan yang lebih panjang dari ukuran blok, pada
cipher blok, digunakan mode-mode tertentu. Empat mode operasi yang lazim diterapkan
pada sistem blok cipher adalah:

1. Electronic Code Book (ECB)

Pada mode ini, setiap blok plainteks Pi dienkripsi secara individual dan independen
menjadi blok cipherteks Ci.

2. Cipher Block Chaining (CBC)

Mode ini menerapkan mekanisme umpan balik (feedback) pada sebuah blok, yang dalam
hal ini hasil enkripsi blok sebelumnya diumpanbalikkan ke dalam enkripsi blok yang
current.

3. Cipher Feedback (CFB)

Pada mode CFB, data dienkripsikan dalam unit yang lebih keicl daripada ukuran blok.
Sehingga enkripsi dapat dilakukan meskipun data yang diterima belum lengkap.

4. Output Feedback (OFB)

Mode OFB mirip dengan mode CFB, kecuali n-bit dari hasil enkripsi terhadap antrian
disalin menjadi elemen posisi paling kanan di antrian.
Adapun algoritma yang termasuk dalam block cipher dan sangat popular untuk
digunakan adalah DES dan Triple DES.

DES adalah algoritma block cipher yang sangat popular karena dijadikan standard
algoritma enkripsi kunci-simatri, meskipun saat ini standard tersebut sudah dianggap
tidak aman lagi. Pada DES data diennkrip dalam blok-blok 64 bit menggunakan kunci 56
bit. DES mentransformasikan input 64 bit dalam beberapa tahap enkripsi ke dalam output
64 bit. Dengan tahapan dan kunci yang sama, DES digunakan untuk membalik enkripsi.
DES sangat banyak digunakan untuk melindungi data dlam dunia elektronika khususnya
di bidang perbankan, financial, dan e-commerce.

Bit Kunci dan Blok Data


Banyak sekali jenis Enkripsi dan setiap enkripsi dibedakan berdasar besar bit kunci dan
besar blok datanya. Dari mulai bit kunci 8-bit,sampai 256 bit. dan dari 64-bit hingga 512-
bit besar blok data. Mengapa bit kunci dan blok data penting? Karena kekuatan dari
enkripsi terletak dalam tiga hal, yaitu besar bit kunci, bear blok data, dan metode
pengulangan yang dilakukan didalamnya. semakin besar blok kunci, semakin kecil blok
data dan semakin banyak pengulangan yang dilakukan maka enkripsi tersebut bisa
dibilang cukup tangguh, dan begitu juga sebaliknya.

Contoh-contoh enkripsi dan dekripsi 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/ztxâx

}vêp}v/|tüp}vzpz/|t}äyä/{päâ=/\tütz

ppsp{pw/p}pz<p}pz/ztxâ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. Dokumen gambar

3. Dokumen basisdata

Plainteks (siswa.dbf):

NIM Nama Tinggi Berat


000001 Elin Jamilah 160 50
000002 Fariz RM 157 49
000003 Taufik Hidayat 176 65
000004 Siti Nurhaliza 172 67
000005 Oma Irama 171 60
000006 Aziz Burhan 181 54
000007 Santi Nursanti 167 59
000008 Cut Yanti 169 61
000009 Ina Sabarina 171 62
Cipherteks (siswa2.dbf):

NIM Nama Tinggi Berat


000001 tüp}vzpz/|t}äyä/{äâ |äzp} Épêp
000002 |t}tâpé/spüx/sp péxü= ztwxsä
000003 ât|pâ/ztwxsäp}/| }/|tü spüx/
000004 épêp/|t}t|äzp}/qpêpz qp}êpz Wxsä
000005 étzp{x/ztxâx}vêp} päâ/psp étzp{
000006 spüx/sp{p|/péxü=/] xâx}v ttüzp/|
000007 Ztâxzp/épêp/qtüypp}< äzp} }äyä/{
000008 qpwåp/{päâ/psp{pw Ztwxs xâx}v
000009 }t|äzp}/qp}êpz/ép{ qp}êp äzp}/qp

Keterangan: hanya field Nama, Berat, dan Tinggi yang di-enkripsi.

Kehidupan saat ini dikelilingi oleh kriptografi, mulai:

ü ATM tempat mengambil uang,

ü Telepon genggam (HP),

ü Komputer di lab/kantor,

ü Internet,

ü Gedung-gedung bisnis,

ü sampai ke pangkalan militer

PROTOKOL CRYPTOSYSTEM

Cryptograhic Protocol adalah suatu protocol yang menggunakan kriptografi. Protokol ini
melibatkan sejumlah algoritma kriptografi , namun secara umum tujuan protocol lebih
dari sekedar kerahasiaan. Pihak – pihak yang berpartisipasi mungkin saja ingin membagi
sebagian rahasianya untuk menghitung sebuah nilai, menghasilkan urutan random,
ataupun menandatangani kontrak secara bersamaan. Penggunaan kriptografi dalam
sebuah protocol terutama ditujukan untuk mencegah ataupun mendeteksi adanya
eavesdropping dan cheating.

APLIKASI ENKRIPSI

1. Jasa telekomunikasi
2. Militer dan Pemerintahan
3. Data Perbankan
4. Data Konfidensial Perusahaan
5. Pengamanan Electronic Mail
6. Kartu Plastik

Sumber:

[1] Munir, Rinaldi. (2004). Bahan Kuliah IF5054 Kriptografi. Departemen Teknik
Informatika, Institut Teknologi Bandung.

[2] Wikipedia (2009), Http://en.wikipedia.org/wiki/Cryptograpy

[3] Http://sandi.math.web.id/

[4] Http://the-eye-blog/menggunakan-enkripsi-untuk-keamanan.html

[5] Http://adeut-blog/enkrisi-dekripsi.html

[6] Http://hazzrock-blog/enkrisi-dekripsi.html

[7] Http://jbptitbpp-gdl-budiononim-29902-3-2008ta-2.pdf

[8] Http://Makalah1-077.pdf

[9] Http://Paper_Didin_Mukodim.pdf

You might also like