Ads 468x60px

Tampilkan postingan dengan label Kriptografi. Tampilkan semua postingan
Tampilkan postingan dengan label Kriptografi. Tampilkan semua postingan

Rabu, 17 Juli 2013

Algoritma Hash SHA512 Dengan 3 Metode Hash Cipher

Info Komputer SM, Artikel kali ini adalah tentang algoritma Hash SHA512. Hash merupakan algoritma One-Way Hash (Algoritma satu arah) yaitu algoritma yang cuma bisa melakukan enkripsi, sebaliknya tidak dapat melakukan dekripsi isi kembali. Algoritma Hash SHA521, berfungsi hanya untuk integritas data, yang mana data yang kita hash dapat diketahui jika terjadi perubahan.

Dibawah ini merupakan gambar yang akan dirancang untuk membuat aplikasi sederhana algoritma Hash SHA512, dengan Visual Studio 2010 (VB.Net):

Berikut Komponen:
Form1 "Text = Algoritma Hash SHA512 ; Name=FormSHA512"
Komponen
Text
Name
Label1
Algoritma Hash SHA512
Label1
Label2
Hash SHA512
Label2
TextBox1
Kosong
textplain
TextBox2
Kosong
textcipher
Buttons1
Proses Hash512
btnProsesHash

Berikut Source Codenya:
Imports System.Text
Imports System.Security.Cryptography
Public Class FormSHA512
    Private Function SHA512(ByVal SourceText As String)
        Dim a() As Byte = Encoding.UTF8.GetBytes(SourceText)
        Dim b As Byte()
        Dim c As New SHA512Managed
        b = c.ComputeHash(a)
        'Dim d As String = Convert.ToBase64String(b)
        'Dim d As String = BitConverter.ToString(b)
        Dim d As String = ""
        For Each e As Byte In b
            d &= e.ToString("x2")
        Next
        Return d
    End Function

    Private Sub btnProsesHash_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProsesHash.Click
        textcipher.Text = SHA512(textplain.Text)
    End Sub
End Class

Source Dibawah merupakan 3 Metode Hasila Hash SHA512, dari 2 tiga metode ini tidak bisa digunakan sekaligus.
      1  'Dim d As String = Convert.ToBase64String(b)
      2  'Dim d As String = BitConverter.ToString(b)
      3  Dim d As String = ""
        For Each e As Byte In b
            d &= e.ToString("x2")
        Next


Semoga Bermanfaat!

Baca Selengkapnya >>

Sabtu, 13 Juli 2013

Sistem Kriptografi


        Sistem kriptografi terdiri dari 5 bagian yaitu :

1.      Plaintext: pesan atau data dalam bentuk aslinya yang dapat terbaca. Plaintext (teks asli) adalah masukan bagi algoritma enkripsi.

2.      Secret Key: Secret Key (kunci rahasia) merupakan masukan bagi algoritma enkripsi merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkripsi.

3.      Ciphertext: Ciphertext (teks sandi) adalah keluaran algoritma enkripsi. Ciphertext dapat dianggap sebagai pesan bentuk tersembunyi. Algortima enkripsi yang baik akan menghasilkan ciphertext yang terlihat acak.

4.      Algoritma Enkripsi: Algoritma enkripsi memiliki 2 masukan teks asli dan kunci rahasia. Algoritma enkripsi melakukan transformasi terhadap teks asli sehingga menghasilkan teks sandi.

5.      Algoritma Dekripsi: Algoritma dekripsi memiliki masukan yaitu teks sandi dan kunci rahasia. Algoritma dekripsi memulihkan kembali teks sandi menjadi teks asli bisa kunci rahasia yang dipakai alogritma dekripsi sama dengan kunci rahasia yang dipakai algoritma enkripsi. (Rifki Sadikin; 2012:16)


               Sistem enkripsi harus memenuhi kaidah corretness yaitu untuk setiap K € K dengan K adalah himpunan kunci dan terdapat teks sandi hasil enkripsi teks asli m, c = eK (m) maka harus berlaku dK (c) = m untuk semua kemungkinan teks asli. Pada Gambar II.3 kunci rahasia dibangkitkan oleh pembangkit kunci dan dikirim melalui saluran aman ke pihak penyandi (encryptor) maupun penyulihsandi (decryptor). Teks sandi dikirim melalui saluran umum sehingga ada pihak ketiga yang dapat membaca teks sandi itu.

