Pengertian Kriptografi Menurut Para Ahli

Pengertian Kriptografi Menurut Para Ahli
Kriptografi (cryptography) merupakan ilmu dan seni penyimpanan pesan, data, atau informasi secara aman. Kriptografi (Cryptography) berasal dari bahasa Yunani yaitu dari kata Crypto dan Graphia yang berarti penulisan rahasia. Kriptografi adalah suatu ilmu yang mempelajari penulisan secara rahasia. Kriptografi merupakan bagian dari suatu cabang ilmu matematika yang disebut Cryptology. Kriptografi bertujuan menjaga kerahasiaan informasi yang terkandung dalam data sehingga informasi tersebut tidak dapat diketahui oleh pihak yang tidak sah.

Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data jelas (plaintext) ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang kemudian dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah sampai di penerima, ciphertext tersebut ditranformasikan kembali ke dalam bentuk plaintext agar dapat dikenali.

Proses tranformasi dari plaintext menjadi ciphertext disebut proses Encipherment atau enkripsi (encryption), sedangkan proses mentransformasikan kembali ciphertext menjadi plaintext disebut proses dekripsi (decryption).

Untuk mengenkripsi dan mendekripsi data. Kriptografi menggunakan suatu algoritma (cipher) dan kunci (key). Cipher adalah fungsi matematika yang digunakan untuk mengenkripsi dan mendekripsi. Sedangkan kunci merupakan sederetan bit yang diperlukan untuk mengenkripsi dan mendekripsi data.

Suatu pesan yang tidak disandikan disebut sebagai plaintext ataupun dapat disebut juga sebagai cleartext. Proses yang dilakukan untuk mengubah plaintext ke dalam ciphertext disebut encryption atau encipherment. Sedangkan proses untuk mengubah ciphertext kembali ke plaintext disebut decryption atau decipherment. Secara sederhana istilah-istilah di atas dapat digambarkan sebagai berikut :

Gambar Proses Enkripsi/Dekripsi Sederhana

Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. Sedang, cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut cryptanalyst. 

Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan. 

Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut : 
EK (M) = C (Proses Enkripsi) 
DK (C) = M (Proses Dekripsi)

Pada saat proses enkripsi kita menyandikan pesan M dengan suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan sebelumnya. 

Dengan demikian keamanan suatu pesan tergantung pada kunci ataupun kunci-kunci yang digunakan, dan tidak tergantung pada algoritma yang digunakan. Sehingga algoritma-algoritma yang digunakan tersebut dapat dipublikasikan dan dianalisis, serta produk-produk yang menggunakan algoritma tersebut dapat diproduksi massal. Tidaklah menjadi masalah apabila seseorang mengetahui algoritma yang kita gunakan. Selama ia tidak mengetahui kunci yang dipakai, ia tetap tidak dapat membaca pesan.

Algoritma Kriptografi
Berdasarkan kunci yang dipakai, algoritma kriptografi dapat dibedakan atas dua golongan, yaitu :

a. Symmetric Algorithms
Algoritma kriptografi simeteris atau disebut juga algoritma kriptografi konvensioanl adalah algoritma yang menggunakan kunci untuk proses enkripsi sama dengan kunci untuk proses dekripsi.

Algoritma kriptografi simeteris dibagi menajdi 2 kategori yaitu algoritma aliran (Stream Ciphers) dan algoritma blok (Block Ciphers). Pada algoritma aliran, proses penyandiannya berorientasi pada satu bit atau satu byte data. Sedang pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok). Contoh algoritma kunci simetris yang terkenal adalah DES (Data Encryption Standard). 

b. Asymmetric Algorithms
Algoritma kriptografi nirsimetris adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Algoritma ini disebut juga algoritma kunci umum (public key algorithm) karena kunci untuk enkripsi dibuat umum (public key) atau dapat diketahui oleh setiap orang, tapi kunci untuk dekripsi hanya diketahui oleh orang yang berwenang mengetahui data yang disandikan atau sering disebut kunci pribadi (private key). Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA dan ECC.

Gambar Proses Enkripsi/Dekripsi Public Key Cryptography


Algoritma RSA :
Key generation :

1. Hasilkan dua buah integer prima besar, p dan q
Untuk memperoleh tingkat keamanan yang tinggi pilih p dan q 
yang berukuran besar, misalnya 1024 bit.
2. Hitung m = (p-1)*(q-1)
3. Hitung n = p*q
4. Pilih d yg relatively prime terhadap m 
e relatively prime thd m artinya faktor pembagi terbesar keduanya 
adalah 1, secara matematis disebut gcd(e,m) = 1. Untuk mencarinya 
dapat digunakan algoritma Euclid.
5. Cari d, sehingga e*d = 1 mod (m), atau d = (1+nm)/e
Untuk bilangan besar, dapat digunakan algoritma extended Euclid.
6. Kunci publik : e, n
Kunci private : d, n

