ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA...

94
ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA (Advanced Encryption Standard ) AES : RIJNDAEL Muhamad Farid Fachrurozi PROGRAM STUDI MATEMATIKA JURUSAN MIPA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2006 M / 1427 H

Transcript of ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA...

Page 1: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

ENKRIPSI PESAN RAHASIA MENGGUNAKAN

ALGORITMA (Advanced Encryption Standard )

AES : RIJNDAEL

Muhamad Farid Fachrurozi

PROGRAM STUDI MATEMATIKA JURUSAN MIPA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI

SYARIF HIDAYATULLAH

JAKARTA

2006 M / 1427 H

Page 2: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

ENKRIPSI PESAN RAHASIA MENGGUNAKAN

ALGORITMA (Advanced Encryption Standard )

AES : RIJNDAEL

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar

Sarjana Sains

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh :

Muhamad Farid Fachrurozi 102094026471

PROGRAM STUDI MATEMATIKA JURUSAN MIPA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI

SYARIF HIDAYATULLAH

JAKARTA

Page 3: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

2006 M / 1427 H

ENKRIPSI PESAN RAHASIA MENGGUNAKAN

ALGORITMA (Advanced Encryption Standard )

AES : RIJNDAEL

Sebagai Salah Satu Syarat Untuk Memperoleh

Gelar Sarjana Sains

Pada Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh :

Muhamad Farid Fachrurozi 102094026471

Menyetujui,

Pembimbing I Pembimbing II

Hermawan Setiawan, M.Si Taufik Edy Sutanto, M.ScTech NIP. 250 000 505 NIP. 150 377 447

Mengetahui,

Ketua Jurusan MIPA

Page 4: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Dr. Agus Salim, M.Si NIP. 150 294 451

JURUSAN MIPA PROGRAM STUDI MATEMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UIN SYARIF HIDAYATULLAH JAKARTA

Dengan ini menyatakan bahwa skripsi yang ditulis oleh :

Nama : Muhamad Farid Fachrurozi

NIM : 102094026471

Program Studi : Matematika

Judul Skripsi : Enkripsi Pesan Rahasia Menggunakan Algoritma

(Advanced Encryption Standard ) AES:Rijndael

Dapat diterima sebagai syarat kelulusan untuk memperoleh gelar Sarjana Sains

pada Jurusan MIPA Program Studi Matematika, Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta.

Jakarta, Juli 2006

Menyetujui,

Dosen Pembimbing

Pembimbing I Pembimbing II

Hermawan Setiawan, M.Si Taufik Edy Sutanto, M.ScTech NIP. 250 000 505 NIP. 150 377 447

Page 5: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Mengetahui,

Dekan Ketua Jurusan MIPA Fakultas Sains dan Teknologi

Dr. Syopiansyah Jaya Putra, M.Sis Dr. Agus Salim, M.Si NIP. 150 317 965 NIP. 150 294 451

PENGESAHAN UJIAN

Skripsi yang berjudul “Enkripsi Pesan Rahasia Menggunakan Algoritma

(Advanced Encryption Standard ) AES:Rijndael”. Telah diuji dan dinyatakan

lulus dalam sidang Munaqosyah Fakultas Sains dan Teknologi, Universitas Islam

Negeri Syarif Hidayatullah Jakarta pada hari Jumat, 14 Juli 2006. Skripsi ini telah

diterima sebagai salah satu syarat untuk memperoleh gelar sarjana strata satu (S1)

pada Jurusan MIPA Program Studi Matematika.

Jakarta, Juli 2006

Tim Penguji

Penguji I Penguji II

Dr. Agus Salim, M.Si Nur Inayah, S.Pd, M.Si NIP. 150 294 451 NIP. 150 326 911

Mengetahui,

Pembimbing I Pembimbing II

Hermawan Setiawan, M.Si Taufik Edy Sutanto, M.ScTech NIP. 250 000 505 NIP. 150 377 447

Page 6: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Menyetujui,

Dekan Fakultas Sains dan Teknologi Ketua Jurusan MIPA

Dr. Syopiansyah Jaya Putra, M.Sis Dr. Agus Salim, M.Si NIP. 150 317 965 NIP. 150 294 451

Page 7: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-

BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN

SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI

ATAU LEMBAGA MANAPUN.

Jakarta, Juli 2006

Muhamad Farid Facrurozi

102094026471

Page 8: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

ABSTRACT

Muhamad Farid Fachrurozi, Enkripsi Pesan Rahasia Menggunakan

Algoritma (Advanced Encryption Standard) AES:Rijndael. (Di bawah bimbingan

Hermawan Setiawan dan Taufik Edy Sutanto).

Perkembangan teknologi yang semakin pesat membantu pelayanan

masyarakat luas dari segi pengiriman dan penyimpanan data. Dibalik manfaat

tersebut ada bahaya yang mengancam yang kurang disadari oleh user (pengguna

teknologi) pemula, yaitu penyadapan dan perubahan data. Perlu adanya suatu

solusi yang dapat menyikapi dalam menjaga keamanan tersebut, kriptologi

merupakan salah satu jawabannya.

Algoritma kriptologi cukup banyak dan berkembang pesat, salah satunya

adalah (Advanced Encryption Standard) AES yang dicetuskan oleh Rijmen dan

Daemen. Algoritma ini menggunakan 4 teknik yaitu : SubBytes(), ShiftRows(),

MixColoums(), dan AddRoundKey().

Keempat teknik ini yang menjadikan AES mempunyai kinerja yang baik,

ditunjukan dari segi keamanan, kesederhanaan struktur dan fleksibelitas yang

membawa AES sebagai pemenang algoritma paling optimal untuk menggantikan

Algoritma (Data Encryption Standard) DES yang pernah popular tahun 80-an.

Key Word : Finite Field GF(28), Algoritma AES:Rijndael, dan

Kriptografi.

Page 9: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

ABSTRAK

Muhamad Farid Fachrurozi, Enkripsi Pesan Rahasia Menggunakan

Algoritma (Advanced Encryption Standard) AES:Rijndael. (Di bawah bimbingan

Hermawan Setiawan dan Taufik Edy Sutanto).

Perkembangan teknologi yang semakin pesat membantu pelayanan

masyarakat luas dari segi pengiriman dan penyimpanan data. Dibalik manfaat

tersebut ada bahaya yang mengancam yang kurang disadari oleh user (pengguna

teknologi) pemula, yaitu penyadapan dan perubahan data. Perlu adanya suatu

solusi yang dapat menyikapi dalam menjaga keamanan tersebut, kriptologi

merupakan salah satu jawabannya.

Algoritma kriptologi cukup banyak dan berkembang pesat, salah satunya

adalah (Advanced Encryption Standard) AES yang dicetuskan oleh Rijmen dan

Daemen. Algoritma ini menggunakan 4 teknik yaitu : SubBytes(), ShiftRows(),

MixColoums(), dan AddRoundKey().

Keempat teknik ini yang menjadikan AES mempunyai kinerja yang baik,

ditunjukan dari segi keamanan, kesederhanaan struktur dan fleksibelitas yang

membawa AES sebagai pemenang algoritma paling optimal untuk menggantikan

Algoritma (Data Encryption Standard) DES yang pernah popular tahun 80-an.

Kata Kunci : Finite Field GF(28), Algoritma AES:Rijndael, dan

Kriptografi.

Page 10: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

KATA PENGANTAR

Sembah dan sujud syukur bagi Dzat Yang Maha Sempurna, yang telah

menganugrahkan akal dan memancarkan hidayah-Nya bagi manusia. Ya Robbal

Izzatii... terimalah setiap titik keringat dan air mata yang menggenangi perjuangan

dalam menyelesaikan studi, khususnya skripsi ini, sebagai satu tanda bukti syukur

dan pengabdianku pada-Mu dan jadikan ia pemicu semangat jihadku untuk

mencapai Ridho-Mu. Sholawat dan salam bagi Baginda Rosulullah SAW, suri

tauladan dalam menjalani hidup ini. Ya Bahjatan nafsii ... semoga Allah

memperkenankan ku menatap indah paras dan akhlakmu dan meleburkan

kerinduanku padamu kelak di surga-Nya. Amin.

Dengan seluruh daya dan upaya dan atas keridhoan Allah SWT, akhirnya

penulis dapat menyelesaikan skripsi ini. Meskipun demikian, penulis sadar bahwa

dalam mengerjakannya banyak bantuan dari berbagai pihak. Oleh karena itu pada

kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya

kepada :

1. Ayahanda dan ibunda serta teteh dan adik-adikku tercinta juga seluruh

keluarga besarku serta nenek ”nyak” yang selalu memberikan do’a, kasih

sayang, dukungan dan semangat yang tiada hentinya.

2. Bapak Dr. Syopiansyah Jaya Putra, M.Sis, Selaku Dekan Fakultas Sains dan

Teknologi.

3. Bapak Dr. Agus Salim, M.Si, selaku Ketua Jurusan MIPA dan sekaligus

dosen penguji I. Terima kasih atas bimbingan yang telah bapak berikan.

Page 11: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

4. Ibu Nur Inayah, S.Pd, M.Si, selaku Ketua Program Studi Matematika dan

sekaligus dosen penguji II yang tidak bosan memberikan nasehat dan

semangat kepada penulis.

5. Bapak Hermawan Setiawan, M.Si, selaku dosen pembimbing yang bersama-

sama dengan Bapak Taufik Edy Sutanto, M.ScTech telah memberikan

bimbingan dan saran-saran tiada letih dalam penyusunan skripsi penulis.

6. Seluruh dosen Jurusan MIPA Program Studi Matematika yang sudah

mengajarkan ilmu-ilmu yang bermanfaat bagi penulis selama penulis kuliah.

7. Seluruh staf akademik Fakultas Sains dan Teknologi diantaranya Pa Gun,

Bu Opah, dan semuanya yang tidak dapat penulis sebutkan satu-persatu,

yang dengan sabar melayani masalah administrasi mahasiswa program studi

Matematika khususnya penulis sendiri.

8. Pengelola Perpustakaan Fakultas Sains dan Teknologi yang telah

memberikan fasilitas untuk mengadakan studi kepustakaan.

9. Teman-teman seperjuangan Matematika angkatan 2002 Andi, Hata, dan

Bambang yang mulai menata masa depan. Tidak lupa Abub, Sopi, Mute,

Ubed semoga sukses selalu. Untuk Maia, Cie-cie, Anie, Indrie, dan Bulan

sebagai team sukses konsumsi serta dadar dan muntiani sekawan sejalan.

Spesial untuk Ismah yang menginspirasikan dan memberi semangat selalu.

Semua kawan-kawan seatap-selantai yang tidak bisa penulis sebutkan satu

per satu.

Page 12: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

10. Adik-adik kelasku Matematika semoga kalian bisa menjaga kerahasiaan data

kalian, yang ingin aku katatakan hanya “Maju Trus Kriptografi Ku !!!

Semoga kalian bisa meneruskan.!!!! ”.

Penulis menyadari bahwa masih banyak kelemahan dan kekurangan yang

terdapat dalam skripsi ini, yang masih harus diperbaiki. Akhir kata penulis

berharap semoga skripsi ini dapat bermanfaat bagi kita semua.

Jakarta, Juli 2006

Penulis

Page 13: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

DAFTAR ISI

HALAMAN JUDUL .................................................................................... i

HALAMAN PERNYATAAN ....................................................................... ii

KATA PENGANTAR .................................................................................. iii

DAFTAR ISI ................................................................................................ vi

DAFTAR TABEL .......................................................................................... ix

DAFTAR GAMBAR ...................................................................................... x

DAFTAR LAMPIRAN ................................................................................. xi

BAB I. PENDAHULUAN ......................................................................... 1

1.1. Latar Belakang ...................................................................... 1

1.2. Perumusan Masalah .............................................................. 4

1.3. Batasan Masalah .................................................................... 4

1.4. Tujuan Penelitian ................................................................... 8

1.5. Sistematika Penulisan ........................................................... 9

BAB II. LANDASAN TEORI ...................................................................... 6

2.1. Kriptografi .............................................................................. 6

2.1.1. Kriptografi Klasik ....................................................... 7

2.1.1.1. Teknik Subtitusi ............................................ 8

2.1.1.2. Teknik Tranposisi (Permutasi) ...................... 8

2.1.2. Kriptografi Modern ................................................... 11

Page 14: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

2.1.2.1. Kerahasiaan Data ........................................ 13

2.1.2.2. Integritas Data .............................................. 14

2.1.2.3. Keaslian Data ............................................... 14

2.2. Algoritma ............................................................................. 15

2.2.1. Algoritma Simetris .................................................... 16

2.2.1.1. Stream Cipher .............................................. 18

2.2.1.2. Block Cipher ................................................ 19

2.2.2. Algoritma Asimetris .................................................. 22

2.3. Operasi Aljabar .................................................................... 24

2.3.1. Field GF(28) .............................................................. 24

2.3.1.1. Penjumlahan ................................................. 25

2.3.1.2. Perkalian ....................................................... 26

2.3.1.3. Perkalian dengan Variabel x ......................... 27

2.3.2. Koefisien Polinom pada GF(28) ................................. 27

BAB III. AES:RIJNDAEL ........................................................................... 30

3.1. Pendahuluan ......................................................................... 30

3.2. Representasi Data ................................................................. 33

3.3. Enkripsi ................................................................................ 35

3.3.1. SubBytes() ................................................................. 36

3.3.2. ShiftRows() ................................................................ 37

3.3.3. MixColoums() ............................................................ 38

3.3.4. AddRoundKey() ......................................................... 39

Page 15: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

3.4. Ekspansi Kunci .................................................................... 40

3.5. Dekripsi ................................................................................ 41

3.5.1. InvSubBytes() ............................................................ 42

3.5.2. InvShiftRows() ........................................................... 42

3.5.3. InvMixColoums() ...................................................... 43

BAB IV. SIMULASI ................................................................................... 44

4.1. Simulasi Cipher (Enkripsi) .................................................. 44

4.1.1. AddRoundKey() ........................................................... 45

4.1.2. SubBytes() .................................................................. 46

4.1.3. ShiftRows() .................................................................. 47

4.1.4. MixColoums() ............................................................. 47

4.2. Simulasi Invers Cipher (Dekripsi) ......................................... 51

4.2.1. InvShiftRows() ............................................................ 52

4.2.2. InvSubBytes() ............................................................. 53

4.2.3. AddRoundKey() .......................................................... 53

4.3. Simulasi Ekspansi Kunci ..................................................... 54

BAB V. PENUTUP ..................................................................................... 57

5.1. Kesimpulan ........................................................................... 57

5.2. Penelitian Selanjutnya ........................................................... 57

REFERENSI ................................................................................................. 59

LAMPIRAN .................................................................................................. 61

Page 16: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

DAFTAR TABEL

Tabel 2-1 Subtitusi Caesar Cipher ( n+3 ) ...................................................... 7

Tabel 2-2 Representasi Bit, Heksadesimal, dan Desimal .............................. 12

Tabel 2-3 Operasi XOR ................................................................................ 12

Tabel 3-1 Pengindeks-an Aliran Input .......................................................... 34

Tabel 3-2 S-Box ............................................................................................ 37

Tabel 3-3 S-Box-1 .......................................................................................... 42

Page 17: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

DAFTAR GAMBAR

Gambar 2.1. Proses Umum Enkripsi dan Dekripsi ....................................... 16

Gambar 2.2. Proses Enkripsi dan Dekripsi pada Algoritma Simetris ............ 17

Gambar 2.3. Proses Enkripsi pada Stream Cipher ........................................ 19

Gambar 2.4. Proses Pemetaan Data pada Block Cipher ................................ 20

Gambar 2.5. Proses Enkripsi dan Dekripsi pada Block Cipher....................... 21

Gambar 2.6. Proses Enkripsi dan Dekripsi pada Algoritma Asimetris .......... 22

Gambar 3.1. SubBytes(),ShiftRows(),MixColoums(),dan AddRoundKey() .... 32

Gambar 3.2. Algoritma AES-128 .................................................................. 33

Gambar 3.3. State Array pada Input dan Output ............................................ 35

Gambar 3.4. State Array Ekivalen pada Word Array ..................................... 35