Baca Selengkapnya >>

Senin, 08 Juli 2013

Kriptografi, Pengenalan Kriptografi

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.

Baca Selengkapnya >>

Jenis-Jenis Algoritma Kriptografi Berdasarkan Jenis Kunci dan Besar Data



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.

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

Baca Selengkapnya >>

Algoritma Data Encryption Standard ( DES )


  • Pengenalan Data Encryption Standard  ( DES ) 
DES merupakan salah satu algoritma kriptografi cipher block dengan ukuran blok 64 bit dan ukuran kuncinya 56 bit. Algoritma DES dibuat di IBM, dan merupakan modifikasi daripada algoritma terdahulu yang bernama  Lucifer.  Lucifer  merupakan algoritma  cipher block  yang beroperasi pada blok masukan 64 bit dan kuncinya berukuran 128 bit. Pengurangan jumlah bit kunci pada DES dilakukan dengan alasan agar mekanisme algoritma ini bisa diimplementasikan dalam satu chip. DES pertama kali dipublikasikan di  Federal Register  pada 17 Maret 1975. Setelah melalui banyak diskusi, akhirnya algortima DES diadopsi sebagai algoritma standar yang digunakan oleh NBS (National Bureau of Standards) pada 15 Januari 1977. Sejak saat itu, DES banyak digunakan pada dunia penyebaran informasi untuk melindungi data agar tidak bisa dibaca oleh orang lain. 
Namun demikian, DES juga mengundang banyak kontroversi dari para ahli di seluruh dunia. Salah  satu kontroversi tersebut adalah  S-Box  yang digunakan pada DES.  S-Box merupakan bagian vital dari DES karena merupakan bagian yang paling sulit dipecahkan. Hal ini disebabkan karena S-Box merupakan satu – satunya bagian dari DES yang komputasinya tidak linear. Sementara itu, rancangan dari S-Box sendiri tidak diberitahukan kepada publik. Karena itulah, banyak yang curiga bahwa  S-Box  dirancang sedemikian rupa sehingga memberikan  trapdoor  kepada NSA agar NSA bisa membongkar semua  ciphertext  yang dienkripsi dengan DES kapan saja. Kontroversi yang kedua adalah jumlah bit pada kunci DES yang dianggap terlalu kecil, hanya 56 bit. Akibatnya DES rawan terhadap serangan brute force.  Namun demikian, DES tetap digunakan pada banyak aplikasi seperti pada enkripsi PIN (Personal  Identification Numbers) pada mesin  ATM (Automatic Teller Machine) dan transaksi  perbankan lewat internet. Bahkan, organisasi–organisasi pemerintahan  di Amerika seperti Department of Energy,  Justice Department, dan  Federal Reserve System  menggunakan DES untuk melindungi penyebaran data mereka.
  • Sejarah Data Encryption Standard  ( DES ) 
Pada sekitar akhir tahun 1960, IBM melakukan riset pada bidang kriptografi yang pada akhirnya disebut Lucifer. Lucifer dijual pada tahun 1971 pada sebuah perusahaan di London. Lucifer merupakan algoritma berjenis Block Cipher yang artinya bahwa input maupun output dari algoritma tersebut merupakan 1 blok yang terdiri dari banyak bit seperti 64 bit atau 128 bit. Lucifer beroperasi pada blok input 64 bit dan menggunakan key sepanjang 128 bit. Lama kelamaan  Lucifer  semakin dikembangkan agar bisa lebih kebal terhadap serangan analisis cypher tetapi panjang kuncinya dikurangi menjadi 56 bit dengan maksud supaya dapat masuk pada satu chip. Di tempat yang lain, biro standar Amerika sedang mencari-cari sebuah algoritma enkripsi untuk dijadikan sebagai standar nasional. IBM mencoba mendaftarkan algoritmanya dan di tahun 1977 algoritma tersebut dijadikan sebagai DES (Data Encryption Standard). Ternyata timbul masalah setelah DES resmi dijadikan algoritma standar nasional. Masalah pertama adalah panjang kunci DES yang hanya 56-bit sehingga amat sangat rawan dan riskan serta berbahaya , terhadap brute-force attack. Masalah kedua adalah struktur DES pada bagian substitution-box (S-box) yang diubah menurut saran dari NSA. Desain substitution-box dirahasiakan oleh NSA sehingga kita tidak mengetahui kemungkinan adanya kelemahan-kelemahan pada DES yang sengaja disembunyikan oleh NSA. Dan juga muncul kecurigaan bahwa NSA mampu membongkar  cypher  tanpa harus memiliki key-nya karena menurut para “pakar” kriptografi, DES sudah didesain secara cermat sehingga kalau S-box ini diubah secara acak maka sangat mungkin DES justru lebih mudah  “dijebol” meskipun DES cukup kebal terhadap serangan differential cryptanalysis maupun linier cryptanalysis. Seperti kata peribahasa “Karena susu  setitik  rusak  iman  sebelanga”  .Di dunia ini tak ada ciptaan manusia yang sempurna. 