Public key encryption
B mengenkripsi message M untuk A
Yg harus dilakukan B :
1. Ambil kunci publik A yg otentik (n, e)
2. Representasikan message sbg integer M dalam interval [0,n-1]
3. Hitung C = M ^ e (mod n)
4. Kirim C ke A
Untuk mendekripsi, A melakukan :
Gunakan kunci pribadi d untuk menghasilkan M = C^(d) (mod n)

Contoh Penerapan :
Misalkan :
Di sini saya pilih bilangan yg kecil agar memudahkan perhitungan, namun dalam aplikasi nyata pilih bilangan prima besar untuk meningkatkan keamanan.
p = 3
q = 11

n = 3 * 11 = 33
m = (3-1) * (11-1) = 20

e = 2 => gcd(e, 20) = 2
e = 3 => gcd(e, 20) = 1 (yes)

n = 0 => e = 1 / 3
n = 1 => e = 21 / 3 = 7 (yes)


Public key : (3, 33)
Private key : (7, 33)


Let's check the math using numbers
----------------------------------

* Try encryption : message "2"

C = 2 ^ 3 (mod 33)
= 8

Try to decrypt : ciphertext "8"

M = 8 ^ 7 (mod 33)
= 2097152 (mod 33)
= 2

** Encrypt : message " " (ASCII=20)

C = 20 ^ 3 (mod 33)
= 8000 (mod 33)
= 14

Decrypt : ciphertext 32 

M = 14 ^ 7 (mod 33)
= 105413504 (mod 33)
= 20


Tanda Tangan Digital
Penandatanganan digital terhadap suatu dokumen adalah sidik jari dari dokumen tersebut beserta timestamp-nya dienkripsi dengan menggunakan kunci privat pihak yang menandatangani. Tanda tangan digital memanfaatkan fungsi hash satu arah untuk menjamin bahwa tanda tangan itu hanya berlaku untuk dokumen yang bersangkutan saja. Keabsahan tanda tangan digital itu dapat diperiksa oleh pihak yang menerima pesan. 

Gambar Tanda tangan digital


Sertifikat Digital
Sertifikat digital adalah kunci publik dan informasi penting mengenai jati diri pemilik kunci publik, seperti misalnya nama, alamat, pekerjaan, jabatan, perusahaan dan bahkan hash dari suatu informasi rahasia yang ditandatangani oleh suatu pihak terpercaya. Sertifikat digital tersebut ditandatangani oleh sebuah pihak yang dipercaya yaitu Certificate Authority (CA).


Secure Socket Layer (SSL)
SSL dapat menjaga kerahasiaan (confidentiality) dari informasi yang dikirim karena menggunakan teknologi enkripsi yang maju dan dapat di-update jika ada teknologi baru yang lebih bagus. Dengan penggunaan sertifikat digital, SSL menyediakan otentikasi yang transparan antara client dengan server. SSL menggunakan algoritma RSA untuk membuat tanda tangan digital (digital signature) dan amplop digital (digital envelope). Selain itu, untuk melakukan enkripsi dan dekripsi data setelah koneksi dilakukan, SSL menggunakan RC4 sebagai algoritma standar untuk enkripsi kunci simetri.

Saat aplikasi menggunakan SSL, sebenarnya terjadi dua sesi, yakni sesi handshake dan sesi pertukaran informasi. 

Biasanya, browser-browser seperti Netscape Navigator atau Microsoft Internet Explorer sudah menyertakan sertifikat digital dari CA utama yang terkenal, sehingga memudahkan pemeriksaan sertifikat digital pada koneksi SSL.Penyertaan serfikat digital CA utama pada browser akan menghindarkan client dari pemalsuan sertifikat CA utama. 


Public Key Cryptography
Public key cryptography (lawan dari symmetric key cryptography) bekerja berdasarkan fungsi satu arah. Fungsi yang dapat dengan mudah dikalkulasi akan tetapi sangat sulit untuk dibalik/invers atau reverse tanpa informasi yang mendetail. Salah satu contoh adalah faktorisasi; biasanya akan sulit untuk memfaktorkan bilangan yang besar, akan tetapi mudah untuk melakukan faktorisasi. Contohnya, akan sangat sulit untuk memfaktorkan 4399 daripada memverifikasi bahwa 53 x 83 = 4399. Public key cryptography menggunakan sifat-sifat asimetrik ini untuk membuat fungsi satu arah, sebuah fungsi dimana semua orang dapat melakukan satu operasi (enkripsi atau verifikasi sign) akan tetapi sangat sulit untuk menginvers operasi (dekripsi atau membuat sign) tanpa informasi yang selengkap-lengkapnya.

