Kriptografi Modern [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Universitas Gunadarma



KRIPTOGRAFI MODERN KEAMANAN KOMPUTER



AUTHOR: Priskanta Br Tarigan



(12107199) 1



11/2/2010



Universitas Gunadarma | Kriptografi Modern



KATA PENGANTAR Segala puji dan syukur penulis panjatkan atas kehadirat Tuhan Yang Maha Esa yang telah memberikan berkat, anugerah dan karunia-Nya, sehingga penulis dapat menyelesaikan makalah ini tepat pada waktunya. Makalah ini dibuat sebagai tugas mata kuliah kemanan komputer. Makalah ini akan memberikan penjelasan mengenai kriptografi, khususnya kriptografi modern beserta contoh aplikasinya. Isi dari makalah ini diharapkan dapat berguna dan dapat memberikan informasi bagi para pembaca. Namun, penulis menyadari bahwa makalah ini masih jauh dari sempurna dan masih banyak memiliki kekurangan. Oleh karena itu, penulis menerima saran dan kritik untuk menyempurnakan makalah ini. Dalam kesempatan ini, penulis juga tidak lupa menyampaikan terima kasih sebesar - sebesarnya kepada pihak - pihak yang telah memberikan bantuan kepada penulis untuk menyelesaikan makalah ini, khususnya kepada ibu Swelandiah Endah Pratiwi, S.Kom.,MT selaku dosen mata kuliah keamanan komputer.



Depok, 2 November 2010



Penulis



2



Universitas Gunadarma | Kriptografi Modern



DAFTAR ISI



Halaman JUDUL ................................................................................................................



i



KATA PENGANTAR. ......................................................................................... ii DAFTAR ISI ................................................................................................... ... iii DAFTAR GAMBAR ....................................................................................... ...



v



DAFTAR TABEL ........................ ...................................................................... vii I



PENDAHULUAN ........................................................................................ 1 1.1



Terminologi Kriptografi ................................................................... 1



1.2



Sejarah Kriptografi ........................................................................... 1



1.3



Tujuan Kriptografi ..........................................................................



2



1.4



Klasifikasi Kriptografi ....................................................................



3



1.5



Algoritma Advanced Encryption Standard(AES) .........................



7



1.5.1



Enkripsi AES ......................................................................



8



1.5.1.1



SubBytes() .........................................................



9



1.5.1.2



ShiftRows() ......................................................... 10



1.5.1.3



MixColumn() ...................................................... 10



1.5.1.4



AddRoundKey() ................................................. 11



1.5.1.5



Expand Key() ...................................................... 12



1.5.2



Deskripsi AES .................................................................... 13 1.5.2.1



InvShiftRows() .................................................. 14



1.5.2.2



InvSubBytes () .................................................... 14 3



1.5.2.3



InvMixColumn() ................................................. 14



1.5.2.4



InvAddRoundKey() ............................................ 15 Universitas Gunadarma | Kriptografi Modern



1.5.3 1.6



Pembuatan Kunci Dan Kriptografi Asimetris Menggunakan RSA . 17 1.6.1



1.7



II



Expand Key() ...................................................................... 15



Enkripsi Dan Deskripsi RSA ............................................ 17



Pembuatan Message Digest Menggunakan SHA-256 .................... 18 1.7.1



Operasi SHA-256 ............................................................... 18



1.7.2



Fungsi Yang Digunakan ..................................................... 19



1.7.3



Konstanta Yang Digunakan ................................................ 19



1.7.4



Tahap Preprocessing ........................................................... 20



1.7.5



Penghitungan Hash Value S-256 ........................................ 21



1.8



Public Key Authority ...................................................................... 22



1.9



Algoritma Basis 64 (Base64) .......................................................... 23



APLIKASI KRIPTOGRAFI ....................................................................... . 27 2.1 Aplikasi Kritografi Modern Untuk Pengiriman Data Teramankan 2.1.1



27



Kriptografi Di Dalam Aplikasi .NET ................................. 27 2.1.1.1



Cryptografi Namespace ..................................... 27



2.1.2



Algoritma Enkripsi ............................................................. 28



2.1.3



Rancangan Dan Implementasi ............................................ 29



2.2 Pembuatan Aplikasi Kritografi Algoritma Base64 Menggunakan Java JDK 1.6 ................................................................................ ... 32 2.2.1 Implementasi Output ............................................................ 32 2.2.2 Tampilan Antar Pengguna (User Interface) .......................... 33



Universitas Gunadarma | Kriptografi Modern



4



2.2.2.1



Pembuatan Menu Utama .................................... 33



2.2.2.2



Pembuatan Tampilan About Encryption ............ 35



2.2.2.3



Build Program .................................................... 35



2.3 Cara Menggunakan Aplikasi .......................................................... 36 III KESIMPULAN ....................................................... .................................... 41 3.1 Aplikasi Kritografi Modern Untuk Pengiriman Data Teramankan. 38 3.2 Pembuatan Aplikasi Kritografi Algoritma Base64 Menggunakan Java JDK 1.6 ................................................................................. . 38 DAFTAR PUSTAKA ......................................................................................... . 39



5



Universitas Gunadarma | Kriptografi Modern



DAFTAR GAMBAR



Halaman Gambar 1.1



Skema Umum Sebuah Penyandian Dalam Kriptografi ................ 1



Gambar 1.2



Contoh Scytale. .......................................................................... ..



Gambar 1.3



Skema Kriptografi Kunci Simetri ................................................. 5



Gambar 1.4



Skema Kriptografi Kunci Asimetri .......................................... ....



Gambar 1.5



Enkripsi AES ................................................................................ 9



Gambar 1.6



Konversi S-Box ........................................................................... 10



Gambar 1.7



ShiftRows() ............................................................................... ... 10



Gambar 1.8



MixColumns()............................................................................ .. 11



Gambar 1.9



Expand Key() ............................................................................... 12



Gambar 1.0



Deskripsi AES ............................................................................. 13



2



6



Gambar 1.11 InvShiftRows() ............................................................................ 14 Gambar 1.12 Skema Ekuivalen Deskripsi AES .............................................. .. 16 Gambar 1.13 RSA ............................................................................................. 17 Gambar 1.14 Diagram Alur Algoritma Konversi ASCII – Base64 ............... .... 25 Gambar 1.15 Flowchart Enkripsi ...................................................................... 26 Gambar 1.16 Flowchart Deskripsi ..................................................................... 26 Gambar 2.1



Algoritma Simetris.................................................................... ... 28



Gambar 2.2



Algoritma Asimetris .................................................................. .. 28



Gambar 2.3



Algoritma Hash ............................................................................ 29



Gambar 2.4



Konfigurasi PKA Server – File Server – Client .......................... 30



Gambar 2.5



Proses Di Client ........................................................................ ... 30



Gambar 2.6



Proses Di File Server ................................................................. .. 31



Gambar 2.7



Flowchart Program Dari Aplikasi2 .............................................. 32



Gambar 2.8



Struktur Navigasi Aplikasi2 ....................................................... 33



Gambar 2.9



Kotak Dialog New Java Application ........................................ ... 34



Gambar 2.10 Kotak Dialog New JFrame Form ............................................... .. 34 Gambar 2.11 Tampilan Menu Utama (Encrypter)............................................. 34 Gambar 2.12 Tampilan Decrypter ..................................................................... 35



Universitas Gunadarma | Kriptografi Modern



6



Gambar 2.13 Kotak Dialog New JDialog Form ................................................ 35 Gambar 2.14 Tampilan About Encryption ........................................................ 36 Gambar 2.15 Enkripsi File Text ..................................................................... ... 36 Gambar 2.16 (a) Encrypt File dan (b) Key File .............................................. .. 37 Gambar 2.17 Dekripsi File Text ........................................................................ 37



7



Universitas Gunadarma | Kriptografi Modern



DAFTAR TABEL



Halaman Tabel 1.1



Jumlah Putaran Operasi Pada AES .............................................................. 8



Tabel 1.2



Tabel Konstanta Rcon[ j]................................................................. 13



Tabel 1.3



Encoding Base64 ............................................................................. 23



Tabel 2.1



Cryptografi Namespace ................................................................... 27



8



Universitas Gunadarma | Kriptografi Modern



PENDAHULUAN



1.1



TERMINOLOGI KRIPTOGRAFI



Kriptografi (atau kriptologi) berasal dari bahasa Yunani κρσπτός, kryptos, “tersembunyi, rahasia”; dan γράφω, gráphō, “Saya menulis”, atau-λογία,-logia, masingmasing. Jadi, kriptografi adalah studi praktek dan menyembunyikan informasi. Manurut Scheneier (1996), kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message). Praktisi atau pengguna kriptografi disebut kriptografer. Dalam ilmu kriptografi suatu pesan yang akan dirahasiakan atau disandikan disebut dengan plaintext, sedangkan pesan yang telah disandikan sehingga tidak bermakna lagi yang bertujuan agar pesan tidak dapat dibaca oleh pihak yang tidak berhak disebut chipertext. Selain itu, dalam ilmu kriptografi juga terdapat istilah enkripsi dan deskripsi. Enkripsi adalah proses menyandikan plaintext menjadi chipertext. Sedangkan proses mengembalikan chipertext menjadi plaintext semula disebut sebagai Deskripsi.



