SlideShare a Scribd company logo
1 of 27
Download to read offline
advanced Encryption Standard (AES)
Introduction
• Standar enkripsi DES diterbitkan tahun 1977 sebagai Federal
Information Processing Standard 46 (FIPS 46) oleh National Institute
of Standards and Technology (NIST) yaitu Data Encryption
Algorithm (DEA)
• IBM mengembangkan algoritma Lucifer di bawah National Security
Agency (NSA), kemudian mengusulkan proposal ke NIST pada tahun
1975, dan akhirnya disepakati sebagai DES untuk algoritma enkripsi
simetris
• Karena panjang kunci DES hanya 56 bit dan dianggap rentan
terhadap brute-force attack, maka NIST meluncurkan standar baru
yaitu FIPS 46-3 untuk algoritma 3-DES
Introduction
• DES memiliki beberapa kelemahan baik dari sisi panjang kunci, desain
algoritmanya, dan implementasi pada software
• NIST kemudian mengumumkan “call for proposals” tahun 1997 untuk
standar enkripsi baru yaitu Advanced Encryption Standard (AES)
• Terdapat 22 proposal yang diterima NIST, tetapi 7 tidak memenuhi
persyaratan, kemudian dari 15 yang memenuhi persyaratan diperoleh 5
finalis, yaitu : Mars, RC6, Rijndael, Serpent, dan Twofish
• Pemenangnya adalah Algoritma Rijndael yang diusulkan oleh dua
Kriptografer Belgia yaitu Dr. Joan Daemen dan Dr. Vincent Rijmen
• Pada tahun 2001, Rijndael didefinisikan sebagai algoritma AES dengan
standar FIPS PUB 197
The AES Cipher - Rijndael
• designed by Rijmen-Daemen in Belgium
• has 128/192/256 bit keys, 128 bit data
• an iterative rather than feistel cipher
• processes data as block of 4 columns of 4 bytes
• operates on entire data block in every round
• designed to be:
• resistant against known attacks
• speed and code compactness on many CPUs
• design simplicity
AES Process
Data Units Used in AES
Block-to-State & Vice Versa
Plaintext to State
AES Encryption
Process
Process of
Each Round
SubBytes
ShiftRows
MixColumns
AddRoundKey
AES Structure
data block of 4 columns of 4 bytes is state
key is expanded to array of words
has 9/11/13 rounds in which state undergoes:
byte substitution (1 S-box used on every byte)
shift rows (permute bytes between groups/columns)
mix columns (subs using matrix multiply of groups)
add round key (XOR state with key material)
view as alternating XOR key & scramble data bytes
initial XOR key material & incomplete last round
with fast XOR & table lookup implementation
AES Structure
AES Round
Mode Operasi
Cipher Block
• Electronic Codebook
Mode (ECB)
• Cipher Block Chaining
Mode (CBC)
• Cipher Feedback Mode
(CFB)
• Counter Mode (CTR)
• ECB
• Tiap plaintext dibagi menjadi b bit
• Tiap plaintext dienkripsi
menggunakan kunci yang sama
• Bila terdapat lebih dari 1 plaintext
dapat menghasilkan ciphertext
yang sama
• Rentan dilakukan attack oleh
cryptanalyst
• CBC
• Proses enkripsi dilakukan dari input hasil
XOR dari plaintext dan ciphertext
sebelumnya
• Untuk menghasilkan ciphertext pertama
perlu menggunakan initialization vector
(IV) yang di-XOR dengan plaintext
pertama
• IV harus diketahui pengirim dan penerima
• Ciphertext dari 2 plaintext yang sama
dapat berbeda
• CFB
• Dapat mengubah block cipher
menjadi stream cipher
• Dapat mengenkripsi plaintext
tanpa menyesuaikan panjang blok
• Dapat beroperasi secara real time
• Ciphertext sesuai panjang plaintext
• CTR
• Counter dienkripsi dan di-XOR
dengan blok plaintext untuk
menghasilkan ciphertext
• Pada dekripsi, sekuen counter yang
sama dienkripsi kemudian akan di-
XOR dengan ciphertext dan akan
mendapatkan suatu plaintext
RC4 algorithm
Algoritma RC4
• Didesain tahun 1987 oleh Ron Rivest
• Variable key-size stream cipher with byte-oriented operations
• RC4 digunakan pada standar Secure Socket Layer / Transport Layer
Security (SSL / TLS) yang didefinisikan untuk komunikasi antara Web
browser dan server
• RC4 digunakan pada protokol Wired Equivalent Privacy (WEP) dan
Wifi Protected Access (WPA) yang merupakan bagian dari standar
IEEE 802.11
Struktur Stream Cipher
Algoritma RC4
• Variable panjang key mulai 1-256 byte (8 – 2048 bit)
• Panjang key digunakan untuk menginisialisasi 256-byte state vector S,
dengan elemen S[0], S[1], …., S[255]
• S berisi permutasi semua 8-bit bilangan mulai 0 hingga 255
• Pada proses enkripsi dan dekripsi, 1 byte k dibangkitkan dari S dengan
memilih 1 dari 255 input
• Untuk tiap k yang dibangkitkan, input pada S
Proses Inisialisasi
for i = 0 to 255 do
S[i] = i;
T[i] = K[i mod keylen];
• S[0] = 0, S[1] = 1, …, S[255] = 255
• T = temporary vector
• Jika panjang key K = 256 byte, maka K dipindah ke T
1 ≤ keylen ≤ 256
Initial Permutation of S
j = 0
for i = 0 to 255 do
j = (j + S[i] + T[i]) (mod 256);
swap (S[i], S[j]);
• T digunakan untuk permutasi awal dari S
• Dimulai dari S[0] sampai S[255], tiap S[i] ditukar dengan byte S
lainnya
• Hanya permutasi dan masih berisi bilangan 0 hingga 255
Stream Generation
i = j = 0;
for each message byte Mi
i = (i + 1) (mod 256);
j = (j + S[i]) (mod 256);
swap(S[i], S[j]);
t = (S[i] + S[j]) (mod 256);
Ci = Mi XOR S[t];
Advanced Encryption Standard (AES

More Related Content

Similar to Advanced Encryption Standard (AES

Minggu 12 keamanan data[baru]
Minggu 12 keamanan data[baru]Minggu 12 keamanan data[baru]
Minggu 12 keamanan data[baru]Sofyan Arifianto
 
Advanced encryption standard (aes)
Advanced encryption standard (aes)Advanced encryption standard (aes)
Advanced encryption standard (aes)likut101010
 
international data encryption Algoritm (IDEA) and RC-4
international data encryption Algoritm (IDEA) and RC-4international data encryption Algoritm (IDEA) and RC-4
international data encryption Algoritm (IDEA) and RC-4sikindir
 
PPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFIPPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFIripki al
 
Network fundamental & mikro tik basic ahmad lukman
Network fundamental & mikro tik basic ahmad lukmanNetwork fundamental & mikro tik basic ahmad lukman
Network fundamental & mikro tik basic ahmad lukmanSuro Dhemit
 
SISTEM KOMUNIKASI DATA (SISKOMDAT)
SISTEM KOMUNIKASI DATA (SISKOMDAT)SISTEM KOMUNIKASI DATA (SISKOMDAT)
SISTEM KOMUNIKASI DATA (SISKOMDAT)Maya Ayunanda
 
Bab3 protocol secured
Bab3 protocol securedBab3 protocol secured
Bab3 protocol securedindra47
 
Dasar Telekomunikasi - Slide week 12 - pengantar komunikasi data
Dasar Telekomunikasi - Slide week 12 - pengantar komunikasi dataDasar Telekomunikasi - Slide week 12 - pengantar komunikasi data
Dasar Telekomunikasi - Slide week 12 - pengantar komunikasi dataBeny Nugraha
 
Awal keberadaan tcp
Awal keberadaan tcpAwal keberadaan tcp
Awal keberadaan tcpwha-on3
 
Osi layer dan fungsinya
Osi layer dan fungsinyaOsi layer dan fungsinya
Osi layer dan fungsinyaMuhammad Putra
 
Kriptografi Modern
Kriptografi ModernKriptografi Modern
Kriptografi ModernAndini Putri
 

Similar to Advanced Encryption Standard (AES (20)

Kelompok 5
Kelompok 5Kelompok 5
Kelompok 5
 
Part 10
Part 10Part 10
Part 10
 
Minggu 12 keamanan data[baru]
Minggu 12 keamanan data[baru]Minggu 12 keamanan data[baru]
Minggu 12 keamanan data[baru]
 
Advanced encryption standard (aes)
Advanced encryption standard (aes)Advanced encryption standard (aes)
Advanced encryption standard (aes)
 
international data encryption Algoritm (IDEA) and RC-4
international data encryption Algoritm (IDEA) and RC-4international data encryption Algoritm (IDEA) and RC-4
international data encryption Algoritm (IDEA) and RC-4
 
Rangkuman 1
Rangkuman 1Rangkuman 1
Rangkuman 1
 
PPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFIPPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFI
 
Pengantar Komunikasi Data
Pengantar Komunikasi DataPengantar Komunikasi Data
Pengantar Komunikasi Data
 
Topik 6 Komunikasi Data
Topik 6 Komunikasi DataTopik 6 Komunikasi Data
Topik 6 Komunikasi Data
 
Network fundamental & mikro tik basic ahmad lukman
Network fundamental & mikro tik basic ahmad lukmanNetwork fundamental & mikro tik basic ahmad lukman
Network fundamental & mikro tik basic ahmad lukman
 
SISTEM KOMUNIKASI DATA (SISKOMDAT)
SISTEM KOMUNIKASI DATA (SISKOMDAT)SISTEM KOMUNIKASI DATA (SISKOMDAT)
SISTEM KOMUNIKASI DATA (SISKOMDAT)
 
Bab3 protocol secured
Bab3 protocol securedBab3 protocol secured
Bab3 protocol secured
 
Dasar Telekomunikasi - Slide week 12 - pengantar komunikasi data
Dasar Telekomunikasi - Slide week 12 - pengantar komunikasi dataDasar Telekomunikasi - Slide week 12 - pengantar komunikasi data
Dasar Telekomunikasi - Slide week 12 - pengantar komunikasi data
 
Awal keberadaan tcp
Awal keberadaan tcpAwal keberadaan tcp
Awal keberadaan tcp
 
Makalah Kumpulan remaja
Makalah Kumpulan remajaMakalah Kumpulan remaja
Makalah Kumpulan remaja
 
Osi layer
Osi layerOsi layer
Osi layer
 
Ns 3
Ns 3Ns 3
Ns 3
 
Osi layer dan fungsinya
Osi layer dan fungsinyaOsi layer dan fungsinya
Osi layer dan fungsinya
 
bab6.ppt
bab6.pptbab6.ppt
bab6.ppt
 
Kriptografi Modern
Kriptografi ModernKriptografi Modern
Kriptografi Modern
 

More from Lusiana Diyan

Komunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifKomunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifLusiana Diyan
 
Berkomunikasi dalam Tim
Berkomunikasi dalam TimBerkomunikasi dalam Tim
Berkomunikasi dalam TimLusiana Diyan
 
Berkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanBerkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanLusiana Diyan
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan BisnisLusiana Diyan
 
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisKemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisLusiana Diyan
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan BisnisLusiana Diyan
 
Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Lusiana Diyan
 
Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Lusiana Diyan
 
Vocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentVocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentLusiana Diyan
 
DESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTDESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTLusiana Diyan
 
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimTutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimLusiana Diyan
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLLusiana Diyan
 
Kontrol LED melalui Web Server
Kontrol LED melalui Web ServerKontrol LED melalui Web Server
Kontrol LED melalui Web ServerLusiana Diyan
 
Akses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiAkses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiLusiana Diyan
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREPLusiana Diyan
 
Tutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleTutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleLusiana Diyan
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakLusiana Diyan
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakLusiana Diyan
 
Open Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCOpen Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCLusiana Diyan
 

More from Lusiana Diyan (20)

Komunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifKomunikasi Bisnis yang Efektif
Komunikasi Bisnis yang Efektif
 
Berkomunikasi dalam Tim
Berkomunikasi dalam TimBerkomunikasi dalam Tim
Berkomunikasi dalam Tim
 
Berkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanBerkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan Keragaman
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan Bisnis
 
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisKemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan Bisnis
 
Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3
 
Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2
 
Vocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentVocabulary Engineering Enrichment
Vocabulary Engineering Enrichment
 
DESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTDESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENT
 
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimTutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQL
 
Kontrol LED melalui Web Server
Kontrol LED melalui Web ServerKontrol LED melalui Web Server
Kontrol LED melalui Web Server
 
Installasi NodeMCU
Installasi NodeMCUInstallasi NodeMCU
Installasi NodeMCU
 
Akses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiAkses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry Pi
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREP
 
Tutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleTutorial Menggunakan Software Eagle
Tutorial Menggunakan Software Eagle
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat Lunak
 
Open Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCOpen Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DC
 

Recently uploaded

Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
materi pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxmateri pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxsiswoST
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfYogiCahyoPurnomo
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxRemigius1984
 

Recently uploaded (8)

Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
materi pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxmateri pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptx
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptx
 

Advanced Encryption Standard (AES

  • 2. Introduction • Standar enkripsi DES diterbitkan tahun 1977 sebagai Federal Information Processing Standard 46 (FIPS 46) oleh National Institute of Standards and Technology (NIST) yaitu Data Encryption Algorithm (DEA) • IBM mengembangkan algoritma Lucifer di bawah National Security Agency (NSA), kemudian mengusulkan proposal ke NIST pada tahun 1975, dan akhirnya disepakati sebagai DES untuk algoritma enkripsi simetris • Karena panjang kunci DES hanya 56 bit dan dianggap rentan terhadap brute-force attack, maka NIST meluncurkan standar baru yaitu FIPS 46-3 untuk algoritma 3-DES
  • 3. Introduction • DES memiliki beberapa kelemahan baik dari sisi panjang kunci, desain algoritmanya, dan implementasi pada software • NIST kemudian mengumumkan “call for proposals” tahun 1997 untuk standar enkripsi baru yaitu Advanced Encryption Standard (AES) • Terdapat 22 proposal yang diterima NIST, tetapi 7 tidak memenuhi persyaratan, kemudian dari 15 yang memenuhi persyaratan diperoleh 5 finalis, yaitu : Mars, RC6, Rijndael, Serpent, dan Twofish • Pemenangnya adalah Algoritma Rijndael yang diusulkan oleh dua Kriptografer Belgia yaitu Dr. Joan Daemen dan Dr. Vincent Rijmen • Pada tahun 2001, Rijndael didefinisikan sebagai algoritma AES dengan standar FIPS PUB 197
  • 4. The AES Cipher - Rijndael • designed by Rijmen-Daemen in Belgium • has 128/192/256 bit keys, 128 bit data • an iterative rather than feistel cipher • processes data as block of 4 columns of 4 bytes • operates on entire data block in every round • designed to be: • resistant against known attacks • speed and code compactness on many CPUs • design simplicity
  • 15. AES Structure data block of 4 columns of 4 bytes is state key is expanded to array of words has 9/11/13 rounds in which state undergoes: byte substitution (1 S-box used on every byte) shift rows (permute bytes between groups/columns) mix columns (subs using matrix multiply of groups) add round key (XOR state with key material) view as alternating XOR key & scramble data bytes initial XOR key material & incomplete last round with fast XOR & table lookup implementation
  • 18. Mode Operasi Cipher Block • Electronic Codebook Mode (ECB) • Cipher Block Chaining Mode (CBC) • Cipher Feedback Mode (CFB) • Counter Mode (CTR)
  • 19. • ECB • Tiap plaintext dibagi menjadi b bit • Tiap plaintext dienkripsi menggunakan kunci yang sama • Bila terdapat lebih dari 1 plaintext dapat menghasilkan ciphertext yang sama • Rentan dilakukan attack oleh cryptanalyst • CBC • Proses enkripsi dilakukan dari input hasil XOR dari plaintext dan ciphertext sebelumnya • Untuk menghasilkan ciphertext pertama perlu menggunakan initialization vector (IV) yang di-XOR dengan plaintext pertama • IV harus diketahui pengirim dan penerima • Ciphertext dari 2 plaintext yang sama dapat berbeda • CFB • Dapat mengubah block cipher menjadi stream cipher • Dapat mengenkripsi plaintext tanpa menyesuaikan panjang blok • Dapat beroperasi secara real time • Ciphertext sesuai panjang plaintext • CTR • Counter dienkripsi dan di-XOR dengan blok plaintext untuk menghasilkan ciphertext • Pada dekripsi, sekuen counter yang sama dienkripsi kemudian akan di- XOR dengan ciphertext dan akan mendapatkan suatu plaintext
  • 21. Algoritma RC4 • Didesain tahun 1987 oleh Ron Rivest • Variable key-size stream cipher with byte-oriented operations • RC4 digunakan pada standar Secure Socket Layer / Transport Layer Security (SSL / TLS) yang didefinisikan untuk komunikasi antara Web browser dan server • RC4 digunakan pada protokol Wired Equivalent Privacy (WEP) dan Wifi Protected Access (WPA) yang merupakan bagian dari standar IEEE 802.11
  • 23. Algoritma RC4 • Variable panjang key mulai 1-256 byte (8 – 2048 bit) • Panjang key digunakan untuk menginisialisasi 256-byte state vector S, dengan elemen S[0], S[1], …., S[255] • S berisi permutasi semua 8-bit bilangan mulai 0 hingga 255 • Pada proses enkripsi dan dekripsi, 1 byte k dibangkitkan dari S dengan memilih 1 dari 255 input • Untuk tiap k yang dibangkitkan, input pada S
  • 24. Proses Inisialisasi for i = 0 to 255 do S[i] = i; T[i] = K[i mod keylen]; • S[0] = 0, S[1] = 1, …, S[255] = 255 • T = temporary vector • Jika panjang key K = 256 byte, maka K dipindah ke T 1 ≤ keylen ≤ 256
  • 25. Initial Permutation of S j = 0 for i = 0 to 255 do j = (j + S[i] + T[i]) (mod 256); swap (S[i], S[j]); • T digunakan untuk permutasi awal dari S • Dimulai dari S[0] sampai S[255], tiap S[i] ditukar dengan byte S lainnya • Hanya permutasi dan masih berisi bilangan 0 hingga 255
  • 26. Stream Generation i = j = 0; for each message byte Mi i = (i + 1) (mod 256); j = (j + S[i]) (mod 256); swap(S[i], S[j]); t = (S[i] + S[j]) (mod 256); Ci = Mi XOR S[t];