Tag Archives: enkripsi

Share This :

Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga. Menurut Bruce Scheiner dalam bukunya "Applied Cryptography", kriptografi adalah ilmu pengetahuan dan seni menjaga message-message agar tetap aman (secure).

Dalam kriptografi terdapat dua konsep utama yakni enkripsi dan dekripsi. Enkripsi adalah proses dimana informasi/data yang hendak dikirim diubah menjadi bentuk yang hampir tidak dikenali sebagai informasi awalnya dengan menggunakan algoritma tertentu. Dekripsi adalah kebalikan dari enkripsi yaitu mengubah kembali bentuk tersamar tersebut menjadi informasi awal.

proses_enkripsi_dekripsi

Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi :

  • Plaintext adalah pesan yang hendak dikirimkan (berisi data asli).
  • Ciphertext adalah pesan ter-enkrip (tersandi) yang merupakan hasil enkripsi.
  • Enkripsi adalah proses pengubahan plaintext menjadi ciphertext.
  • Dekripsi adalah kebalikan dari enkripsi yakni mengubah ciphertext menjadi plaintext, sehingga berupa data awal/asli.
  • Kunci adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi dan dekripsi. Peranan kunci sangatlah penting dalam proses enkripsi dan dekripsi (disamping pula algoritma yang digunakan) sehingga kerahasiaannya sangatlah penting, apabila kerahasiaannya terbongkar, maka isi dari pesan dapat diketahui.

JENIS ALGORITMA KRIPTOGRAFI

Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua jenis yaitu :
1. Algoritma Simetris (symmetric algorithm)
Algoritma simetris  adalah suatu algoritma dimana kunci enkripsi yang digunakan sama dengan kunci dekripsi sehingga algoritma ini disebut juga sebagai single-key algorithm. Sebelum melakukan pengiriman pesan, pengirim dan penerima harus memilih suatu suatu kunci tertentu yang sama untuk dipakai bersama, dan kunci ini haruslah rahasia bagi pihak yang tidak berkepentingan sehingga algoritma ini disebut juga algoritma kunci rahasia (secret-key algorithm).

kriptografi_simetrisKelebihan :

  • Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetrik.
  • Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real-time

Kelemahan :

  • 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”

2. Algoritma Asimetris (asymmetric algorithm)
Algoritma asimetris  adalah suatu algoritma dimana kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi. Pada algoritma ini menggunakan dua kunci yakni kunci publik (public key) dan kunci privat (private key). Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan. Pada umumnya kunci publik (public key) digunakan sebagai kunci enkripsi sementara kunci privat (private key) digunakan sebagai kunci dekripsi.

kriptografi_asimetrisKelebihan :

  • Masalah keamanan pada distribusi kunci dapat lebih baik
  • Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit

Kelemahan :

  • Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris
  • Untuk   tingkat   keamanan   sama,   kunci   yang   digunakan   lebih   panjang dibandingkan dengan algoritma simetris.

1 Comment

Share This :

One Time Pad adalah salah satu contoh metode kriptografi dengan algoritma jenis simetri. Ditemukan pada tahun 1917 oleh Major Yoseph Mouborgne dan Gilbert Vernam pada perang dunia ke dua. Metode ini telah diklaim sebagai satu-satunya algoritma kriptografi sempurna yang tidak dapat dipecahkan. Suatu algoritma dikatakan aman, apabila tidak ada cara untuk menemukan plaintext-nya Sampai saat ini, hanya algoritma One Time Pad (OTP) yang dinyatakan tidak dapat dipecahkan meskipun diberikan sumber daya yang tidak terbatas. Algoritma One Time Pad adalah salah satu jenis algorima simetri (konvensional).

OTP

Jumlah kunci sama panjangnya dengan jumlah plaintext. Jika anda ingin agar ciphertext sulit untuk di pecahkan maka pemakaian kunci seharusnya :

* Jangan gunakan kunci yang berulang
* Pilihkan kunci yang random

Rumus melakukan One Time Pad ini yaitu :

Enkripsi : E(x) = (P(x) + K(x) ) Mod 26

Dekripsi : D(x) = (C(x) – K(x) ) Mod 26