Gambar 1.1 Skema Umum Sebuah Penyandian Dalam Kriptografi



1.2.



SEJARAH KRIPTOGRAFI



Ilmu kriptografi disinyalir sudah ada sejak 4000 tahun yang lalu. Pada saat itu, bangsa Mesir menggunakan hieroglyph yang tidak standar dalam menuliskan pesan. Kemudian pada zaman Yunani kuno (400SM), kriptografi digunakan oleh tentara Sparta untuk mengirimkan pesan militer dengan menggunakan alat yang bernama scytale. Scytale merupakan suatu alat yang berbentuk pita panjang dari daun papyrus dan ditambah dengan sebatang silinder. Pesan akan ditulis secara horizontal atau baris per baris. Jika pita dilepaskan, maka huruf-huruf di dalamnya akan tersusun membentuk pesan rahasia. Untuk membaca pesan tersebut, si penerima pesan harus melilitkan kembali pita ke silinder yang diameternya harus sama dengan diameter silinder pengirim. Ilmu kriptografi sejak dahulu digunakan di berbagai aspek kehidupan. Sebagai contoh di India, dahulu kriptografi digunakan oleh lovers (pencinta) untuk berkomunikasi



Universitas Gunadarma | Kriptografi Modern



9



tanpa diketahui orang lain. Bukti ini ditemukan di dalam buku kama sutra yang merekomendasikan wanita seharusnya mempelajari seni memahami tulisan chiper.



