Algoritma AES (Advanced Encryption Standard)


Algoritma AES (Advanced Encryption Standard) adalah salah satu algoritma yang dapat digunakan untuk melakukan enkripsi data sehingga data asli hanya dapat dibaca oleh seseorang yang memiliki kunci enkripsi tersebut. Contoh yang dibahas kali ini adalah mengenai enkripsi dan dekripsi dari sebuah kalimat.
Algoritma ini beroperasi dengan menggunakan urutan matriks bertipe byte berukuran 4×4, yang dinamakan sebagai state. AES kemudian melakukan perulangan transformasi untuk mengkonversi input (dinamakan teks mentah) menjadi output (dinamakan teks cipher) sesuai dengan besarnya ukuran byte yang digunakan.


Langkah-langkah penggunaan algoritma ini adalah

1. Tentukan kalimat yang akan dienkrip

Console.WriteLine("Masukkan kalimat yang akan dienkrip: ")
Dim input As String = Console.ReadLine

2. Tentukan kata kunci enkripsi yang digunakan
Kata kunci enkripsi harus berjumlah tepat 16 digit

Dim kataKunci As String = ""
Do
	Console.WriteLine("Masukkan kata kunci enkripsi: ")
	kataKunci = Console.ReadLine
	If kataKunci.Length <> 16 Then
		Console.WriteLine("Panjang kata kunci enkripsi harus berjumlah 16 digit.")
	End If
	Console.WriteLine("")
Loop Until kataKunci.Length = 16

3. Lakukan enkripsi kalimat awal menggunakan algoritma ini
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

Dim hasilEnkripsi As String = EnkripsiAES(input, kataKunci)

* Gunakan fungsi ini untuk melakukan enkripsi pada sebuah teks

Public Function EnkripsiAES(ByVal input As String, ByVal pass As String) As String
	Dim AES As New System.Security.Cryptography.RijndaelManaged
	Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider
	Dim hasilEnkripsi As String = ""
	Try
		Dim hash(31) As Byte
		Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass))
		Array.Copy(temp, 0, hash, 0, 16)
		Array.Copy(temp, 0, hash, 15, 16)
		AES.Key = hash
		AES.Mode = Security.Cryptography.CipherMode.ECB
		Dim DESEncrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateEncryptor
		Dim Buffer As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(input)
		hasilEnkripsi = Convert.ToBase64String(DESEncrypter.TransformFinalBlock(Buffer, 0, Buffer.Length))
		Return hasilEnkripsi
	Catch ex As Exception
		MsgBox(ex.Message)
		Return ""
	End Try
End Function

4. Lakukan dekripsi dari kalimat yang telah terenkripsi
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

Dim hasilDekripsi As String = DekripsiAES(hasilEnkripsi, kataKunci)

* Gunakan fungsi ini untuk melakukan dekripsi dari teks yang telah terenkripsi

Public Function DekripsiAES(ByVal input As String, ByVal pass As String) As String
	Dim AES As New System.Security.Cryptography.RijndaelManaged
	Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider
	Dim hasilDekripsi As String = ""
	Try
		Dim hash(31) As Byte
		Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass))
		Array.Copy(temp, 0, hash, 0, 16)
		Array.Copy(temp, 0, hash, 15, 16)
		AES.Key = hash
		AES.Mode = Security.Cryptography.CipherMode.ECB
		Dim DESDecrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateDecryptor
		Dim Buffer As Byte() = Convert.FromBase64String(input)
		hasilDekripsi = System.Text.ASCIIEncoding.ASCII.GetString(DESDecrypter.TransformFinalBlock(Buffer, 0, Buffer.Length))
		Return hasilDekripsi
	Catch ex As Exception
		MsgBox(ex.Message)
		Return ""
	End Try
End Function


Hasil akhir adalah: (klik untuk perbesar gambar)

cmd111a

cmd111b


Contoh modul / source code dalam bahasa VB (Visual Basic) dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.

Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *