Professional Documents
Culture Documents
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.
• Sistem Kriptografi
• Penyadap
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.
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:
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.
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
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.
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.
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 (cipher) simetri dapat dikelompokkan menjadi dua kategori, yaitu:
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].
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.
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:
Pada mode ini, setiap blok plainteks Pi dienkripsi secara individual dan independen
menjadi blok cipherteks Ci.
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.
Pada mode CFB, data dienkripsikan dalam unit yang lebih keicl daripada ukuran blok.
Sehingga enkripsi dapat dilakukan meskipun data yang diterima belum lengkap.
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.
1. Dokumen teks
Plainteks (plain.txt):
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):
ü Komputer di lab/kantor,
ü Internet,
ü Gedung-gedung bisnis,
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.
[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