Gambar 1.2 Contoh Scytale Kemudian pada Abad ke-17, sejarah kriptografi pernah mencatat korban di Inggris. Queen Mary of Scotland, dipancung setelah pesan rahasianya dari balik penjara (pesan terenkripsi yang isinya rencana membunuh Ratu Elizabeth I) berhasil dipecahkan oleh Thomas Phelippes, seorang pemecah kode. Ilmu kriptografi juga digunakan pada perang dunia II, pemerintah Nazi Jerman membuat mesin enkripsi yang dinamakan Engima. Kemudian tak lama berselang Engima chiper berhasil dipecahkan oleh sekutu, keberhasilan memecahkan Engima disinyalir sebagai faktor yang memperpendek perang dunia II.



1.3.



TUJUAN KRIPTOGRAFI



Secara umum tujuan ilmu kriptografi diciptakan adalah untuk merahasiakan suatu pesan agar tidak bisa dibaca oleh pihak yang tidak absah. Berdasarkan tujuan umum tersebut, ada terdapat empat tujuan mendasar dari ilmu kriptografi yang digunakan dalam bidang keamanan informasi, yaitu : a. Kerahasiaan (confidentiality) adalah layanan yang digunakan untuk menjaga isi informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka / mengupas informasi yang telah disandi. b. Integritas data (data integrity)adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya. c. Autentikasi (authentication)adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lainlain.



Universitas Gunadarma | Kriptografi Modern



10



d. Non-repudiasi (non-repudiation) adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.



1.4



KLASIFIKASI KRIPTOGRAFI



Dipandang dari segi era pengembangannya ilmu kriptografi dibagi menjadi dua, yaitu kriptografi klasik dan kriptografi modern. 1. Kriptografi Klasik Kriptografi klasik merupakan cara menyamarkan berita yang dilakukan dengan cara manual, sebelum adanya komputer. Kekuatan kriptografi ini terletak pada kerahasiaan algoritma yang digunakan. Jenis algoritma tersebut dinamakan algoritma restricted. Namun, algoritma memiliki beberapa kelemahan, yaitu: - Bersifat rahasia, sehingga kemampuan algoritma tidak pernah diuji oleh para pakar kriptografi dan berimbas pada ketidak percayaan pengguna akan ketangguhannya. - Jika terjadi kebocoran rahasia algoritma, maka harus dibuat atau dikembangkan algoritma baru. Akibatnya adalah terjadinya pemborosan biaya karena biaya untuk pembuatan algoritma kriptografi baru sangat mahal. 2. Kriptografi Modern Kriptografi modern adalah suatu metode kriptografi yang menggunakan algoritma matematika dan suatu kunci. Algoritma yang digunakannya dibuka atau diketahui oleh umum, sehingga tidak berstatus rahasia. Kekuatan kriptografi ini terletak pada kerahasiaan kunci penyandian. Berdasarkan kunci penyandiannya, kriptografi modern dibagi menjadi dua jenis, yaitu kriptografi kunci simetris dan kriptografi kunci asimetri. a. Kriptografi Kunci Simetri Algoritma simetris disebut juga sebagai algoritma konvensional, yaitu algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan deskripsinya. Keamanan algoritma simetris tergantung pada kuncinya. Algoritma simetris sering juga disebut algoritma kunci rahasia, algoritma kunci tunggal atau algoritma satu kunci. Dua kategori yang termasuk pada algoritma simetris ini adalah algoritma block cipher dan stream cipher.  Block Cipher Algoritma block clipher adalah algoritma yang masukan dan keluarannya beruoa satu blok dan setiap bloknya terdiri dari banyak bit. Beberapa mode enkripsi block chiper adalah:  Algoritma DES (Data Enkripsi Standard) Algoritma DES telah diadopsi oleh NIST (National Institute of Standard and Technology) sebagai standar pengolahan informasi Universitas Gunadarma | Kriptografi Modern



11