CARA I

Pemakaian One Time Pad digunakan pada sederetan abjad A..Z dengan memberikan nilai urutan abjad yaitu A=0, B=1, C=2, D=3, E=4…..sampai Z.

Contoh Enkripsi Pesan :

Pesan : ZENSHIFU
Kunci : OTIMEPAD
maka perhatikan langkahnya seperti di bawah ini :

Plaintext 25(Z) 4(E) 13(N) 18(S) 7(H) 8(I) 5(F) 20(U)
Kunci 14(O) 19(T) 8(I) 12(M) 4(E) 15(P) 0(A) 3(D)
-------------------------------------------- +
Hasil mod 26 13 23 21 4 11 23 5 23
Chipertext N X V E L X F X
Jadi Chipertext yang di hasilkan yaitu : NXVELXFX

Dekripsi pesan, perhatikan langkah di bawah ini

Chipertext 13(N) 23(X) 21(V) 4(E) 11(L) 23(X) 5(F) 23(X)
Kunci 14(O) 19(T) 8(I) 12(M) 4(E) 15(P) 0(A) 3(D)
------------------------------------------------ -
Hasil mod 26 25 4 13 18 7 8 5 20
Plaintext Z E N S H I F U
Jadi Plaintext yaitu : ZENSHIFU

OTP_enkrip_v2 OTP_dekrip_v2
Encrypt One Time Pad
Decrypt One Time Pad

Untuk mempermudah pemahaman dan melihat algoritmanya, maka saya menggunakan yang gampang-gampang aja, yaitu dengan memanfaatkan Ms. Excel. File One Time Pad on Excel tersebut bisa di download. Disitu bisa merubah plaintext, chipertext maupun kuncinya. Klik aja linknya :D Dengan algoritma ini, enkripsi dekripsi one time pad bisa diterapkan dalam bahasa pemrograman apapun, baik visual basic, php, delphi maupun java. Karena intinya adalah merubah character ke desimal kemudian melakukan perhitungan dan mod. Lalu hasilnya mengembalikannya lagi dari desimal ke character. Saya pernah membuat program one time pad menggunakan visual basic dengan algoritma yang sama.

CARA II

Cara yang ini lebih simple, karena urutan hurufnya merupakan bilangan desimal yang sesuai dengan standard internasional, yaitu sesuai dengan ASCII Table. Bisa dilihat di http://www.asciitable.com/. Namun prinsipnya sama saja yaitu melakukan penjumlahan kemudian mod 26 untuk encrypt, dan melakukan pengurangan kemudian mod 26 untuk decrypt. Semuanya ada di dalam File One Time Pad on Excel.

Algoritma One Time Pad nya adalah :
1. Merubah huruf-huruf (Character) tersebut menjadi bilangan desimal.
Function yang digunakan : CODE(Character)
2. Melakukan penjumlahan jika Enkripsi, dan melakukan pengurangan jika dekripsi
3. Hasil pengurangan atau penjumlahan di mod 26
Function yang digunakan : MOD(Bilangan;26)
4. Hasilnya dikembalikan lagi menjadi Huruf / Character
Function yang digunakan : CHAR(Bilangan)

Enkripsi One Time Pad

One Time Pad Encrypt

Dekripsi One Time Pad

One Time Pad Decrypt

24 Comments

Share This :

Caesar Cipher merupakan salah satu bentuk kriptografi. Dan merupakan salah satu model dari bentuk Kriptografi Simetris atau konvensional. Yang dimaksud dengan Symetric Cryptography atau Kriptografi Simetris yaitu kunci yang digunakan untuk melakukan enkripsi dan dekripsi adalah sama.
* Plaintext adalah pesan yang dikirim dan mudah untuk dimengerti.
* Ciphertext adalah plaintext yang sudah diubah dengan metode tertentu sehingga perlu usaha khusus untuk dapat mengerti isinya.
* Agar data yang telah di enkripsi tersebut dapat dibaca kembali maka perlu di dekripsi dengan menggunakan kunci bersama yang sama dengan saat dilakukan enkripsi. Jadi kunci bersama (public key) merupakan aturan yang berlaku saat dilakukan enkripsi dan dekripsi.