Gambar 3.5. Subtitusi Bytes .......................................................................... 36

Gambar 3.6. Shift Rows ................................................................................... 38

Gambar 3.7. Mix Coloums ............................................................................ 39

Gambar 3.8. Operasi XOR pada AddRoundKey() .......................................... 39

Gambar 3.9. Invers Shift Rows ....................................................................... 43

Page 18: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

DAFTAR LAMPIRAN

LAMPIRAN 1 : SIMULASI CIPHER .......................................................... 61

LAMPIRAN 2 : SIMULASI INVERS CIPHER ............................................ 62

LAMPIRAN 3 : SIMULASI KUNCI EKSPANSI ......................................... 63

LAMPIRAN 4 : TABEL ASCII ................................................................... 64

Page 19: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

BAB I

PENDAHULUAN

1.1. Latar Belakang

Perkembangan Teknologi komputer dan telekomunikasi yang cukup pesat

masa kini berpengaruh pada penggunaan informasi. Sehingga melahirkan

sebuah istilah “information-based society” [10] , dimana kemampuan untuk

mengakses dan menyediakan informasi secara cepat dan akurat menjadi

sangat esensial bagi sebuah organisasi atau lembaga, baik organisasi

komersial (perusahaan), perguruan tinggi (akademisi), lembaga pemerintahan

(birokrasi), maupun individual (pribadi).

Seiring dengan perkembangan Teknologi telekomunikasi dan

penyimpanan data dengan menggunakan komputer tersebut, memungkinkan

pengiriman data jarak jauh yang relatif cepat dan murah. Dilain pihak

pengiriman data jarak jauh melalui jaringan internet, gelombang radio

maupun media lain yang digunakan masyarakat luas (public) sangat

memungkinkan pihak lain dapat menyadap dan mengubah data yang dikirim.

Perkembangan internet salah satunya sebagai sarana komunikasi

merupakan teknologi yang mampu menyikapi persoalan-persolan yang

semakin kompetitif saat ini, terbukti dengan pemakai internet yang sudah

mendunia. Semakin mudahnya mendapatkan akses dari internet membuat

dunia seolah-olah tidak ada batasan lagi, sehingga adanya internet memang

sejalan dengan era globalisasi dan kebijakan pasar bebas.

Page 20: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Dibalik perkembangan dan pemanfaatan internet yang demikian pesat,

ternyata ada bahaya yang mengancam yakni fenomena yang kurang disadari

oleh para user (pengguna internet) pemula, yaitu user yang kurang memahami

tentang keamanan data [14] . Untuk meminimalkan kemungkinan terjadinya

tindak kejahatan di internet inilah diperlukan teknologi keamanan informasi,

khususnya sistem dan mesin enkripsi (penyandian).

Enkripsi merupakan bagian dari cabang kriptografi, dimana algoritma

kriptografi untuk penyandian telah mengalami perkembangan dan perbaikan

dari masa ke masa. Sehingga proses tersebut menghasilkan algoritma yang

memuaskan, misalnya DES, IDEA, RSA, dan lain-lain. Salah satu algoritma

yang cukup popular dan kuat sehingga tidak mudah dipecahkan pada tahun

80-an adalah (Data Encryption Standard) DES.

DES merupakan nama dari sebuah algoritma untuk mengenkripsi data

yang dikeluarkan oleh Federal Information Processing Standard (FIPS) di

Amerika. Algoritma tersebut dikembangkan oleh IBM, NSA, NBS yang

berperan penting dalam pengembangan algoritma DES. Ada sedikit modifikasi

dan perbaikan pada perkembangan algoritma DES yaitu algoritma Triple DES,

cara ini dipakai untuk membuat algoritma DES lebih kuat lagi. Akan tetapi

algoritma yang digunakan sama, hanya saja algoritma Triple DES melakukan

enkripsi algoritma DES sebanyak tiga kali dengan menggunakan dua kunci

yang berbeda.

NIST (National Institute of Standards and Technology) yang berada di

Amerika setiap lima tahun sekali mensertifikasi ulang algoritma DES sejak

Page 21: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

tahun 1977, disebabkan banyaknya kelemahan pada algoritma DES, kini NIST

tidak lagi mensertifikati sejak tahun 1993 (penyertifikatan terakhir untuk

DES). Salah satu kelemahan DES dutunjukkan oleh Michael Wierner (1995)

yang merancang sebuah chip untuk melakukan brute - force attack (teknik

menemukan atau memecahkan kunci) pada algoritma DES-56 bit. Chip

tersebut dapat menemukan kunci rahasia dalam waktu rata-rata 3,5 jam dan

kunci itu dijamin dapat ditemukan dalam waktu 7 jam [10] dan [12] .

Selanjutnya dikembangkanlah suatu algoritma baru yang diharapkan dapat

menggatikan DES yaitu (Advanced Encryption Standard) AES.

AES yang lahir pada November 2001 dengan pencetus Rijmen dan

Daemen (Rijndael) cukup mengejutkan dunia kriptografi, karena pada saat itu

menyisihkan empat finalis algoritma lainnya yang cukup popular yaitu MARS,

RC6, Serpent, dan Twofish. Terbukti dengan diberlakukan AES secara efektif

tahun 2002, AES mendapatkan sertifikat dari NIST saja sudah mencapai 144

produk sampai bulan Mei 2004. AES memang dipersiapkan untuk penerapan

software, firmware, hardware atau kombinasinya. Jadi, suatu hal yang cukup

wajar bila usaha pengembangannya banyak dan bervariasi [1] .

Selain keunggulan yang telah disebutkan, Algoritma AES:Rijndael juga

dirancang untuk memiliki properti ketahanan terhadap semua jenis serangan

yang telah diketahui, kesederhanaan rancangan, dan kekompakan kode serta

kecepatan koputasi pada berbagai platform.

Rijndael cipher (AES:Rijndael) dapat dikategorikan sebagai iterated

block cipher dengan panjang blok (128 bit) dan panjang kunci yang dapat

Page 22: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

dipilih secara independent sebanyak 128, 192, atau 256 bit. Sebagai

pembuktian akan ditunjukkan salah satu kekuatannya dalam bentuk desimal

yaitu kira-kira 3.4 x 1038 kemungkinan untuk kunci 128 bit, 6.2 x 1057

kemungkinan untuk kunci 192 bit, dan 1.1 x 1077 kemungkinan untuk kunci

256 bit.

Pengukuran dan perbandingan dari kekuatan relatif algoritma AES-

Rijndael pada algoritma DES diilustrasikan sebagai berikut :

“Jika komputer membutuhkan waktu selama 1 detik untuk memecahkan

kunci algoritma DES dengan panjang kunci 256 bit, maka komputer yang

sama dengan panjang kunci 256 bit juga akan membutuhkan waktu 149

trilyun (149 x 1012) tahun untuk memecahkan kunci pada algoritma AES-

Rijndael”.

1.2. Rumusan Masalah

Masalah yang akan dibahas pada penelitian ini adalah simulasi algoritma

AES pada pesan rahasia menggunakan panjang kunci 128 bit.

1.3. Batasan Masalah

Penelitian tugas akhir ini dibatasi pada simulasi Model Enkripsi Simetris –

Block Cipher menggunakan algoritma AES:Rijndael dengan panjang kunci

128 bit.

1.4. Tujuan Penelitian

Page 23: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Secara umum tujuan penelitian ini adalah mensimulasikan algoritma AES

Rijndael dengan enkripsi seacak mungkin (berusaha menghilangkan pola)

sehingga lebih sulit untuk dipecahkan.

1.5. Sistematika Penulisan

BAB I, menjelaskan tentang fenomena pentingnya pengamanan data,

kriptografi salah satu jawabannya. Algoritma kriptografi yang cukup popular

pada tahun 80-an adalah DES akan tetapi diganti dengan AES yang

mempunyai cukup banyak kelebihan dan keunggulan dari DES, terutama

dalam kekuatan pemecahan kunci.

BAB II, menjelaskan kriptografi dari sejarahnya, teknik, dan metode serta

landasan matematika yang menjadi dasar terbentuknya teknik-teknik yang

digunakan Algoritma AES, beberapa teknik dalam AES dibangun dari

operasi matematika khususnya pada AES adalah GF(28).

BAB III, menjelaskan teknik yang membangun algoritma AES, tetapi

sebelumnya dijelaskan dulu tentang pengertian dan kemampuan AES sebagai

penghantar kepada algoritmanya.

BAB IV, menjelaskan simulasi program sebagai hasil dari gambaran

model Algoritma AES:Rijndael dengan panjang kunci 128 bit.

BAB V, menjelaskan kesimpulan dan penelitian lebih lanjut.

Page 24: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

BAB II

LANDASAN TEORI

2.1. Kriptografi

Kriptografi berasal dari Bahasa Yunani, yaitu kripto dan graphia. Menurut

bahasa kripto berarti rahasia (secret) dan graphia berarti tulisan (writing).

Menurut terminologi, kriptografi adalah ilmu atau seni untuk menjaga

keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain

[1] . Secara keseluruhan kriptografi dapat disimpulkan sebagai ilmu yang

mempelajari tentang pengacakan pesan dengan fungsi matematika agar tidak

bisa dibaca oleh pihak yang tidak berwenang.

Kriptografi merupakan studi matematika yang mempunyai hubungan

dengan aspek keamanan informasi seperti integritas data dan keaslian data.

Dalam penerapannya, kriptografi merupakan suatu metode enkripsi atau

penyandian data yang hanya diketahui atau berarti oleh suatu kelompok

pengguna tertentu. Metoda ini telah dikenal sejak lama, salah satu contoh

penggunaannya pada masa ke-Kaisaran Romawi Kuno. Pada waktu itu Julius

Caesar tidak menginginkan berita atau pesan yang dibawa oleh kurir-kurirnya

jatuh kepada pihak lawan. Oleh karena itu, beliau menggunakan sistem

substitusi sederhana, yang kini disebut dengan Caesar Cipher. Algoritma

sistem Caesar ini sangat sederhana, yaitu setiap huruf digeser atau ditambah

tiga dengan modulo 26 sehingga huruf A menjadi D, huruf B menjadi E, dan

seterusnya (Tabel 2.1.).

Page 25: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Tabel 2.1. Subtutusi Caesar Cipher (n + 3)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Dalam kriptografi ada beberapa istilah yang sering digunakan, antara lain

sebagai berikut :

1. Plaintext adalah informasi asli sebelum dienkripsi atau teks terang.

2. Enkripsi adalah proses kriptografi dari plaintext menjadi ciphertext.

3. Ciphertext adalah informasi acak yang berasal dari plaintext yang telah

dimasukkan kedalam fungsi kriptografi atau dienkripsi.

4. Dekripsi adalah proses pengubahan ciphertext menjadi plaintext.

5. Kriptoanalisis adalah studi yang mempelajari teknik matematika

untuk memecahkan teknik kriptografi.

6. Kriptoanalis adalah orang yang melakukan kriptonalisis.

7. Kriptologi adalah ilmu tentang kriptografi dan kriptonalisis.

2.1.1. Kriptografi Klasik

Kriptografi sudah digunakan sejak lama seperti algoritma Caesar

Cipher yang menggunakan teknik subtitusi, algoritma ini sudah digunakan

Page 26: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

beberapa abad yang lalu. Dua teknik dasar yang biasa digunakan pada

Kriptografi Klasik, adalah sebagai berikut [1] :

1. Teknik Subtitusi : Penggantian setiap karakter plaintext dengan

karakter lain

2. Teknik Tranposisi (Permutasi) : Teknik ini menggunakan

permutasi karakter.

Untuk memahami pengertian lebih lanjut, dijelaskan sebagai

berikut :

2.1.1.1. Teknik Subtitusi

Teknik subtitusi ini merupakan penggantian setiap karakter

dari plaintext dengan karakter lainnya, ada empat istilah dari

subtitusi cipher diantaranya adalah : monoalphabet, polyalphabet,

monograph, dan polygraph.

Contoh teknik subtitusi adalah Caesar Cipher, Playfair

Cipher, Shift Cipher, Hill Cipher, dan Vigenere Cipher. Lihat

(Tabel 2.1.) Subtitusi Caesar Cipher merupakan pencetus dalam

dunia kriptografi, penyandian ini dilakukan pada zaman

Pemerintahan Julius Caesar dengan menggeser atau mengganti

posisi huruf alphabet. Misal pergeseran yang dilakukan sebanyak

tiga kali, berarti kunci dekripsinya adalah (n – 3). Sebenarnya

Page 27: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

pergeseran yang dilakukan tergantung keinginan dari kesepakatan

pihak pengirim dan penerima, ini yang dinamakan kunci.. Misal

kunci yang digunakan ((n x 2) - 1) atau yang lainnya. Contoh pesan

yang akan disandikan dari algoritma Caesar Cipher dengan kunci

(n + 3) (Tabel 2.1. subtutusi Caesar Cipher) sebagai berikut :

Plaintext = T E R I M A K A S I H

Ciphertext = W H U L P D N D V L K

Dengan subtitusi atau mengeser tiga kali sehingga huruf T

W, E H, A D, ……, H K. Caesar Cipher ini dapat

dipecahkan dengan cara Brute Force Attack suatu bentuk dari

sebuah serangan dengan mencoba kemungkinan-kemungkinan pola

untuk menemukan kunci rahasia sampai kunci tersebut ditemukan.

Banyak kemungkinan kunci yang dapat digunakan oleh Caesar

Cipher sehingga cukup merespon para kriptoanalis, walaupun

sederhana akan tetapi butuh cukup waktu untuk memecahkannya

karena penggunaan Enkripsi Klasik tidak semudah sekarang

dengan bantuan komputer.

2.1.1.2. Teknik Tranposisi (Permutasi)

Teknik ini menggunakan permutasi karakter, dengan

menggunakan teknik ini pesan yang asli tidak dapat dibaca kecuali

Page 28: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

pihak yang memiliki kunci untuk mengembalikan pesan tersebut

kebentuk semula atau mendekripsikannya. Sebagai contoh :

Ada enam kunci yang digunakan untuk melakukan

permutasi cipher yaitu:

Posisi Plaintext 1 2 3 4 5 6 Posisi Ciphertext 3 5 1 6 4 2

Untuk mendekripsikan digunakan juga 6 kunci invers

cipher yaitu :

Posisi Ciphertext 1 2 3 4 5 6 Posisi Plaintext 3 6 1 5 2 4

Sehingga sebuah pesan

Plaintext = T E R I M A K A S I H

Terlebih dahulu kalimat tersebut dibagi menjadi 6 block

dan apabila terjadi kekurangan pada block bisa ditambahkan

dengan huruf yang disepakati, misal “X”.

Posisi = 1 2 3 4 5 6 1 2 3 4 5 6

Plaintext = T E R I M A K A S I H X

Ciphertext = R A T M E I S X K H A I

Page 29: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Untuk mendekripsikan ciphertextnya, maka harus

melakukan hal yang sama seperti ciphernya dengan menggunakan

kunci invers cipher dari permutasi tersebut. Banyak teknik lain

permutasi seperti zig-zag, segitiga, spiral, dan diagonal. Dengan

beberapa macam pola Teknik Tranposisi (Permutasi) maka dapat

dilakukan untuk menyandikan atau menyembunyikan pesan secara

aman dari pihak yang tidak berwenang. Dari kombinasi teknik-

teknik inilah yang menjadi dasar dari pembentukan algoritma

kriptografi yang dikenal dengan Kriptografi Modern [1] .

2.1.2. Kriptografi Modern

Perbedaan kriptografi ini dengan Kriptografi Klasik, adalah pada

Kriptografi Modern sudah menggunakan perhitungan komputasi atau

program dalam pengoperasiannya, yang berfungsi mengamankan data baik

yang ditransfer melalui jaringan komputer maupun tidak. Hal ini sangat

berguna untuk untuk melindungi keamanan, integritas, dan keaslian dari

data.

Pada kriptografi ini karakter-karakter yang akan dioprasiakan seperti

plaintext dan kunci dikonversikan ke dalam suatu urutan digit biner (bit)

yaitu 0 atau 1, yang umumnya digunakan untuk skema pengkodeaan

ASCII (American Standart Code for Information Interchange) lihat

