Jumat, 14 Oktober 2016

Kriptografi


Kriptografi

v  Latar Belakang Kriptografi 

Berkat perkembangan teknologi yang begitu pesat memungkinkan manusia dapat berkomunikasi dan saling bertukar informasi/data secara jarak jauh. Antar kota antar wilayah antar negara bahkan antar benua bukan merupakan suatu kendala lagi dalam melakukan komunikasi dan pertukaran data. Seiring dengan itu tuntutan akan sekuritas (keamanan) terhadap kerahasiaan informasi yang saling dipertukarkan tersebut semakin meningkat. Begitu banyak pengguna seperti departemen pertahanan, suatu perusahaan atau bahkan individu-individu tidak ingin informasi yang disampaikannya diketahui oleh orang lain atau kompetitornya atau negara lain. Oleh karena itu dikembangkanlah cabang ilmu yang mempelajari tentang cara-cara pengamanan data atau dikenal dengan istilah Kriptografi.
 

v  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).

v  Prinsip-prinsip yang mendasari kriptografi yakni:

      Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap rahasia dan tidak diketahui oleh pihak lain (kecuali pihak pengirim, pihak penerima / pihak-pihak memiliki ijin). Umumnya hal ini dilakukan dengan cara membuat suatu algoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan dipahami.
     Data  integrity (keutuhan data) yaitu layanan yang mampu mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau penambahan) data yg tidak sah (oleh pihak lain).
     Authentication   (keotentikan)   yaitu   layanan   yang   berhubungan   dengan identifikasi. Baik otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi keaslian data/informasi.
      Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan tersebut berasal dirinya).

v  Istilah-istilah yang digunakan dalam bidang kriptografi :

      Plaintext  (M)  adalah pesan yang hendak  dikirimkan  (berisi  data asli).
     Ciphertext  (C)  adalah pesan ter-enkrip (tersandi) yang merupakan hasil enkripsi.
      Enkripsi (fungsi E) adalah proses pengubahan plaintext menjadi ciphertext.
      Dekripsi (fungsi D) 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. 

v  Dalam kriptografi terdapat dua konsep utama, yaitu :

1.     Enkripsi  adalah proses dimana informasi/data yang hendak dikirim diubah menjadi bentuk yang hampir tidak dikenali sebagai informasi awalnya dengan menggunakan algoritma tertentu.
2.     Dekripsi adalah kebalikan dari enkripsi yaitu mengubah kembali bentuk tersamar tersebut menjadi informasi awal.  

v  Kunci Enkripsi dan Deskripsi 

    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.
     Secara matematis, proses enkripsi merupakan pengoperasian fungsi E (enkripsi) menggunakan e (kunci enkripsi) pada M (plaintext) sehingga dihasilkan C (ciphertext), notasinya : Ee(M) – C
    Sedangkan untuk proses dekripsi, merupakan pengoperasian fungsi D (dekripsi) menggunakan d (kunci dekripsi) pada C (ciphertext) sehingga dihasilkan M (plaintext), notasinya : Dd(C) = M
       Sehingga dari dua hubungan diatas berlaku : Dd(Ee(M)) = M


v  Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua jenis yaitu :

1.     Algoritma simetris. Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi adalah kunci yang sama.
2.      Algoritma asimetris. Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi menggunakan kunci yang berbeda. 

v  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).
    

v  Kelebihan dan Kekurangan Algoritma Simetris

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 

v  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. 

v  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. 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.    
 

v  Kelebihan dan Kekurangan Algoritma Asimetris

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

v  Berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :

1.     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.
2.      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.
 

v  Mode Operasi dalam Block Cipher :

1.      Electronic Codebook (ECB)
Pada mode operasi ECB sebuah blok input plaintext dipetakan secara statis ke sebuah blok output ciphertext. Sehingga tiap plaintext yang sama akan menghasilkan ciphertext yang selalu sama pula.

Sifat- sifat dari mode operasi ECB :
      Sederhana dan efisien
      Memungkinkan implementasi parallel
      Tidak menyembunyikan pola plaintext
      Dimungkinkan terjadi adanya active attack.

2.   Cipher Block Chaining (CBC)
Pada mode oparasi ini hasil enkripsi dari blok sebelumnya mempengaruhi hasil enkripsi selanjutnya, atau enkripsi sebeluimnya menjadi feedback pada enkripsi blok saat itu., jadi tiap blok ciphertext bergantung bukan hanya pada blok plaintext-nya tapi bergantung pula pada blok-blok plaintext sebelumnya. Sehingga untuk plaintext yang sama, belum tentu menghasilkan ciphertext yang sama pula.

Sifat-sifat dari mode operasi CBC :
      Lebih aman dari active attacks dibandingkan mode operasi ECB
      Error pada satu ciphertext dapat berakibat parah
      Menutupi pola plaintext
      Implementasi parallel belum diketahui 

0 komentar:

Posting Komentar