Public key cryptography dilakukan dengan menggabungkan secara kriptografi dua buah kunci yang berhubungan yang kita sebut sebagai pasangan kunci publik dan kunci privat. Kedua kunci tersebut dibuat pada waktu yang bersamaan dan berhubungan secara matematis. Secara matematis, kunci privat dibutuhkan untuk melakukan operasi invers terhadap kunci public dan kunci publik dibutuhkan untuk melakukan operasi invers terhadap operasi yang dilakukan oleh kunci privat.

Jika kunci publik didistribusikan secara luas, dan kunci privat disimpan di tempat yang tersembunyi maka akan diperoleh fungsi dari banyak ke satu. Semua orang dapat menggunakan kunci publik untuk melakukan operasi kriptografi akan tetapi hanya orang yang memegang kunci privat yang dapat melakukan invers terhadap data yang telah terenkripsi tersebut. Selain itu dapat juga diperoleh fungsi dari satu ke banyak, yaitu pada saat orang yang memegang kunci privat melakukan operasi enkripsi maka semua orang yang memiliki kunci publik dapat melakukan invers terhadap data hasil enkripsi tersebut. 


Algoritma Public Key Cryptography
Sistem kriptografi asimetris menggunakan dua buah key, yaitu public key dan private key. Salah satu key akan diberi tahu kepada publik. 

Gambar Kriptografi asimetris

Matematika merupakan perangkat bantu analisis dalam masalah sekuriti. Sebagai contoh berikut ini adalah penulisan protokol SSL yang memungkinkan pertukaran session key antara Web server dan client. Pada versi SSL protokol tersebut dilaksanakan dengan cara berikut ini: 
  1. Pada pesan pertama mengirimkan session key ke server dengan menggunakan publik key .
  2. Kemudian akan menghasilkan ``tantangan'' (challenge)
  3. akan melakukan ``sign'' dan akan mengirimkan kembali ke dengan sertifikat
Versi SSL di atas tidak memiliki otentikasi client seperti yang diharapkan. Sehingga dapat menimbulkan suatu ``attaclk''. Perbaikan dari masalah ini dilakukan dengan mengubah tahapan ke tiga menjadi : 

Dalam bahasan ini tidak dibahas lebih dalam lagi mengenai pemanfaatan matematika dalam sekuriti, karena sudah merupakan suatu syarat mutlak yang lazim diketahui. 

Dalam mendisain sekuriti dapat dipakai 5 tahapan dasar berikut ini : 
1. Pada aplikasi yang bersangkutan, apakah mekanisme proteksi difokuskan, apakah pada data, operasi, atau pengguna 
Pada layer manakahdari sistem komputer mekanisme sekuriti akan ditempatkan ? 
Mana yang lebih diinginkan kesederhanaan dan jaminan tinggi atau pada sistem yang memiliki feature yang kaya. 

Apakah tugas untuk mendefinisikan dan mengerapkan security harus diberikan pada badan terpusat atau diberikan pada masing-masing individu pada suatu sistem ? 
Bagaimana dapat melindungi dari penyerang yang ingin meperoleh akses pada sistem yang dilindungi mekanisme proteksi ? 

Asimetrik kriptografi digunakan dalam public key kriptografi. Ada 2 key, private dan public key. Private key disimpan sendiri, dan publik key didistribusikan. Bila publik key digunakan untuk menenkripsi maka hanya private key yang dapat mendekripsi. Begitu juga sebaliknya. 

Key yang digunakan pada sistem kriptografi memegang peran yang sangat penting. 
  1. Pseudo random number 
  2. Panjangnya key, semakin panjang semakin aman. Tetapi perlu diingat bahwa membandingkan dua buah sistem kriptografi yang berbeda dengan berdasarkan panjang keynya saja tidaklah cukup. 
  3. Private key harus disimpan secara aman baik dalam file (dengan PIN atau passphrase) atau dengan smart card. 
Untuk menyusun strategi sekuriti yang baik perlu difiikrikan pertimbangan dasar berikuti ini : 
Kemungkinan dipenuhinya (ekonomis dan pertimbangan waktu) 
  1. Apakah sistem tetap dapat difungsikan 
  2. Kesesuaian kultur 
  3. Hukum setempat yang berlaku 
Matematika merupakan perangkat bantu analisis dan sintesis dalam masalah sekuriti. Sebagai contoh berikut ini adalah penulisan protokol SSL yang memungkinkan pertukaran session key antara Web server dan client. 
 

Contoh Contoh Proposal Copyright © 2011-2012 | Powered by Erikson