lampiran 4.

Page 30: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Satu buah karakter sama dengan delapan bit, maka jumlah karakter

yang terbentuk dari delapan bit tersebut adalah 256. Begitu juga ASCII

yang mempunyai jumlah karakter 256, pada pembahasan selanjutnya 256

karakter ASCII tersebut menjadi himpunan dari elemen finite field sub-

BAB 2.3. Operasi Aljabar.

Ada beberapa metode yang bisa digunakan, misal salah satu dari dua

metode, yaitu : pertama stream cipher (aliran cipher) dan kedua block

cipher (blok cipher). Kedua metode ini digunakan pada Algoritma kunci

Simetris yang akan dijelaskan pada sub-Bab 2.2.1. Algoritma Simetris

pembahasan selanjutnya. Pada stream cipher metode yang digunakan

dengan sejumlah urutan dari bit dienkripsi secara bit per bit. Untuk block

cipher, suatu urutan pembagian dibentuk dalam ukuran blok(block) yang

dinginkan sehingga dapat dioperasikan block per block.

Contoh penulisan bit (basis dua) dengan basis lainnya yaitu

heksadesimal (basis 16) dan desimal (basis 10) dengan empat bit yang

menghasilkan bilangan desimal 0 ..15 seperti Tabel 2.2..

Tabel 2.2. Representase Bit, Heksadesimal, dan Desimal

Bit Hexa Dec Bit Hexa Dec Bit Hexa Dec0000 0 0 0110 6 6 1100 C 12 0001 1 1 0111 7 7 1101 D 13 0010 2 2 1000 8 8 1110 E 14 0011 3 3 1001 9 9 1111 F 15 0100 4 4 1010 A 10 0101 5 5 1011 B 11

Page 31: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Operasi dasar enkripsi yang menggunakan bit (binary digit) lihat

Tabel 2.2. biasanya menggunakan metode kombinasi dua bit yang disebut

dengan ”Exclusive OR” dan terkadang ditulis dengan ”XOR”

menggunakan notasi “⊕ ”. Operasi ini merupakan suatu penambahan

modulo 2 yang digambarkan Tabel 2.3..

Tabel 2.3. Operasi XOR

⊕ 0 1 0 0 1 1 1 0

Operasi XOR pada Tabel 2.3. dengan rincian sebagai berikut :

0⊕ 0 = 0; 0⊕ 1 = 1;

1⊕ 0 = 1; 1⊕ 1 = 0.

Sebagai contoh dalam bentuk heksadesimal dengan melihat Tabel

2.2. sebagai proses konversi dari heksadesimal ke bit agar dapat

dioperasikan seperti Tabel 2.3. yaitu operasi XOR.

Contoh : 09⊕ 0D & 01⊕ 0F

1 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1

1⊕ 1 0⊕ 1 0⊕ 0 1⊕ 1 0⊕ 1 0⊕ 1 0⊕ 1 1⊕ 1 Hasil = 0 1 0 0 = 04 1 1 1 0 = 0E

09⊕ 0D = 04 & 01⊕ 0F = 0E

Page 32: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Algoritma kriptografi terus berkembang sesuai dengan

perkembangan teknologi komunikasi data. Sampai saat ini terdapat

berbagai macam algoritma dengan tujuan penggunaan yang berbeda,

seperti digunakan untuk enkripsi data, gambar atau suara. Namun tujuan

utama dari masing-masing algoritma adalah sama, yaitu [4]:

2.1.2.1. Kerahasiaan Data.

Kerahasiaan data digunakan untuk menjaga isi informasi

dari semua pihak kecuali pihak yang berhak mendapatkan

informasi tersebut saja. Ada beberapa cara dalam menjaga

kerahasiaan informasi, mulai dari proteksi fisik seperti

penyimpanan data di tempat khusus sampai kepada algoritma

matematika yang mengubah data informasi terang (data asli)

menjadi data acak.

2.1.2.2. Integritas Data.

Integritas data bertujuan untuk menjaga adanya perubahan

yang tidak diinginkan terhadap data. Untuk menjamin integritas

data, maka perlu pengetahuan dalam mendeteksi perubahan data

oleh sekelompok orang yang tidak berkepentingan. Perubahan data

bisa berupa pemasukan data baru, penghapusan atau penukaran

data.

Page 33: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

2.1.2.3. Keaslian data.

Keaslian data berhubungan dengan identifikasi, dimana

fungsi ini berlaku untuk pelaku dan informasi itu sendiri. Dua

pihak yang ingin bergabung dalam sebuah komunikasi harus

mengidentifikasi satu sama lainnya. Informasi yang dikirim dalam

sebuah paket harus diidentifikasi sesuai dengan keasliannya,

sebagai contoh berupa tanggal aslinya, isi data, waktu kirim, dan

sebagainya. Untuk alasan inilah aspek dari kriptografi biasanya

dibagi menjadi dua bagian yaitu identifikasi pelaku dan identifikasi

keaslian data.

Keamanan data pada lalu lintas jaringan merupakan suatu hal yang

diinginkan oleh banyak orang untuk menjaga kerahasiaannya. Supaya data

yang dikirim tetap aman dari orang yang tidak berwenang maka data harus

disembunyikan menggunakan algoritma kriptografi.

2.2. Algoritma

Definisi algoritma secara terminologi adalah urutan langkah-langkah logis

untuk penyelesaian masalah yang disusun secara sistematis. Sehingga

algoritma kriptografi merupakan langkah-langkah logis bagaimana

menyembunyikan pesan dari orang yang tidak berhak atas pesan tersebut.

Page 34: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Proses algoritma kriptografi penyandian terdiri dari algoritma Enkripsi (E)

dan algoritma Dekripsi (D), secara umum proses enkripsi dan dekripsi dapat

diterangkan menggunakan Persamaan 2.1..

⎭⎬⎫

==

P (C)DK C (P)EK

………...................................……..

2.1.

Ket :

E = Enkripsi

D = Dekripsi

P = Plaintext

C = Ciphertext

K = Kunci

Jika pesan ”P” (teks terang) dienkripsi dengan ”E” menngunakan suatu

kunci ”K” maka menghasilkan pesan ”C” (teks acak). Sedangkan pada proses

dekripsi, pesan ”C” tersebut diuraikan atau didekripsi dengan ”D”

menggunakan kunci ”K” sehingga dihasilkan pesan ”P” yang sama seperti

pesan semula (lihat Persamaan 2.1.) [4] . Untuk lebih jelasnya dapat dilihat

Gambar 2.1..

Page 35: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Gambar 2.1. Proses Umum Enkripsi dan Dekripsi

Keamanan suatu pesan diharapkan tergantung pada kunci yang digunakan,

sehingga algoritma-algoritma yang digunakan bukan menjadi kekuatan utama

pada keamanan enkripsi. Disini peranan algoritma enkripsi perlu diuji dan

dikaji terus.

Karakteristik kunci yang menggunakan algoritma kriptografi dapat

digolongkan sebagai berikut :

1. Algoritma kunci rahasia (simetris) : menggunakan satu kunci untuk

enkripsi dan dekripsi.

2. Algoritma kunci publik (asimetris) : menggunakan kunci yang berbeda

untuk enkripsi dan dekripsi.

Plaintext

Enkripsi

Ciphertext

Kunci Dekripsi

Plaintext

Informasi/ Pesan

Page 36: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

2.2.1. Algoritma Simetris

Simetris Kriptografi adalah algoritma dengan menggunakan kunci

yang sama pada enkripsi dan dekripsinya. Oleh karena itu, kunci yang

digunakan untuk enkripsi tidak boleh diberikan kepada publik melainkan

hanya kepada orang tertentu yang tahu atau boleh sehingga dapat

membaca data yang dienkripsi. Algoritma ini dikenal juga dengan istilah

algoritma kunci rahasia, karena kuncinya hanya boleh diketahui oleh dua

pihak yang berkomunikasi tersebut saja. Lihat Gambar 2.2. sebagai

ilustrasi dari proses enkripsi dan dekripsi pada kunci rahasia.

Gambar 2.2. Proses Enkripsi dan Dekripsi pada Algoritma Simetris (Kunci Rahasia)

Algoritma simetris pada umumnya banyak digunakan saat ini baik

untuk kalangan pemerintahan ataupun bisnis.

Kunci dari algoritma ini harus dijaga ketat supaya tidak ada pihak

luar yang mengetahuinya. Masalahnya sekarang adalah bagaimana untuk

memberi tahu pihak penerima mengenai metode atau kunci yang akan

digunakan sebelum komunikasi yang aman dapat berlangsung. Misalnya

dengan jalur komunikasi yang lebih aman yaitu bertemu langsung. Selain

Plaintext Enkripsi Ciphertext

Ciphertext Dekripsi Plaintext

Kunci rahasia

Page 37: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

masalah komunikasi awal untuk penyampaian kunci di atas, algoritma ini

mempunyai kelemahan lainnya. Kelemahan ini timbul jika terdapat banyak

pihak yang ingin saling berkomunikasi. Karena setiap pasangan harus

sepakat dengan kunci pribadi tertentu yang mengakibatkan pembengkakan

memori pada penyimpanan kunci, sehingga mempunyai kesulitan dalam

menghafal banyak kunci dan harus menggunakannya secara tepat. Contoh

Algoritma Simetris seperti : DES, Triple DES, AES, RC2, RC4, IDEA,

dan lain-lain. AES dengan kepanjangan “Advanced Encryption Standard”

akan menjadi pembahasan utama lihat BAB III.

2.2.1.1. Stream Cipher

Stream cipher (aliran cipher) merupakan bagian dari

algoritma simetris. Metode ini mengoprasikan bit per bit, setiap bit

plaintext dengan bit kunci. Kunci yang digunakan adalah kunci

utama (kunci induk) sebagai pembangkit kunci acak semu dari

Pseudo-Random Sequnce Generator (PRSG) dengan menjadikan

suatu nilai yang nampak seperti acak, tetapi sesungguhnya nilai

tersebut merupakan suatu urutan.

Random Number Generator (RNG) atau pembangkit nilai

random secara umum adalah Pseudorandom yang memberikan

inisial state atau seed (nilai yang diinput ke dalam state).

Pseudorandomess menghasilkan urutan yang sama secara

berulang-ulang pada penempatan yang berbeda. Kemudian kunci

Page 38: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

acak semu tersebut dioperasikan XOR dengan menggunakan

plaintext untuk mendapatkan bentuk ciphertext. Lihat Gambar 2.3.

(a) dan (b) untuk lebih jelasnya.

(a)

(b)

Gambar 2.3. Proses enkripsi pada stream cipher. (a) Pambangkitan bilangan random, dan (b) operasi XOR setelah bilangan random dibangkitkan.

Untuk mensimulasikan suatu random dengan kunci yang

mempunyai panjang terbatas, Algoritma Simetris Stream ini

menghasilkan bit dari sumber yang lain oleh pesan itu sendiri.

Key

Pseudo-Random Sequnce Generator (PRSG)

Plaintext Bitstream ⊕Plaintext Bitstream

Plaintext Bitstream

Pseudo-Random Stream

Ciphertext Bitstream

1 1 1 1 1 1 0 0 0 0 0 1 …

1 0 0 1 0 0 0 1 1 1 0 1 …

0 1 1 0 1 1 0 1 1 1 0 0 …

Page 39: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Sehingga Stream Cipher adalah Suatu urutan flow yang

berkelanjutan dan unsur-unsur yang berdiri sendiri, metode ini

kebalilkan dari block cipher, dimana elemen-elemen dua atau lebih

dikoleksi sebagai block.

2.2.1.2. Block Cipher

Block Cipher merupakan suatu metode dalam algoritma

dengan input dan outputnya berupa block, dan setiap block terdiri

dari beberapa bit (64 bit atau 128 bit). Block Cipher mempunyai

banyak aplikasi yang digunakan untuk memberi pelayanan

kerahasiaan data, integritas data dan keaslian data serta

memberikan layanan keystream generator untuk stream cipher.

Contoh pada sub-BAB 2.1.1.2. Teknik Tranposisi

(Permutasi) yang mengenkripsi plaintext “ TERIMA KASIH ”

dengan merepresentasikan lebih dahulu ke dalam bentuk block-

block, misal 1 block terdiri dari 6 karakter. Secara umum

digambarkan representasi plaintext dalam 1 block terdiri dari 64 bit

sama dengan 4 karakter.

Karakter[8] = a1, a2, a3,…… ,a8

Page 40: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Block 1

1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 a1 a3

1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 a2 a4

Block 2

0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 a5 a7

1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 a6 a8

Gambar 2.4. Proses Pemetaan Data pada Block Cipher

Block cipher secara sederhana mempunyai keuntungan,

yaitu jika satu block ada yang rusak tidak akan mempengaruhi

block yang lainnya, sehingga hanya block yang rusak yang perlu

dikirim ulang, tidak perlu semua block. Sedangkan stream cipher,

jika ada data yang rusak maka perlu dikirim ulang semua data yang

bersangkutan, karena data satu dengan yang lainnya mempunyai

keterikatan sebagai aliran data. Selain itu keuntungan yang dimiliki

block cipher yaitu pada proses dekripsinya tidak harus menunggu

semua pesan diterima lebih dahulu, maka dekripsi dapat dilakukan

bersamaan pada saat pesan dikirim.

Secara umum pengiriman block cipher dapat dilihat pada

Gambar 2.5.(a) dan (b).

Page 41: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

(a) Proses Enkripsi

(b) Proses Dekripsi

Gambar 2.5. Proses Enkripsi dan Dekripsi pada Block Cipher

2.2.2. Algoritma Asimetris.

Asimetris Kriptografi adalah algoritma yang mengunakan kunci

enkripsinya berbeda dengan dekripsi. Pada algorima ini kunci dekripsinya

tidak dibuka atau rahasia, sedangkan kunci enkripsinya bisa diberikan

Ciphertext Block 1

Ciphertext Block 2

Ciphertext Block n

Algoritma Dekripsi

Algoritma Dekripsi

Algoritma Dekripsi

Plaintext Block 1

Plaintext Block 2

Plaintext Block n

Kunci Kunci Kunci

Plaintext Block 1

Algoritma Enkripsi

Ciphertext Block 1

Kunci Kunci Plaintext Block 2

Plaintext Block n

Algoritma Enkripsi

Algoritma Enkripsi

Ciphertext Block 2

Ciphertext Block n

Kunci

Page 42: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

kepada publik. Untuk memperoleh atribut ini, algoritma dirancang pada

mekasime yang sulit untuk dipecahkan secara matematika.

Dalam Algoritma Asimetris kunci enkripsi dibuka, sehingga

siapapun yang ingin berkomunikasi dapat menggunakannya. Tetapi untuk

kunci dekripsi, hanya satu pihak saja yang mempunyai kunci dan dapat

menggunakannya. Oleh karena itu, kunci yang digunakan untuk enkripsi

disebut kunci publik, sedangkan kunci yang digunakan untuk dekripsi

disebut kunci pribadi atau kunci rahasia (Gambar 2.6.).

Gambar 2.6. Proses Enkripsi dan Dekripsi Algoritma Asimetris (Kunci Publik)

Algoritma ini digunakan untuk banyak area yang berbeda. Yang

paling umum digunakan adalah dalam hal pengiriman kunci algoritma

simetris pada tahap awal sebagai alternatif dari kelamahan Algoritma

Plaintext Enkripsi Ciphertext

Kunci Publik untuk pengirim

Peng

irim

an P

esan

Ciphertext Dekripsi Plaintext

Kunci Rahasia untuk penerima

Pene

rimaa

n Pe

san

Page 43: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Simetris di atas jika kedua pihak jaraknya jauh dan sulit untuk bertemu

langsung. Seperti telah dijelaskan sebelumnya, kunci publik digunakan

untuk enkripsi dan kunci rahasia digunakan untuk dekripsi.

Ketika membandingkan kelebihan dan kekurangan antara

Algoritma Simetris dan Algoritma Asimetris, algoritma yang

menggunakan kunci publik pada umumnya mempunyai lebih banyak

keuntungan dalam istilah kriptografi, seperti kelemahan pada algoritma

simetris di atas pada pengiriman awal dan pembengkakan momori atau