Federasi AS. Data dienkripsi dalam block-block 64 bit menggunakan kunci 56 bit. Algoritma DES berasal dari algoritma Lucifer buatan IBM. Pada tahun 1977, algoritma ini ditawarkan kepada NIST dan menjadi DES. Namun, ada terdapat dua masalah besar pada algoritma ini. Pertama, kunci yang hanya 56 bit, sehingga sangat rawan terhadap serangan brute force. Kedua, desain struktur internal DES dimana bagian subsitusinya (S-box) masih dirahasiakan.  Algoritma AES (Advanced Encrytion Standard) Sekitar tahun1990-an, semakin banyak komputer yang dapat menembus kunci DES karena terlalu pendeknya panjang kunci. Dalam kriptografi modern, panjang kunci yang digunakan dalam ukuran jumlah bit merupakan salah satu faktor yang sangat penting. Hal ini dikarenakan penggunaan komputer yang sangat intensif dalam dunia kriptografi. Untuk itu NIST mengadakan sebuah kontes untuk mencari sebuah algoritma standard baru untuk menggantikan DES. Pada bulan oktober 2000, Rijndael dipilih menjadi pemenang kontes AES. Algoritma Rijndael dipilih bukan karena yang paling aman, melainkan karena keseimbangan antara keamanan dan fleksibilitas dalam berbagai platform software dan hardware. Algoritma menyingkirkan saingan terdekatnya yaitu Algoritma RC6 buatan RSA.  Algoritma Blowfish Blowfish merupakan block cipher 64-bit dengan panjang kunci variabel. Algoritma ini terdiri dari dua bagian: key expansion dan enkripsi data. Key expansion merubah kunci yang dapat mencapai 448 bit menjadi beberapa array subkunci (subkey) dengan total 4168 byte. Enkripsi data terdiri dari iterasi fungsi sederhana sebanyak 16 kali. Setiap putaran terdiri dari permutasi kunci-dependent dan substitusi kunci dan data dependent. Semua operasi adalah penambahan dan XOR pada variable 32-bit. Tambahan operasi lainnya hanyalah empat penelusuran tabel (table lookup) array berindeks untuk setiap putaran. Blowfish menggunakan sub kunci yang besar. Kunci ini harus dihitung sebelum enkripsi atau dekripsi data.  Stream Cipher Stream cipher adalah chiper yang berasal dari hasil XOR antara bit plaintext dengan setiap bit kuncinya. Stream cipher sangat rawan terhadap attack (serangan) pembalikan bit. Beberapa model algoritma dari stream cipher antara lain :



Universitas Gunadarma | Kriptografi Modern



12



 Algoritma OTP (One Time Pad) Algoritma OTP memiliki teknik enkripsi yang sempurna, karena kunci yang acak dan hanya digunakan untuk sekali pesan. Untuk membangkitkan kunci OTP diperlukan pembangkit bilangan acak yang tidaklah mudah. Algoritma ini ditemukan oleh Mayor J Maughbone dan G Verman tahun 1917.  Algoritma RC 4 (Rivest Code 4) Algoritma RC4 ditemukan pada tahun 1987 oleh Ronald Rivest dan menjadi simbol keamanan RSA. RC4 merupakan enkripsi stream simetrik proprietary yang dibuat oleh RSA Data Security Inc (RSADSI). Penyebarannya diawali dari sebuah source code yang diyakini sebagai RC4 dan dipublikasikan secara 'anonymously' pada tahun 1994. Algoritma yang dipublikasikan ini sangat identik dengan implementasi RC4 pada produk resmi. RC4 digunakan secara luas pada beberapa aplikasi dan umumnya dinyatakan sangat aman. Sampai saat ini diketahui tidak ada yang dapat memecahkan/membongkarnya. RC4 tidak dipatenkan oleh RSADSI, hanya saja tidak diperdagangkan secara bebas (trade secret). Algoritma RC4 bekerja pada dua tahap, menyetem susunan (key setup) dan pengkodean (ciphering). Kunci susunan merupakan hal yang lebih awal dan merupakan tahap yang paling sulit dari algoritma ini. Selama menyetem susunan suatu N-bit (N menjadi panjangnya kunci), kunci enkripsi digunakan untuk menghasilkan suatu variabel enkripsi yang menggunakan dua array, state dan kunci, dan jumlah N dari operasi pencampuran. Operasi pencampuran terdiri dari menukar bytes, modulo operasi, dan rumusan lain. Suatu modulo operasi adalah proses sisa dari suatu hasil divisi. Sebagai contoh, 11/4 adalah 2 sisa 3; oleh karena itu 11 mod 4 sama dengan 3.



13



Gambar 1.3 Skema Kriptografi Kunci Simetri Universitas Gunadarma | Kriptografi Modern