Pada tahun 1998, 70  ribu komputer di internet berhasil menjebol satu kunci DES dengan waktu sekitar 96 hari. Bahkan pada tahun 1999 berhasil dibobol dalam waktu kurang dari 22 hari.  Pada tanggal 16 juni 1998 ada sebuah kelompok yang menamakan dirinya Electronic Frontier Foundation  (EFF) telah berhasil memecahkan DES dalam waktu 4-5 hari menggunakan komputer yang dilengkapi dengan  Integrated Circuit Chip DES Cracker. Di akhir tragedi ini, DES dianggap sudah tak aman lagi sehingga ia dicampakkan begitu saja dan digantikan oleh AES (Anvanced Encryption Standard). Proses kerja DNS sebagai berikut : Algoritma DES dalam melakukan proses enkripsi dan dekripsi menggunakan teknik yang disebut  feistel  yang muncul ketika awal tahun 70-an.  Fungsi pada  feistel  dijamin dapat didekripsi : Li  « f(Ri , Ki+1) « f(Ri , Ki+1) = Li Fungsi di atas dijamin dapat didekripsi selama input f dalam setiap tahap dapat dikembalikan juga. Tidak perduli macam f (meskipun fungsi f tidak dapat dibalik sekalipun) kita dapat mendesain serumit apapun tanpa perlu susah-susah untuk membuat 2 algoritma untuk enkripsi dan dekripsi. Teknik ini digunakan pada banyak algoritma seperti DES, Lucifer, FEAL, Blowfish, dll. Seperti sudah disampaikan di awal bahwa panjang kunci DES yang hanya 56 bit sangat rawan di brute force sehingga saat ini digunakan 3 buah DES secara berurutan untuk mengenkripsi sebuah paintext yang disebut Triple DES.  Panjang kunci Triple DES juga diperpanjang 3 kali menjadi 168 bit (56*3 = 168).
  • Panjang Kunci dan Ukuran Blok DES 
Algoritma DES dikembangkan di IBM dibawah kepemimpinan W.L. Tuchman pada tahun 1972. Algoritma ini didasarkan pada algoritma Lucifer yang dibuat oleh Horst Feistel. Algoritma ini telah disetujui oleh  National Bureau of Standard  (NBS)  setelah penilaian kekuatannya oleh National Security Agency (NSA) Amerika Serikat. 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).  (lihat Gambar 1) 

Gambar 1. Skema Global Algoritma DES 

Baca Selengkapnya >>

Minggu, 02 Juni 2013

Algoritma AES (Advanced Encryption Standard)



Advanced Encryption Standard (AES) merupakan Algoritma Kriptografi  simetrik yang dapat digunkan untuk mengamakan data .Algoritma AES adalah blok chipertext simetrik yang dapat mengenkripsi (encipher) dan dekripsi (decipher) informasi. Enkripsi merubah data yang tidak dapat lagi dibaca disebut ciphertext; sebaliknya dekripsi adalah merubah ciphertext data menjadi bentuk semula yang kita kenal sebagai plaintext. Algoritma AES is mengunakan kunci kriptografi 128, 192, dan 256 bits untuk mengenkrip dan dekrip data pada blok 128 bits. Algoritma AES sering disebut juga Rijndael.