penghafalan kunci yang banyak. Algoritma Asimetris dapat

menanggulangi kelemahan-kelemahan tersebut.

Kendati kelebihan yang telah dijelaskan sebelumnya, Algoritma

Asimetris mempunyai kelemahan yaitu dari segi kecepatan (perhitungan

komputasi yang besar) yang lebih lambat dari Algoritma Simetris.

Oleh karena itu, dari tinjauan kelemahan dan kelebihannya kedua

sistem algoritma ini sering digabungkan atau dikombinasikan. Algoritma

Asimetris sebagai sarana komunikasi awal pengiriman kunci simetris,

selanjutnya digunakan Algorima Simetris dengan kunci rahasia di kedua

belah pihak agar pengoprasianya lebih cepat dari pada menggunakan

Algoritma Asimetris. Contoh dari algoritma yang menggunakan kunci

publik adalah PGP, RSA, dan lain-lain.

2.3. Operasi Aljabar

Page 44: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Secara umum akan dibahas beberapa operasi matematika yang berkaitan

dengan AES:Rijndael, seluruh dari tiap-tiap tahap atau langkah

transformasinya melibatkan state (1 blok ), akan tetapi sebenarnya unit dasar

operasi AES:Rinjdael adalah byte (terdiri dari 8 bit). Setiap byte sebagai

elemen finite field GF(28) yang didefinisikan pada operasi penjumlahan dan

perkalian.

Elemen finite field tersebut merupakan elemen dari field yang memiliki

sifat ring komutatif. Dalam hal ini, untuk semua finite field yang memiliki pn

untuk p merupakan bilangan prima dan n merupakan bilangan bulat n≥1 sama

dengan notasi GF(pn). Oleh karena itu, elemen-elemen GF(28) juga merupakan

ring komutatif yang memiliki sifat berikut : grup ( [g , +] : tertutup pada ’+’,

asosiatif pada ’+’, memiliki elemen identitas, dan mempunyai invers), grup

abelian ( grup komutatif), ring ( [g , + , • ] : tertutup pada ’• ’, asosiatif pada

’• ’, dan distributif) [16].

2.3.1. Field GF(28)

Elemen dari finite field bisa direpresentasikan dalam beberapa cara

yang berbeda (polinomial, bit, dan heksadesimal). Untuk semua pangkat n

bilangan prima memiliki satu finite field, oleh karena itu GF(28) dan

ASCII merupakan isomorfisme, yaitu homomorfisme yang merupakan

fungsi 1-1. Sedangakan homomorfisme adalah fungsi dari ring ke ring lain

yang mempunyai sifat f(a+b) = f(a) + f(b) dan f(ab) = f(a).f(b) [16] . Oleh

karena itu elemen tersebut sama, saat direpresentasikan memiliki pengaruh

Page 45: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

yang kuat dalam implemetasi yang kompleks. Dalam halm ini akan

direpresentasikan ring atas polinomial. Jika b, merupakan suatu nilai dari 0

atau 1 maka terbentuk suatu ukuran byte dari urutan bit b7 + b6 + b5 + b4 +

b3 + b2 + b1 + b0 (koefisien binary) dapat dituliskan pada Persamaan 2.2..

b(x) = b7x7 + b6x6 + b5x5 + b4x4 + b3x3 + b2x2 + b1x + b0 …………….. 2.2.

Persamaan 2.2. menjelaskan bahwa pangkat tertinggi dari

polinomial GF(28) tersebut adalah x7.

Contoh :

Nilai byte dalam bilangan heksadesimal ‘57’ (bentuk biner

01010111) sama dengan bentuk polinomial x6 + x4 + x2 + x + 1.

2.3.1.1. Penjumlahan

Penjumlahan dua elemen finite field didefinisikankan

sebagai operasi XOR (penjumlahan 2 elemen dengan modulo 2)

per bit lihat Tabel 2.3.. Sebagai konsekuensinya,

penyederhanaannya merupakan operasi yang identik. Ekspresi

berikut ini adalah ekivalen antara satu dengan lainnya

(heksadesimal, bit, dan notasi polinomial).

Contoh : ’57’ ⊕ ’83’ = ’d4’

01010111 10000011 ⊕

Page 46: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

11010100

(x6+x4+ x2+ x+1) + (x7+x+1) = (x7+ x6+x4+ x2)

Seluruh kondisi yang penting dalam menyelesaikan operasi

di atas merupakan bagian dari grup abelian yaitu mempunyai sifat :

komutatif ( x+y = y+x ), tertutup, asosiatif, mempunyai elemen

identitas, dan mempunyai invers.

2.3.1.2. Perkalian

Perkalian elemen GF(28 ) (notasi• ) adalah perkalian dalam

bentuk representasi polinomial dengan modulo polinomial m(x)

yang irreducible [15] (lihat Persamaan 2.3.) dari polinomial

pangkat delapan. Irreducible yaitu polinom yang hanya

mempunyai factor ‘01’ dan bilangan itu sendiri.

m(x) = x8+x4+ x3+ x+1 …………………………

2.3.

atau ‘11B’ dalam bentuk heksadesimal dan betuk desimal adalah

283.

Contoh : ‘57’• ’83’ = ‘ C1’

Page 47: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

(x6+x4+ x2+ x+1).(x7+x+1) = x13+ x11+ x9+ x8+ x7+ x7+ x5+

x3+ x2+ x+ x6+ x4+ x2+ x + 1

= x13+ x11+ x9+ x8+ x6+ x5+ x4+ x3+1

(x13+ x11+ x9+ x8+ x6+ x5+ x4+ x3+1) modulo (x8+x4+ x3+ x+1)

= x7+ x6+ 1

2.3.1.3. Perkalian dengan variabel x

Jika dituliskan perkalian b(x) sebagai berikut :

x.b(x) = b8x8+b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b0

Perkalian x• b(x) dapat diwujudkan sebagai left shift

(pergeseran ke kiri bit) yang diikuti XOR kondisional dengan 1b,

jika b8 = 1, maka XOR dilakukan, jika b8 = 0, maka XOR tidak

dilakukan. Exclusive-OR kondisional tersebut tidak lain adalah

operasi modulo dengan m(x). Serangkaian left shift yang disusul

operasi XOR tersebut dapat digunakan untuk perkalian antara

elemen finite field. Operasi x• b(x) dinotasikan sebagai xtime() [15]

. Sebagai contoh :

‘57’• ’13’ = ‘FE’

‘57’• ’02’ = xtime(57) = ‘AE’

‘57’• ’04’ = xtime(AE) = ‘47’

‘57’• ’08’ = xtime(47) = ‘8E’

Page 48: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

‘57’• ’10’ = xtime(8E) = ‘07’

‘57’• ’13’ = ‘57’• (’01’⊕ ’02’⊕ ’10’) = ‘57’⊕ ’AE’⊕ ’07’ = ‘FE’

2.3.2. Koefisien Polinom pada GF(28)

Direpresentasikan polinomial yang didefinisikan dengan koefisien

GF(28) sebagai Persamaan 2.4..

012

23

