You are on page 1of 30

TUGAS AKHIR KEAMANAN SISTEM LANJUT

APLIKASI DIGITAL SIGNATURE SEBAGAI AUTENTIKASI PADA KARTU TANDA PENDUDUK(KTP)

Oleh NAMA: DESI RAMAYANTI NIM: 232 06 006

MAGISTER TEKNIK ELEKTRO INSTITUT TEKNOLOGI BANDUNG 2007

Daftar Isi
1 PENDAHULUAN 2 LANDASAN TEORI 2.1 Authentication . . . . . . . . . . . . . 2.2 Kriptogra . . . . . . . . . . . . . . . 2.3 Enkripsi . . . . . . . . . . . . . . . . . 2.4 Digital Signature . . . . . . . . . . . . 2.5 Fungsi Hash Satu Arah . . . . . . . . 2.6 Sistem Kriptogra MD5 . . . . . . . . 2.7 Algoritma AES (Advanced Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Standard) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 2 3 6 8 9 12 15 16 24 26

3 APLIKASI DIGITAL SIGNATURE PADA KTP 3.1 Proses Hashing dengan MD5 . . . . . . . . . . . . . . . . . . . . . . 3.2 Enkripsi dengan AES . . . . . . . . . . . . . . . . . . . . . . . . . . 4 KESIMPULAN DAN SARAN

Ringkasan Kartu Tanda Penduduk (KTP) adalah nama resmi kartu identitas seseorang di Indonesia yang diperoleh setelah seseorang berusia di atas 17 tahun atau yang sudah menikah. KTP ini digunakan pada berbagai bidang sebagai bukti identitas resmi yang diakui. Pada dasarnya setiap orang hanya memiliki satu KTP dan bersifat unik. Tetapi ada pihak yang dengan sengaja memalsukan KTP ini untuk maksudmaksud tertentu. Jika KTP palsu tersebut digunakan untuk suatu tindak kejahatan dengan mengatas namakan orang lain, maka tentu saja perbuatan tersebut dapat merugikan orang lain. Oleh sebab itu maka penulis bermaksud untuk memperkecil ruang gerak pemalsuan KTP tersebut dengan menerapkan metoda digital signature pada setiap KTP resmi yang dikeluarkan oleh Pemerintah. Dalam hal ini yang menjadi digital signaturenya adalah Nomor Induk Kependudukan (NIK). Karena Nomor Induk Kependudukan atau NIK adalah nomor yang unik yang hanya dimiliki oleh seseorang dari lahir sampai meninggal dunia. Digital signature merupakan salah satu aplikasi dari kriptogra dimana aplikasi ini diterapkan pada Kartu Tanda Penduduk (KTP) yang berfungsi sebagai otentikasi dari pemilik yang sah. Algoritma yang digunakan untuk melakukan proses hashing adalah MD5. Dimana hasil dari MD5 adalah Message digest. Hasil dari MD5 ini akan dienkripsi dengan menggunakan algoritma AES dengan Cipher Mode Counter.

PENDAHULUAN

Kartu Tanda Penduduk (KTP) adalah nama resmi kartu identitas seseorang di Indonesia yang diperoleh setelah seseorang berusia di atas 17 tahun atau yang sudah menikah. KTP berlaku selama 5 tahun dan tanggal berakhirnya disesuaikan dengan tanggal dan bulan kelahiran yang bersangkutan. Dimana pada KTP berisi informasi mengenai sang pemilik kartu, termasuk: nama lengkap, Nomor Induk Kependudukan (NIK), alamat, tempat dan tanggal lahir, agama, golongan darah, kewarganegaraan, foto dan tanda tangan. KTP ini digunakan pada berbagai bidang sebagai bukti identitas resmi yang diakui. Pada dasarnya setiap orang hanya memiliki satu KTP dan bersifat unik. Tetapi ada pihak yang dengan sengaja memalsukan KTP ini untuk maksud-maksud tertentu. Jika KTP palsu tersebut digunakan untuk suatu tindak kejahatan dengan mengatas namakan orang lain, maka tentu saja perbuatan tersebut dapat merugikan orang lain. Oleh sebab itu maka penulis bermaksud untuk memperkecil ruang gerak pemalsuan KTP tersebut dengan menerapkan metoda digital signature pada setiap KTP resmi yang dikeluarkan oleh Pemerintah. Dalam hal ini yang menjadi digital signaturenya adalah Nomor Induk Kependudukan (NIK). Karena Nomor Induk Kependudukan atau NIK adalah nomor yang unik yang hanya dimiliki oleh seseorang dari lahir sampai meninggal dunia.

2
2.1

LANDASAN TEORI
Authentication

Authentication (berasal dari bahasa Yunani yakni authentes= pengarang, yaitu suatu tindakan untuk menetapkan sesuatu atau seseorang adalah asli. Membuktikan kesalian suatu objek adalah dengan menetapkan tempat asalnya, sedangkan untuk membuktikan keaslian seseorang adalah dengan identitas mereka. Authentication pada manusia tergantung kepada beberapa faktor yaitu Something the user is Contohnya adalah DNA, pola retina mata, sidikjari, pola suara, biometrik, sinyal bio-elektrik yang dihasilkan oleh tubuh, dan Something the user has Contohnya adalah ID Card, security token, software token dan cell phone. Something the user knows Contohnya adalah password, PIN dll. Masalah pertama, membuktikan keaslian dokumen, dapat dilakukan dengan teknolo gi watermarking dan digital signature. Watermarking juga dapat digunakan untuk menjaga intelectual property, yaitu dengan menandai dokumen atau hasil karya dengan tanda tangan pembuat. Masalah kedua adalah access control. Sebuah sistem komputer diharapkan untuk dapat digunakan hanya oleh yang diberi hak, sehingga sistem komputer tersebut harus bisa mendeteksi dan menolak user yang tidak punya hak. Contoh access control yang menyertakan Authentication meliputi: 1

Penarikan tunai di ATM Menggunakan sistem internet banking Pengontrollan remote komputer dengan internet

2.2

Kriptogra

Kriptogra berasal dari bahasa yunani yang terdiri dari kata kryptos yang berarti tersembunyi dan grafo yang berarti tulis. Kriptogra, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita. Selain pengertian tersebut kriptogra juga merupakan ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integri tas data, serta autentikasi data. Ada empat tujuan mendasar dari ilmu kriptogra yang merupakan aspek keamanan informasi yaitu : Kerahasiaan Merupakan layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka atau mengupas informasi yang telah disandi. Integritas data Berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya. Autentikasi Berhubungan dengan identikasi / pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain. Non-repudiasi Usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman atau terciptanya suatu informasi oleh yang mengirimkan/membuat.

Gambar 1: Sistem Kriptogra Keterangan gambar Plaintext adalah pesan atau informasi yang akan dikirimkan dalam format yang mudah dibaca atau dalam bentuk aslinya. Ciphertext. Data diacak dengan menggunakan Kunci Enkripsi (Encryption Key ). Ciphertext adalah pesan atau informasi yang sudah dienkripsi sehingga tidak dapat dibaca dengan mudah. Proses pengacakan atau Proses yang dilakukan untuk mengamankan sebuah pesan (yang disebut plaintext) menjadi pesan yang tersembunyi (disebut cipher text) adalah enkripsi (encryption). Menurut ISO 7498-2, terminologi yang lebih tepat digunakan adalah encipher. Proses sebaliknya, untuk mengubah ciphertext menjadi plaintext, disebut de kripsi (decryption). Menurut ISO 7498-2, terminologi yang lebih tepat untuk proses ini adalah decipher. Kunci yang digunakan pada tahap Dekripsi disebut Kunci Dekripsi (Decryption Key). Pada prakteknya, selain pihak yang berwenang ada pihak ketiga yang selalu berusaha untuk mengembalikan CipherTeks ke PlainTeks atau memecahkan Kunci Dekripsi. Usaha oleh pihak ketiga ini disebut Kriptanalisis (Cryptana lysis ).

2.3

Enkripsi

Enkripsi digunakan untuk menyandikan data-data atau informasi sehingga tidak dapat dibaca oleh orang yang tidak berhak. Dengan enkripsi data anda disandikan (encrypted) dengan menggunakan sebuah kunci (key). Untuk membuka (decrypt) data tersebut digunakan juga sebuah kunci yang dapat sama dengan kunci untuk mengenkripsi (untuk kasus private key cryptography) atau dengan kunci yang ber beda (untuk kasus public key cryptography).

Secara matematis, proses atau fungsi enkripsi (E ) dapat dituliskan sebagai: E (M ) = C Dimana: M adalah plaintext (message) dan C adalah ciphertext. Proses atau fungsi dekripsi (D) dapat dituliskan sebagai: D(C ) = M Elemen dari Enkripsi Teknik kriptogra modern yang ada saat ini dapat dikelompokkan sebagaimana ditunjukkan pada Gambar 2.

Gambar 2: Pengelompokkan enkripsi beserta contoh Kriptosistem Simetrik (Symmetric Cryptosystem ) Disebut juga Kunci Pribadi (Private Key ) adalah metode kriptogra di mana kunci enkripsi bisa diperoleh dari kunci deskripsi atau sebaliknya. Kriptosistem Asimetrik (Asymmetric Cryptosystem ) Kebalikan dari Kriptosistem Simetrik atau disebut juga Kunci Publik (Public Key). Kunci Pribadi berarti bahwa pemegang kunci enkripsi maupun dekripsi hanyalah pihak-pihak berwenang saja. Karena melihat kembali sifatnya, bila pihak ketiga memperoleh salah satu kunci tersebut maka dia bisa memperoleh kunci yang lain. Kunci Publik berarti Kunci Enkripsi dapat disebarluaskan ke publik sedangkan pihak berwe nang cukup menjaga kerahasiaan Kunci Deskripsi. 4

Berdasarkan cara memproses teks (plaintext), cipher dapat dikategorikan menjadi dua jenis: Block Cipher Pada Block Cipher, sesuai namanya, data Plain Teks diolah per blok data. Block cipher bekerja dengan memproses data secara blok, dimana beberapa karakter / data digabungkan menjadi satu blok. Setiap proses satu blok menghasilkan keluaran satu blok juga. Stream Cipher Pada Stream Cipher, data Plain Teks diolah per satuan data terkecil, misalnya perbit atau per karakter. Stream cipher bekerja memproses masukan (karakter atau data) secara terus menerus dan menghasilkan data pada saat yang ber samaan. Teknik Kriptogra kemudian dibagi lagi menjadi dua kelompok, yaitu : Synchronized Cipher dimana Kunci Enkripsi dan Kunci Dekripsi perlu disinkro nisasi. Asynchronized Cipher dimana sinkronisasi tidak diperlukan. Stream Cipher dapat dibagi menjadi dua kelompok ini (Synchronized dan Asynchro nized cipher) sedangkan pada Block Cipher hanya ada Synchronized Cipher. Power-Residual Form Cipher adalah teknik dimana dalam proses enkripsinya meng gunakan rumus matematika XY (mod N) atau rumus yang mirip seperti itu. Knapsack Form Cipher adalah teknik yang menggunakan Knapsack Problem yang merupakan problem komputasi kelas NP-Komplit (NP-Complete atau NP-Hard). Kunci yang digunakan dan panjangnya kunci. Kekuatan dari penyandian bergantung kepada kunci yang digunakan. Beberapa algoritma enkripsi memiliki kelemahan pada kunci yang digunakan. Untuk itu, kunci yang lemah tersebut tidak boleh digunakan. Selain itu, panjangnya kunci, yang biasanya dalam ukuran bit, juga menentukan kekuatan dari enkripsi. Kunci yang lebih panjang biasanya lebih aman dari kunci yang pendek. Jadi enkripsi dengan menggunakan kunci 128 bit lebih sukar dipecahkan dengan algoritma enkripsi yang sama tetapi dengan kunci 56 bit. Semakin panjang sebuah kunci, semakin besar keyspace yang harus dijalani untuk mencari kunci dengan cara brute force attack atau coba-coba karena keyspace yang harus dilihat merupakan pangkat dari bilangan 2. Jadi kunci 128 bit memiliki keyspace 2128, sedangkan kunci 56 bit memiliki keyspace 256. Artinya semakin lama kunci baru bisa ketahuan.

2.4

Digital Signature

What is digital signature? Berikut ini merupakan gambaran dari digital signature. Bob telah diberi 2 kunci, salah satunya disebut public key dan yang satu disebut private key.

Gambar 3: Dua Kunci Pada Bob

Gambar 4: Kunci Publik Bob Kunci publik Bob tersedia untuk siapa saja yang membutuhkannya, tetapi kunci private nya disimpan untuk dirinya sendiri. Dimana kunci tersebut digunakan untuk mengenkripsi data. Susan dapat mengenkripsi pesan menggunakan kunci publik Bob dan Bob mengguna kan kunci privatenya untuk mendekripsi pesan tersebut (seperti gambar 5 dibawah ini). Siapapun dari Teman sekerja bob mungkin mempunyai akses terhadap pesan susan yang dienkripsi, tetapi tanpa Kunci private Bob, data tersebut tidak berharga.

Gambar 5: Enkripsi dan Deskripsi Message

Gambar 6: Hashing Untuk menandai dokumen, dokumen tersebut akan dihash dengan menggunakan suatu software dan disebut sebagai Message digest. Kemudian Message Digest tersebut akan dienkripsi dengan kunci publik dan meng hasilkan digital signature. Dan digital signature ini akan ditambahkan pada dokumen, sehingga semua data yang telah dihash telah ditandatangani.

Gambar 7: Enkripsi Message Digest Dengan Kunci private nya dan menggunakan software yang benar, Bob dapat menam bahkan digital signature pada dokumen atau data lainnya, dimana suatu digital signature adalah sebuah tanda dari Bob yang ditempatkan pada data secara unik.

Gambar 8: Digital Signature pada dokumen

2.5

Fungsi Hash Satu Arah

Fungsi hash satu arah memiliki banyak nama: fungsi pembanding, fungsi penyusutan, intisari pesan, sidik jari, message integrity check (MIC) atau pemeriksa keutuhan pesan dan manipulation detection code (MDC) atau pendektesi penyelewengan kode. Fungsi hash satu arah dibuat berdasarkan ide tentang fungsi pemampatan. Fungsi hash adalah sebuah fungsi atau persamaan matematika yang mengambil input deng an panjang variabel (preimage) dan merubahnya menjadi panjang yang tetap (biasa nya lebih pendek), keluarannya biasa disebut nilai hash. Fungsi hash satu arah adalah sebuah fungsi hash yang berjalan hanya satu arah. Adalah mudah untuk menghitung nilai hash dari pre-image, tetapi sangat sulit untuk membangkitkan pre-image dari nilai hash-nya. Metode fungsi hash satu arah adalah berfungsi melindungi data dari modikasi. Apabila ingin melindungi data dari modikasi yang tidak terdeteksi, dapat di hitung hasil fungsi hash dari data tersebut, selanjutnya dapat menghitung hasil fungsi hash lagi dan membandingkannya dengan hasil yang pertama apabila berbeda maka terjadi perubahan selama pengiriman. Sebagai contohnya adalah bila si pengirim (A) akan mengirim pesan kepada teman nya (B). Sebelum mengirim, A melakukan hash dari pesannya untuk mendapatkan nilai hash kemudian dia mengirim pesan itu beserta nilai hashnya, Lalu B melakukan hash untuk mencari nilai hash dari pesan itu bila terjadi perbedaan maka sewaktu pengiriman telah terjadi perubahan dari pesan tersebut. Masukan dari fungsi hash 8

satu arah adalah blok pesan dan keluaran dari blok text atau nilai hash sebelumnya ini dapat dilihat pada Gambar 9 sehingga secara garis besar, hash dari blok M i adalah: hi = f (M i, hi 1)

Gambar 9: Fungsi Hash Satu Arah Nilai hash ini bersama blok pesan berikutnya menjadi masukan berikutnya bagi fungsi pemampatan. Nilai hash keseluruhan adalah nilai hash dari blok paling akhir. Preimage sedapatnya mengandung beberapa binari yang menggambarkan panjang dari masukan pesan. Teknik ini digunakan untuk mengatasi masalah yang dapat terjadi bila pesan yang mempunyai pesan yang tidak sama mempunyai nilai hash yang sama. Metode ini biasa disebut Message Digest(MD) strengthening atau peng uatan MD.

2.6

Sistem Kriptogra MD5

MD5 merupakan fungsi hash satu arah yang diciptakan oleh Ron Rivest. MD5 adalah salah satu aplikasi yang digunakan untuk mengetahui bahwa pesan yang dikirim tidak ada perubahan sewaktu berada di jaringan. Algoritma MD5 secara garis besar adalah mengambil pesan yang mempunyai panjang variabel diubah men jadi sidik jari atau intisari pesan yang mempunyai panjang tetap yaitu 128 bit. Sidik jari ini tidak dapat dibalik untuk mendapatkan pesan, dengan kata lain tidak ada orang yang dapat melihat pesan dari sidik jari MD5. Message digest atau intisari pesan harus mempunyai tiga sifat penting, yaitu: 1. Bila P diketahui, maka M D(P ) akan dengan mudah dapat dihitung. 2. Bila M D(P ) diketahui, maka tidak mungkin menghitung P . 3. Tidak seorang pun dapat memberi dua pesan yang mempunyai intisari pesan yang sama. H (M ) = H (M ). Pada bagian ini dijelaskan mengenai sistem kriptogra MD-5 secara spesik, yaitu sistem kriptogra algoritma MD5 yang menjelaskan dari awal masukan hingga ke luarannya. Prinsip Dasar MD5 Message Digest 5 (MD5) adalah salah satu penggunaan fungsi hash satu arah yang paling banyak digunakan. MD5 merupakan fungsi hash kelima yang dirancang oleh 9

Ron Rivest dan didenisikan pada RFC 1321. MD5 merupakan pengembangan dari MD4 dimana terjadi penambahan satu ronde. MD5 memproses teks masukan ke dalam blok-blok bit sebanyak 512 bit, kemudian dibagi ke dalam 32 bit sub blok sebanyak 24 16 buah. Keluaran dari MD5 berupa 4 buah blok yang masing-masing 32 bit yang mana akan menjadi 128 bit yang biasa disebut nilai hash. Pada Gambar 10 terlihat simpul utama dari MD5. Simpul utama MD5 mempunyai blok pesan dengan panjang 512 bit yang masuk ke dalam 4 buah ronde. Hasil keluaran dari MD5 adalah berupa 128 bit dari byte terendah A dan tertinggi byte D.

Gambar 10: Simpul Utama MD5

Penjelasan Algoritma MD-5 Setiap pesan yang akan dienkripsi, terlebih dahulu dicari berapa banyak bit yang terdapat pada pesan. Kita anggap sebanyak b bit. Di sini b adalah bit non negatif integer, b bisa saja nol dan tidak harus selalu kelipatan delapan. Pesan dengan panjang b bit dapat digambarkan seperti berikut : m0 m1 ..m( b 1) Terdapat 5 langkah yang dibutuhkan untuk untuk menghitung intisari pesan. Adapun langkahlangkah tersebut adalah sebagai berikut: 1. Menambahkan bit Pesan akan ditambahkan bit-bit tambahan sehingga panjang bit akan kongruen dengan 448, mod 512. Hal ini berarti pesan akan mempunyai panjang yang hanya kurang 64 bit dari kelipatan 512 bit. Penambahan bit selalu dilakukan walaupun panjang dari pesan sudah kongruen dengan 448, mod 512 bit. Penambahan bit dilakukan dengan menambahkan 1 di awal dan diikuti 0 sebanyak yang diperlukan sehingga panjang pesan akan kongruen dengan 448, mod 512. 2. Penambahan Panjang Pesan Setelah penambahan bit, pesan masih membutuhkan 64 bit agar kongruen dengan kelipatan 512 bit. 64 bit tersebut merupakan perwakilan dari b (panjang pesan sebelum penambahan bit dilakukan). Bit-bit ini ditambahkan ke dalam dua word (32 bit) dan ditambahkan dengan low-order terlebih dahulu. Penambahan pesan ini biasa disebut juga MD Strengthening atau Penguatan MD. 10

3. Inisialisasi MD-5 Pada MD-5 terdapat empat buah word 32 bit register yang berguna untuk menginisialisasi message digest pertama kali. Register-register ini di inisialisasikan dengan bilangan hexadesimal. wordA : 01234567 wordB : 89ABCDEF wordC : F EDCBA98 wordD : 76543210 Register-register ini biasa disebut dengan nama Chain variabel atau variabel rantai. 4. Proses Pesan di dalam Blok 16 Word Pada MD-5 juga terdapat 4 (empat) buah fungsi nonlinear yang masing-masing digunakan pada tiap operasinya (satu fungsi untuk satu blok), yaitu: F (X, Y, Z ) = (X Y ) ((X ) Z ) G(X, Y, Z ) = (X Z ) ((Y ) Z ) H (X, Y, Z ) = X Y Z I (X, Y, Z ) = Y (X (Z )) untuk XOR, untuk AND, untuk OR dan untuk NOT. Pada Gambar 11 dapat dilihat satu buah operasi dari MD-5 dengan operasi yang dipakai sebagai contoh adalah F F (a, b, c, d, M j, s, ti) menunjukan: a = b + ((a + F (b, c, d) + M j + ti) <<< s)

Gambar 11: Satu buah operasi MD5 Bila M j menggambarkan pesan ke-j dari sub blok (dari 0 sampai 15) dan <<< s menggambarkan bit akan digeser ke kiri sebanyak s bit, maka keempat operasi dari masing-masing ronde adalah: F F (a, b, c, d, M j, s, ti) menunjukan a = b + ((a + F (b, c, d) + M j + ti) <<< s) GG(a, b, c, d, M j, s, ti) menunjukan a = b + ((a + G(b, c, d) + M j + ti) <<< s) 11

HH (a, b, c, d, M j, s, ti) menunjukan a = b + ((a + H (b, c, d) + M j + ti) <<< s) II (a, b, c, d, M j, s, ti) menunjukan a = b + ((a + I (b, c, d) + M j + ti) <<< s) Konstanta ti didapat dari integer 232 abs(sin(i)), dimana i dalam radian. 5. Keluaran MD5 Keluaran dari MD5 adalah 128 bit dari word terendah A dan tertinggi word D masing-masing 32 bit.

2.7

Algoritma AES (Advanced Encryption Standard)

Pada algoritma AES ini input harus 128-bit blok AES ( 16 karakter atau 32 digit hexadesimal). Algoritma ini memiliki beberapa mode antara lain : Electronic Codebook Setiap blok dienkripsi secara bebas dan tidak digunakan inisialisasi vector.

Gambar 12: Encipher Diagram

Gambar 13: Decipher Diagram Chiper Block Chaining Blok input yang pertama akan di XOR dengan inisialisasi vektor. Hasil yang diperoleh akan dienkripsi sehingga menghasilkan sebuah blok ciphertext. Blok ciphertext yang pertama ini kemudian akan di XOR dengan blok input yang kedua, demikian seterusnya. dari block proceeding sebelum dienkripsi.

12

Gambar 14: Encipher Diagram

Gambar 15: Decipher Diagram Cipher Feedback Mode ini menyimpan inisialisasi vektor ke shift register. Kemudian isi dari shift register ini dienkripsi, hasil dari enkripsi tersebut akan di XOR dengan Blok input (plaintext). Hasil dari XOR ini akan disimpan juga ke shift register yang berikutnya.

Gambar 16: Encipher Diagram

13

Gambar 17: Decipher Diagram Output Feedback Inisialisasi vektor dienkripsi menggunakan algoritma blok yang ditetapkan. Kemudian hasil enkripsi ini di XOR dengan blok input, dan disimpan ke encipher blok berikutnya.

Gambar 18: Encipher Diagram

Gambar 19: Decipher Diagram Counter Mode ini menset suatu counter untuk nilai dari inisialisasi vector. Untuk enkripsi sebuah blok, counter dienkripsi menggunakan algoritma blok. Kemudian hasilnya di XOR dengan bagian pertama dari message.

14

Gambar 20: Encipher Diagram

Gambar 21: Decipher Diagram

APLIKASI DIGITAL SIGNATURE PADA KTP

Pada bagian ini akan dijelaskan bagaimana aplikasi digital signature pada Kartu Tanda Penduduk (KTP)sebagai otentikasi. Pada setiap KTP nantinya akan ditambahkan digital signaturenya, dimana data yang akan diambil adalah Nomor Induk Kependudukan. Karena setiap penduduk Indonesia hanya akan memiliki satu nomor penduduk dan bersifat unik. Pemerintah nantinya akan memberikan sebuah kunci kepada penduduk yakni kunci private. Dimana kunci private ini juga akan diberikan kepada Instansi terkait. Ketika penduduk tersebut ingin malakukan suatu aktivitas yang memerlukan KTP, maka untuk memastikan bahwa KTP tersebut merupakan identitas yang benar dari penduduk tersebut maka digital signature tadi akan didekripsi dengan kunci tersebut yang telah diberikan pemerintah kepada penduduk tersebut. Dan setelah didekripsi menghasilkan output yang sama dengan message digest yang tersimpan pada database pemerintahan maka bisa dipastikan bahwa penduduk tersebut adalah orang yang benar. Dalam makalah ini akan digunakan algoritma MD5 untuk hashing dan hasil hashing tersebut yang berupa message digest akan dienkripsi dengan menggunakan algoritma AES dengan chiper mode counter. Aplikasi yang digunakan adalah aplikasi online yang ada pada internet yaitu dari http://www.cs.eku.edu/faculty/styer/460/Encrypt

15

3.1

Proses Hashing dengan MD5

Aplikasi ini merupakan md5 string yaitu mencari nilai hash dari masukan berupa karakter-karakter yang dimasukkan oleh pemakai melalui keyboard. dan Perancangan Aplikasi

Gambar 22: Proses MD5 dengan input string

1. Masuk ke alamat website http://www.cs.eku.edu/faculty/styer/460/Encrypt/JSMD5.html. 2. Tahap Masukkan Karakter Entrikan Nomor Induk Kependudukan pada kolom enter your message here seperti gambar berikut ini:

Gambar 23: Entri Message 3. klik tombol Calculate Hash untuk menghashing Nomor Induk Kependudukan yang sudah dientrikan diatas. Sehingga menghasilkan sebuah message digest seperti berikut: 16

Gambar 24: Hasil MD5 Hash 4. Proses detail dari MD5 Hash diatas adalah sebagai berikut: 03.5: 352e3330 006.: 2e363030 4107: 37303134 81.0: 302e3138 length=19 length%4=3, padding=80353030 Starting, a=67452301 b=efcdab89 c=98badcfe d=10325476 Starting block at word 0 x[0]=352e3330 x[1]=2e363030 x[2]=37303134 x[3]=302e3138 x[4]=80353030 x[5]=00000000 x[6]=00000000 x[7]=00000000 x[8]=00000000 x[9]=00000000 x[10]=00000000 x[11]=00000000 x[12]=00000000 x[13]=00000000 x[14]=00000098 x[15]=00000000 F F (A, B, C, D, x[0], S 11, 0xd76aa478) F F : a = 67452301, b = ef cdab89, c = 98badcf e, d = 10325476, xk = 352e3330, s = 7, ti = d76aa478 F (ef cdab89, 98badcf e, 10325476) = 98badcf e a + F (b, c, d) + xk + ti = 0c98d7a7 F F : b + (... <<< 7) = 3c397f 0f F F : a = 10325476, b = 3c397f 0f, c = ef cdab89, d = 98badcf e, xk = 2e363030, s = 12, ti = e8c7b756 F (3c397f 0f, ef cdab89, 98badcf e) = ac8babf 9 a + F (b, c, d) + xk + ti = d3bbe7f 5

17

F F : b + (... <<< 12) = f ab8dc4aF F : a = 98badcf e, b = f ab8dc4a, c = 3c397f 0f, d = ef cdab89, xk = 37303134, s = 17, ti = 242070db F (f ab8dc4a, 3c397f 0f, ef cdab89) = 3d7d7f 8b a + F (b, c, d) + xk + ti = 3188f e98 F F : b + (... <<< 17) = f 7e93f 5bF F : a = ef cdab89, b = f 7e93f 5b, c = f ab8dc4a, d = 3c397f 0f, xk = 302e3138, s = 22, ti = c1bdceee F (f 7e93f 5b, f ab8dc4a, 3c397f 0f ) = f ab85c4e a + F (b, c, d) + xk + ti = dc7207f d F F : b + (... <<< 22) = f 7605bdcF F : a = 3c397f 0f, b = f 7605bdc, c = f 7e93f 5b, d = f ab8dc4a, xk = 80353030, s = 7, ti = f 57c0f af F (f 7605bdc, f 7e93f 5b, f ab8dc4a) = f f f 89f 5a a + F (b, c, d) + xk + ti = b1e35e48 F F : b + (... <<< 7) = e90f 8034F F : a = f ab8dc4a, b = e90f 8034, c = f 7605bdc, d = f 7e93f 5b, xk = 00000000, s = 12, ti = 4787c62a F (e90f 8034, f 7605bdc, f 7e93f 5b) = f 7e03f 5f a + F (b, c, d) + xk + ti = 3a20e1d3 F F : b + (... <<< 12) = f 72cb3d6F F : a = f 7e93f 5b, b = f 72cb3d6, c = e90f 8034, d = f 7605bdc, xk = 00000000, s = 17, ti = a8304613 F (f 72cb3d6, e90f 8034, f 7605bdc) = e14cc81c a + F (b, c, d) + xk + ti = 81664d8a F F : b + (... <<< 17) = 9241b6a2F F : a = f 7605bdc, b = 9241b6a2, c = f 72cb3d6, d = e90f 8034, xk = 00000000, s = 22, ti = f d469501 F (9241b6a2, f 72cb3d6, e90f 8034) = f b0eb296 a + F (b, c, d) + xk + ti = ef b5a373 F F : b + (... <<< 22) = 6f 3da40aF F : a = e90f 8034, b = 6f 3da40a, c = 9241b6a2, d = f 72cb3d6, xk = 00000000, s = 7, ti = 698098d8 F (6f 3da40a, 9241b6a2, f 72cb3d6) = 9201b7d6 a + F (b, c, d) + xk + ti = e491d0e2 F F : b + (... <<< 7) = b826157c F F : a = f 72cb3d6, b = b826157c, c = 6f 3da40a, d = 9241b6a2, xk = 00000000, s = 12, ti = 8b44f 7af F (b826157c, 6f 3da40a, 9241b6a2) = 2a65a68a a + F (b, c, d) + xk + ti = acd7520f F F : b + (... <<< 12) = 2d471049 F F : a = 9241b6a2, b = 2d471049, c = b826157c, d = 6f 3da40a, xk = 00000000, s = 17, ti = f f f f 5bb1 F (2d471049, b826157c, 6f 3da40a) = 6a3eb44a a + F (b, c, d) + xk + ti = f c7f c69d F F : b + (... <<< 17) = ba830948 F F : a = 6f 3da40a, b = ba830948, c = 2d471049, d = b826157c, xk = 00000000, s = 22, ti = 895cd7be F (ba830948, 2d471049, b826157c) = 2827147c a + F (b, c, d) + xk + ti = 20c19044 F F : b + (... <<< 22) = cb8b39ac F F : a = b826157c, b = cb8b39ac, c = ba830948, d = 2d471049, xk = 00000000, s = 18

7, ti = 6b901122 F (cb8b39ac, ba830948, 2d471049) = aec70949 a + F (b, c, d) + xk + ti = d27d2f e7 F F : b + (... <<< 7) = 0a232d95 F F : a = 2d471049, b = 0a232d95, c = cb8b39ac, d = ba830948, xk = 00000000, s = 12, ti = f d987193 F (0a232d95, cb8b39ac, ba830948) = ba8329cc a + F (b, c, d) + xk + ti = e562aba8 F F : b + (... <<< 12) = 34ddbbeb F F : a = ba830948, b = 34ddbbeb, c = 0a232d95, d = cb8b39ac, xk = 00000098, s = 17, ti = a679438e F (34ddbbeb, 0a232d95, cb8b39ac) = cb032985 a + F (b, c, d) + xk + ti = 2bf f 76f 3 F F : b + (... <<< 17) = 22c413e9 F F : a = cb8b39ac, b = 22c413e9, c = 34ddbbeb, d = 0a232d95, xk = 00000000, s = 22, ti = 49b40821 F (22c413e9, 34ddbbeb, 0a232d95) = 28e73f f d a + F (b, c, d) + xk + ti = 3e2681ca F F : b + (... <<< 22) = 95539d89 GG : a = 0a232d95, b = 95539d89, c = 22c413e9, d = 34ddbbeb, xk = 2e363030, s = 5, ti = f 61e2562 G(95539d89, 22c413e9, 34ddbbeb) = 16519989 a + G(b, c, d) + xk + ti = 44c91cb0 GG : b + (... <<< 5) = 2e773391 GG : a = 34ddbbeb, b = 2e773391, c = 95539d89, d = 22c413e9, xk = 00000000, s = 9, ti = c040b340 G(2e773391, 95539d89, 22c413e9) = b7579f 81 a + G(b, c, d) + xk + ti = ac760eac GG : b + (... <<< 9) = 1a948ce9 GG : a = 22c413e9, b = 1a948ce9, c = 2e773391, d = 95539d89, xk = 00000000, s = 14, ti = 265e5a51 G(1a948ce9, 2e773391, 95539d89) = 3a34ae99 a + G(b, c, d) + xk + ti = 83571cd3 GG : b + (... <<< 14) = e1c96dbe GG : a = 95539d89, b = e1c96dbe, c = 1a948ce9, d = 2e773391, xk = 352e3330, s = 20, ti = e9b6c7aa G(e1c96dbe, 1a948ce9, 2e773391) = 30c1adf 8 a + G(b, c, d) + xk + ti = e4f a465 GG : b + (... <<< 20) = 4787bd62 GG : a = 2e773391, b = 4787bd62, c = e1c96dbe, d = 1a948ce9, xk = 00000000, s = 5, ti = d62f 105d G(4787bd62, e1c96dbe, 1a948ce9) = e3cded76a + G(b, c, d) + xk + ti = e8743164 GG : b + (... <<< 5) = 560de9f f GG : a = 1a948ce9, b = 560de9f f, c = 4787bd62, d = e1c96dbe, xk = 00000000, s = 9, ti = 02441453 19

G(560de9f f, 4787bd62, e1c96dbe) = 460f f 9f e a + G(b, c, d) + xk + ti = 62e89b3a GG : b + (... <<< 9) = 27445ec4 GG : a = e1c96dbe, b = 27445ec4, c = 560de9f f, d = 4787bd62, xk = 00000000, s = 14, ti = d8a1e681 G(27445ec4, 560de9f f, 4787bd62) = 170c5cdd a + G(b, c, d) + xk + ti = d177b11c GG : b + (... <<< 14) = 138b9321 GG : a = 4787bd62, b = 138b9321, c = 27445ec4, d = 560de9f f, xk = 80353030, s = 20, ti = e7d3f bc8 G(138b9321, 27445ec4, 560de9f f ) = 33499721 a + G(b, c, d) + xk + ti = e2da807b GG : b + (... <<< 20) = 1b49c0c9 GG : a = 560de9f f, b = 1b49c0c9, c = 138b9321, d = 27445ec4, xk = 00000000, s = 5, ti = 21e1cde6 G(1b49c0c9, 138b9321, 27445ec4) = 13cbc1e1 a + G(b, c, d) + xk + ti = 8bbb79c6 GG : b + (... <<< 5) = 92b8f 99a GG : a = 27445ec4, b = 92b8f 99a, c = 1b49c0c9, d = 138b9321, xk = 00000098, s = 9, ti = c33707d6 G(92b8f 99a, 1b49c0c9, 138b9321) = 1ac8d1c8 a + G(b, c, d) + xk + ti = 054438f a GG : b + (... <<< 9) = 1b2aeda4 GG : a = 138b9321, b = 1b2aeda4, c = 92b8f 99a, d = 1b49c0c9, xk = 302e3138, s = 14, ti = f 4d50d87 G(1b2aeda4, 92b8f 99a, 1b49c0c9) = 9bb8f 992 a + G(b, c, d) + xk + ti = d447cb72 GG : b + (... <<< 14) = 0e07a2b5 GG : a = 1b49c0c9, b = 0e07a2b5, c = 1b2aeda4, d = 92b8f 99a, xk = 00000000, s = 20, ti = 455a14ed G(0e07a2b5, 1b2aeda4, 92b8f 99a) = 0b02a4b4 a + G(b, c, d) + xk + ti = 6ba67a6a GG : b + (... <<< 20) = b4ae5d1c GG : a = 92b8f 99a, b = b4ae5d1c, c = 0e07a2b5, d = 1b2aeda4, xk = 00000000, s = 5, ti = a9e3e905 G(b4ae5d1c, 0e07a2b5, 1b2aeda4) = 142f 4f 15 a + G(b, c, d) + xk + ti = 50cc31b4 GG : b + (... <<< 5) = ce3493a6 GG : a = 1b2aeda4, b = ce3493a6, c = b4ae5d1c, d = 0e07a2b5, xk = 37303134, s = 9, ti = f cef a3f 8 G(ce3493a6, b4ae5d1c, 0e07a2b5) = beacdf ac a + G(b, c, d) + xk + ti = 0df 7a27c GG : b + (... <<< 9) = bd798bc1 GG : a = 0e07a2b5, b = bd798bc1, c = ce3493a6, d = b4ae5d1c, xk = 00000000, s = 14, ti = 676f 02d9 20

G(bd798bc1, ce3493a6, b4ae5d1c) = f e388ba2 a + G(b, c, d) + xk + ti = 73af 3130 GG : b + (... <<< 14) = 89c5a8ac GG : a = b4ae5d1c, b = 89c5a8ac, c = bd798bc1, d = ce3493a6, xk = 00000000, s = 20, ti = 8d2a4c8a G(89c5a8ac, bd798bc1, ce3493a6) = b94d88e5 a + G(b, c, d) + xk + ti = f b26328b GG : b + (... <<< 20) = b2855b0f HH : a = ce3493a6, b = b2855b0f, c = 89c5a8ac, d = bd798bc1, xk = 00000000, s = 4, ti = f f f a3942 H (b2855b0f, 89c5a8ac, bd798bc1) = 86397862 a + H (b, c, d) + xk + ti = 5468454a HH : b + (... <<< 4) = f 909af b4 HH : a = bd798bc1, b = f 909af b4, c = b2855b0f, d = 89c5a8ac, xk = 00000000, s = 11, ti = 8771f 681 H (f 909af b4, b2855b0f, 89c5a8ac) = c2495c17 a + H (b, c, d) + xk + ti = 0734de59 HH : b + (... <<< 11) = 9f f c77ed HH : a = 89c5a8ac, b = 9f f c77ed, c = f 909af b4, d = b2855b0f, xk = 00000000, s = 16, ti = 6d9d6122 H (9f f c77ed, f 909af b4, b2855b0f ) = d4708356 a + H (b, c, d) + xk + ti = cbd38d24 HH : b + (... <<< 16) = 2d2143c0 HH : a = b2855b0f, b = 2d2143c0, c = 9f f c77ed, d = f 909af b4, xk = 00000098, s = 23, ti = f de5380c H (2d2143c0, 9f f c77ed, f 909af b4) = 4bd49b99 a + H (b, c, d) + xk + ti = f c3f 2f 4c HH : b + (... <<< 23) = d39f 6357 HH : a = f 909af b4, b = d39f 6357, c = 2d2143c0, d = 9f f c77ed, xk = 2e363030, s = 4, ti = a4beea44 H (d39f 6357, 2d2143c0, 9f f c77ed) = 6142577a a + H (b, c, d) + xk + ti = 2d4121a2 HH : b + (... <<< 4) = a7b17d79 HH : a = 9f f c77ed, b = a7b17d79, c = d39f 6357, d = 2d2143c0, xk = 80353030, s = 11, ti = 4bdecf a9 H (a7b17d79, d39f 6357, 2d2143c0) = 590f 5dee a + H (b, c, d) + xk + ti = c51f d5b4 HH : b + (... <<< 11) = a65f 23a1 HH : a = 2d2143c0, b = a65f 23a1, c = a7b17d79, d = d39f 6357, xk = 00000000, s = 16, ti = f 6bb4b60 H (a65f 23a1, a7b17d79, d39f 6357) = d2713d8f a + H (b, c, d) + xk + ti = f 64dccaf HH : b + (... <<< 16) = 730f 19ee HH : a = d39f 6357, b = 730f 19ee, c = a65f 23a1, d = a7b17d79, xk = 00000000, s = 23, ti = bebf bc70 21

H (730f 19ee, a65f 23a1, a7b17d79) = 72e14736 a + H (b, c, d) + xk + ti = 054066f d HH : b + (... <<< 23) = f 191ba21 HH : a = a7b17d79, b = f 191ba21, c = 730f 19ee, d = a65f 23a1, xk = 00000000, s = 4, ti = 289b7ec6 H (f 191ba21, 730f 19ee, a65f 23a1) = 24c1806e a + H (b, c, d) + xk + ti = f 50e7cad HH : b + (... <<< 4) = 42798500 HH : a = a65f 23a1, b = 42798500, c = f 191ba21, d = 730f 19ee, xk = 352e3330, s = 11, ti = eaa127f a H (42798500, f 191ba21, 730f 19ee) = c0e726cf a + H (b, c, d) + xk + ti = 8715a59a HH : b + (... <<< 11) = ef a65938 HH : a = 730f 19ee, b = ef a65938, c = 42798500, d = f 191ba21, xk = 302e3138, s = 16, ti = d4ef 3085 H (ef a65938, 42798500, f 191ba21) = 5c4e6619 a + H (b, c, d) + xk + ti = d47ae1c4 HH : b + (... <<< 16) = d16b2db2 HH : a = f 191ba21, b = d16b2db2, c = ef a65938, d = 42798500, xk = 00000000, s = 23, ti = 04881d05 H (d16b2db2, ef a65938, 42798500) = 7cb4f 18a a + H (b, c, d) + xk + ti = 72cec8b0 HH : b + (... <<< 23) = 29a49516 HH : a = 42798500, b = 29a49516, c = d16b2db2, d = ef a65938, xk = 00000000, s = 4, ti = d9d4d039 H (29a49516, d16b2db2, ef a65938) = 1769e19c a + H (b, c, d) + xk + ti = 33b836d5 HH : b + (... <<< 4) = 65280269 HH : a = ef a65938, b = 65280269, c = 29a49516, d = d16b2db2, xk = 00000000, s = 11, ti = e6db99e5 H (65280269, 29a49516, d16b2db2) = 9de7bacd a + H (b, c, d) + xk + ti = 7469adea HH : b + (... <<< 11) = b297560c HH : a = d16b2db2, b = b297560c, c = 65280269, d = 29a49516, xk = 00000000, s = 16, ti = 1f a27cf 8 H (b297560c, 65280269, 29a49516) = f e1bc173 a + H (b, c, d) + xk + ti = ef 296c1d HH : b + (... <<< 16) = 1eb54535 HH : a = 29a49516, b = 1eb54535, c = b297560c, d = 65280269, xk = 37303134, s = 23, ti = c4ac5665 H (1eb54535, b297560c, 65280269) = c90a1150 a + H (b, c, d) + xk + ti = ee8b2df f HH : b + (... <<< 23) = 1eac8acb II : a = 65280269, b = 1eac8acb, c = 1eb54535, d = b297560c, xk = 352e3330, s = 6, ti = f 4292244 22

I (1eac8acb, 1eb54535, b297560c) = 4159eece a + I (b, c, d) + xk + ti = cf d946ab II : b + (... <<< 6) = 14f e35be II : a = b297560c, b = 14f e35be, c = 1eac8acb, d = 1eb54535, xk = 00000000, s = 10, ti = 432af f 97 I (14f e35be, 1eac8acb, 1eb54535) = eb523535 a + I (b, c, d) + xk + ti = e1148ad8 II : b + (... <<< 10) = 67299942 II : a = 1eb54535, b = 67299942, c = 14f e35be, d = 1eac8acb, xk = 00000098, s = 15, ti = ab9423a7 I (67299942, 14f e35be, 1eac8acb) = f 385c8c8 a + I (b, c, d) + xk + ti = bdcf 323c II : b + (... <<< 15) = 0047f 829 II : a = 1eac8acb, b = 0047f 829, c = 67299942, d = 14f e35be, xk = 00000000, s = 21, ti = f c93a039 I (0047f 829, 67299942, 14f e35be) = 8c6e632b a + I (b, c, d) + xk + ti = a7ae8e2f II : b + (... <<< 21) = c63cedf a II : a = 14f e35be, b = c63cedf a, c = 0047f 829, d = 67299942, xk = 00000000, s = 6, ti = 655b59c3 I (c63cedf a, 0047f 829, 67299942) = deb917d6 a + I (b, c, d) + xk + ti = 5912a757 II : b + (... <<< 6) = 0ae6c3d0 II : a = 67299942, b = 0ae6c3d0, c = c63cedf a, d = 0047f 829, xk = 302e3138, s = 10, ti = 8f 0ccc92 I (0ae6c3d0, c63cedf a, 0047f 829) = 39c22a2c a + I (b, c, d) + xk + ti = 6026c138 II : b + (... <<< 10) = a5eba550 II : a = 0047f 829, b = a5eba550, c = 0ae6c3d0, d = c63cedf a, xk = 00000000, s = 15, ti = f f ef f 47d I (a5eba550, 0ae6c3d0, c63cedf a) = b70d7485 a + I (b, c, d) + xk + ti = b745612b II : b + (... <<< 15) = 568180f 2 II : a = c63cedf a, b = 568180f 2, c = a5eba550, d = 0ae6c3d0, xk = 2e363030, s = 21, ti = 85845dd1 I (568180f 2, a5eba550, 0ae6c3d0) = 527219af a + I (b, c, d) + xk + ti = cc6995aa II : b + (... <<< 21) = 0bdb0e24 II : a = 0ae6c3d0, b = 0bdb0e24, c = 568180f 2, d = a5eba550, xk = 00000000, s = 6, ti = 6f a87e4f I (0bdb0e24, 568180f 2, a5eba550) = 0d5ede5d a + I (b, c, d) + xk + ti = 87ee207c II : b + (... <<< 6) = 07632d45 II : a = a5eba550, b = 07632d45, c = 0bdb0e24, d = 568180f 2, xk = 00000000, s = 10, ti = f e2ce6e0 23

I (07632d45, 0bdb0e24, 568180f 2) = a4a47169 a + I (b, c, d) + xk + ti = 48bcf d99 II : b + (... <<< 10) = f b599267 II : a = 568180f 2, b = f b599267, c = 07632d45, d = 0bdb0e24, xk = 00000000, s = 15, ti = a3014314 I (f b599267, 07632d45, 0bdb0e24) = f 81edeba a + I (b, c, d) + xk + ti = f 1a1a2c0 II : b + (... <<< 15) = ccba0b37 II : a = 0bdb0e24, b = ccba0b37, c = f b599267, d = 07632d45, xk = 00000000, s = 21, ti = 4e0811a1 I (ccba0b37, f b599267, 07632d45) = 07e749d8 a + I (b, c, d) + xk + ti = 61ca699d II : b + (... <<< 21) = 00664484 II : a = 07632d45, b = 00664484, c = ccba0b37, d = f b599267, xk = 80353030, s = 6, ti = f 7537e82 I (00664484, ccba0b37, f b599267) = c85c66ab a + I (b, c, d) + xk + ti = 474842a2 II : b + (... <<< 6) = d276ed15 II : a = f b599267, b = d276ed15, c = 00664484, d = ccba0b37, xk = 00000000, s = 10, ti = bd3af 235 I (d276ed15, 00664484, ccba0b37) = f 311b959 a + I (b, c, d) + xk + ti = aba63df 5 II : b + (... <<< 10) = 6b6ec3c3 II : a = ccba0b37, b = 6b6ec3c3, c = d276ed15, d = 00664484, xk = 37303134, s = 15, ti = 2ad7d2bb I (6b6ec3c3, d276ed15, 00664484) = 2d8916ee a + I (b, c, d) + xk + ti = 5c4b2614 II : b + (... <<< 15) = f e78f 1e8 II : a = 00664484, b = f e78f 1e8, c = 6b6ec3c3, d = d276ed15, xk = 00000000, s = 21, ti = eb86d391 I (f e78f 1e8, 6b6ec3c3, d276ed15) = 94973029 a + I (b, c, d) + xk + ti = 8084483e II : b + (... <<< 21) = 06490271 Round end, a=39bc1016 b=f616adfa c=9733cee6 d=7ba11839

3.2

Enkripsi dengan AES

Setelah hasil hash didapat maka langkah selanjutnya adalah enkripsi, disini akan digunakan algoritma AES dengan Cipher Mode Counter. 1. Entrikan hasil hashing 1610bc39faad16f6e6ce33973918a17b ke kolom Message Part 1. 2. Pilih Hexadecimal 24

3. Pada aplikasi ini terdapat Inisialisasi Vektor dan Key . 4. Kemudian pilih Cipher Mode yakni Counter, dimana mode ini menset suatu counter untuk nilai dari inisialisasi vector tersebut. Untuk enkripsi sebuah blok, counter dienkripsi menggunakan algoritma blok. Kemudian hasilnya di XOR dengan bagian pertama dari message. 5. Klik tombol Enkripsi, dan menghasilkan sebuah cipher text yang nantinya akan ditambahkan pada KTP. 6. Detail proses. Initialization vector d1 67 1e 68 ea 1f 0f 23 19 18 30 93 01 d3 6a 49 Key 0f 15 71 c9 47 d9 e8 59 0c b7 ad d6 af 7f 67 98 iv+0 d1 67 1e 68 ea 1f 0f 23 19 18 30 93 01 d3 6a 49 Encrypted iv+0 91 50 90 82 a4 d2 3a e0 cd 9d 0d 63 43 a5 82 72 Message part 1 16 10 bc 39 fa ad 16 f6 e6 ce 33 97 39 18 a1 7b Encrypted part 1 87 40 2c bb 5e 7f 2c 16 2b 53 3e f4 7a bd 23 09

Gambar 25: Proses Enkripsi dengan AES

25

KESIMPULAN DAN SARAN


1. Authentication yaitu suatu tindakan untuk memetapkan sesuatu atau seseorang adalah asli. Membuktikan kesalian suatu objek adalah dengan menetapkan tempat asalnya, sedangkan untuk membuktikan keaslian seseorang adalah dengan identitas mereka 2. kriptogra merupakan ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integri tas data, serta autentikasi data. 3. Digital signature merupakan salah satu aplikasi dari kriptogra dimana aplikasi ini diterapkan pada Kartu Tanda Penduduk (KTP) dimana berfungsi sebagai otentikasi dari pemilik yang sah. Dengan mengaplikasikan digital Signature sebagai autentikasi pada KTP, maka pemanfaatan dan kepemilikan KTP yang tidak benar dan tidah sah dapat diminimalisasi. Algoritma yang digunakan untuk melakukan proses hashing adalah MD5. dimana hasil dari MD5 adalah Message digest. Hasil dari MD5 ini akan dienkripsi dengan menggunakan algoritma AES dengan Cipher Mode Counter. 4. Message Digest 5 (MD5) adalah sebuah fungsi hash satu arah yang mengubah masukan dengan panjang variabel menjadi keluaran dengan panjang tetap yaitu 128 bit. 5. Algoritma (Advanced Encryption Standard) AES ini, inputnya harus 128-bit blok AES ( 16 karakter atau 32 digit hexadesimal). Algoritma ini memiliki beberapa mode, salah satunya adalah Cipher Mode Counter. Mode ini menset suatu counter untuk nilai dari inisialisasi vector. Untuk enkripsi sebuah blok, counter dienkripsi menggunakan algoritma blok. Kemudian hasilnya di XOR dengan bagian pertama dari message.

Beberapa kesimpulan yang dapat diperoleh dari makalah ini adalah:

Selain Kesimpulan diatas maka penulis juga memberikan saran untuk memperbaiki kekurangan dari Aplikasi ini. 1. Karena keterbatasan penulis untuk mendapatkan software yang akan digunakan untuk enkripsi sehingga algoritma yang digunakan adalah AES. Oleh sebab itu penulis menyarankan agar untuk proses enkripsi ini nantinya dapat diaplikasikan pada algoritma Kunci Publik seperti RSA, ECC dan lain-lain.

26

Pustaka
[1] Aghus Sofwan, Agung Budi P, Toni Susanto,(2006),Aplikasi Kriptogra Dengan Algoritma Message Digest 5 (MD5),Transmisi, Vol. 11, No. 1, Juni 2006 : 22 27 [2] Budi Raharjo, (2005),Keamanan Sistem Informasi Berbasis Internet, PT Insan Indonesia Bandung dan PT INDOCISC Jakarta [3] http://www.cs.eku.edu/faculty/styer/460/Encrypt [4] http://en.wikipedia.org [5] Schneier Bruce, (1996), Applied Cryptography Second Edition: Protocols, Algorthms, and Source Code in C (cloth), John Wiley Sons, Inc.

27

You might also like