Kamis, 29 November 2012

Algoritma Enkripsi


Algoritma Enkripsi dan Dekripsi
1.      Apa Itu Algoritma Enkripsi dan Dekripsi.
Algoritma Enkripsi adalah proses mengacak data sehingga tidak dapat dibaca oleh pihak lain. Oleh sebab itu enkripsi disebut sebagai sebuah proses menjadikan pesan yang dapat dibaca (plaintext) menjadi pesan acak yang tidak dapat dibaca (ciphertext). Contoh enkripsi yang digunakan oleh Julius Caesar, yaitu dengan mengganti masing-masing huruf dengan 3 huruf selanjutnya (disebut juga Additive/Substitution Cipher) yakni kata plaintext “Hello , Bye” diubah menjadi chipertext “khoos , ebh”. Dan didalam  melakukan proses enkripsi tersebut harus diperlukan sebuah algoritma dan key, dan dari contoh enkripsi yang digunakan Julius Caesar tadi adalah mengkonversikan huruf menjadi angka, kemudian masing-masing angka yang diperoleh dijumlahkan dengan $n, $n ini sendiri adalah key yang dapat ditentukan sendiri jika key yang kita gunakan adalah 1, maka algoritma tersebut akan mengubah huruf “A” menjadi “B”, “B” menjadi “C”. Dan kemudian dikonversikan kembali angka yang diperoleh tersebut menjadi huruf kembali.
Algoritma Dekripsi merupakan proses kebalikan dari enkripsi dimana proses ini akan mengubah ciphertext menjadi plaintext dengan menggunakan algoritma ‘pembalik’ dan key yang sama untuk melakukan dekripsi ini, algoritma yang digunakan tentu saja berbeda dengan algoritma enkripsi, namun pada dasarnya adalah ‘membalik’ algoritma enkripsi dan jika diperhatikan, baik algoritma enkripsi maupun dekripsi tidak jauh berbeda, yang berbeda hanyalah ktika memasukkan unsur kedalam algoritma tersebut, dimana enkripsi menggunakan proses penjumlahan sedangkan dekripsi menggunakan pengurangan.
Ilmu yang mempelajari teknik enkripsi disebut kriptografi, kriptografi sendiri berasal dari kata cryptography diadopsi dari bahasa Yunani untuk merujuk kepada “ Secret-writing”. Ilmu ini banyak digunakan terutama dalam bidang pertahanan dan keamanan. Juga umum diaplikasikan untuk segala aktivitas yang berhubungan dengan teknologi informasi, dan dasar dari pengembangannya menggunakan model matematika.
Ada 3 Elemen Sistem Kriptografi
·         Plaintext: yakni pesan sumber yang sediakalanya pertama kali dibuat oleh user, dapat dibaca oleh orang umumnya.
·        Chiphertext : ini adalah bentuk setelah pesan dalam plaintext telah diubah bentuknya menjadi lebih aman dan tidak data dibaca. Proses mengubah plaintext menjadi ciphertext disebut encryption, dan proses membaliknya kembali disebut decryption.
·  Cryptographic algorithm : yaitu mekanisme / tahapan yang digunakan berdasarkan operasi matematika untuk mengubah plaintext menjadi ciphertext.
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :
1)  Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
2)      Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
3)      Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
4) Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.
5)  Data Signature, atau disebut juga sebagai tanda tangan digital yang berguna untuk menandatangani data digital.
6)      Access Control, yaitu untuk mengontrol sebuah akses di entity.
  
Kekuatan dari system kriptografi adalah
  • Semakin banyak usaha yang diperlukan, untuk membongkar sebuah cryptosystems, maka semakin lama waktu yang dibutuhkan; sehingga semakin kuat algoritma kriptografi yang digunakan, artinya semakin aman digunakan untuk menyandikan pesan.
  • Sebuah algoritma cryptography bersifat restricted, apabila kekuatan kriptografinya ditentukan dengan menjaga kerahasiaan algoritma tersebut.
  • Saat ini algoritma bersifat restricted tidak lagi banyak digunakan, dengan alasan tidak cocok dalam penggunaan pada karakter open-systems.
  • Pada lingkungan dengan karakter open-systems, kekuatan algoritma cryptograpy-nya terletak pada key yang digunakan, yakni berupa deretan karakter atau bilangan bulat.