Pada kriptografi kunci simetri atau algoritma simetri, sebuah kunci dibutuhkan untuk tiap pasangan komunikan. Hal ini untuk menjaga kerahasiaan pesan antar komunikan tersebut. Untuk n komunikan, jumlah kunci yang dibutuhkan adalah: n (n-1)/2 Keunggulan kriptografi simetri ini terletak pada kecepatan proses enskripsi maupun deskripsi, sehingga memiliki delay time yang minim. Hal tersebut sangat menguntungkan karena kriptografi biasanya diterapkan di dalam satu jaringan. Selain itu, kriptografi ini relatif tangguh terhadap serangan chosenplaintext karena kunci bersifat rahasia. Kelemahan kriptografi ini terletak pada manajemen kunci yang sangat rumit. Semakin banyak komunikan yang berkomunikasi, maka makin banyak kebutuhan jumlah kunci. Akibatnya, suatu kerahasian akan sangat sulit diingat dan dipertahankan. Kelemahan yang lainnya adalah terletak pada distribusi kuncinya. Distribusi kuncinya tidak dapat dilakukan menggunakan saluran media yang akan akan digunakan untuk komunikasi, karena sebenarnya jalur tersebut yang harus diamankan. b. Kriptografi Kunci Asimetri Kriptografi kunci asimetrik atau algoritma asimetrik menggunakan kunci yang berbeda (pasangan kunci) untuk keperluan proses enkripsi dan deskripsi. Kunci yang digunakan dalam proses enkripsi disebut kunci publik (public key), sedangkan kunci yang digunakan dalam proses deskripsi disebut sebagai kunci privat.



14



Gambar 1.4



Skema Kriptografi Kunci Asimetri



Universitas Gunadarma | Kriptografi Modern



Beberapa algoritma asimetris adalah:  Algoritma RSA RSA tidak pernah dibuktikan aman tidaknya. Namun, RSA dianggap aman hanya karena sulitnya pemfaktoran bilangan yang sangat besar. Dalam pembangkitan kedua kunci, digunakan dua bilangan prima acak yang sangat besar.  Algoritma Diffie-Helman (DH) Diffie Helman dianggap sebagai algoritma asimetrik yang pertama kali ditemukan pada tahun 1976, meskipun NSA telah mengaku menemukan algoritma asimetrik jauh-jauh hari sebelumnya. Algoritma ini memperoleh keamanannya dari sulitnya menghitung logaritma diskrit pada bilangan yang amat besar. Namun, algoritma ini hanya dapat digunakan untuk pertukaran kunci (simetris) dan tidak dapat digunakan untuk enkripsi/dekripsi maupun untuk tandat tangan digital.     



Algoritma Rabin Algoritma Knapsack Algoritma McEliece Algoritma LUC Algoritma El Gamal



Distribusi kunci pada kriptografi kunci asimetri sangat mudah, karena kunci enkrispsi bersifat pubik atau umum maka distribusi kunci dapat dilakukan di jalur mana saja bahkan jalur yang ingin diamankan sekalipun. Kelemahan dari kriptografi ini adalah relatif lemah terhadap serangan cryptanalist (seseorang yang melakukan usaha untuk memperoleh informasi ataupun data yang telah dienkripsi tanpa mengetahui kuncinya), terutama serangan chosen-plaintext. Chosen-plaintext merupakan plaint-text yang dipilih cryptanalist, bersama dengan pasangan chipertext-nya. Selain kelemahan tersebut, kriptografi ini jauh lebih lambat dari kriptografi simetri. Keunggulan dar kriptografi ini terletak pada distribusi kunci yang sangat mudah, manajemen kunci yang tidak rumit karena tiap kominikan hanya membutuhkan sepasang kunci (enkripsi dan deskripsi).



1.5



ALGORITMA ADVANCED ENCRYPTION STANDARD (AES)



AES adalah kriptografi simetris berbasis blok cipher dengan input plaintext sepanjang 128 bit dan kunci bervariasi 128, 192, dan 256 bit. Keluarannya berupa ciphertext dengan panjang blok 128 bit. AES merupakan algoritma blok cipher dengan menggunakan sistem permutasi dan substitusi (P-Box dan S-Box). AES dapat



Universitas Gunadarma | Kriptografi Modern



15



dikelompokkan menjadi 3 bagian berdasarkan panjang kunci, atau jumlah putaran. Hal tersebut akan diperlihatkan dalam tabel 1.1. Tabel 1.1 Jumlah Putaran Operasi Pada AES Tipe



