Anda di halaman 1dari 9

TUGAS KELOMPOK

ENKRIPSI KUAT DENGAN AES

OLEH :
Vega Winata (2010951024)
M.Farhan Mendra (2010952014)
Imam Ikhlashul H (2010953018)

Dosen Pengampu : Zaini, Ph.D


Mata Kuliah : Matematika Diskrit B

JURUSAN TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
2021
KATA PENGANTAR

Puji syukur kehadirat Allah SWT atas segala limpahan rahmat, karunia, dan hidayah-
Nya sehingga kami dapat menyelesaikan penyusunan makalah ini dengan baik dan lancar.
Semoga makalah ini dapat digunakan sebagai salah satu acuan, petunjuk, maupun pedoman
bagi pembaca.
Dalam penulisan makalah ini kami mendapatkan bimbingan, arahan, koreksi, dan
saran dari berbagai pihak. Untuk itu kami menyampaikan rasa terima kasih kepada :
 Zaini, Ph.D selaku dosen mata kuliah Matematika Diskrit
 Orang tua kami yang selalu mensupport kami baik secara moral maupun material
sehingga kami bisa menyelesaikan makalah dengan tepat waktu

Kami merasa masih banyak kekurangan-kekurangan baik pada teknis penulisan


maupun materi, mengingat kemampuan yang dimiliki penulis. Untuk itu kritik dan saran dari
semua pihak sangat penulis harapkan demi penyempurnaan makalah ini.

Padang, 22 Desember 2021

Penulis
BAB I PENDAHULUAN

1.1. LATAR BELAKANG

Algoritma AES (Advanced Encryption Standard) merupakan algoritma yang dapat


digunakan untuk mengenkripsi data, sehingga data asli hanya dapat dibaca oleh orang yang
memiliki kunci enkripsi. AES lebih aman digunakan karena merupakan standar militer untuk
kriptografi.
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.

1.2. RUMUSAN MASALAH

1. Apakah yang dimaksud dengan AES?


2. Bagaimana cara kerja dari sistem AES?
3. Sebutkan contoh program AES?

1.3. TUJUAN PEMBAHASAN

1. Menjelaskan yang dimaksud dari AES


2. Menjelaskan cara kerja dari sistem AES
3. Menberikan contoh program AES
BAB II PEMBAHASAN

2.1. PENGERTIAN DARI AES

Advanced Encryption Standard (AES) adalah algoritma enkripsi simetris kriptografi yang
sangat populer di dunia IT. AES (Advanced Encryption Standard) adalah kelanjutan dari
algoritma enkripsi standar DES (Data Encryption Standard). Algoritma AES digunakan untuk
melindungi data. Ini adalah kriptografi kunci rahasia, jenis enkripsi yang telah digunakan
selama ribuan tahun, di mana pengirim dan penerima berbagi kunci yang sama. Karena ini
adalah cipher blok, data input harus dimasukkan dalam blok dengan panjang 128-bit, dan
blok plainteks dienkripsi dengan kunci ke dalam blok cipherteks.

Ada tiga ukuran kunci : 128, 192, dan 256-bit. Jenis AES yang paling umum adalah
ukuran kunci 128-bit.

2.2. CARA KERJA SISTEM AES

Pertama, Anda perlu mengimpor modul AES dari kriptografi. Ini membutuhkan kunci
16-byte dan teks biasa, yang merupakan kelipatan integral dari 16 byte. Kemudian gunakan
kunci untuk membuat objek AES baru untuk mengenkripsi dan menghitung sandi. Ini
memberi Anda string 16-byte yang mungkin tidak dapat dicetak. Oleh karena itu, yang
terbaik adalah menggunakan kode heksadesimal untuk pencetakan. Dan ketika Anda
menguraikannya, itu secara alami kembali ke teks aslinya. Sedikit perubahan pada kunci akan
mengubah semua ciphertext.
Oleh karena itu, jika Anda mengubah kunci ke kex, Anda akan melihat bahwa semua
ciphertext diubah. Ini adalah apa yang kita inginkan. Dua kunci yang sangat mirip
menghasilkan hasil yang sama sekali berbeda, sehingga Anda tidak dapat menemukan pola
dalam hasil untuk menebak informasi tentang kunci tersebut.
Difusi adalah properti yang diinginkan, di mana jika Kita mengenkripsi sesuatu dua kali
dengan kunci yang sama tetapi Kita mengubah sedikit pun teks biasa, sekali lagi, seluruh teks
sandi berubah.
Lihat contoh berikut:

Saya memiliki satu byte di sini dan saya mendapatkan 433 yang sama di 6a8. Jika Anda
mengubah huruf terakhir menjadi T, Anda akan melihat bahwa itu dimulai pada 90c dan
berakhir pada 5d2. Artinya, AES selalu menggunakan komponen yang memiliki fungsi
invers dengan panjang blok 128 bit, yang sebenarnya mengubah AES menjadi sistem
pengkodean blok non-Feistel. Kunci AES menggunakan proses berulang yang disebut
pembulatan. Proses AES adalah konversi status. Teks asli dari blok (128 bit) awalnya diatur
sebagai keadaan.
Enkripsi AES adalah perubahan status yang berulang selama beberapa putaran. Output
dari putaran k adalah input dari putaran +1. Selama enkripsi awal, teks asli dibuat sebagai
status. Sebelum Putaran 1 dimulai, blok teks asli dikocok dengan kunci Putaran 0 (konversi
ini disebut AddRoundKey). Selanjutnya putaran 1 sampai (Nr1). Dimana Nr adalah jumlah
putaran. AES menggunakan empat jenis konversi:
1. SubBytes, sebagai transformasi subtutusi.
2. ShiftRows, sebagai transformasi permutasi.
3. MixColumns, sebagai transformasi pengacakan.
4. AddRoundKey, sebagai transformasi penambahan kunci

Pada ronde terakhir, yaitu ronde ke-Nr dilakukan transformsi serupa dengan ronde lain
namun tanpa transfomasi serupa dengan ronde lain namun tanpa transformasi MixColumns.

2.3. CONTOH PROGRAM AES

Mari kita langsung ke penerapan enkripsi AES menggunakan Python :


3.
4.
5.
6.
7.
8.
9.
12. ciphertext, tag =
cipher.encrypt_and_digest(data.encode()) 13.
14. print(" nonce : ", nonce)
15. print(" tag : ", tag)
16. print(" enkripsi : ",
ciphertext) 17.
18. # decryption
19. key = b'aaaaaaaaaaaaaaaa' # 16 block
size 20.
21. cipher = AES.new(key, AES.MODE_EAX, nonce)
22. data = cipher.decrypt(ciphertext)
23. try:
24. cipher.verify(tag)
25. print(data.decode())
26. except ValueError:
27. print("Kunci salah atau data korup!")

Dan berikut hasil dari enkripsi (ciphertext) beserta dua kunci enkripsi lainnya (nonce dan
tag) :

Lalu untuk dekripsi data, kita juga perlu memiliki ketiga enkripsi data tersebut
(chipertext, noncedan tag) agar kita dapat mengetahui data aslinya.
Jika ketiga data tersebut benar, maka output yang dihasilkan juga akan benar.

Ini menjadikan AES sebagai standar enkripsi karena menggunakan banyak kunci untuk
memeriksa keaslian data.
Program ini menggunakan kunci = "aaaaaaaaaaaaaaaa" pada 16 blok data lateral yang
dienkripsi oleh program EAS untuk menghasilkan enkripsi data 128, 192, dan 256 byte.
Dekripsi data juga membutuhkan ketiga enkripsi data (ciphertext, nonce, tag) agar data asli
dapat ditemukan.
BAB III PENUTUP

3.1.KESIMPULAN
AES adalah standar enkripsi yang disetujui oleh American National Standards Institute
dan dianggap sangat aman. Ini adalah kriptografi kunci rahasia, jenis enkripsi yang telah
digunakan selama ribuan tahun, di mana pengirim dan penerima berbagi kunci yang sama.
Ada tiga ukuran kunci: 128, 192, dan 256 bit. Jenis AES yang paling umum adalah ukuran
kunci 128-bit.
DAFTAR PUSTAKA

Aditia Rahmat Tulloh, dkk. http://ejournal.unisba.ac.id. Kriptografi Advanced Encryption


Standard (AES) Untuk Penyandian File Dokumen. Vol 15 No 1, Mei 2016
Alifian Adexe. 2021. Belajar Kriptografi Dengan Python. https://www.anbidev.com/python-
kriptografi/ . 22 Desember 2021
Samuel Bowne. 2018. Hands-On Cryptography with Python Leverage the Power of Python to
Encrypt and Decrypt Data by Samuel Bowne (z-lib.org). Page 86 – 88

Anda mungkin juga menyukai