PGP Kriptografi

Tinggalkan komentar

Pretty Good Privacy (PGP) dikembangkan oleh Philip Zimmerman pada akhir tahun 1980. Versi pertama PGP dirilis pada tahun 1991. PGP yang berikutnya yaitu versi 2.6.x dan 5.x (atau 3.0) sudah di implementasikan oleh seluruh sukaralawan yang bekerjasama dibawah bimbingan desain Zimmerman. PGP digunakan untuk melindungi surat elektronik (e-mail) dengan memberi perlindungan kerahasian (enkripsi) dan otentikasi (tanda-tangan digital).
Beberapa istilah yang sering digunakan
·         cryptography/encryption
ilmu pengetahuan yang mempelajari pengacakan text sehingga tidak seorang pun yang dapat mengetahuinya kecuali bila ia tahu kode yang digunakan untuk men-dechipernya.
·         conventional cryptography
suatu metode encryption/enkripsi di mana suatu kunci digunakan untuk melakukan enksripsi dan dekripsi suatu plaintext.
·         encrypt/encipher
pengacakan/scramble dari suatu informasi.
· decrypt/decipher
mengembalikan informasi yang telah diacak menjadi bentuk informasi yang semula.
·         ciphertext/cipher
text setelah dilakukan proses  enkripsi
·         plaintext
text yang akan dienkripsi
· key/kunci
kode yang digunakan untuk melakukan enchiper dan atau dechiper suatu text. Dalam kriptografi konvensional, kunci yang digunakan untuk  enkripsi dan dekripsi adalah sama. Dalam public-key cryptography,kunci untuk enkripsi dan dekripsi berbeda.
·         public-key crypto
suatu sistem yang menggunakan dua kunci; yaitu  public key dan the secret key yang lebih baik dan lebih praktis dibandingkan dengan conventional crypto. Tujuan utamanya adalah kemudahan dalam manajemen kunci.
·         algorithm/algoritma
algorithm adalah program  crypto apa yang digunakan untuk melakukan enkripsi. Ia bukanlah suatu kunci, tetapi menghasilkan kunci. Suatu algoritma yang kuat/bagus akan manghasilkan crypto yang kuat.bagus juga. PGP menggunakan IDEA untuk bagian crypto yang konvensional, dan RSA untuk bagian  public-key . keduanya adalah algoritma yang bagus, namun RSA lebih bagus daripada IDEA.
· passphrase
adalah suatu word  atau phrase, atau bahkan hanya karakter acak,  yang digunakan PGP untuk mengidentifikasi seseorang sebagai person yang diinginkan oleh orang tersebut. Suatu  passphrase sebaiknya lebih dari satu word,  dan jangan pernah membuat yang orang lain dapat menebaknya, seperti nama, nama tengah, binatang kesayangan, nama anak, hari ultah, nama pacar, alamat, band favorit dsb. suatu passphrase yang ideal, adalah setengah dari baris  text.  Sebaiknya lebih dari tiga word dan mengandung hal-hal berikut:  proper name, suatu slang atau vulgar word, dan irregular capitalization, sebagai contoh: tHe, benny, dll. JUGA, Sifat lainnya adalah ia harus mudah diketik secara cepat, tanpa error, dan tanpa perlu melihatnya pada layar.
·         public key
adalah suatu kunci yang memiliki sifat sebagai berikut : mempunyai suatu koneksi, sangat berbeda dari yang lainnya, didistribusikan dalam jumlah yang besar , melaluui banyak channel, secure atau insecure.
·         secret key
adalah suatu kunci yang dimiliki oleh kita dan hanya kita seorang, dan tidak pernah diperlihatkan kepada publik.
·         ASCII armor/radix-64
adalah suatu format yang digunakan PGP  untuk mengkonversi default binary ciphertext, yang tidak dapat ditransfer melalui jaringan, menjadi suatu bentuk  ASCII yang dapat dikirmkan melalui email atau usenet.
Prinsip Kerja PGP
ü PGP, seperti yang telah dijelaskan sebelumnya,  menggunakan  teknik yang disebut public-key encryption  dengan dua kode. Kode-kode ini berhubungan secara intrinsik, namun tidak mungkin untuk memecahkan satu dan yang lainnya.
ü  Bila suatu ketika kita membuat suatu kunci, maka secara otomatis akan dihasilkan sepasang kunci yaitu  public key and secret key. Kita dapat  memberikan  public key ke manapun  tujuan yang kita inginkan, melalui telephone,  internet, keyserver, dsb. Secret key yang disimpan pada mesin kita dan menggunakan messager decipher akan dikirimkan ke kita. Jadi orang  yang akan menggunakan public key kita  (yang  hanya dapat didekripsi oleh oleh secret key kita), mengirimkan messages kepada kita , dan  kita akan menggunakan secret key untuk membacanya.
ü  Kenapa menggunakan dua kunci ?.
Karena dengan  conventional crypto,  di saat  terjadi transfer informasi kunci, suatu secure channel  diperlukan. Dan jika kita memiliki suatu secure channel, mengapa kita menggunakan crypto?  Namun dengan public-key system, tidak akan menjadi masalah siapa yang melihat kunci milik kita, karena kunci yang dilihat orang lain adalah yang digunakan hanya untuk  enkripsi dan hanya kita sebagai pemilik yang mengetahui secret key; yaitu key yang berhubungan secara fisik dengan komputer kita  yang dapat melakukan proses dekripsi dengan public key yang ada dan kemudian kita masukan lagi passphrase.  Jadi seseorang mungkin dapat mencuri passphrase  yang kita ketikkan, namun ia dapat membaca  hanya  jika  ia dapat mengakses komputer kita
Ilustrasi Pemakaian PGP
·         Public-key sangat lambat bila dibandingkan dengan konvensional, jadi PGP akan mengkombinasikan dua algoritma, yaitu RSA and IDEA, untuk melakukan enkripsi plaintext kita.
·         Sebagai contoh, Badrun (pemilik PGP) ingin mengenkripsi  suatu file yang diberi nama plain.txt sedemikian sehingga hanya si Matangin yang dapat mendekripsi-nya.  Maka Badrun mengirimkan  PGP  perintah (command line) untuk melakukan enkripsi  :
pgp -e plain.txt Matangin
Pada command line ini, pgp adalah file executable, -e  berarti  memberitahukan PGP untuk meng-encrypt file, plain.txt adalah nama plaintext, dan dul merepresentasikan public key suatu tujuan (Matangin) yang diinginkan Badrun untuk mengenkripsi message-nya. PGP menggunakan suatu random number generator, dalam file randseed.bin untuk menghasilkan suatu  kunci (session key) temporary IDEA. Session key itu sendiri di-enkripsi dengan kunci RSA public  yang direpresentasikan oleh Matangin  yang disematkan pada plaintext.
·         Kemudian, PGP menggunakan session key  untuk mengenkripsi message, ASCII-armors dan menyimpan seluruhnya sebagai cipher.asc. Bila Matangin ingin membaca pesannya, ia mengetikkan command:
pgp cipher.asc
·         PGP  menggunakan  secret key milik Matangin, yang merupakan kunci RSA,        untuk men-dekripsi sessi kunci yang mana, yang jika dipanggil oleh Badrun akan dienkripsi oleh  public key. kemudian, conventional crypto digunakan dalam bentuk  session key untuk mendekripsi sisa dari message. Alasan prinsip ini adalah sebagai pengganti/kompensasi dari RSA karena “RSA is too slow, it’s not stronger, and it may even be weaker.” (-PGP Documentation, pgpdoc2.txt).
Iklan

SSL Kriptografi

Tinggalkan komentar

Secure Socket Layer (SSL)

Secure Socket Layer (SSL) dan Transport Layer Security (TLS), merupakan kelanjutan dari protokol cryptographic yang menyediakan komunikasi yang aman di Internet.

Protocol SSL dan TLS berjalan pada layer dibawah application protocol seperti HTTP, SMTP and NNTP dan di atas layer TCP transport protocol, yang juga merupakan bagian dari TCP/IP protocol. Selama SSL dan TLS dapat menambahkan keamanan ke protocol apa saja yang menggunakan TCP, keduanya terdapat paling sering pada metode akses HTTPS. HTTPS menyediakan keamanan web-pages untuk aplikasi seperti pada E-commerce. Protocol SSL dan TLS menggunakan kriptografi public-key dan sertifikat publik key untuk memastikan identitas dari pihak yang dimaksud. Sejalan dengan peningkatan jumlah client dan server yang dapat mendukung TLS atau SSL alami, dan beberapa masih belum mendukung. Dalam hal ini, pengguna dari server atau client dapat menggunakan produk standalone-SSL seperti halnya Stunnel untuk menyediakan enkripsi SSL.
Openssl adalah sebuah toolkit kriptografi yang mengimplementasikan protokol jaringan Secure Sockets Layer (SSL v2/v3) dan Transport Layer Security (TLS v1) termasuk berbagai standar kriptografi lainnya yang di butuhkan. Openssl sendiri adalah program di Linux yang sifatnya command line tidak menggunakan grafik user interface (GUI), openssl mampu untuk digunakan untuk:
•    Membuat parameter kunci (key) RSA, DH & DSA.
•    Membuat sertifikat X.509, Certificate Signing Request (CSR) dan Certificate Revocation List (CRL).
•    Perhitungan Message Digest (atau sidik dokumen).
•    Enkripsi & dekripsi menggunakan cipher.
•    Uji SSL/TLS Client & server.
•    Menangani e-mail yang di tanda tangani & di enkrip mengunakan S/MIME.

Sejarah dan Pengembangan
Dikembangkan oleh Netscape, SSL versi 3.0 dirilis pada tahun 1996, yang pada akhirnya menjadi dasar pengembangan Transport Layer Security, sebagai protocol standart IETF. Visa, MaterCard, American Express dan banyak lagi institusi finansial terkemuka yang memanfaatkan TLS untuk dukungan commerce melalui internet. Seprti halnya SSL, protocol TLS beroperasi dalam tata cara modular. TLS didesain untuk berkembang, dengan mendukung kemampuan meningkat dan kembali ke kondisi semula dan negosiasi antar ujung konektivitas. Sekarang juga sudah hampir seluruh perangkat internet seperti browser dan perangkat client atau server side yang sudah mendukung teknologi ini, seperti halnya ActiveX, SSL & TLS pada IE 7.0 yang sudah mulai bias dirasakan kenyamanannya.

Kriptografi MD-5

Tinggalkan komentar

MD5 adalah salah satu dari serangkaian algortima message digest yang didesain oleh Profesor Ronald Rivest dari MIT (Rivest, 1994). Saat kerja analitik menunjukkan bahwa pendahulu MD5 — MD4 — mulai tidak aman, MD5 kemudian didesain pada tahun 1991 sebagai pengganti dari MD4 (kelemahan MD4 ditemukan oleh Hans Dobbertin).

Dalam kriptografi, MD5 (Message-Digest algortihm 5) ialah fungsi hash kriptografik yang digunakan secara luas dengan nilai hash 128-bit. Pada standard Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas sebuah file.

Algoritma

Proses MD5 pesan variabel-panjang menjadi output tetap-panjang 128 bit. Pesan masukan dipecah menjadi potongan-bit blok 512 (enam belas 32-bit little endian integer); pesan empuk sehingga panjangnya dibagi oleh 512. Padding bekerja sebagai berikut: bit tunggal pertama, 1, ditambahkan ke akhir pesan. Hal ini diikuti oleh sebagai nol sebanyak yang diperlukan untuk membawa pesan panjang sampai dengan 64 bit kurang dari kelipatan 512. Bit sisa diisi dengan sebuah integer 64-bit yang mewakili panjang pesan asli, dalam bits.
Algoritma MD5 utama beroperasi pada kondisi 128-bit, dibagi menjadi empat-bit kata-kata 32, dinotasikan A, B, C dan D. Ini diinisialisasi dengan konstanta tetap tertentu. Algoritma utama kemudian beroperasi pada masing-masing blok pesan 512-bit pada gilirannya, setiap blok memodifikasi negara. Pengolahan blok pesan terdiri dari empat tahap yang sama, disebut putaran, setiap putaran terdiri dari 16 operasi serupa berdasar pada fungsi linier F-non, penambahan modular , dan rotasi kiri. Gambar 1 mengilustrasikan satu operasi dalam putaran.
. menandakan XOR , DAN , ATAU dan TIDAK operasi masing-masing.

Kriptografi Asimetris

Tinggalkan komentar

Algoritma simetris, sering juga disebut dengan algoritma kunci rahasia atau sandi kunci rahasia. Algoritma asimetris (asymmetric algorithm) 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

Sifat kunci yang seperti ini membuat pengirim harus selalu memastikan bahwa jalur yang digunakan dalam pendistribusian kunci adalah jalur yang aman atau memastikan bahwa seseorang yang ditunjuk membawa kunci untuk dipertukarkan adalah orang yang dapat dipercaya. Masalahnya akan menjadi rumit apabila komunikasi dilakukan secara bersama-sama oleh sebanyak n pengguna dan setiap dua pihak yang melakukan pertukaran kunci, maka akan terdapat sebanyak (n-1)/2 kunci rahasia yang harus dipertukarkan secara aman.

Contoh dari algoritma kriptografi simetris adalah Cipher Permutasi, Cipher Substitusi, Cipher Hill, OTP, RC6, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST, A5, Kasumi, DES dan IDEA.

Kelebihan :
·         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.
Contoh algoritma : RSA, DSA, ElGamal

Kriptografi Simetris

Tinggalkan komentar

Kriptografi Simetris

Algoritma simetris (symmetric algorithm) 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 simetrik (symetric chipers) adalah kriptografi dimana dalam proses enkripsi dan dekripsi nya menggunakan satu key yang sama. Disebut juga private key atau chiper secret key.
Algoritma kriprografi simetris adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya, sedangkan algoritma kriprografi asimetris mempunyai kunci enkripsi dan kunci dekripsi yang berbeda. Algoritma kriprografi simetris sering disebut algoritma kunci rahasia, algoritma kunci tunggal, atau algoritma satu kunci, dan mengharuskan pengirim dan penerima menyetujui suatu kunci tertentu. Kelebihan dari algoritma kriprografi simetris adalah waktu proses untuk enkripsi dan dekripsi relatif cepat. Hal ini disebabkan efesiensi yang terjadi pada pembangkit kunci. Karena prosesnya relative cepat maka algoritma ini tepat untuk digunakan pada sistem komunikasi digital secara real timeseperti GSM.
Kelebihan :
·         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”
Contoh algoritma : TwoFish, Rijndael, Camellia

Kriptografi Enigma

Tinggalkan komentar

Mesin Enigma adalah sebuah mesin penyadi yang digunakan untuk mengeknripsikan dan mendekripsikan pesan rahasia.

KOMPONEN MESIN ENIGMA
Mesin Enigma terdiri dari 5 komponen utama, yaitu :

# Rotor –> bagian terpenting dari enigma. Berdiameter sekitar 10cm berupa piringan yang terbuat dari karet yang keras  dengan deretan kuningan yang berisi pin – pin yang menonjol yang berbentuk bundar. Sebuah rotor menunjukkan sebuah enkripsi yang sederhana, 1 huruf di enkripsi menjadi huruf lainnya. Hasil enkripsi akan menjadi lebih rumit jika menggunakan lebih dari 1 rotor.

# Penggerak Rotor –> untuk menghindari chiper yang sederhana, beberapa rotor harus diputar
berdasarkan penekanan sebuah kunci. Hal ini dilakukan untuk memastikan kriptogram yang dibuat merupakan sebuah transformasi perputaran rotor yang menghasilkan poloponik chiper. Alat yang paling banyak digunakan untuk penggerakan rotor tersebut adalah mekanisme roda bergigi dan penggeraknya. Penggerak roda memutar rotor sebanyak 1 karakter ketika sebuah huruf diketikkan pada papan kunci.

# Reflector –> digunakan untuk memstikan sebuah huruf tidak dikodekan pada dirinya sendiri dan untuk menjadikan mesin ini reversible (jika sebuah huruf dienkripsi, hasil enkripsi huruf tersebut adalah huruf semula). Reflector hanya terdiri dari 13 pasang huruf yang susunannya acak.

# Papan Steker –>digunakan untuk menukar 2 buah huruf dan untuk meningkatkan keamanan dari pesan rahasia mesin enigma. Sebelum masuk ke proses penyandian, huruf yang telah ditentukan pertukarannya akan di ubah dipapan ini.

# Kotak Enigma –> digunakan untuk menyimpan semua perlengkapan dari mesin ini. Biasanya kotak ini dapat menampung 10 buah rotor, papan steker, dan papan ketik.

CARA KERJA MESIN ENIGMA
Mesin enigma bekerja berdasarkan perputaran rotor – rotor yang ada. Ketika sebuah huruf diketikkan di papan panel, urutan kerjanya :
1. Majukan rotor kanan sebanyak 1 huruf. Huruf yang diketikkan masuk ke rotor paling kanan dan pada rotor ini dicari padanan pada rotor kedua. Setelah itu masuk ke rotor kedua.
2. Pada rotor kedua, huruf hasil padanan dari rotor pertama dicari padanannya untuk rotor ketiga.
3. Pada rotor ketiga, dicari padanan untuk reflector.
4. Setelah masuk ke reflector, dicari pasangan huruf tersebut pada reflector, dan hasil pada reflector dikembalikan kepada rotor ketiga, kedua, kesatu, dan hasilnya menghasilkan huruf enkripsi.

Vigenere Cipher dan Hill Cipher

Tinggalkan komentar

A. Vigenere Cipher

Vigenere Cipher merupakan salah satu cipher yang terkenal. Vigenere Cipher termasuk cipher substitusi abjad-majemuk. Vigenere Cipher dipublikasikan pada tahun 1856 dan dapat dipecahkan oleh Babbage dan Kasiski pada pertengahan abad 19.

Proses enkripsi dan dekripsi pada Vigenere Cipher menggunakan bujursangkar Vigenere. Kolom paling kiri menyatakan huruf-huruf kunci, baris paling atas menyatakan huruf-huruf plainteks.

Proses Enkripsi dan Dekripsi Vigenere Cipher

1.      Enkripsi
Pembentukan Tabel:
–  Susun alphabet A..Z pada baris 1
– Baris  2 terjadi 1 kali pergeseran (shifting).
– Baris 3 terjadi 2 kali pergeseran.
– Demikian hingga baris terakhir terjadi 25 kali pergeseran.
– Buatlah alphabet di atas dan di kanan sebagai penunjuk
Key Generation
– Panjang kunci  <=  panjang pesan.
– Jika panjang kunci < Message length, kunci baru dibentuk dengan menulis alphabet kunci secara berulang hingga panjang kunci = panjang message.
2.      Dekripsi
– Tempatkan alphabet kunci pada sisi kiri tabel berdasarkan baris.
– Telusuri sepanjang baris tersebut hingga  ditemukan alphabet ciphertext.
– Index kolom lokasi alphabet ciphertext berada merupakan alphabet plaintext
Contoh:
1.      Enkripsi
Misalnya:
Key           : BLOG
Pesan         : RASAMAUTAU
Keyword
B
L
O
G
B
L
O
G
B
L
Plaintext
R
A
S
A
M
A
U
T
A
U
Bisa kita lihat key di atas diulang-ulang sehingga memiliki panjang yang sama dengan pesan.
– Berdasarkan kolom, temukan alphabet plaintext pada sisi atas tabel.
– Berdasarkan baris, temukan alphabet kunci pada sisi kiri tabel.
– Ciphertext dihasilkan dengan mengintersek baris dan kolom tersebut
– Hal yang sama dilakukan untuk alphabet plaintext dan kunci berikutnya
– Dan cara yang sama untuk huruf berikutnya
– Maka diperoleh ciphertex
RASAMAUTAU = SLGGNLIZBF
2.      Dekripsi
Untuk mendekripsi ciphertex tersebut tinggal kita masukkan kembali kedalam table alphabet tersebut

Older Entries