3)( axaxaxaxa +++= …...………………. 2.4.

Sehingga didapat bentuk koefisien sebagai [ 0123 ,,, aaaa ].

Polinoimial ini berbeda dengan polinomial pada finite field sebelumnya

sebagai polinomial koefisian binary. Pada polinomial ini akan

dioperasikan perkalian dengan polinomial yang berbeda, akan tetapi

bentuk polinomialnya sama yaitu berderajat 4, lihat b(x) lihat Persamaan

2.5..

012

23

3)( bxbxbxbxb +++= ………...…………. 2.5.

Definisi kedua yaitu kedua polinomial di atas diopersasikan

sebagai operasi XOR antara persamaan 2.4 dengan persamaan 2.5.

operasi XOR ini koresponden antara pangkat pada variabel x, dapat dilihat

Persamaan 2.6. sebagai hasilnya.

Page 49: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

)()()()()()( 00112

223

33 baxbaxbaxbaxbxa ⊕+⊕+⊕+⊕=+ …. 2.6.

Didefinisikan )()()( xcxbxa =+ , sehingga menghasilkan

Persamaan 2.7..

012

23

34

45

56

6)( cxcxcxcxcxcxcxc ++++++= ………….. 2.7.

Didapat dengan cara :

000 bac •= 3122134 bababac •⊕•⊕•=

10011 babac •⊕•= 32235 babac •⊕•=

2011022 bababac •⊕•⊕•= 336 bac •=

302112033 babababac •⊕•⊕•⊕•=

Hasil dari c(x) di atas belum dalam bentuk empat byte, maka

langkah selanjutnya c(x) di modularkan dengan polinomial derajat 4. Pada

algoritma AES diberikan polinomial x4+1, menjadi :

xi mod ( x4 + 1 ) = xi mod 4

Operasi modular dari a(x) dan b(x) menghasilkan sebuah d(x) yang

direpresentasikan pada Persamaan 2.8..

Page 50: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

012

23

3)( dxdxdxdxd +++= ………………… 2.8.

Dengan hasil :

⎪⎪⎭

⎪⎪⎬

•⊕•⊕•⊕•=•⊕•⊕•⊕•=•⊕•⊕•⊕•=•⊕•⊕•⊕•=

)()()()()()()()()()()()()()()()(

302112033

332011022

322310011

312213000

babababadbabababadbabababadbabababad

………………… 2.9.

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

3

2

1

0

0123

3012

2301

1230

3

2

1

0

bbbb

aaaaaaaaaaaaaaaa

dddd

…………………………2.10.

Page 51: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

BAB III

ADVANCED ENCRYPTION STANDARD (AES): RIJNDAEL

3.1. Pendahuluan

Algoritma AES:Rijndael yang disosialisasikan oleh National Institute of

Standards and Technology (NIST) pada November 2001 lahir sebagai standar

baru enkripsi yang dikembangkan dari algoritma DES (Data Encryption

Standard) melalui seleksi yang ketat dengan algoritma yang lainnya. AES

yang di cetuskan oleh Dr. Vincent Rijmen dan Dr. Joan Daemen menjadi

pemenang pada saat seleksi algoritma baru untuk menggantikan DES. Alasan

utama terpilihnya AES:Rijndael ini bukan karena algoritmanya yang paling

aman dari MARS, RC6, Serpent,Twofish, dan yang lainnya, tetapi

AES:Rijndael memiliki keseimbangan antara keamanan serta fleksibelitas

dalam berbagai platform software dan hardware [1] . Evaluasi terhadap

AES:Rijndael dijelaskan sebagai berikut :

1. Belum ada jenis serangan yang telah diketahui dapat memecahkan

Algoritma Rijndael.

2. Algoritma ini memakai S-Box nonlinier.

3. Rijndael mempunyai suatu security margin yang cukup, tetapi kritik

yang datang pada Rijndael cukup banyak, karena struktur

matematikanya yang sederhana bisa memberikan peluang suatu saat

Page 52: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

untuk diserang. Dengan kata lain, struktur yang sederhana memberikan

Rijndael untuk dikembangkan dalam waktu dekat.

4. Rijndael tidak memakan banyak sumber daya komputasi. Kecepatan

antara dekripsi lebih lama dibandingkan dengan enkripsinya.

5. AES:Rijndael mendukung perhitungan sub kunci untuk enkripsi.

6. AES:Rijndael memerlukan satu waktu dalam eksekusi untuk key

schedule dari semua sub kunci dekripsi dengan menggunakan kunci

khusus.

Algoritma AES:Rijndael menyandikan data dalam empat langkah dasar

yaitu, langkah SubBytes() , langkah ShiftRows(), langkah MixColumns(), dan

AddRoundKey(). Langkah-langkah tersebut dapat dideskripsikan lebih mudah

dengan memvisualisasikan data yang akan dikonversi dalam array byte segi

empat. SubBytes() diperoleh dengan memakai atau mensubtitusikan ke dalam

tabel nonlinear yang dikenal dengan tabel S-Box. ShiftRows() dilakukan

melalui permutasi byte-byte data dari kolom array yang berbeda. Langkah

MixColumns() menyandikan data menjadi kombinasi linear dari byte-byte data

dalam satu kolom array tersebut. AddRoundKey() dilakukan dengan operasi

XOR antara data dengan kunci. Keempat langkah tersebut akan memiliki

nama khusus dalam algoritma yang diterangkan AES (Gambar 3.1.)

Plaintext = MajuTrusKriptoKu

Page 53: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Kunci = ♥♦♣♠

State (tranformasi sementara) = ٱŽWgaö§μڤxΫjỒ’ir

Heksadesimal : Plaintext = M T K t π Æ 4D616A75547275734B726970746F4B75 a r r o ∩ ? ? ¿

Kunci = j u i K ¥ · 000102030405060708090A0B0C0D0E0F u s p u ¥ Å Q n plaintext Setelah SubBytes()

π Æ ↑ « ‼ ٱ a ڤ Ồ

? ? ¿ ∩ Å ≤ q Ž ö x ’

· ¥ U í ò » W § Ϋ i n ¥ Å Q d a g μ j r

Setelah ShiftRows() Setelah MixColumns() Setelah AddRoundKey()

Gambar3.1. SubBytes() , ShiftRows(), MixColumns(), dan AddRoundKey() pada karakter

Algoritma AES adalah cipher block simetrik, kunci rahasia yang sama

digunakan untuk menyandikan data maupun untuk memperoleh kembali data

tersebut dari data tersandinya. Istilah “AES-128” merujuk pada algoritma

Rijndael dengan panjang blok (block) data dan panjang kunci 128 bit. AES

sendiri menggunakan panjang block data 128 bit, tetapi panjang kunci bisa

berbeda-beda (AES-128, AES-192, dan AES-256). AES-128 melakukan 10

Page 54: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

round dengan 9 round utama ditambah sekali final round, berikut Gambar 3.2.

sebagai ilustrasi diagram alir dari algoritma AES-128.

start

Round 0

AddRoundKey()

Round Round +1

SubBytes()

SiftRows()

MixColoumns()

AddRoundKey()

Round = 9

SubBytes()

SiftRows()

AddRoundKey()

End

start

Round 0

AddRoundKey()

Round Round +1

InvSubBytes()

InvSiftRows()

InvMixColoumns()

AddRoundKey()

Round = 9

InvSubBytes()

InvSiftRows()

AddRoundKey()

End

Page 55: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

(a) (b)

Gambar3.2. Algoritma (a) Cipher, dan (b) Invers Cipher pada AES-128

3.2. Representasi Data

AES merepresentasikan data dengan cara urutan byte dan bit (0 atau 1

pada bn), dimana data diturunkan dari urutan input 128 bit per blok. Bit-bit

tersebut diberi indeks mulai dari 0 sampai dengan 127 (0 ≤ i < 128). Setiap

urutan 8 bit (1 byte) diberlakukan sebagai entitas tunggal yang merupakan

elemen finite field dengan representasi polinomial pada Persamaan 3.1..

b(x) = b7x7 + b6x6 + b5x5 + b4x4 + b3x3 + b2x2 + b1x + b0 ……………... 3.1.

Pengindeks-an bit dalam byte pada block dapat dilihat pada Tabel 3.1..

Tabel 3.1. Pengindeksan Aliran Input

Urutan Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 … Input Input0 Input1 … Posisi Bit/Byte 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 … State State0 State1 …

Cipher AES dilakukan pada array byte 2 dimensi yang disebut state.

Block data disusun dalam state yang terdiri atas empat baris Nb byte (Nb =

panjang block/4 adalah 4 untuk AES-128). Setiap byte diberi dua indeks yang

Page 56: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

menyatakan posisinya, dinyatakan sebagai sr,c atau s[r,c], dengan indeks baris

r (row) dalam interval 0 ≤ r < 4, sedangkan indeks kolom c (coloum) dalam 0

≤ c < Nb. Data dalam state menginformasikan hasil setiap tahap transformasi

(intermediate result).

Input dikopi ke state array pada permulaan cipher dan inverse cipher,

kemudian state diperbaharui pada akhir setiap transformasi (Gambar 3.1.).

Nilai state pada transformasi yang terakhir kemudian dikopi ke output kembali

(lihat Gambar 3.3.) dengan pengindeks-an yang serupa Tabel 3.1.

Input State Output 0in 4in 8in 12in 0,0s 1,0s 2,0s 3,0s 0out 4out 8out 12out

1in 5in 9in 13in 0,1s 1,1s 2,1s 3,1s 1out 5out 9out 13out

2in 6in 10in 14in 0,2s 1,2s 2,2s 3,2s 2out 6out 10out 14out

3in 7in 11in 15in 0,3s 1,3s 2,3s 3,3s 3out 7out 11out 15out

Gambar3.3. State array pada input dan output

State juga dapat dipandang sebagai word 4 byte, dengan indeks baris r dari

sr,c menyatakan indek dari keempat byte dalam setiap word. Dengan kata

lain, state ekivalen dengan array dari empat word yang berindeks c (indek

kolom dari sr,c) seperti dilihat pada Gambar 3.4..

w0 = s0,0 . s1,0 . s2,0 . s3,0 w2 = s0,2 . s1,2 . s2,2 . s3,2

w1 = s0,1 . s1,1 . s2,1 . s3,1 w3 = s0,3 . s1,3 . s2,3 . s3,3

0,0s 1,0s 2,0s 3,0s

Page 57: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

0,1s 1,1s 2,1s 3,1s

0,2s 1,2s 2,2s 3,2s

0,3s 1,3s 2,3s 3,3s

W0

w1

w2

w3

Gambar3.4. State array ekivalen pada word array

3.3. Enkripsi

Cipher (Gambar 3.2.) berlangsung dalam rentetan empat fungsi

pembangun (primitif) yang telah dijelaskan yaitu : SubBytes(), ShiftRows(),

MixColumns(), dan AddRoundKey(). Rentetan tersebut dijalankan sebanyak

Nr-1 sebagai loop utama, setiap loop disebut round (Nr = 10 round untuk

AES-128). AddRoundKey() dieksekusi sebagai round inisial sebelum loop

utama. Setelah loop utama tersebut berakhir (sembilan round), SubBytes(),

ShiftRows(),dan AddRoundKey(), dieksekusi secara berturut-turut sebagai final

round.

3.3.1. SubBytes()

Operasi ini merupakan suatu operasi subtitusi nonlinier yang

beroperasi secara mandiri pada setiap byte dengan menggunakan tabel S-

Box (Tabel 3.2.), transfomasi yang telah ditabelkan tersebut mengambil

invers multiplikatif GF(28) tiap byte, kemudian diikuti dengan

transformasi affine. Tranformasi affine merupakan sebuah tranformasi

yang terdiri dari perkalian oleh matriks yang diikuti dengan penjumlahan

dari vector seperti yang ditunjukan pada Persamaan 3.2..

Page 58: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

01100011

1111100001111100001111100001111110001111110001111110001111110001

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

xxxxxxxx

yyyyyyyy

……………… 3.2.

0,0s 1,0s 2,0s 3,0s 0,0s′ 1,0s′ 2,0s′ 3,0s′

0,1s 2,1s 3,1s

S-Box

0,1s′ 2,1s′ 3,1s′

0,2s 1,2s 2,2s 3,2s 0,2s′ 1,2s′ 2,2s′ 3,2s′

0,3s 1,3s 2,3s 3,3s 0,3s′ 1,3s′ 2,3s′ 3,3s′

Gambar3.5. Subtitusi Byte

Tabel 3.2. S-Box - nilai subtitusi untuk byte ( sr,c) dalam bentuk heksadesimal

s C

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 76

1 CA 82 C9 7D FA 59 47 F0 AD D4 A2 AF 9C A4 72 C0

2 B7 FD 93 26 36 3F F7 CC 34 A5 E5 F1 71 D8 31 15

3 04 C7 23 C3 18 96 05 9A 07 12 80 E2 EB 27 B2 75

4 09 83 2C 1A 1B 6E 5A A0 52 3B D6 B3 29 E3 2F 84

5 53 D1 00 ED 20 FC B1 5B 6A CB BE 39 4A 4C 58 CF

6 D0 EF AA FB 43 4D 33 85 45 F9 02 7F 50 3C 9F A8

r 7 51 A3 40 8F 92 9D 38 F5 BC B6 DA 21 10 FF F3 D2

8 CD 0C 13 EC 5F 97 44 17 C4 A7 7E 3D 64 5D 19 73

9 60 81 4F DC 22 2A 90 88 46 EE B8 14 DE 5E 0B DB

A E0 32 3A 0A 49 06 24 5C C2 D3 AC 62 91 95 E4 79

B E7 C8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08

C BA 78 25 2E 1C A6 B4 C6 E8 DD 74 1F 4B BD 8B 8A

D 70 3E B5 66 48 03 F6 0E 61 35 57 B9 86 C1 1D 9E

E E1 F8 98 11 69 D9 8E 94 9B 1E 87 E9 CE 55 28 DF

F 8C A1 89 0D BF E6 42 68 41 99 2D 0F B0 54 BB 16

crs , crs ,′

Page 59: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

3.3.2. ShiftRows()

ShiftRows() merupakan langkah permutasi yang dieksekusi lewat

pergeseran siklik secara memutar dengan geseran yang acak pada tiga

baris terakhir state (baris pertama, r = 0, tidak digeser). Untuk AES-128

baris ke dua digeser secara siklik ke kiri sekali, baris ke tiga dua kali, baris

ke empat tiga kali (Gambar 3.6.(a) dan (b)).

ShiftRows()

0,rs 1,rs 2,rs 3,rs

0,rs′ 1,rs′ 2,rs′ 3,rs′

(a)

ShiftRows()

0,0s 1,0s 2,0s 3,0s 0,0s 1,0s 2,0s 3,0s

0,1s 1,1s 2,1s 3,1s 1,1s 2,1s 3,1s 0,1s

0,2s 1,2s 2,2s 3,2s 2,2s 3,2s 0,2s 1,2s

0,3s 1,3s 2,3s 3,3s 3,3s 0,3s 1,3s 2,3s

(b)

Gambar3.6. Shift Rows

3.3.3. MixColumns()

Page 60: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Transformasi MixColumns() mengoperasikan state kolom demi

kolom. Operasi ini dilakukan pada state kolom, dengan mengkoversikan

setiap kolom sebagai polinomial. Kolom dianggap sebagai polinomial

pada GF(28). Transformasi ini dapat digambarkan pada Gambar 3.7.

dengan perkalian matriks seperti Persamaan 3.3. dan Persamaan 3.4..

⎪⎪

⎪⎪

•⊕⊕⊕•=′

•⊕•⊕⊕=′

⊕•⊕•⊕=′

⊕⊕•⊕•=′

)]02([)]03([)]03([)]02([

)]03([)]02([)]03([)]02([

,3,2,1,0,3

,3,2,1,0,2

,3,2,1,0,1

,3,2,1,0,0

ccccc

ccccc

ccccc

ccccc

ssssssssssssssssssss

………………3.3.

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

×

⎥⎥⎥⎥

⎢⎢⎢⎢

c

c

c

c

c

c

c

c

ssss

ssss

,3

,2

,1

,0

,3

,2

,1

,0

02010103030201010103020101010302

………………… 3.4.

MixColumns()

0,0s 2,0s 3,0s 0,0s′ 2,0s′ 3,0s′

0,1s 2,1s 3,1s 0,1s′ 2,1s′ 3,1s′

0,2s 2,2s 3,2s 0,2s′ 2,2s′ 3,2s′

0,3s 2,3s 3,3s 0,3s′ 2,3s′ 3,3s′

Gambar3.7. Mix Coloum

3.3.4. AddRoundKey()

cs ,0

cs ,1

cs ,2

cs ,3

cs ,0′

cs ,1′

cs ,2′

cs ,3′

Page 61: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Operasi ini merupakan suatu operasi dari penambahan kunci untuk

setiap elemen pada finite field yang didefinisikan dengan operasi XOR

(tabel 2.3.) dan setiap kunci round terdiri dari w[i] dimana w[i] merupakan

sub kunci yang diturunkan dari kunci primer. Penjumlahan (Bagian

2.3.1.1.) dilakukan antara state dengan Round Key hasil ekspansi (Gambar

3.8.). Persamaan 3.5. berikut ini menjabarkan penjumlahan tersebut.

][][][ 4*,,3,,2,,1,,0,,3,,2,,1,,0 croundcccccccc wssssssss +⊕=′′′′ …………… 3.5.

dengan 0 ≤ c < 4 (penjumlahan per block).

0,0s 2,0s 3,0s 0,0s′ 2,0s′ 3,0s′

0,1s 2,1s 3,1s 0,1s′ 2,1s′ 3,1s′

0,2s 2,2s 3,2s

01+w

21+w

31+w 0,2s′ 2,2s′ 3,2s′

0,3s 2,3s 3,3s 0,3s′ 2,3s′ 3,3s′

Gambar3.8. Operasi XOR pada AddRoundKey()

3.4. Ekspansi Kunci

Algoritma AES melaksanakan kunci primer dan membuat suatu ekspansi

kunci untuk menghasilkan key schedule. Kunci direpresentasikan menjadi

word (w[i]) lihat Gambar 3.4. serupa dengan state, akan tetapi elemen

statenya adalah cipher key. Ekspansi kunci yang diperlukan AES Nb(Nr+1)

word, sehingga untuk AES-128 membutuhkan 4(10+1) word = 44 word.

Beberapa langkah yang ditempuh untuk membuat key schedule yaitu

Rotword(), SubWord, dan Rcon().

cw +1

cs ,0

cs ,1

cs ,2

cs ,3

cs ,0′

cs ,1′

cs ,2′

cs ,3′

Page 62: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

RotWord() adalah Jika w [i] direpresentasikan dengan array baris atau

kolom menjadi baris (transpose), maka dapat di ilustrasikan dengan

menggeser sekali ke kiri pada posisi byte seperti yang dilakukan shiftrows()

pada baris kedua. Misal w[i] = ( )3210 ,,, aaaa , maka didapat RotWord(w[i]) =

( )0321 ,,, aaaa .

SubWord() yaitu subtitusikan setiap byte yang dikonversikan kebentuk

heksadesimal dengan tabel S-Box seperti yang dilakukan SubBytes(). Misal

w[i] = CF4F3C09, dengan mensubtitusikan ketabel S-Box menghasilkan

SubWord(w[i]) = 8A84EB01, dimana CF menjadi 8A, 4F menjadi 84, 3C

menjadi EB, dan 09 menjadi 01.

Rcon[i] merupakan suatu komponen tetap (konstanta) word dari round

dalam perhitungan ekspansi ke dalam key schedule. Adapun nilainya untuk

AES-128 yang menggunakan 10 kali putaran dari Persamaan 3.6..

Rcon[i] = [xi, ‘00’, ‘00’, ‘00’] ………………………… 3.6.

Rcon[1] = [x0, ‘00’, ‘00’, ‘00’] = [‘01’, ‘00’, ‘00’, ‘00’] = 01000000

Rcon[2] = [x1, ‘00’, ‘00’, ‘00’] = [‘02’, ‘00’, ‘00’, ‘00’] = 02000000

Rcon[3] = [x2, ‘00’, ‘00’, ‘00’] = [‘04’, ‘00’, ‘00’, ‘00’] = 04000000

Rcon[4] = [x3, ‘00’, ‘00’, ‘00’] = [‘08’, ‘00’, ‘00’, ‘00’] = 08000000

Rcon[5] = [x4, ‘00’, ‘00’, ‘00’] = [‘10’, ‘00’, ‘00’, ‘00’] = 10000000

Rcon[6] = [x5, ‘00’, ‘00’, ‘00’] = [‘20’, ‘00’, ‘00’, ‘00’] = 20000000

Page 63: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Rcon[7] = [x6, ‘00’, ‘00’, ‘00’] = [‘40’, ‘00’, ‘00’, ‘00’] = 40000000

Rcon[8] = [x7, ‘00’, ‘00’, ‘00’] = [‘80’, ‘00’, ‘00’, ‘00’] = 80000000

Rcon[9] = [x8, ‘00’, ‘00’, ‘00’] = [x7• x, ‘00’, ‘00’, ‘00’] = 1B000000

x7• x = xtime(x7) = xtime(80) = [leftshift(80)] = ‘1B’

Rcon[10] = [x9, ‘00’, ‘00’, ‘00’] = [x8• x, ‘00’, ‘00’, ‘00’] = 36000000

3.5. Dekripsi

Transformasi-transformasi yang merupakan kebalikan dari setiap cipher

diterapkan dalam program dekripsi (inverse cipher) (Gambar3.2.(b)). Fungsi

AddRoundKey() untuk enkripsi digunakan kembali untuk dekripsi. Adapun

yang harus dibuat lagi adalah InvSubBytes(), InvShiftRows(), dan

InvMixColumns(). Beberapa bagian cukup dikopi dari fungsi kebalikannya

yang telah digunakan saat enkripsi.

AddRoundKey() dieksekusi sebagai initial round, diikuti sembilan round

rentetan InvShiftRows(), InvSubBytes(), InvMixColumns(), dan

AddRoundKey(). Round ke-10 yang mengikutinya tidak menyertakan

InvMixColumns serupa dengan final round enkripsi.

3.5.1. InvSubBytes()

InvSubBytes() perubahan hanya pada tabel S-box yang digunakan

yaitu S-Box-1. Invers dari tabel S-Box yang digunakan untuk invers

SubBytes() tersedia sebagai S-Box-1 seperti Tabel 3.3..

Page 64: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Tabel 3.3. S-Box-1- nilai subtitusi untuk byte (sr,c) dalam bentuk heksadesimal

s C

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 52 09 6A D5 30 36 A5 38 BF 40 A3 9E 81 F3 D7 FB

1 7C E3 39 82 9B 2F FF 87 34 8E 43 44 C4 DE E9 CB

2 54 7B 94 32 A6 C2 23 3D EE 4C 95 0B 42 FA C3 4E

3 08 2E A1 66 28 D9 24 B2 76 5B A2 49 6D 8B D1 25

4 72 F8 F6 64 86 68 98 16 D4 A4 5C CC 5D 65 B6 92

5 6C 70 48 50 FD ED B9 DA 5E 15 46 57 A7 8D 9D 84

6 90 D8 AB 00 8C BC D3 0A F7 E4 58 05 B8 B3 45 06

r 7 D0 2C 1E 8F CA 3F 0F 02 C1 AF BD 03 01 13 8A 6B

8 3A 91 11 41 4F 67 DC EA 97 F2 CF CE F0 B4 E6 73

9 96 AC 74 22 E7 AD 35 85 E2 F9 37 E8 1C 75 DF 6E

A 47 F1 1A 71 1D 29 C5 89 6F B7 62 0E AA 18 BE 1B

B FC 56 3E 4B C6 D2 79 20 9A DB C0 FE 78 CD 5A F4

C 1F DD A8 33 88 07 C7 31 B1 12 10 59 27 80 EC 5F

D 60 51 7F A9 19 B5 4A 0D 2D E5 7A 9F 93 C9 9C EF

E A0 E0 3B 4D AE 2A F5 B0 C8 EB BB 3C 83 53 99 61

F 17 2B 04 7E BA 77 D6 26 E1 69 14 63 55 21 0C 7D

3.5.2. InvShiftRows()

Kebalikan ShiftRows() ini (Bagian 3.3.2.) berlangsung dengan

menggeser siklik ke arah berlawanan. Baris ke dua digeser siklik ke kanan

sekali, baris ke tiga dua kali, baris ke empat tiga kali (Gambar 3.9.).

0,0s 1,0s 2,0s 3,0s 0,0s 1,0s 2,0s 3,0s

0,1s 1,1s 2,1s 3,1s 3,1s 0,1s 1,1s 2,1s

0,2s 1,2s 2,2s 3,2s 2,2s 3,2s 0,2s 1,2s

0,3s 1,3s 2,3s 3,3s 1,3s 2,3s 3,3s 0,3s

Page 65: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Gambar3.9.Invers Shift Rows

3.5.3. InvMixColumns()

Operasi state per kolom yang diwujudkan MixColumns() (Bagian

3.3.3.) memiliki kebalikan berupa Persamaan 3.7..

⎪⎪

⎪⎪

•⊕•⊕•⊕•=′

•⊕•⊕•⊕•=′

•⊕•⊕•⊕•=′

•⊕•⊕•⊕•=′

)]0([)]09([)]0([)]0([)]0([)]0([)]09([)]0([)]0([)]0([)]0([)]09([)]09([)]0([)]0([)]0([

,3,2,1,0,3

,3,2,1,0,2

,3,2,1,0,1

,3,2,1,0,0

ccccc

ccccc

ccccc

ccccc

sEssDsBssBsEssDssDsBsEssssDsBsEs

…..….

3.7.

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

×

⎥⎥⎥⎥

⎢⎢⎢⎢

c

c

c

c

c

c

c

c

ssss

ssss

EDBBEDDBE

DBE

,3

,2

,1

,0

,3

,2

,1

,0

00900000900000909000

…………………….. 3.8.

Koefisien pengali dalam InvMixColumns() adalah 09, 0b,

0d, dan 0e.

Page 66: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

BAB IV

SIMULASI

4.1. Simulasi Cipher (Enkripsi)

Simulasi ini diambil dari Lampiran 1 dengan bentuk karakter sebagai

berikut :

Plaintext = "3DUfwêÖ¬ε

Kunci = ♥♦♣♠

Ciphertext = iαj♦0ÇpZ

Enkripsi yang merupakan proses pengacakan pesan seperti telah dijelaskan

pada sub-BAB 3.3. dengan menunjukan state sebagai objek utama yang akan

disimulasikan secara block per block untuk panjang kunci 128 bit dalam

bentuk heksadesimal (Lampiran 1) [5] sebagai berikut :

Plaintext = 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE

FF

Kunci = 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E

0F

AddRoundKey

Page 67: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

St1 00 44 88 CC St2 00 04 08 0C

11 55 99 DD 01 05 09 0D

22 66 AA EE 02 06 0A 0E

33 77 BB FF 03 07 0B 0F Input Kunci

S-Box

St3 00 40 80 C0 St4 63 09 CD BA

10 50 90 D0 CA 53 60 70

20 60 A0 E0 B7 D0 E0 E1

30 70 B0 F0 04 51 E7 8C

SiftRows()

St5 63 09 CD BA St6 5F 57 F7 1D

53 60 70 CA 72 F5 BE B9

E0 E1 B7 D0 64 BC 3B F9

8C 04 51 E7 15 92 29 1A

MixColoums()

4.1.1. AddRoundKey

Langkah pertama yaitu mengkopi plaintext sebagai St1 dan Kunci

sebagai St2. St3 didapat dari proses AddRoundKey (Opersai XOR lihat

Tabel 2.3.) antara St1 dan St2 yang dikonversikan ke dalam bentuk biner

(basis 2) terlebih dahulu lihat tabel ASCII (lampiran 4), dijelaskan

sebagai berikut :

Page 68: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

00000000 = ‘00’ 00010001 = ‘11’ 00100010 = ‘22’ 00110011 = ‘33’ 00000000 = ‘00’ 00000001 = ‘01 00000010 = ‘02’ 00000011 = ‘03’ 00000000 = ‘00’ 00010000 = ‘10’ 00100000 = ‘20’ 00110000 = ’30’ 01000100 = ‘44’ 01010101 = ‘55’ 01100110 = ‘66’ 01110111 = ‘77’ 00000100 = ‘04’ 00000101 = ‘05’ 00000110 = ‘06’ 00000111 = ‘07’ 01000000 = ‘40’ 01010000 = ‘50’ 01100000 = ‘60’ 01110000 = ‘70’ 10001000 = ‘88’ 10011001 = ‘99’ 10101010 = ‘AA’ 10111011 = ‘BB’ 00001000 = ‘08’ 00001001 = ‘09’ 00001010 = ‘0A’ 00001011 = ‘0B’ 10000000 = ‘80’ 10010000 = ‘90’ 10100000 = ‘A0’ 10110000 = ‘B0’ 11001100 = ‘CC’ 11011101 = ‘DD’ 11101110 = ‘EE’ 11111111 = ‘FF’ 00001100 = ‘0C’ 00001101 = ‘0D’ 00001110 = ‘0E’ 00001111 = ‘0F’

11000000 = ‘C0’ 11010000 = ‘D0’ 11100000 = ‘E0’ 11110000 = ‘F0’

Sehingga dihasilkan ’00’ ; ’10’ ; ’20’ ; ’30’ ; ’40’ ; ’50’ ; ’60’ ;

’70’ ; ’80’ ; ’90’ ; ’A0’ ; ’B0’ ; ’C0’ ; ’D0’ ; ’E0’ ; ’F0’ .

4.1.2. SubBytes()

Langkah selanjutnya SubBytes() yaitu mensubtitusikan St3 dalam

bentuk heksadesimal kedalam tabel S-Box (Tabel 3.2.) sehingga

menghasilkan St4. Dimana diketahui Sr,c sebagai state 3 serta r (row)

merupakan baris dan c (coloum) merupakan kolom. Digambarkan ‘00’

menjadi ‘63’ sebagai berikut :

S C

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 76

1 CA 82 C9 7D FA 59 47 F0 AD D4 A2 AF 9C A4 72 C0

Page 69: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

2 B7 FD 93 26 36 3F F7 CC 34 A5 E5 F1 71 D8 31 15

3 04 C7 23 C3 18 96 05 9A 07 12 80 E2 EB 27 B2 75

4 09 83 2C 1A 1B 6E 5A A0 52 3B D6 B3 29 E3 2F 84

5 53 D1 00 ED 20 FC B1 5B 6A CB BE 39 4A 4C 58 CF

6 D0 EF AA FB 43 4D 33 85 45 F9 02 7F 50 3C 9F A8

R 7 51 A3 40 8F 92 9D 38 F5 BC B6 DA 21 10 FF F3 D2

8 CD 0C 13 EC 5F 97 44 17 C4 A7 7E 3D 64 5D 19 73

9 60 81 4F DC 22 2A 90 88 46 EE B8 14 DE 5E 0B DB

A E0 32 3A 0A 49 06 24 5C C2 D3 AC 62 91 95 E4 79

B E7 C8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08

C BA 78 25 2E 1C A6 B4 C6 E8 DD 74 1F 4B BD 8B 8A

D 70 3E B5 66 48 03 F6 0E 61 35 57 B9 86 C1 1D 9E

E E1 F8 98 11 69 D9 8E 94 9B 1E 87 E9 CE 55 28 DF

F 8C A1 89 0D BF E6 42 68 41 99 2D 0F B0 54 BB 16

4.1.3. ShiftRows()

St5 merupakan hasil dari proses ShiftRows() dengan menggeser

secara cyclic (lihat Gambar 3.6. (b)) sebagai berikut :

4 63 09 CD BA 4 63 09 CD BA

CA 53 60 70 CA 53 60 70

B7 D0 E0 E1 B7 D0 E0 E1

04 51 E7 8C 04 51 E7 8C

5 63 09 CD BA

53 60 70 CA

E0 E1 B7 D0

8C 04 51 E7

4.1.4. MixColoums()

Page 70: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Langkah selanjutnya yaitu MixColoums() (lihat Gambar 3.7.), St6

dihasilkan dari perkalian antara koefisien ‘02’ ; ‘03’ ; ‘01’ ; ‘01’ yang

ditetatapkan Rijndael dengan St5 (per-word). Operasi yang dilakukan

sebagai perkalian matriks (lihat Gambar 3.7. (a)) dengan

merepresentasikan ke dalam bentuk polinomial sehingga mendapatkan

persamaan seperti persamaan 3.3., dijelaskan sebagai berikut :

w0 = 6353E08C w1 = 0960E104 w2 = CD70B751 w3 =

BACAD0E7

Sebagai contoh w0 = 6353E08C dibawah ini.

)8]02([053)63]03([)8]03([)0]02([5363

8)0]03([)53]02([6380)53]03([)63]02([

,3

,2

,1

,0

CEsCEsCEsCEs

c

c

c

c

•⊕⊕⊕•=′

•⊕•⊕⊕=′

⊕•⊕•⊕=′

⊕⊕•⊕•=′

Representasi polinomial :

‘01’ = 00000001 = 1 ; elemen identitas (• )

’02’ = 00000010 = x

‘03’ = 00000011 = 1+x

‘63’ = 01100011 = 156 +++ xxx

‘53’ = 01010011 = 146 +++ xxx

Page 71: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

‘E0’ = 11100000 = 567 xxx ++

‘8C’ = 10001100 = 237 xxx ++

Perkalian (• )

1. CEs c 80)53]03([)63]02([,0 ⊕⊕•⊕•=′

‘02’• ’63’ = ( x ).( 156 +++ xxx ) = xxxx +++ 267 = 11000110

‘03’• ’53’ = ( 1+x ).( 146 +++ xxx )

= ( xxxx +++ 257 )+( 146 +++ xxx )

= 124567 +++++ xxxxx = 11110101

‘01’• ’E0’ = (1).( 567 xxx ++ ) = 567 xxx ++ = 11100000

’01’• ’8C’ = (1).( 237 xxx ++ ) = 237 xxx ++ = 10001100

2. CEs c 8)0]03([)53]02([63,1 ⊕•⊕•⊕=′

‘01’• ’63’ = (1).( 156 +++ xxx ) = 156 +++ xxx = 01100011

‘02’• ’53’ = ( x ).( 146 +++ xxx ) = xxxx +++ 257 = 10100110

‘03’• ’E0’ = ( 1+x ).( 567 xxx ++ ) = ( 678 xxx ++ )+( 567 xxx ++ )

= ( 58 xx + ) modulo ( 1348 ++++ xxxx )

= 1

11

1

345

348

58348

++++

++++

+++++

xxxxxxxx

xxxxxx

= 1345 ++++ xxxx = 00111011

’01’• ’8C’ = (1).( 237 xxx ++ ) = 237 xxx ++ = 10001100

Page 72: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

3. )8]03([)0]02([5363,2 CEs c •⊕•⊕⊕=′

‘01’• ’63’ = (1).( 156 +++ xxx ) = 156 +++ xxx = 01100011

‘01’• ’53’ = (1).( 146 +++ xxx ) = 146 +++ xxx = 01010011

‘02’• ’E0’ = ( x ).( 567 xxx ++ ) = 678 xxx ++

= ( 678 xxx ++ ) modulo ( 1348 ++++ xxxx )

= 1

11

1

3467

348

678348

+++++

++++

++++++

xxxxxxxxx

xxxxxxx

= 13467 +++++ xxxxx = 11011011

’03’• ’8C’ = ( 1+x ).( 237 xxx ++ ) = ( 348 xxx ++ )+( 237 xxx ++ )

= ( 2478 xxxx +++ ) modulo ( 1348 ++++ xxxx )

= 1

11

1

237

348

2478348

++++

++++

+++++++

xxxxxxxxxxxxxxxx

= 1237 ++++ xxxx = 10001111

4. )8]02([053)63]03([,3 CEs c •⊕⊕⊕•=′

‘03’• ’63’ = ( 1+x ).( 156 +++ xxx )

= ( xxxx +++ 267 )+( 156 +++ xxx ) = 1257 +++ xxx

= 10100101

‘01’• ’53’ = (1).( 146 +++ xxx ) = 146 +++ xxx = 01010011

Page 73: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

‘01’• ’E0’ = (1).( 567 xxx ++ ) = 567 xxx ++ = 11100000

’02’• ’8C’ = ( x ).( 237 xxx ++ ) = ( 348 xxx ++ )

= ( 348 xxx ++ ) modulo ( 1348 ++++ xxxx )

= 1

11

1348

348348

+++++

++++++

xxxxx

xxxxxxx

= 1+x = 00000011

Penjumlahan (⊕ )

11000110 01100011 01100011 10100101 11110101 10100110 01010011 01010011 11100000 00111011 11011011 11100000 10001100 10001100 10001111 00000011 01011111=‘5F’ 01110010=’72’ 01100100 =’64’ 00010101=’15’

Dapat dituliskan sebagai berikut :

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

×

⎥⎥⎥⎥

⎢⎢⎢⎢

1564725

80

5363

02010103030201010103020101010302 F

CE

Nilai yang dioperasikan di atas sama dengan caranya untuk

mencari w1,w2, dan w3.

Page 74: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Diasumsikan untuk round selanjutnya sama dengan simulasi di atas, hanya

saja kunci yang digunakan pada AddRounKey menggunakan key schedule(sub-

BAB 4.3.)

4.2. Simulasi Invers Cipher (Dekripsi)

Dekripsi merupakan penterjemahan ciphertext menjadi ke bentuk semula

atau plaintext. Berikut ini akan disimulasikan pada Round ke-10 (Final

Round) lihat Lampiran 2 yang merupakan invers dari Cipher sub-BAB 4.1.,

yang mana proses MixColoums() tidak diikut sertakan pada round ini.

Dijelaskan dibawah ini :

InvShiftRows()

St1 63 09 CD BA St2 63 09 CD BA

53 60 70 CA CA 53 60 70

E0 E1 B7 D0 B7 D0 E0 E1

8C 04 51 E7 04 51 E7 8C

S-Box-1

AddRoundKey

St3 00 40 80 C0 St4 00 04 08 0C

10 50 90 D0 01 05 09 0D

20 60 A0 E0 02 06 0A 0E

30 70 B0 F0 03 07 0B 0F

Page 75: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

St5 00 44 88 CC

11 55 99 DD

22 66 AA EE

33 77 BB FF

4.2.1. InvShiftRows()

Invers ShiftRows() ini seperti (sub-BAB 3.5.2.) dengan menggeser

secara cyclic St1 menjadi St2 sebagai berikut :

St1 63 09 CD BA St1 63 09 CD BA

53 60 70 CA 53 60 70 CA

E0 E1 B7 D0 E0 E1 B7 D0

8C 04 51 E7 8C 04 51 E7

St2 63 09 CD BA

CA 53 60 70

B7 D0 E0 E1

04 51 E7 8C

4.2.2. InvSubBytes()

Langkah selanjutnya Invers SubBytes() yaitu mensubtitusikan St2

dalam bentuk heksadesimal ke dalam tabel S-Box-1 (Invers S-Box) lihat

Page 76: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Tabel 3.3. sehingga menghasilkan St3. Digambarkan ‘63’ menjadi ‘00’

sebagai berikut :

s C

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 52 09 6A D5 30 36 A5 38 BF 40 A3 9E 81 F3 D7 FB

1 7C E3 39 82 9B 2F FF 87 34 8E 43 44 C4 DE E9 CB

2 54 7B 94 32 A6 C2 23 3D EE 4C 95 0B 42 FA C3 4E

3 08 2E A1 66 28 D9 24 B2 76 5B A2 49 6D 8B D1 25

4 72 F8 F6 64 86 68 98 16 D4 A4 5C CC 5D 65 B6 92

5 6C 70 48 50 FD ED B9 DA 5E 15 46 57 A7 8D 9D 84

6 90 D8 AB 00 8C BC D3 0A F7 E4 58 05 B8 B3 45 06

r 7 D0 2C 1E 8F CA 3F 0F 02 C1 AF BD 03 01 13 8A 6B

8 3A 91 11 41 4F 67 DC EA 97 F2 CF CE F0 B4 E6 73

9 96 AC 74 22 E7 AD 35 85 E2 F9 37 E8 1C 75 DF 6E

A 47 F1 1A 71 1D 29 C5 89 6F B7 62 0E AA 18 BE 1B

B FC 56 3E 4B C6 D2 79 20 9A DB C0 FE 78 CD 5A F4

C 1F DD A8 33 88 07 C7 31 B1 12 10 59 27 80 EC 5F

D 60 51 7F A9 19 B5 4A 0D 2D E5 7A 9F 93 C9 9C EF

E A0 E0 3B 4D AE 2A F5 B0 C8 EB BB 3C 83 53 99 61

F 17 2B 04 7E BA 77 D6 26 E1 69 14 63 55 21 0C 7D

4.2.3. AddRounKey()

Langkah terakhir yaitu AddRounKey() dengan mengoprasikan

XOR (lihat Tabel 2.3) antara St3 dan St4 . Sehingga menghasilkan St5

sebagai plaintext, dijelaskan sebagai berikut :

00000000 = ‘00’ 00010000 = ‘10’ 00100000 = ‘20’ 00110000 = ’30’ 00000000 = ‘00’ 00000001 = ‘01 00000010 = ‘02’ 00000011 = ‘03’ 00000000 = ‘00’ 00010001 = ‘11’ 00100010 = ‘22’ 00110011 = ‘33’ 01000000 = ‘40’ 01010000 = ‘50’ 01100000 = ‘60’ 01110000 = ‘70’ 00000100 = ‘04’ 00000101 = ‘05’ 00000110 = ‘06’ 00000111 = ‘07’ 01000100 = ‘44’ 01010101 = ‘55’ 01100110 = ‘66’ 01110111 = ‘77’ 10000000 = ‘80’ 10010000 = ‘90’ 10100000 = ‘A0’ 10110000 = ‘B0’

Page 77: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

00001000 = ‘08’ 00001001 = ‘09’ 00001010 = ‘0A’ 00001011 = ‘0B’ 10001000 = ‘88’ 10011001 = ‘99’ 10101010 = ‘AA’ 10111011 = ‘BB’ 11000000 = ‘C0’ 11010000 = ‘D0’ 11100000 = ‘E0’ 11110000 = ‘F0’ 00001100 = ‘0C’ 00001101 = ‘0D’ 00001110 = ‘0E’ 00001111 = ‘0F’ 11001100 = ‘CC’ 11011101 = ‘DD’ 11101110 = ‘EE’ 11111111 = ‘FF’

Sehingga kembali ke bentuk aslinya atau plaintext ’00’ ; ’11’ ;

’22’ ; ’33’ ; ’44’ ; ’55’ ; ’66’ ; ’77’ ; ’88’ ; ’99’ ; ’AA ; ’BB’ ; ’CC’ ; ’DD’

; ’EE’ ; ’FF’ .

Diasumsikan juga seperti Cipher bahwa simulasi round 1 sampai dengan 9

caranya sama seperti di atas (lihat sub-BAB 3.3. dan 4.1 serta sub-BAB 3.4).

Sehingga pesan yang acak dapat dikembalikan seperti semula (Lampiran 2)

[5], ditunjukkan dalam bentuk karakter sebagai berikut :

Ciphertext = iαj♦0ÇpZ

Kunci = ♥♦♣♠

Plaintext = "3DUfwêÖ¬ε

4.3. Simulasi Ekspansi Kunci

Ekspansi kunci yang dibangkitkan dari kunci primer menghasilkan key

schedule. Kunci direpresentasikan menjadi word (w[i]) lihat sub-BAB 3.4..

Misalnya diketahui:

CIPHER KEY = 2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C

Page 78: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

w0 = 2B7E1516 w1 = 28AED2A6 w2 = ABF71588 w3 = 09CF4F3C

Maka akan diselesaikan dengan langkah dibawah ini :

1. Temp sebagai variabel menyimpan key schedule sebelumnya, untuk yang

pertama diperoleh dari w3.

‘09’ ‘CF’ ‘4F’ ‘3C’

2. RotWord() merupakan proses pergeseran satu kali kekiri secara cyclic

seperti ShiftRows().

09 CF 4F 3C 09 CF 4F 3C

CF 4F 3C 09

‘CF’ ‘4F’ ‘3C’ ‘09’

3. SubWord() merupakan proses subtitusi tabel nonlinier (S-Box) seperti

SubBytes().

‘CF’ ‘8A’ ‘4F’ ‘84’ ‘3C’ ‘EB’ ‘09’ ‘01’

‘8A’ ‘84’ ‘EB’ ‘01’

4. Operasikan XOR antara hasil langkah 3 dengan Rcon[i] lihat Persamaan

3.4..

10001010 = ‘8A’ 10000100 = ‘84’ 11101011 = ‘EB’ 00000001 = ‘01’

Page 79: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

00000001 = ‘01’ 00000000 = ‘00’ 00000000 = ‘00’ 00000000 = ‘00’ 10001011 = ‘8B’ 10000100 = ‘84’ 11101011 = ‘EB’ 00000001 = ‘01’ ‘8B’ ‘84’ ‘EB’ ‘01’

5. Langkah terakhir yaitu operaikan XOR antara hasil langkah 4 dengan

w[i-Nk].

10001011 = ‘8B’ 10000100 = ‘84’ 11101011 = ‘EB’ 00000001 = ‘01’ 00101011 = ‘2B’ 01111110 = ‘7E’ 00010101 = ‘15’ 00010110 = ‘16’ 10100000 = ‘A0’ 11111010 = ‘FA’ 11111110 = ‘FE’ 00010111 = ‘17’

‘A0’ ‘FA’ ‘FE’ ‘17’

Langkah selanjutnya seperti 5 langkah diatas, untuk AES-128 sampai

mencapai 44 words key schedule(lihat Lampiran 3).

Page 80: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

BAB V

PENUTUP

5.1. Kesimpulan

AES: Rijndael merupakan algoritma yang cukup sulit untuk dipecahkan

saat ini, karena belum ada serangan atau pemecahan yang benar-benar mampu

secara analisis matematis dengan efektif dan efisien dengan alasan pola yang

dibentuk cukup acak. Keacakan pola tersebut didapat dari sebagian teknik

AES sebagai kekuatan yang dimiliki algoritma ini, yaitu SubBytes() dan

MixColoums() yang dibangun secara nonlinier sehingga menjadi tantangan

kriptoanalisis linier. Akan tetapi keamanan ini mempunyai banyak kritik jika

dilihat dari struktur matematikanya yang cukup sederhana, sehingga ini yang

menjadi keuntungan pengkajian sebagai peluang AES:Rijndael ini

dikembangkan dalam waktu dekat.

AES:Rijndael ini tidak membutuhkan operasi matematika yang besar dari

segi perhitungan, sehingga menjadi keuntungan daya memori dan kecepatan

komputasi dalam pengoprasian. Pengoperasian yang tidak memakan memori

terlalu besar ini yang banyak diminati pasar karena kebutuhan efesiensi waktu

yang relatif cepat.

5.2. Penelitian Selanjutnya

Aplikasi nyata yang diberikan AES:Rijndael cukup beragam, oleh karena

itu penulis mempunyai saran untuk penelitian selanjutnya agar menggunakan

Page 81: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

pemograman melalui Bahasa Pascal, C++, Java, atau yang lainnya sebagai

bentuk nyata dari aplikasi AES:Rijndael ini.

Simulasi yang dibahas di atas hanya pada panjang kunci 128 bit, oleh

karena itu dapat dikaji ulang untuk panjang kunci lainnya yang dimiliki

AES:Rijndael seperti 192 bit atau 256 bit.

Page 82: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

REFERENSI

[1] Ariyus, Dony, Kriptografi : Keamanan Data Dan Komunikasi, Graha Ilmu, September 2005.

[2] Davis, Tom, Cryptography, [email protected], http://www.geometer.org/mathcircles, 2000.

[3] Goldreich, Oded, On the Foundations of Modern Cryptography, Department of Computer Science and Applied Mathematics Weizmann Institute of Science, Rehovot, Israel, 1997.

[4] Komputer, Wahana, Memahami Model Enkripsi & Security Data, ANDI

OFFSET, Yogyakarta, 2003.

[5] NIST, Advanced Encryption Standard, Federal Information Processing

Standards Publication 197, November 2001.

[6] NIST, An Introduction to Computer Security:The NIST Handbook, United

State Of America.

[7] NIST, Recommendation For Block Cipher Modes Of Operation : Methods

And Techniques, United State Of America, Desember 2001.

[8] NIST, Recommendation For Block Cipher Modes Of Operation : The

CMAC Mode For Authentication, United State Of America, Mei 2005.

[9] Rahardjo ,Budi, Aspek Pengamanan Dalam Dunia E-Commerce, INDONESIA COMPUTER EMERGENCY RESPONSE TEAM, 3 Agustus 2000.

[10] Rahardjo ,Budi, Keamanan Sistem Informasi Berbasis Internet, PT Insan Infonesia - Bandung & PT INDOCISC – Jakarta -1998, 1999, 2000, 2001, 2002.

Page 83: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

[11] Stallings, William, Cryptography And Network Security - Principles And

Practices, Third Edition, Prentice Hall, 2003.

[12] Stamp, Mark, Information Security Principles And Practice, WILEY-INTERSCIENCE, 2006.

[13] Sukarman, Herry, Teori Bilangan, Pusat Penerbitan Universitas Terbuka,

Februari 2001.

[14] Syukri, Agus Fanar, Masa Depan Securiti Informasi, Copyright © 2003 IlmuKomputer.Com.

[15] Vincent, Rijmen dan Joan Daemen, AES Proposal : Rijndael, Federal

Information Processing Standards Publication , April 2003.

[16] Wagstaff, Samuel S., Cryptanalysis of Number Theoretic Ciphers,

Chapman & Hall/CRC.

Page 84: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

Lampiran 1

SIMULASI CIPHER [5]

PLAINTEXT : 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF KUNCI : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ROUND[ 0].INPUT 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF ROUND[ 0].K_SCH 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ROUND[ 1].START 00 10 20 30 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0 ROUND[ 1].S_BOX 63 CA B7 04 09 53 D0 51 CD 60 E0 E7 BA 70 E1 8C ROUND[ 1].S_ROW 63 53 E0 8C 09 60 E1 04 CD 70 B7 51 BA CA D0 E7 ROUND[ 1].M_COL 5F 72 64 15 57 F5 BC 92 F7 BE 3B 29 1D B9 F9 1A ROUND[ 1].K_SCH D6 AA 74 FD D2 AF 72 FA DA A6 78 F1 D6 AB 76 FE ROUND[ 2].START 89 D8 10 E8 85 5A CE 68 2D 18 43 D8 CB 12 8F E4 ROUND[ 2].S_BOX A7 61 CA 9B 97 BE 8B 45 D8 AD 1A 61 1F C9 73 69 ROUND[ 2].S_ROW A7 BE 1A 69 97 AD 73 9B D8 C9 CA 45 1F 61 8B 61 ROUND[ 2].M_COL FF 87 96 84 31 D8 6A 51 64 51 51 FA 77 3A D0 09 ROUND[ 2].K_SCH B6 92 CF 0B 64 3D BD F1 BE 9B C5 00 68 30 B3 FE ROUND[ 3].START 49 15 59 8F 55 E5 D7 A0 DA CA 94 FA 1F 0A 63 F7 ROUND[ 3].S_BOX 3B 59 CB 73 FC D9 0E E0 57 74 22 2D C0 67 FB 68 ROUND[ 3].S_ROW 3B D9 22 68 FC 74 FB 73 57 67 CB E0 C0 59 0E 2D ROUND[ 3].M_COL 4C 9C 1E 66 F7 71 F0 76 2C 3F 86 8E 53 4D F2 56 ROUND[ 3].K_SCH B6 FF 74 4E D2 C2 C9 BF 6C 59 0C BF 04 69 BF 41 ROUND[ 4].START FA 63 6A 28 25 B3 39 C9 40 66 8A 31 57 24 4D 17 ROUND[ 4].S_BOX 2D FB 02 34 3F 6D 12 DD 09 33 7E C7 5B 36 E3 F0 ROUND[ 4].S_ROW 2D 6D 7E F0 3F 33 E3 34 09 36 02 DD 5B FB 12 C7 ROUND[ 4].M_COL 63 85 B7 9F FC 53 8D F9 97 BE 47 8E 75 47 D6 91 ROUND[ 4].K_SCH 47 F7 F7 BC 95 35 3E 03 F9 6C 32 BC FD 05 8D FD ROUND[ 5].START 24 72 40 23 69 66 B3 FA 6E D2 75 32 88 42 5B 6C ROUND[ 5].S_BOX 36 40 09 26 F9 33 6D 2D 9F B5 9D 23 C4 2C 39 50 ROUND[ 5].S_ROW 36 33 9D 50 F9 B5 39 26 9F 2C 09 2D C4 40 6D 23 ROUND[ 5].M_COL F4 BC D4 54 32 E5 54 D0 75 F1 D6 C5 1D D0 3B 3C ROUND[ 5].K_SCH 3C AA A3 E8 A9 9F 9D EB 50 F3 AF 57 AD F6 22 AA ROUND[ 6].START C8 16 77 BC 9B 7A C9 3B 25 02 79 92 B0 26 19 96 ROUND[ 6].S_BOX E8 47 F5 65 14 DA DD E2 3F 77 B6 4F E7 F7 D4 90 ROUND[ 6].S_ROW E8 DA B6 90 14 77 D4 65 3F F7 F5 E2 E7 47 DD 4F ROUND[ 6].M_COL 98 16 EE 74 00 F8 7F 55 6B 2C 04 9C 8E 5A D0 36 ROUND[ 6].K_SCH 5E 39 0F 7D F7 A6 92 96 A7 55 3D C1 0A A3 1F 6B ROUND[ 7].START C6 2F E1 09 F7 5E ED C3 CC 79 39 5D 84 F9 CF 5D ROUND[ 7].S_BOX B4 15 F8 01 68 58 55 2E 4B B6 12 4C 5F 99 8A 4C ROUND[ 7].S_ROW B4 58 12 4C 68 B6 8A 01 4B 99 F8 2E 5F 15 55 4C ROUND[ 7].M_COL C5 7E 1C 15 9A 9B D2 86 F0 5F 4B E0 98 C6 34 39 ROUND[ 7].K_SCH 14 F9 70 1A E3 5F E2 8C 44 0A DF 4D 4E A9 C0 26 ROUND[ 8].START D1 87 6C 0F 79 C4 30 0A B4 55 94 AD D6 6F F4 1F ROUND[ 8].S_BOX 3E 17 50 76 B6 1C 04 67 8D FC 22 95 F6 A8 BF C0 ROUND[ 8].S_ROW 3E 1C 22 C0 B6 FC BF 76 8D A8 50 67 F6 17 04 95

Page 85: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

ROUND[ 8].M_COL BA A0 3D E7 A1 F9 B5 6E D5 51 2C BA 5F 41 4D 23 ROUND[ 8].K_SCH 47 43 87 35 A4 1C 65 B9 E0 16 BA F4 AE BF 7A D2 ROUND[ 9].START FD E3 BA D2 05 E5 D0 D7 35 47 96 4E F1 FE 37 F1 ROUND[ 9].S_BOX 54 11 F4 B5 6B D9 70 0E 96 A0 90 2F A1 BB 9A A1 ROUND[ 9].S_ROW 54 D9 90 A1 6B A0 9A B5 96 BB F4 0E A1 11 70 2F ROUND[ 9].M_COL E9 F7 4E EC 02 30 20 F6 1B F2 CC F2 35 3C 21 C7 ROUND[ 9].K_SCH 54 99 32 D1 F0 85 57 68 10 93 ED 9C BE 2C 97 4E ROUND[10].START BD 6E 7C 3D F2 B5 77 9E 0B 61 21 6E 8B 10 B6 89 ROUND[10].S_BOX 7A 9F 10 27 89 D5 F5 0B 2B EF FD 9F 3D CA 4E A7 ROUND[10].S_ROW 7A D5 FD A7 89 EF 4E 27 2B CA 10 0B 3D 9F F5 9F ROUND[10].K_SCH 13 11 1D 7F E3 94 4A 17 F3 07 A7 8B 4D 2B 30 C5 ROUND[10].OUTPUT 69 C4 E0 D8 6A 7B 04 30 D8 CD B7 80 70 B4 C5 5A Lampiran 2

SIMULASI INVERS CIPHER [5]

CIPHERTEXT : 69 C4 E0 D8 6A 7B 04 30 D8 CD B7 80 70 B4 C5 5A KUNCI : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ROUND[ 0].IINPUT 69 C4 E0 D8 6A 7B 04 30 D8 CD B7 80 70 B4 C5 5A ROUND[ 0].IK_SCH 13 11 1D 7F E3 94 4A 17 F3 07 A7 8B 4D 2B 30 C5 ROUND[ 1].ISTART 7A D5 FD A7 89 EF 4E 27 2B CA 10 0B 3D 9F F5 9F ROUND[ 1].IS_ROW 7A 9F 10 27 89 D5 F5 0B 2B EF FD 9F 3D CA 4E A7 ROUND[ 1].IS_BOX BD 6E 7C 3D F2 B5 77 9E 0B 61 21 6E 8B 10 B6 89 ROUND[ 1].IK_SCH 54 99 32 D1 F0 85 57 68 10 93 ED 9C BE 2C 97 4E ROUND[ 1].IK_ADD E9 F7 4E EC 02 30 20 F6 1B F2 CC F2 35 3C 21 C7 ROUND[ 2].ISTART 54 D9 90 A1 6B A0 9A B5 96 BB F4 0E A1 11 70 2F ROUND[ 2].IS_ROW 54 11 F4 B5 6B D9 70 0E 96 A0 90 2F A1 BB 9A A1 ROUND[ 2].IS_BOX FD E3 BA D2 05 E5 D0 D7 35 47 96 4E F1 FE 37 F1 ROUND[ 2].IK_SCH 47 43 87 35 A4 1C 65 B9 E0 16 BA F4 AE BF 7A D2 ROUND[ 2].IK_ADD BA A0 3D E7 A1 F9 B5 6E D5 51 2C BA 5F 41 4D 23 ROUND[ 3].ISTART 3E 1C 22 C0 B6 FC BF 76 8D A8 50 67 F6 17 04 95 ROUND[ 3].IS_ROW 3E 17 50 76 B6 1C 04 67 8D FC 22 95 F6 A8 BF C0 ROUND[ 3].IS_BOX D1 87 6C 0F 79 C4 30 0A B4 55 94 AD D6 6F F4 1F ROUND[ 3].IK_SCH 14 F9 70 1A E3 5F E2 8C 44 0A DF 4D 4E A9 C0 26 ROUND[ 3].IK_ADD C5 7E 1C 15 9A 9B D2 86 F0 5F 4B E0 98 C6 34 39 ROUND[ 4].ISTART B4 58 12 4C 68 B6 8A 01 4B 99 F8 2E 5F 15 55 4C ROUND[ 4].IS_ROW B4 15 F8 01 68 58 55 2E 4B B6 12 4C 5F 99 8A 4C ROUND[ 4].IS_BOX C6 2F E1 09 F7 5E ED C3 CC 79 39 5D 84 F9 CF 5D ROUND[ 4].IK_SCH 5E 39 0F 7D F7 A6 92 96 A7 55 3D C1 0A A3 1F 6B ROUND[ 4].IK_ADD 98 16 EE 74 00 F8 7F 55 6B 2C 04 9C 8E 5A D0 36 ROUND[ 5].ISTART E8 DA B6 90 14 77 D4 65 3F F7 F5 E2 E7 47 DD 4F ROUND[ 5].IS_ROW E8 47 F5 65 14 DA DD E2 3F 77 B6 4F E7 F7 D4 90 ROUND[ 5].IS_BOX C8 16 77 BC 9B 7A C9 3B 25 02 79 92 B0 26 19 96 ROUND[ 5].IK_SCH 3C AA A3 E8 A9 9F 9D EB 50 F3 AF 57 AD F6 22 AA ROUND[ 5].IK_ADD F4 BC D4 54 32 E5 54 D0 75 F1 D6 C5 1D D0 3B 3C ROUND[ 6].ISTART 36 33 9D 50 F9 B5 39 26 9F 2C 09 2D C4 40 6D 23 ROUND[ 6].IS_ROW 36 40 09 26 F9 33 6D 2D 9F B5 9D 23 C4 2C 39 50 ROUND[ 6].IS_BOX 24 72 40 23 69 66 B3 FA 6E D2 75 32 88 42 5B 6C ROUND[ 6].IK_SCH 47 F7 F7 BC 95 35 3E 03 F9 6C 32 BC FD 05 8D FD ROUND[ 6].IK_ADD 63 85 B7 9F FC 53 8D F9 97 BE 47 8E 75 47 D6 91 ROUND[ 7].ISTART 2D 6D 7E F0 3F 33 E3 34 09 36 02 DD 5B FB 12 C7 ROUND[ 7].IS_ROW 2D FB 02 34 3F 6D 12 DD 09 33 7E C7 5B 36 E3 F0 ROUND[ 7].IS_BOX FA 63 6A 28 25 B3 39 C9 40 66 8A 31 57 24 4D 17 ROUND[ 7].IK_SCH B6 FF 74 4E D2 C2 C9 BF 6C 59 0C BF 04 69 BF 41 ROUND[ 7].IK_ADD 4C 9C 1E 66 F7 71 F0 76 2C 3F 86 8E 53 4D F2 56

Page 86: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

ROUND[ 8].ISTART 3B D9 22 68 FC 74 FB 73 57 67 CB E0 C0 59 0E 2D ROUND[ 8].IS_ROW 3B 59 CB 73 FC D9 0E E0 57 74 22 2D C0 67 FB 68 ROUND[ 8].IS_BOX 49 15 59 8F 55 E5 D7 A0 DA CA 94 FA 1F 0A 63 F7 ROUND[ 8].IK_SCH B6 92 CF 0B 64 3D BD F1 BE 9B C5 00 68 30 B3 FE ROUND[ 8].IK_ADD FF 87 96 84 31 D8 6A 51 64 51 51 FA 77 3A D0 09 ROUND[ 9].ISTART A7 BE 1A 69 97 AD 73 9B D8 C9 CA 45 1F 61 8B 61 ROUND[ 9].IS_ROW A7 61 CA 9B 97 BE 8B 45 D8 AD 1A 61 1F C9 73 69 ROUND[ 9].IS_BOX 89 D8 10 E8 85 5A CE 68 2D 18 43 D8 CB 12 8F E4 ROUND[ 9].IK_SCH D6 AA 74 FD D2 AF 72 FA DA A6 78 F1 D6 AB 76 FE ROUND[ 9].IK_ADD 5F 72 64 15 57 F5 BC 92 F7 BE 3B 29 1D B9 F9 1A ROUND[10].ISTART 63 53 E0 8C 09 60 E1 04 CD 70 B7 51 BA CA D0 E7 ROUND[10].IS_ROW 63 CA B7 04 09 53 D0 51 CD 60 E0 E7 BA 70 E1 8C ROUND[10].IS_BOX 00 10 20 30 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0 ROUND[10].IK_SCH 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ROUND[10].IOUTPUT 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF

Lampiran 3

SIMULASI KUNCI EKSPANSI [5]

CIPHER KEY = 2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C

w0 = 2B7E1516 w1 = 28AED2A6 w2 = ABF71588 w3 = 09CF4F3C 4 09CF4F3C CF4F3C09 8A84EB01 01000000 8B84EB01 2B7E1516 A0FAFE17 5 A0FAFE17 28AED2A6 88542CB1 6 88542CB1 ABF71588 23A33939 7 23A33939 09CF4F3C 2A6C7605 8 2A6C7605 6C76052A 50386BE5 02000000 52386BE5 A0FAFE17 F2C295F2 9 F2C295F2 88542CB1 7A96B943 10 7A96B943 23A33939 5935807A 11 5935807A 2A6C7605 7359F67F 12 7359F67F 59F67F73 CB42D28F 04000000 CF42D28F F2C295F2 3D80477D 13 3D80477D 7A96B943 4716FE3E 14 4716FE3E 5935807A 1E237E44 15 1E237E44 7359F67F 6D7A883B 16 6D7A883B 7A883B6D DAC4E23C 08000000 D2C4E23C 3D80477D EF44A541 17 EF44A541 4716FE3E A8525B7F 18 A8525B7F 1E237E44 B671253B 19 B671253B 6D7A883B DB0BAD00 20 DB0BAD00 0BAD00DB 2B9563B9 10000000 3B9563B9 EF44A541 D4D1C6F8 21 D4D1C6F8 A8525B7F 7C839D87 22 7C839D87 B671253B CAF2B8BC 23 CAF2B8BC DB0BAD00 11F915BC 24 11F915BC F915BC11 99596582 20000000 B9596582 D4D1C6F8 6D88A37A 25 6D88A37A 7C839D87 110B3EFD 26 110B3EFD CAF2B8BC DBF98641 27 DBF98641 11F915BC CA0093FD 28 CA0093FD 0093FDCA 63DC5474 40000000 23DC5474 6D88A37A 4E54F70E 29 4E54F70E 110B3EFD 5F5FC9F3

Page 87: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

30 5F5FC9F3 DBF98641 84A64FB2 31 84A64FB2 CA0093FD 4EA6DC4F 32 4EA6DC4F A6DC4F4E 2486842F 80000000 A486842F 4E54F70E EAD27321 33 EAD27321 5F5FC9F3 B58DBAD2 34 B58DBAD2 84A64FB2 312BF560 35 312BF560 4EA6DC4F 7F8D292F 36 7F8D292F 8D292F7F 5DA515D2 1B000000 46A515D2 EAD27321 AC7766F3 37 AC7766F3 B58DBAD2 19FADC21 38 19FADC21 312BF560 28D12941 39 28D12941 7F8D292F 575C006E 40 575C006E 5C006E57 4A639F5B 36000000 7C639F5B AC7766F3 D014F9A8 41 D014F9A8 19FADC21 C9EE2589 42 C9EE2589 28D12941 E13F0CC8 43 E13F0CC8 575C006E B6630CA6 Lampiran 4

TABEL ASCII

Desimal Karakter Binary Heksadesimal

000 00000000 00 001 00000001 01 002 00000010 02 003 ♥ 00000011 03 004 ♦ 00000100 04 005 ♣ 00000101 05 006 ♠ 00000110 06 007 00000111 07 008 00001000 08 009 00001001 09 010 00001010 0A 011 00001011 0B 012 00001100 0C 013 00001101 0D 014 00001110 0E 015 00001111 0F 016 00010000 10 017 00010001 11 018 00010010 12 019 ‼ 00010011 13 020 ¶ 00010100 14 021 § 00010101 15

Page 88: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

022 00010110 16 023 00010111 17 024 ↑ 00011000 18 025 ↓ 00011001 19 026 → 00011010 1A 027 ← 00011011 1B 028 ∟ 00011100 1C 029 ↔ 00011101 1D

030 00011110 1E 031 00011111 1F 032 00100000 20 033 ! 00100001 21 034 " 00100010 22 035 # 00100011 23 036 $ 00100100 24 037 % 00100101 25 038 & 00100110 26 039 ' 00100111 27 040 ( 00101000 28 041 ) 00101001 29 042 * 00101010 2A 043 + 00101011 2B 044 , 00101100 2C 045 - 00101101 2D 046 . 00101110 2E 047 / 00101111 2F 048 0 00110000 30 049 1 00110001 31 050 2 00110010 32 051 3 00110011 33 052 4 00110100 34 053 5 00110101 35 054 6 00110110 36 055 7 00110111 37 056 8 00111000 38 057 9 00111001 39 058 : 00111010 3A 059 ; 00111011 3B 060 < 00111100 3C

Page 89: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

061 = 00111101 3D 062 > 00111110 3E 063 ? 00111111 3F 064 @ 01000000 40 065 A 01000001 41 066 B 01000010 42 067 C 01000011 43 068 D 01000100 44 069 E 01000101 45 070 F 01000110 46 071 G 01000111 47 072 H 01001000 48 073 I 01001001 49 074 J 01001010 4A 075 K 01001011 4B 076 L 01001100 4C

077 M 01001101 4D 078 N 01001110 4E 079 O 01001111 4F 080 P 01010000 50 081 Q 01010001 51 082 R 01010010 52 083 S 01010011 53 084 T 01010100 54 085 U 01010101 55 086 V 01010110 56 087 W 01010111 57 088 X 01011000 58 089 Y 01011001 59 090 Z 01011010 5A

091 [ 01011011 5B 092 \ 01011100 5C 093 ] 01011101 5D 094 ^ 01011110 5E 095 _ 01011111 5F 096 ` 01100000 60 097 a 01100001 61

098 b 01100010 62 099 c 01100011 63

Page 90: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

100 d 01100100 64 101 e 01100101 65 102 f 01100110 66 103 g 01100111 67 104 h 01101000 68 105 i 01101001 69 106 j 01101010 6A 107 k 01101011 6B 108 l 01101100 6C 109 m 01101101 6D 110 n 01101110 6E 111 o 01101111 6F

112 p 01110000 70 113 q 01110001 71 114 r 01110010 72 115 s 01110011 73 116 t 01110100 74 117 u 01110101 75 118 v 01110110 76 119 w 01110111 77 120 x 01111000 78 121 y 01111001 79 122 z 01111010 7A 123 01111011 7B 124 | 01111100 7C 125 01111101 7D 126 ~ 01111110 7E

127 01111111 7F 128 Ç 10000000 80 129 ü 10000001 81 130 é 10000010 82

131 â 10000011 83 132 ä 10000100 84 133 à 10000101 85 134 å 10000110 86 135 ç 10000111 87 136 ê 10001000 88 137 ë 10001001 89 138 è 10001010 8A

Page 91: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

139 ï 10001011 8B 140 î 10001100 8C 141 ì 10001101 8D 142 Ä 10001110 8E 143 Å 10001111 8F 144 É 10010000 90 145 æ 10010001 91 146 Æ 10010010 92 147 ô 10010011 93 148 ö 10010100 94 149 ò 10010101 95 150 û 10010110 96 151 ù 10010111 97 152 ÿ 10011000 98 153 Ö 10011001 99 154 Ü 10011010 9A 155 ¢ 10011011 9B 156 £ 10011100 9C 157 ¥ 10011101 9D

158 ₧ 10011110 9E 159 ƒ 10011111 9F 160 á 10100000 A0 161 í 10100001 A1 162 ó 10100010 A2 163 ú 10100011 A3 164 ñ 10100100 A4 165 Ñ 10100101 A5 166 ª 10100110 A6

167 º 10100111 A7 168 ¿ 10101000 A8 169 10101001 A9

170 ¬ 10101010 AA 171 ½ 10101011 AB 172 ¼ 10101100 AC 173 ¡ 10101101 AD 174 « 10101110 AE 175 » 10101111 AF 176 10110000 B0

177 10110001 B1

Page 92: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

178 10110010 B2 179 10110011 B3

180 10110100 B4 181 10110101 B5

182 10110110 B6 183 10110111 B7

184 10111000 B8 185 10111001 B9 186 10111010 BA 187 10111011 BB 188 10111100 BC 189 10111101 BD 190 10111110 BE 191 10111111 BF 192 11000000 C0 193 11000001 C1 194 11000010 C2 195 11000011 C3 196 11000100 C4 197 11000101 C5 198 11000110 C6 199 11000111 C7 200 11001000 C8 201 11001001 C9 202 11001010 CA 203 11001011 CB 204 11001100 CC 205 11001101 CD 206 11001110 CE 207 11001111 CF 208 11010000 D0 209 11010001 D1 210 11010010 D2 211 11010011 D3 212 11010100 D4

213 11010101 D5 214 11010110 D6 215 11010111 D7

216 11011000 D8

Page 93: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh

217 11011001 D9 218 11011010 DA

219 11011011 DB 220 11011100 DC

221 11011101 DD 222 11011110 DE 223 11011111 DF

224 α 11100000 E0 225 ß 11100001 E1

226 Γ 11100010 E2 227 π 11100011 E3 228 Σ 11100100 E4 229 σ 11100101 E5

230 µ 11100110 E6 231 τ 11100111 E7

232 Φ 11101000 E8 233 Θ 11101001 E9 234 Ω 11101010 EA 235 δ 11101011 EB

236 ∞ 11101100 EC 237 φ 11101101 ED 238 ε 11101110 EE 239 ∩ 11101111 EF

240 ≡ 11110000 F0 241 ± 11110001 F1 242 ≥ 11110010 F2 243 ≤ 11110011 F3 244 ⌠ 11110100 F4 245 ⌡ 11110101 F5 246 ÷ 11110110 F6 247 ≈ 11110111 F7 248 ° 11111000 F8 249 · 11111001 F9 250 · 11111010 FA

251 √ 11111011 FB 252 ⁿ 11111100 FC 253 ² 11111101 FD 254 11111110 FE

255 11111111 FF

Page 94: ENKRIPSI PESAN RAHASIA MENGGUNAKAN ALGORITMA …repository.uinjkt.ac.id/dspace/bitstream/123456789/15003/1/MUHAMAD... · Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh