Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya : 

1. Algoritma Simetri

Algoritma ini sering disebut dengan algoritma klasik karena memakai kunci yang sama untuk kegiatan enkripsi maupun dekripsi. Algoritma ini sudah ada sejak lebih dari 4000 tahun yang lalu. Bila mengirim pesan dengan menggunakan algoritma ini, si penerima pesan harus diberitahu kunci dari pesan tersebut agar bisa mendekripsikan pesan yang terkirim. Keamanan dari pesan yang menggunakan algoritma ini tergantung pada kunci. Jika kunci tersebut diketahui oleh orang lain maka orang tersebut akan dapat melakukan enkripsi dan dekripsi terhadap pesan. Algoritma yang memakai kunci simetri di antaranya adalah :

  1. Data Encryption Standard (DES), 
  2. RC2, RC4, RC5, RC 6,
  3. International Data Encryption Algorithm (IDEA),
  4. Advanced Encryption Standard (AES),
  5. On Time Pad (OTP),
  6. A5, dan lain sebagainya. 
2. Algoritma Asimetri 

Algoritma asimetri sering juga disebut dengan algoritma kunci public, dengan arti kata kunci yang digunakan melakukan enkripsi dan dekripsi berbeda. Pada algoritma asimetri kunci terbagi menjadi dua bagian, yaitu :
  1. Kunci umum (public key), kunci yang boleh semua orang tahu (dipublikasikan).
  2. Kunci rahasia (private key), kunci yang dirahasiakan (hanya boleh diketahui oleh satu orang).
Kunci-kunci tersebut berhubungan satu sama lain. Dengan kunci public orang dapat mengenkripsi pesan tetapi tidak bisa mendekripsikannya. Hanya orang yang memiliki kunci rahasia yang dapat mendekripsikan pesan tersebut. Algoritma asimetri bisa mengirimkan pesan dengan lebih aman daripada algoritma simetri.
Algoritma yang memakai kunci public di antaranya adalah :
  1. Digital Signature Algorithm (DSA),
  2. RSA,
  3. Diffle-Hellman (DH),
  4. Elliptic Curve Cryptography (ECC),
  5. Kriptografi Quantum, dan lain sebagainya.
3. Fungsi Hash

Fungsi Hash sering disebut dengan funsi satu arah (one-way function), message digest,fingerprint, fungsi kompresi dan message authentication code (MAC), merupakan suatu fungsi matematika yang mengambil masukan panjang variabel dan mengubahnya ke dalam urutan biner dengan panjang yang tetap. Fungsi Hash biasanya diperlukan bila ingin membuat sidik jari dari suatu pesan. Sidik jari pada pesan merupakan suatu tanda bahwa pesan tersebut benar-benar berasal dari orang-orang yang diinginkan.


Kriptografi Klasik
  
Kriptografi klasik merupakan suatu algoritma yang menggunakan satu kunci untuk mengamankan data. Teknik ini sudah digunakan beberapa abad yang lalu. Dua teknik dasar yang biasa digunakan pada algoritma jenis ini adalah sebagai berikut :
  1. Teknik subtitusi, penggantian setiap karakter teks-asli dengan karakter lain.
  2. Teknik transposisi (permutasi), dilakukan dengan menggunakan permutasi karakter. (Dony Arius, 2008)
Salah satu teknik enkripsi menggunakan kunci simetri adalah teknik subtitusi, yaitu mengganti setiap karakter Plaintext dengan karakter lain. Terdapat empat cara dalam menggunakan teknik subtitusi, yaitu :
  1. Monoalphabet, dimana setiap karakter Ciphertext  mengganti  satu macam karakterPlaintext tertentu.
  2. Polialphabet, dimana setiap karakter Ciphertext  mengganti lebih dari satu macam karakter Plaintext.
  3. Monograf/unilateral, dimana satu enkripsi dilakukan terhadap satu karakterPlaintext.
  4. Poligraf/multilateral, dimana satu enkripsi dilakukan terhadap lebih dari satu karakterPlaintext. (Alferd J. Menezes, 1996)
Kriptografi Modern
 
Kriptografi modern merupakan suatu algoritma yang digunakan pada saat sekarang ini, yang mana kriptografi modern mempunyai kerumitan yang sangat komplek, karena dalam pengoperasiannya menggunakan komputer. (Doni Ariyus, 2006)
 
  
ARIYUS, Dony. 2008. Pengantar Ilmu Kriptografi Teori, Analisis, dan Implementasi. Yogyakarta: Penerbit Andi. 

ALFERD J. MENEZES, Paul C. van Oorschot, Scott A. Vanstone. 1996. Handbook of Applied Cryptography. UK: CRC Press.
 
ARIYUS, Dony. 2006. Kriptografi: Keamanan Data dan Komunikasi. Yogyakarta: Graha Ilmu.

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. Prinsip-prinsip yang mendasari kriptografi yakni : 

  1. 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 suatualgoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan dipahami. 
  2. Data integrity (keutuhan data) yaitu layanan yang mampu mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak sah (oleh pihak lain).
  3. Authentication   (keotentikan)   yaitu   layanan   yang   berhubungan   dengan identifikasi. Baik otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi keaslian data/informasi. 
  4. Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan tersebut berasal dirinya). (Alferd J. Menezes, 1996)
  
Algoritma Kriptografi 


Definisi terminologi algoritma adalah urutan langkah-langkah logis untuk menyelesaikan masalah yang disusun secara matematis. Sedangkan 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. Algoritma kriptografi merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut.

Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu : 
  1. Enkripsi, merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebutPlaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enskripsi bisa diartikan dengan Cipher atau kode.
  2. Dekripsi, merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (tesk-asli), disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma untuk enkripsi.
  3. Kunci, yang dimaksud adalah kunci yang dipakai untu melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, kunci rahasia (private key) dan kunci umum (public key).

Keamanan dari algoritma kriptografi tergantung pada bagaimana algoritma itu bekerja. Oleh sebab itu algoritma semacam ini disebut dengan algoritma terbatas. Algoritma terbatas merupakan algoritma yang dipakai sekelompok orang untuk merahasiakan pesan yang mereka kirim. Jika salah satu dari anggota itu keluar dari kelompoknya maka algoritma yang dipakai diganti dengan yang baru. Jika tidak maka hal itu bisa menjadi masalah di kemudian hari.

Keamanan dari kriptografi modern didapat dengan merahasiakan kunci yang dimiliki dari orang lain, tanpa harus merahasiakan algoritma itu sendiri. Kunci memiliki fungsi yang sama dengan password. Jika keseluruhan dari keamanan algoritma tergantung pada kunci yang dipakai maka algoritma ini bisa dipublikasikan dan dianalisis oleh orang lain. Jika algoritma yang telah dipublikasikan bisa dipecahkan dalam waktu yang singkat oleh orang lain maka algoritma tersebut tidaklah aman untuk digunakan. (Dony Ariyus, 2008)


Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi Teori, Analisis, dan Implementasi. Yogyakarta: Penerbit Andi.