2.      Macam – macam Enkripsi.
1)      Algoritma Simentris
Algoritma Simetris adalah algoritma yang menggunakan kunci yang sama untuk melakukan enkripsi dan dekripsi. Algoritma ini juga sering disebut sebagai Kriptografi klasik
Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma:
·         Data Encryption Standard (DES)
·         Advance Encryption Standard (AES)
·         International Data Encryption Algoritma (IDEA)
·         A5
·         RC4
Kelebihan dari Algoritma Simentris ini adalah:
·         Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetris.
·         Karena kecepatan operasinya yang cukup tinggi, maka dapat digunakan pada system real-time.
Kekurangan dari Algoritma Simentris ini adalah:
·    Untuk tiap pengiriman pesan dengan user 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 Asimetri  adalah algoritma yang menggunakan sepasang kunci atau 2 kunci kriptografi yang berbeda, salah satunya digunakan untuk proses enkripsi dan yang satu lagi digunakan untuk dekripsi, dan algoritma asimentri ini juga sering disebut algoritma kunci public, pada algoritma ini terbagi dua kunci yaitu :
Kunci Umum yaitu kunci yang boleh semua orang boleh  tahu.
Kunci Pribadi yaitu kunci yang dirahasiakan hanya boleh diketahui oleh satu orang.
Algoritma yang memakai kunci public diantarannya adalah :
·         Digital Signature Algorithm(DSA)
·         RSA
·         Diffie - Hellman(DH)
·         Elliptic Curve Crytography(ECC)

Kelebihan dari Algoritma Asimetri ini adalah:
·         Masalah keamanan pada distribusi kunci dapat lebih baik.
·         Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit.

Kekurangan dari Algoritma Asimetri ini adalah:
·         Kecepatan yang lebih rendah bila dibadingkan dengan algoritma simetris.
·      Untuk tinkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris


3)      Fungsi Hash Kriptografis
Fungsi Hash sering disebut sebagai fungsi hash satu arah (one way function),message digest , fingerprint, fungsi kompresi , dan message authentication code(MAC), Fungsi hash Kriptografis adalah fungsi hash yang memiliki beberapa sifat keamanan tambahan sehingga dapat dipakai untuk tujuan keamanan data. Fungsi hash adalah fungsi yang secara efisien mengubah string input dengan panjang berhingga menjadi string output dengan panjang tetap yang disebut nilai hash. Atau hal ini juga merupakan  suatu fungsi matematikan yang mengambil input panjang variable dan mengubahnya kedalam urutan biner dengan panjang yang tetap . Fungsi Hash Umumnya digunakan untuk keperluan autentikasi dan integritas data biasanya digunakan bila ingin membuat sidik jari dari suatu pesan . Sidik jari pada pesan merupakan suatu tanda yang menandakan bahwa pesan tersebut benar - benar dari orang yang diinginkan .

Sifat-Sifat Fungsi Hash Kriptografi

·  Tahan preimej (Preimage resistant): bila diketahui nilai hash h maka sulit (secara komputasi tidak layak) untuk mendapatkan m dimana h = hash(m).
·   Tahan preimej kedua (Second preimage resistant): bila diketahui input m1 maka sulit mencari input m2 (tidak sama dengan m1) yang menyebabkan hash(m1) = hash(m2).
·      Tahan tumbukan (Collision-resistant): sulit mencari dua input berbeda m1 dan m2 yang menyebabkan hash(m1) = hash(m2)
Ada beberapa macam fungsi hash yang relative sederhana yang dapat digunakan dalam penyimpanan database:
a.    Metode Pembagian Bersisa (Division-Remainder Method) Jumlah lokasi memori yang tersedia dihitung, kemudian jumlah tersebut digunakan sebagai pembagi untuk membagi nilai yang asli dan menghasilkan sisa. Sisa tersebut adalah nilai hashnya. Secara umum, rumusnya h(k)= k modm. Dalam hal ini “M” adalah jumlah lokasi memori yang tersedia pada array. Fungsi hash tersebut menempatkan record dengan kunci “K” pada suatu lokasi memori yang beralamat h(k). Metode ini sering menghasilkan nilai hash yang sama dari dua atau lebih nilai aslinya atau disebut dengan bentrokan. Karena itu, dibutuhkan mekanisme khusus untuk menangani bentrokan yang disebut kebijakan resolusi bentrokan.
b.   Melipat (Folding) Metode ini membagi nilai asli ke dalam beberapa bagian, kemudian menambahkan nilai-nilai tersebut, dan mengambil beberapa angka terakhir sebagai nilai hashnya.
c.  Transformasi Radiks (Radix Transformation) Karena nilai dalam bentuk digital, basis angka atau radiks dapat diganti sehingga menghasilkan urutan angka-angka yang berbeda. Contohnya nilai desimal (basis 10) bisa ditransformasikan kedalam heksadesimal (basis 16).Digit atas hasilnya bisa dibuang agar panjang nilai hash dapat seragam.
d.  Pengaturan Ulang Digit Radiks (Radix Transformation) Metode ini mengubah urutan digit dengan pola tertentu. 

3 komentar:

  1. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
    Balasan
    1. TQ masukannya om, kedepannya akan dibuat lebih menarik lagi..ini lagu Pink-Just Give Me a Reason...

      Hapus
    2. mas Tony bisa minta referensi buku yang memuat teori tentang artikel di atas? thx

      Hapus