• Tidak ada hasil yang ditemukan

TUGAS AKHIR KEAMANAN SISTEM LANJUT APLIKASI DIGITAL SIGNATURE SEBAGAI AUTENTIKASI PADA KARTU TANDA PENDUDUK(KTP)

N/A
N/A
Protected

Academic year: 2022

Membagikan "TUGAS AKHIR KEAMANAN SISTEM LANJUT APLIKASI DIGITAL SIGNATURE SEBAGAI AUTENTIKASI PADA KARTU TANDA PENDUDUK(KTP)"

Copied!
30
0
0

Teks penuh

(1)

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

(2)

Daftar Isi

1 PENDAHULUAN 1

2 LANDASAN TEORI 1

2.1 Authentication . . . 1

2.2 Kriptografi . . . 2

2.3 Enkripsi . . . 3

2.4 Digital Signature . . . 6

2.5 Fungsi Hash Satu Arah . . . 8

2.6 Sistem Kriptografi MD5 . . . 9

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

3 APLIKASI DIGITAL SIGNATURE PADA KTP 15 3.1 Proses Hashing dengan MD5 . . . 16

3.2 Enkripsi dengan AES . . . 24

4 KESIMPULAN DAN SARAN 26

(3)

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 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.

Digital signature merupakan salah satu aplikasi dari kriptografi 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.

(4)

1 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 LANDASAN TEORI

2.1 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:

(5)

• Penarikan tunai di ATM

• Menggunakan sistem internet banking

• Pengontrollan remote komputer dengan internet

2.2 Kriptografi

Kriptografi berasal dari bahasa yunani yang terdiri dari kata kryptos yang berarti tersembunyi dan grafo yang berarti tulis. Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita. Selain pengertian tersebut kriptografi 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 kriptografi 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 identifikasi / pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.

• Non-repudiasi

Usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman atau terciptanya suatu informasi oleh yang mengirimkan/membuat.

(6)

Gambar 1: Sistem Kriptografi

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).

(7)

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 kriptografi 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 kriptografi 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.

(8)

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 Kriptografi 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.

(9)

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.

(10)

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.

(11)

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 modifikasi.

Apabila ingin melindungi data dari modifikasi 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

(12)

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 Kriptografi 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 ) 6= H(M ).

Pada bagian ini dijelaskan mengenai sistem kriptografi MD-5 secara spesifik, yaitu sistem kriptografi 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

(13)

Ron Rivest dan didefinisikan 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 in- teger, b bisa saja nol dan tidak harus selalu kelipatan delapan. Pesan dengan panjang b bit dapat digambarkan seperti berikut : m0m1..m(b − 1) Terdapat 5 langkah yang dibutuhkan untuk untuk menghitung intisari pesan. Adapun langkahlangkah terse- but 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. Pe- nambahan bit dilakukan dengan menambahkan 1 di awal dan diikuti 0 se- banyak 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 (pan- jang 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.

(14)

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 inisial- isasikan 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)

(15)

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.

(16)

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

(17)

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 en- cipher 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. Kemu- dian hasilnya di XOR dengan bagian pertama dari message.

(18)

Gambar 20: Encipher Diagram

Gambar 21: Decipher Diagram

3 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 ditam- bahkan 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 data- base 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

(19)

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/JS- MD5.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:

(20)

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], S11, 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

(21)

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 =

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

4 KESIMPULAN DAN SARAN

Beberapa kesimpulan yang dapat diperoleh dari makalah ini adalah:

1. Authenticationyaitu suatu tindakan untuk memetapkan sesuatu atau seseo- rang adalah asli. Membuktikan kesalian suatu objek adalah dengan menetap- kan tempat asalnya, sedangkan untuk membuktikan keaslian seseorang adalah dengan identitas mereka

2. kriptografi merupakan ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, ke- absahan data, integri tas data, serta autentikasi data.

3. Digital signature merupakan salah satu aplikasi dari kriptografi dimana ap- likasi ini diterapkan pada Kartu Tanda Penduduk (KTP) dimana berfungsi sebagai otentikasi dari pemilik yang sah. Dengan mengaplikasikan digital Sig- nature 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 meng- gunakan 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.

Selain Kesimpulan diatas maka penulis juga memberikan saran untuk memperbaiki kekurangan dari Aplikasi ini.

1. Karena keterbatasan penulis untuk mendapatkan software yang akan digu- nakan 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.

(30)

Pustaka

[1] Aghus Sofwan, Agung Budi P, Toni Susanto,(2006),Aplikasi Kriptografi 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, Algo- rthms, and Source Code in C (cloth), John Wiley Sons, Inc.

Gambar

Gambar 1: Sistem Kriptografi
Gambar 2: Pengelompokkan enkripsi beserta contoh
Gambar 3: Dua Kunci Pada Bob
Gambar 5: Enkripsi dan Deskripsi Message
+7

Referensi

Dokumen terkait