Panjang Kunci



Panjang Blok Input



Jumlah putaran



AES-128



4 words (128 bit)



4 words (128 bit)



10



AES-192



6 words (192 bit)



4 words (128 bit)



12



AES-256



8 words (256 bit)



4 words 1(28 bit)



14



Garis besar dari algoritma AES (Rijndael) yang beroperasi pada blok 128 bit dengan kunci 128 bit adalah: 1. AddRoundKEy: melakukan XOR state awal (plainteks) dengan cipher key. Tahap ini disebut juga initial round 2. Putaran sebanyak Nr – 1 kali : proses yang dilakukan pada setiap putaran. - ByteSub: substitusi byte dengan menggunakan tabel substitusi (S-box). - ShiftRow: pergeseran baris-baris array state secara wrapping. - MixColumn: mengacak data si masing-masing kolom array state. - AddRoundKey: melakukan XOR antara state sekarang dengan round key. 3. Final Round: proses untuk putaran terakhir. - ByteSub - ShiftRow - AddRoundKey



1.5.1



Enkripsi AES



Proses enkripsi AES digambarkan pada gambar 1.5 dengan penjelasan sebagai berikut: 1. Pada awal enkripsi, input plaintext 128 bit akan disalinkan ke suatu array yang diberi nama state array. 2. Proses enkripsi dimulai dengan suatu proses yang disebut AddRoundKey(). 3. Untuk kunci cipher 128 bit, jumlah ronde adalah 10. 4. Proses selanjutnya adalah 9 ronde yang masing-masing ronde terdiri dari uruturutan empat macam proses yaitu SubBytes(), ShiftRows(), MixColumns() dan AddRoundKey(). 5. Diakhiri dengan ronde ke 10 yang hanya terdiri dari 3 proses yaitu SubBytes(), ShiftRows() dan AddRoundKey(). 6. Dengan proses Expand Key atau perpanjangan kunci, kunci yang terdiri dari 4 word (1 word terdiri dari 32 bit) akan diperpanjang menjadi suatu array yang terdiri dari 44 word yang masing-masing word terdiri dari 32 bit atau 4 byte. Kunci yang asli



Universitas Gunadarma | Kriptografi Modern



16



digunakan pada awal enkripsi, kemudian setiap 4 buah word hasil perpanjangan kunci akan digunakan pada ronde 1 sampai dengan ronde 10. 7. Setiap Ronde terdiri dari empat proses, yang terdiri dari satu operasi permutasi dan tiga operasi substitusi yaitu: a. SubBytes(), yang menggunakan suatu AES S-Box untuk melakukan substitusi byte-per-byte. b. ShiftRows(), yang melakukan suatu permutasi sederhana dengan cara left shift atau geser kiri. c. MixColumns() melakukan suatu operasi aritmatika dalam GF (28 ). d. AddRoundKey() melakukan operasi XOR antara hasil dari tiga proses sebelumnya dengan 4 word kunci Ronde.



Gambar 1.5 Enkripsi AES 17



1.5.1.1 SubBytes() SubBytes() ini menggunakan matriks 16x16 yang disebut AES S-Box yang berisi permutasi semua 256 kemungkinan dari kombinasi 8-bit. Setiap sel pada matriks berisi 1 Universitas Gunadarma | Kriptografi Modern



byte (2 digit hexadecimal atau nibble). Setiap byte State akan ditransformasikan ke nilai lain di dalam matriks. Gambar 1.6 akan memperlihatkan konversi oleh suatu S-Box:



Gambar 1.6 Konversi S-Box



1.5.1.2 ShiftRows() Proses ShiftRows() ini adalah proses yang sangat sederhana. Baris ke-1 sampai baris ke-3 dari State akan digeser ke kiri. Baris pertama tidak mengalami geser kiri. ShiftRows() adalah sebagai berikut:



Sr,c = Sr, (c+shift(r,Nb) mod Nb



untuk 0