Sabtu, 26 Juni 2010

Enkripsi & Deskripsi

Algoritma kunci simetri merupakan metode enkripsi yang menggunakan kunci yang sama untuk enkripsi dan dekripsi
B. Kriptografi
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.

Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua jenis yaitu :
• Algoritma simetris
Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi adalah kunci yang sama
• Algoritma asimetris
Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi menggunakan kunci yang berbeda.

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :
• Algoritma block cipher
Informasi/data yang hendak dikirim dalam bentuk blok-blok besar (misal 64-bit) dimana blok-blok ini dioperasikan dengan fungsi enkripsi yang sama dan akan menghasilkan informasi rahasia dalam blok-blok yang berukuran sama.

• Algoritma stream cipher
Informasi/data yang hendak dikirim dioperasikan dalam bentuk blok-blok yang lebih kecil (byte atau bit), biasanya satu karakter persatuan persatuan waktu proses, menggunakan tranformasi enkripsi yang berubah setiap waktu.

Camellia merupakan algoritma kriptografi simetris blok cipher. Dalam Camellia proses enkripsi dan dekripsi dilakukan pada blok data berukuran 128-bit dengan kunci yang dapat berukuran 128-bit, 192-bit, 256-bit. Algoritma Camellia dikembangkan oleh :
• Kazumaro Aoki (NTT - Nippon Telegraph and Telephone Corp.)
• Tetsuya Ichikawa (Mitsubishi electric Corp.)
• Masayuki Kanda (NTT – Nippon Telegraph and Telephone Corp.)
• Mitsuru Matsui (Mitsubishi electric Corp.)
• Shiho Moriai (NTT – Nippon Telegraph and Telephone Corp.)
• Junko Nakajima (Mitsubishi electric Corp.)
• Toshio Tokita (Mitsubishi electric Corp.)
Dimana versi 1.0 pada bulan Juli 2000, versi 2.0 pada September 2001 dan versi 2.1 pada Febuari 2002.
C. Tanda Tangan Digital
Seperti telah disebutkan, teknik enkripsi kunci publik menjamin bahwa pesan telah terkirim dengan aman dan hal ini juga berlaku untuk transaksi-transaksi yang lainnya. Menggunakan teknologi ini, pengirim dan penerima pesan masing-masing memiliki dua kunci, yaitu kunci pribadi dan kunci publik. Kunci pribadi tidak akan diberitahukan kepada siapapun, sedangkan kunci publik akan diberitahukan kepada setiap orang.
Selama melakukan proses enkripsi terhadap pesan dengan kunci publik penerima, membuat orang lain tidak bisa membaca apabila tidak memegang kunci pribadi untuk membuka pesan. Tanda tangan digital adalah pengganti tanda tangan secara manual yang bersifat elektronik dan mempunyai fungsi sama dengan tanda tangan manual. Tanda tangan digital juga merupakan rangkaian bit yang diciptakan dengan melakukan komunikasi elektronik melalui fungsi hash satu arah dan kemudian melakukan enkripsi pesan dengan kunci pribadi pengirim.
Tanda tangan digital bukan merupakan gambar digital dari tanda tangan yang dibuat oleh tangan atau tanda tangan yang diketik. Tanda tangan digital mempunyai sifat yang unik untuk masing-masing dokumen itu sendiri dan beberapa perubahan pada dokumen akan menghasilkan tanda tangan digital yang berbeda. Tanda tangan digital dapat digunakan untuk tujuan yang sama seperti tanda tangan yang ditulis oleh tangan, yang didalamnya mungkin menandakan surat tanda terima, persetujuan atau tujuan keamanan informasi penting.
Sifat yang Dimiliki oleh Tanda Tangan Digital
Ketika penerima mendapat komunikasi tertanda secara digital dalam bentuk yang dienkripsi, komputer yang sama dan fungsi hash yang pengirim gunakan untuk menciptakan tanda tangan digital dari program yang mengenkripsi tanda tangan yang secara otomatis menggunakan kunci publik pengirim.
Oleh karena itu, jika program dapat mendekripsi tanda tangan, penerima tahu bahwa komunikasi datang dari pengirim, karena hanya kunci publik pengirim akan mendekripsi tanda tangan digital yang dienkripsikan dengan kunci pribadi pengirim.
Adapun sifat-sifat yang dimiliki tanda tangan digital adalah sebagai berikut:
Ø Otentik, tak bisa, sulit ditulis atau ditiru oleh orang lain. Pesan dan tanda tangan pesan tersebut juga dapat menjadi barang bukti, sehingga penandatangan tak bisa menyangkal bahwa dulu ia tidak pernah menandatanganinya. Otentisitas sangat diperlukan dalam berkomunikasi di internet, harus dipastikan bahwa memang benar si A yang telah mengirimkan suatu informasi elektronik, bukan si B yang mengaku menjadi si A. Hal ini menjadi penting sebab pertanggungjawaban suatu subjek hukum tergantung pada kejelasan identitasnya. Kebutuhan akan otentisitas ini dapat tercapai dengan menggunakan sertifikat digital.
Ø Hanya sah untuk dokumen atau pesan itu saja atau salinannya yang sama persis. Tanda tangan itu tidak bisa dipidahkan ke dokumen lainya, meskipun dokumen lain itu hanya berbeda sedikit. Ini juga berarti bahwa jika dokumen itu diubah, maka tanda tangan digital dari pesan tersebut tidak lagi sah.
Ø Dapat diperiksa dengan mudah, termasuk oleh pihak-pihak yang belum pernah bertatap muka langsung dengan penadatangan.
Cara Kerja Tanda Tangan Digital
Teknologi tanda tangan digital memanfaatkan teknologi kunci publik. Sepasang kunci yaitu kunci publik dan kunci pribadi dibuat untuk keperluan seseorang. Kunci pribadi disimpan oleh pemiliknya, dan dipergunakan untuk membuat tanda tangan digital. Sedangkan kunci publik dapat diserahkan kepada siapa saja yang ingin memeriksa tanda tangan digital yang bersangkutan pada suatu dokumen. Proses pembuatan dan pemeriksaan tanda tangan ini melibatkan sejumlah teknik kriptografi seperti hashing (membuat sidik jara dokumen) dan enkripsi asimetris. Meskipun tidak dijelaskan dalam tulisan ini, teknologi kunci publik juga bisa dipergunakan untuk menyadingkan atau merahasiakan isi dokumen.
Namun sebenarnya ada masalah dalam pendistribusian kunci publiknya. Katakanlah Anto hendak mengirim kunci publiknya (PbA) kepada Badu. Tapi saat kunci itu dikirim lewat jaringan publik, pencuri mengambil kunci PbA. Kemudian pencuri tersebut menyerahkan kunci publiknya (PbM) kepada Badu, sambil mengatakan bahwa kunci itu adalah kunci publik milik Anto. Badu karena tidak pernah memegang kunci publik Anto yang asli, percaya saja saat menerima PbM. Saat Anto hendak mengirim dokumen yang telah ditandatanganinya dengan kunci pribading (PvA) kepada Badu, sekali lagi pencuri mengambilnya. Tanda tangan Anto pada dokumen itu lalu dihapus, dan kemudian pencuri itu membubuhkan tanda tangannya dengan kunci pribadinya (PvM). Pencuri itu lalu mengirim dokumen itu ke Badu sambil mengatakan bahwa dokumen ini berasal dari Anto dan ditandatangani oleh Anto. Badu kemudian memeriksa tanda tangan itu, dan mendapatkan bahwa tanda tangan itu sah dari Anto. Tentu saja kelihatan sah, karena Badu memeriksanya dengan kunci publik PbM, bukan dengan PbA.
Untuk mengatasi masalah keamanan pendistribusian kunci publik, maka kunci publik itu direkatkan pada suatu sertifikat digital. Sertifikat digital selain berisi kunci publik juga berisi informasi lengkap mengenai jati diri pemilik kunci tersebut, sebagaimana layaknya KTP, seperti nomor seri, nama pemilik, kode negara atau perusahaan, masa berlaku dan sebagainya.
Sama halnya dengan KTP, sertifikat digital juga ditandatangani secara digital oleh lembaga yang mengeluarkannya, yakni otoritas sertifikat (OS) atau certificate authority (CA). Denga menggunakan kunci publik dari suatu sertifikat digital, pemeriksa tanda tangan dapat merasa yakin bahwa kunci publik itu memang berkorelasi dengan seseorang yang namanya tercantum dalam sertifikat digital itu.
Bagaimana Membuat dan Memeriksa Tanda Tangan Digital?
Meskipun ada banyak teknik penggunaan tanda tangan digital, ada baiknya kita melihat sebuah teknik yang umumnya dipakai. Tanda tangan digital memanfaatkan fungsi hash satu arah untuk menjamin bahwa tanda tangan itu hanya berlaku untuk dokumen yang bersangkutan saja.
Tetapi bukan dokumen tersebut secara keseluruhan yang ditandatangani, namun biasanya yang ditandatangani hanyalah sidik jari dari dokumen itu beserta timestampnya, dengan menggunakan kunci privat. Timestamp berguna untuk menentukan waktu pengesahan dokumen.

D. Sertifikat Digital
Dalam kasus tanda tangan digital, untuk seorang pengguna yang mengidentifikasi pengguna lain oleh miliknya dari kunci pribadi, seseorang pasti memperoleh kunci publik pengguna lain dari sumber yang bisa dipercaya. Ketika bisa menjadi pengguna yang lain, pendekatan ini tidak menimbang dengan baik, karena interaksi yang terpisah dengan pengguna lain masih dibutuhkan.
Kita mengenal konsep orang ketiga yang bisa dipercaya yang disebut Certification Authority (CA). CA mengeluarkan sertifikat kunci publik, yang mengikat nama pengguna ke kunci publiknya. Sebuah sertifikat adalah paket data yang mengidentifikasikan sesuatu yang sungguh-sungguh ada secara lengkap, dan dikeluarkan oleh CA hanya setelah orang yang berwewenang telah memeriksa identitas entity.
Paket data juga termasuk kunci publik yang dimiliki oleh etinty. Ketika pengirim pesan menandai pesan dengan kunci pribadi, penerima pesan dapat menggunakan kunci publik pengirim (hal ini didapat dari sertifikat yang juga dikirim dengan pesan atau di lain tempat pada jaringan) untuk memeriksa pengirim yang sah.
Sertifikat digital diterbitkan oleh otoritas sertifikat (OS). Seseorang atau suatu perusahaan mendapatkan sertifikat digital jika sudah mendaftarkan diri mereka kepada otoritas sertifikat. Otoritas sertifikat tidak hanya menerbitkan sertifikat saja, namun juga memeriksa apakah suatu sertifikat digital masih berlaku atau tidak. Otoritas sertifikat selain memiliki daftar sertifikat digital yang telah diterbitkannya, juga memiliki apa yang disebut dengan daftar sertifikat yang dibatalkan (certificate revocation list).
Daftar sertifikat terbatalkan (DSB) itu berisi sertifikat-sertifikat apa saja yang sudah tidak berlaku lagi karena tercuri, hilang atau ada perubahan identitas (misalnya perubahan alamat surat elektronik dan alamat rumah). Setiap kali ada pihak yang ingin memeriksa sertifikat digital, ia dapat menghubungi otoritas sertifikat secara online untuk memastikan bahwa sertifikat yang dibatalkan, tentu otoritas sertifikat akan terbebani dan akan memperlambat proses pemeriksa sertifikat digital yang ingin diuji keabsahannya.
Oleh karena itu, dalam sertifikat digital terdapat tanggal kadaluarsa. Sertifikat digital yang sudah melampaui tanggal kadaluarsa akan dihapus dari dalam DSB, karena tidak ada pihak manapun yang akan mau memeriksa sertifikat digital yang sudah kadaluarsa.
Otoritas sertifikat juga bisa dibuat secara hirarkis. Misalnya perusahaan Anda memiliki 1000 pegawai yang tersebar di 27 propinsi. Jika setiap pegawai harus mengurus sertifikat digitalnya sendiri-sendiri, tentu ini akan sangat merepotkan pegawai itu. Tentu lebih baik kalau sistem administrator perusahaan Anda membuatkan sertifikat bagi para pegawai.Dalam kasus ini, sistem administrator bertindak sebagai otoritas sertifikat. Nah, sebuah otoritas sertifikat publik di luar perusahaan, sebelumnya akan memberikan izin kepada sistem administrator Anda untuk menjadi otoritas sertifikat. Dengan demikian, sebenarnya secara tidak langsung, sertifikat digital setiap pegawai Anda sitandatangani oleh otoritas sertifikat publik. Otoritas sertifikat publik yang memberikan izin kepada pihak lain untuk menjadi otoritas sertifikat sering disebut otoritas sertifikat utama (root certificate authority).
Pada sistem perdagangan di Internet yang menggunakan sertifikat digital, bagian rentan adalah keabsahan sertifikat milik otoritas sertifikat utama yang didistribusikan kepada konsumen. Oleh karen itu umumnya sertifikat digital milik OS utama (yang berisi kunci publik OS utama) dijadikan bagian yang integral dalam program aplilkasi. Kalau diperhatikan lebih jeli lagi, sebenarnya yang penting adalah bagaimana pihak pengembang perangkat lunak bisa
mendapatkan sertifikat digital milik OS utama yang terjamin keaslianya.
VeriSign, sebuah otoritas sertifikat publik yang didirikan pada bulan Mei 1995, menyediakan sertifikat digital untuk produk-produk terkenal dari Netscape dan Microsoft. Visa juga telah memilih VeriSign sebagai otoritas sertifikat yang dipergunakannya dalam implementasi protokol Secure Electronic Transaction (SET) yang dirancang oleh Visa Dan MasterCard. Namun pihak MasterCard dan American Express memilih GTE CyberTrust sebagai otoritas sertifikat yang dipercaya. GTE memang memiliki pengalaman 10 tahun dalam membuat sertifikat digital untuk pemerintah federal Amerika Serikat. Berbeda dengan GTE, VeriSign lebih mengkonsentrasikan dirinya pada pemberian sertifikat digital untuk individu atau badan usaha umum.
Sertifikat yang ditandai oleh CA adalah sertifikat yang dibuktikan dengan memeriksa tanda tangannya dan menggunakan kunci publik CA. Dengan catatan, bahwa CA sekarang hanyalah sumber yang digunakan oleh pengguna untuk memeriksa sertifikat yang dibutuhkan untuk dipercaya.
CA harus dipercaya untuk berhubungan secara benar nama pengguna dan kunci publik yang digunakan dalam sertifikat yang nantinya dikeluarkan. Sertifikat yang dikeluarkan oleh CA mungkin dikirim pada suatu tempat yang online untuk mendapatkan kembali pengguna lain. Sertifikat mungkin juga dikirim bersama-sama dengan pesan e-mail yang aman.

E. Data Encryption Standard
Dikembangkan di IBM pada tahun 1972.
Berdasarkan pada algoritma Lucifer yang dibuat oleh Horst Feistel.
Disetujui oleh National Bureau of Standard (NBS) setelah penilaian kekuatannya oleh National Security Agency (NSA) Amerika Serikat.
DES adalah standard, sedangkan algoritmanya adalah DEA (Data EncryptionAlgorithm). Kedua nama ini sering dikacaukan.
DES termasuk ke dalam kriptografi kunci-simetri dan tergolong jenis cipher blok.
DES beroperasi pada ukuran blok 64 bit.
Panjang kunci ekternal = 64 bit (sesuai ukuran blok), tetapi hanya 56 bit yang dipakai (8 bit paritas tidak digunakan)
Setiap blok (plainteks atau cipherteks) dienkripsi dalam 16 putaran.
Setiap putaran menggunakan kunci internal berbeda.
Kunci internal (56-bit) dibangkitkan dari kunci eksternal
Setiap blok mengalami permutasi awal (IP), 16 putaran enciphering, dan inversi permutasi awal (IP-1).
F. Pretty Good Privacy
PGP adalah singkatan dari Pretty Good Privacy, dan merupakan program komputer yang sering dipakai dalam proses kriptografi dan autentikasi pengiriman data komputer. PGP pertama diperkenalkan pada tahun 1991 oleh Philip Zimmermann untuk menyandikan data dalam pengiriman surat elektronik. Dalam proses penyandian data ini, PGP mengikuti standar RFC 4880.
Dalam bidang kriptografi, selain PGP, terdapat metode penyandian enkripsi dan dekripsi yang lain seperti: DES, AES, RSA, dan lain lainnya.


G. BlowFish
Blowfish merupakan algoritma kunci simetrik cipher blok yang dirancang pada tahun 1993 oleh Bruce Schneier untuk menggantikan DES. Pada saat itu banyak sekali rancangan algoritma yang ditawarkan, namun hampir semua terhalang oleh paten atau kerahasiaan pemerintah Amerika. Schneier menyatakan bahwa blowfish bebas paten dan akan berada pada domain publik. Dengan pernyataan Schneier tersebut blowfish telah mendapatkan tempat di dunia kriptografi, khususnya bagi masyarakat yang membutuhkan algoritma kriptografi yang cepat, kuat, dan tidak terhalang oleh lisensi.
Keberhasilan blowfish dalam menembus pasar telah terbukti dengan diadopsinya blowfish sebagai Open Cryptography Interface (OCI) pada kernel linux versi 2.5 keatas. Dengan diadopsinya blowfish, maka telah menyatakan bahwa dunia open source menganggap blowfish adalah salah satu algoritma yang terbaik. Kesuksesan blowfish mulai memudar setelah kehadiran algoritma-algoritma dengan ukuran blok yang lebih besar, seperti AES. AES sendiri memang

Tidak ada komentar:

Posting Komentar