Berikut Link Download Tentang Algoritma AES (Rijndael):
  1. Algoritma AES (Advanced Encryption Standard) dan Penggunaannya dalam Penyandian Pengompresian Data [sumber : ]. Artikel  DOWNLOAD DISINI
  2. ADVANCED ENCRYPTION STANDARD (AES) [sumber : ]. Artikel  DOWNLOAD DI SINI
  3. ENKRIPSI DAN DEKRIPSI DENGAN ALGORITMA AES 256 UNTUK SEMUA JENIS FILE. [sumber : ]. Artikel DOWNLOAD DI SINI
Baca Selengkapnya >>

Algoritma Kriptografi Fungsi Hash

Fungsi hash sering juga disebut fungsi enkripsi satu arah, atau disebut jugamessage diggest. Fungsi hash digunakan untuk menjamin servis otentikasi dan integritas suatu pesan atau file. Suatu fungsi hash h memetakan bit-bit string dengan panjang sembarang ke sebuah string dengan panjang tertentu misal n. Dengan domain D dan range R maka: Proses hashing merupakan proses pemetaan suatu input string menjadi output disebut. Output dari fungsi hashdisebut nilai hash atau hasil hash.



h : D → R dan |D| > |R|
Ide utama dari hash adalah bahwa suatu nilai hash berlaku sebagai representasi dari data secara sederhana (disebut juga message-diggest, imprint, digital finger-print) dari suatu input string, dan dapat digunakan hanya jika nilai hash tersebut dapat diidentifikasi secara unik dengan input string tersebut. Fungsi h adalah many-to-one, sehingga memungkinkan terjadinya pasangan input dengan output sama : collision. Secara umum fungsihash harus memiliki 2 (dua) sifat dasar yaitu : 
1. Kompresi (Compression), fungsi h memetakan suatu input x dgn panjang sembarang ke output y = h(x) dgn panjang tetap n;
2. Mudah dihitung (Easy Computation), dengan diberikan h dan sebuah input x, maka y mudah dihitung.
Fungsi hash diklasifikasikan dalam 2 kelas yaitu (menurut Menezes, Oorschotdan Vanstone, 1996): 
1. MDCs (Manipulation Detection Codes).
2, Message Authentication Codes (MACs).
MDCs (Manipulation Detection Codes), atau juga disebut dengan istilahmodification detecton codes atau message integrity codes (MICs) yang merupakan fungsi Hash tanpa kunci. Tujuannya adalah (informal) untuk memberikan suatu imej yang representatif (disebut nilai hash) pada suatu message. Pada kelas ini input darifungsi hash hanyalah pesan yang akan dikirim dan tidak membutuhkan input kunci rahasia. MDCs banyak digunakan untuk servis integritas data khususnya dalam aplikasi skema digital-signature.Pembagian kelas dari MDCs adalah:1. One Way hash Functions (OWHFs).2.Collision resistant hash Functions (CRHFs).Contoh algoritma hash untuk MDCs diantaranya adalah : MD2, MD4, MD5, RIPE-MD, Snefru, N-Hash, Secure Hash Algoritm-1 (SHA-1) yang merupakan OWHF sedangkan MASH-1 dan MASH-2 masuk kategori CRHF.
Message Authentication Codes (MACs) MACs adalah fungsi hash untuk otentikasi data dengan teknik simetrik. Algoritma MACs mengambil dua input yang secara fungsional berbeda, sebuah pesan (message) dan sebuah kunci rahasia (maka disebut “keyed hash function”), untuk menghasilkan suatu output dengan ukuran yang tetap. Secara praktis sulit menghasilkan nilai MAC yang sama tanpa pengetahuan tentang kunci rahasia tersebut. MACs juga menyediakan servis integritas data. Contoh algoritma hash untuk aplikasi MACs adalah HMAC, MD5-MAC, MAA, Block-based MACs : CBC-MAC, RIPE-MAC, GOST; Stream-based MACs : SEAL; CRC-based MAC, dan lainnya. Pada prinsipnya MACs dapat dikonstruksi dari MDCs seperti contohnya algoritma MD5-MAC.

Artikel Lain:

Baca Selengkapnya >>