Baberapa contoh enkripsi konvensional klasik:
1. CAESAR CIPHER
Merupakan metode enkripsi yang dilakukan pada zaman Julius Caesar. Hanya dipergunakan pada Alfabet baik huruf kapital maupun huruf kecil. Sehingga ketika proses yang dilakukan pada angka maka hal tersebut tidak dapat dilakukan. Cara enkripsi dari metode ini yaitu dengan memutar sejauh tiga langkah. Bentuk dari enkripsi ini adalah sbb:
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
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

2. ROT-13
Yaitu suatu metode enkripsi dengan cara memnukarkan huruf sejauh 13 huruf. Bentuk dari metode enkripsi ini adalah sbb:
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

Contoh Caesar Cipher:
Misalnya menggunakan caesar cipher dengan pergeseran 3 huruf:
Plaintext: KOPLER akan dienkripsi menjadi Ciphertext : NRSOHU

Contoh menggunakan ROT 13:
Plaintext : KOPLER akan dienkripsi menjadi Ciphertext : XBCYRE

Pada dasarnya ROT-13 adalah Caesar Cipher dengan pergeseran sejauh 13 huruf, jadi ingat masa lalu waktu ikut kegiatan pramuka di sekolah, ada sandi yang seperti ini. Dalam ilmu ke-PRAMUKA-an enkripsi ini sering disebut dengan "Sandi AN" karena huruf AN dijejerkan di bawahnya untuk memecahkannya.
Dengan menggunakan Pemrograman, tentulah sangat mudah untuk memecahkan maupun membentuk ciphertext dengan pola enkripsi seperti ini. Tidak masalah mau menggunakan pergeseran huruf sejauh berapapun.

--
Program aplikasi .exe dapat di download di [CaesarChiper.exe]
--

Algoritma Pemrogramannya:
1. Hitung panjang karakter/huruf.
2. Tiap-tiap huruf diubah menjadi kode ASCII menggunakan proses looping.
3. Untuk melakukan pergeseran/proses enkripsi maka kode ASCII tersebut digeser
dengan cara ditambah sebanyak pergeseran. Misalnya pergeseran 3huruf maka kode ASCII ditambah dengan 3.
4. Jika ditemui spasi (ASCII=32), maka tidak usah dilakukan penambahan.
5. Hasil pergeseran/penambahan bilangan ASCII dikembalikan lagi menjadi karakter.

2 Comments

Share This :

Sistem enkripsi, sangat dibutuhkan sekali untuk pengamanan data. Terlebih lagi untuk pengamanan sebuah password. MD5 merupakan salah satunya,,,,
MD5 (Message-Digest algortihm 5) ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. MD5 merupakan proses enkripsi secara satu arah. Yang sangat kecil kemungkinannya untuk di-decrypt. Namun telah ditemukan algoritma untuk men-decrypt hasil encrypt md5. Itupun kemungkinan paling besar adalah 3 huruf pertama. Tapi situs http://milw0rm.com/ dapat melakukan decrypt md5 secara tepat. Awalnya aku gak percaya tapi setelah kucaba sendiri akhire percaya :D Bahkan cuma di pecahkan hanya dalam waktu 53 detik hahaha...

Iseng2 pake PHP lewat DOS.

D:kopler>edit kopler.php

D:kopler>type kopler.php

D:kopler>php kopler.php
25b7e3900dc9f6f02df48fb8b4484561

Jadi md5 dari "kopler" adalah 25b7e3900dc9f6f02df48fb8b4484561

teros masukkan hasil md5 ke situs http://milw0rm.com/cracker. Hasil encrypt bisa di decrypt tergantung dari kata yang kita gunakan (password strengh).
Tak liat 1menit kemudian, ternyata passwordku gak kuat dan bisa dipecahkan dalam tempo 53detik. :P
http://milw0rm.com/cracker/list.php

Entahlah, bagaimana caranya koq bisa ketemu, apakah karena kamusnya milw0rm lengkap atau memang ada algoritma tersendiri.....?????????