[jurnal] aplikasi digital signature sebagai autentikasi pada kartu tanda penduduk(ktp)

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

Upload: arie-webe

Post on 27-Dec-2015

56 views

Category:

Documents


3 download

DESCRIPTION

Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

TRANSCRIPT

Page 1: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

TUGAS AKHIRKEAMANAN SISTEM LANJUT

APLIKASI DIGITAL SIGNATURE SEBAGAI AUTENTIKASIPADA KARTU TANDA PENDUDUK(KTP)

OlehNAMA: DESI RAMAYANTI

NIM: 232 06 006

MAGISTER TEKNIK ELEKTROINSTITUT TEKNOLOGI BANDUNG

2007

Page 2: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

Daftar Isi

1 PENDAHULUAN 1

2 LANDASAN TEORI 12.1 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Kriptografi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.3 Enkripsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.4 Digital Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.5 Fungsi Hash Satu Arah . . . . . . . . . . . . . . . . . . . . . . . . . 82.6 Sistem Kriptografi MD5 . . . . . . . . . . . . . . . . . . . . . . . . . 92.7 Algoritma AES (Advanced Encryption Standard) . . . . . . . . . . . 12

3 APLIKASI DIGITAL SIGNATURE PADA KTP 153.1 Proses Hashing dengan MD5 . . . . . . . . . . . . . . . . . . . . . . 163.2 Enkripsi dengan AES . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4 KESIMPULAN DAN SARAN 26

1

Page 3: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

Ringkasan

Kartu Tanda Penduduk (KTP) adalah nama resmi kartu identitas seseorang diIndonesia yang diperoleh setelah seseorang berusia di atas 17 tahun atau yang sudahmenikah. KTP ini digunakan pada berbagai bidang sebagai bukti identitas resmiyang diakui. Pada dasarnya setiap orang hanya memiliki satu KTP dan bersifatunik. Tetapi ada pihak yang dengan sengaja memalsukan KTP ini untuk maksud-maksud tertentu. Jika KTP palsu tersebut digunakan untuk suatu tindak kejahatandengan mengatas namakan orang lain, maka tentu saja perbuatan tersebut dapatmerugikan orang lain.

Oleh sebab itu maka penulis bermaksud untuk memperkecil ruang gerak pemalsuanKTP tersebut dengan menerapkan metoda digital signature pada setiap KTP resmiyang dikeluarkan oleh Pemerintah. Dalam hal ini yang menjadi digital signaturenyaadalah Nomor Induk Kependudukan (NIK). Karena Nomor Induk Kependudukanatau NIK adalah nomor yang unik yang hanya dimiliki oleh seseorang dari lahirsampai meninggal dunia.

Digital signature merupakan salah satu aplikasi dari kriptografi dimana aplikasi iniditerapkan pada Kartu Tanda Penduduk (KTP) yang berfungsi sebagai otentikasidari pemilik yang sah. Algoritma yang digunakan untuk melakukan proses hashingadalah MD5. Dimana hasil dari MD5 adalah Message digest. Hasil dari MD5 iniakan dienkripsi dengan menggunakan algoritma AES dengan Cipher Mode Counter.

Page 4: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

1 PENDAHULUAN

Kartu Tanda Penduduk (KTP) adalah nama resmi kartu identitas seseorang diIndonesia yang diperoleh setelah seseorang berusia di atas 17 tahun atau yang sudahmenikah. KTP berlaku selama 5 tahun dan tanggal berakhirnya disesuaikan dengantanggal dan bulan kelahiran yang bersangkutan. Dimana pada KTP berisi informasimengenai 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 adapihak yang dengan sengaja memalsukan KTP ini untuk maksud-maksud tertentu.Jika KTP palsu tersebut digunakan untuk suatu tindak kejahatan dengan mengatasnamakan orang lain, maka tentu saja perbuatan tersebut dapat merugikan oranglain.

Oleh sebab itu maka penulis bermaksud untuk memperkecil ruang gerak pemalsuanKTP tersebut dengan menerapkan metoda digital signature pada setiap KTP resmiyang dikeluarkan oleh Pemerintah. Dalam hal ini yang menjadi digital signaturenyaadalah Nomor Induk Kependudukan (NIK). Karena Nomor Induk Kependudukanatau NIK adalah nomor yang unik yang hanya dimiliki oleh seseorang dari lahirsampai meninggal dunia.

2 LANDASAN TEORI

2.1 Authentication

Authentication (berasal dari bahasa Yunani yakni “authentes”= pengarang, yaitusuatu tindakan untuk menetapkan sesuatu atau seseorang adalah asli. Membuktikankesalian suatu objek adalah dengan menetapkan tempat asalnya, sedangkan untukmembuktikan keaslian seseorang adalah dengan identitas mereka.

Authentication pada manusia tergantung kepada beberapa faktor yaitu

• Something the user isContohnya adalah DNA, pola retina mata, sidikjari, pola suara, biometrik,sinyal bio-elektrik yang dihasilkan oleh tubuh, dan

• Something the user hasContohnya adalah ID Card, security token, software token dan cell phone.

• Something the user knowsContohnya adalah password, PIN dll.

Masalah pertama, membuktikan keaslian dokumen, dapat dilakukan dengan teknologi watermarking dan digital signature. Watermarking juga dapat digunakan untukmenjaga intelectual property, yaitu dengan menandai dokumen atau hasil karyadengan tanda tangan pembuat.

Masalah kedua adalah access control. Sebuah sistem komputer diharapkan untukdapat digunakan hanya oleh yang diberi hak, sehingga sistem komputer tersebutharus bisa mendeteksi dan menolak user yang tidak punya hak. Contoh accesscontrol yang menyertakan Authentication meliputi:

1

Page 5: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

• 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 berartitersembunyi dan grafo yang berarti tulis. Kriptografi, secara umum adalah ilmu danseni untuk menjaga kerahasiaan berita. Selain pengertian tersebut kriptografi jugamerupakan ilmu yang mempelajari teknik-teknik matematika yang berhubungandengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data.

Ada empat tujuan mendasar dari ilmu kriptografi yang merupakan aspek keamananinformasi yaitu :

• KerahasiaanMerupakan layanan yang digunakan untuk menjaga isi dari informasi darisiapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membukaatau mengupas informasi yang telah disandi.

• Integritas dataBerhubungan dengan penjagaan dari perubahan data secara tidak sah. Untukmenjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksimanipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan,penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.

• AutentikasiBerhubungan dengan identifikasi / pengenalan, baik secara kesatuan sistemmaupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harussaling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harusdiautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.

• Non-repudiasiUsaha untuk mencegah terjadinya penyangkalan terhadap pengiriman atauterciptanya suatu informasi oleh yang mengirimkan/membuat.

2

Page 6: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

Gambar 1: Sistem Kriptografi

Keterangan gambar

• Plaintext adalah pesan atau informasi yang akan dikirimkan dalam formatyang mudah dibaca atau dalam bentuk aslinya. Ciphertext.

• Data diacak dengan menggunakan Kunci Enkripsi (Encryption Key).

• Ciphertext adalah pesan atau informasi yang sudah dienkripsi sehingga tidakdapat dibaca dengan mudah.

• Proses pengacakan atau Proses yang dilakukan untuk mengamankan sebuahpesan (yang disebut plaintext) menjadi pesan yang tersembunyi (disebut ciphertext) adalah enkripsi (encryption). Menurut ISO 7498-2, terminologi yanglebih tepat digunakan adalah encipher.

• Proses sebaliknya, untuk mengubah ciphertext menjadi plaintext, disebut dekripsi (decryption). Menurut ISO 7498-2, terminologi yang lebih tepat untukproses ini adalah decipher.

• Kunci yang digunakan pada tahap Dekripsi disebut Kunci Dekripsi (DecryptionKey).

• Pada prakteknya, selain pihak yang berwenang ada pihak ketiga yang selaluberusaha untuk mengembalikan CipherTeks ke PlainTeks atau memecahkanKunci Dekripsi. Usaha oleh pihak ketiga ini disebut Kriptanalisis (Cryptanalysis).

2.3 Enkripsi

Enkripsi digunakan untuk menyandikan data-data atau informasi sehingga tidakdapat 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 untukmengenkripsi (untuk kasus private key cryptography) atau dengan kunci yang berbeda (untuk kasus public key cryptography).

3

Page 7: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

Secara matematis, proses atau fungsi enkripsi (E) dapat dituliskan sebagai:

E(M) = C

Dimana: M adalah plaintext (message) dan C adalah ciphertext. Proses atau fungsidekripsi (D) dapat dituliskan sebagai:

D(C) = M

Elemen dari Enkripsi

Teknik kriptografi modern yang ada saat ini dapat dikelompokkan sebagaimanaditunjukkan pada Gambar 2.

Gambar 2: Pengelompokkan enkripsi beserta contoh

• Kriptosistem Simetrik (Symmetric Cryptosystem)Disebut juga Kunci Pribadi (Private Key) adalah metode kriptografi di manakunci enkripsi bisa diperoleh dari kunci deskripsi atau sebaliknya.

• Kriptosistem Asimetrik (Asymmetric Cryptosystem)Kebalikan dari Kriptosistem Simetrik atau disebut juga Kunci Publik (PublicKey). Kunci Pribadi berarti bahwa pemegang kunci enkripsi maupun dekripsihanyalah pihak-pihak berwenang saja.

Karena melihat kembali sifatnya, bila pihak ketiga memperoleh salah satukunci tersebut maka dia bisa memperoleh kunci yang lain. Kunci Publikberarti Kunci Enkripsi dapat disebarluaskan ke publik sedangkan pihak berwenang cukup menjaga kerahasiaan Kunci Deskripsi.

4

Page 8: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

Berdasarkan cara memproses teks (plaintext), cipher dapat dikategorikan menjadidua jenis:

• Block CipherPada Block Cipher, sesuai namanya, data Plain Teks diolah per blok data.Block cipher bekerja dengan memproses data secara blok, dimana beberapakarakter / data digabungkan menjadi satu blok. Setiap proses satu blokmenghasilkan keluaran satu blok juga.

• Stream CipherPada Stream Cipher, data Plain Teks diolah per satuan data terkecil, misalnyaperbit atau per karakter. Stream cipher bekerja memproses masukan (karakteratau data) secara terus menerus dan menghasilkan data pada saat yang bersamaan.

Teknik Kriptografi kemudian dibagi lagi menjadi dua kelompok, yaitu :

• Synchronized Cipher dimana Kunci Enkripsi dan Kunci Dekripsi perlu disinkronisasi.

• Asynchronized Cipher dimana sinkronisasi tidak diperlukan.

Stream Cipher dapat dibagi menjadi dua kelompok ini (Synchronized dan Asynchronized cipher) sedangkan pada Block Cipher hanya ada Synchronized Cipher.

Power-Residual Form Cipher adalah teknik dimana dalam proses enkripsinya menggunakan rumus matematika XY (mod N) atau rumus yang mirip seperti itu.

Knapsack Form Cipher adalah teknik yang menggunakan Knapsack Problem yangmerupakan problem komputasi kelas NP-Komplit (NP-Complete atau NP-Hard).

Kunci yang digunakan dan panjangnya kunci.

Kekuatan dari penyandian bergantung kepada kunci yang digunakan. Beberapaalgoritma enkripsi memiliki kelemahan pada kunci yang digunakan. Untuk itu, kunciyang lemah tersebut tidak boleh digunakan. Selain itu, panjangnya kunci, yangbiasanya dalam ukuran bit, juga menentukan kekuatan dari enkripsi. Kunci yanglebih panjang biasanya lebih aman dari kunci yang pendek. Jadi enkripsi denganmenggunakan kunci 128 bit lebih sukar dipecahkan dengan algoritma enkripsi yangsama tetapi dengan kunci 56 bit. Semakin panjang sebuah kunci, semakin besarkeyspace yang harus dijalani untuk mencari kunci dengan cara brute force attackatau coba-coba karena keyspace yang harus dilihat merupakan pangkat dari bilangan2. Jadi kunci 128 bit memiliki keyspace 2128, sedangkan kunci 56 bit memilikikeyspace 256. Artinya semakin lama kunci baru bisa ketahuan.

5

Page 9: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

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

Gambar 3: Dua Kunci Pada Bob

Gambar 4: Kunci Publik Bob

Kunci publik Bob tersedia untuk siapa saja yang membutuhkannya, tetapi kunciprivate nya disimpan untuk dirinya sendiri. Dimana kunci tersebut digunakan untukmengenkripsi data.

Susan dapat mengenkripsi pesan menggunakan kunci publik Bob dan Bob menggunakan kunci privatenya untuk mendekripsi pesan tersebut (seperti gambar 5 dibawahini). Siapapun dari Teman sekerja bob mungkin mempunyai akses terhadap pesansusan yang dienkripsi, tetapi tanpa Kunci private Bob, data tersebut tidak berharga.

6

Page 10: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

Gambar 5: Enkripsi dan Deskripsi Message

Gambar 6: Hashing

Untuk menandai dokumen, dokumen tersebut akan dihash dengan menggunakansuatu software dan disebut sebagai ”Message digest”.

Kemudian Message Digest tersebut akan dienkripsi dengan kunci publik dan menghasilkan 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 menambahkan digital signature pada dokumen atau data lainnya, dimana suatu digitalsignature adalah sebuah tanda dari Bob yang ditempatkan pada data secara unik.

7

Page 11: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

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 keutuhanpesan dan manipulation detection code (MDC) atau pendektesi penyelewengan kode.

Fungsi hash satu arah dibuat berdasarkan ide tentang fungsi pemampatan. Fungsihash adalah sebuah fungsi atau persamaan matematika yang mengambil input dengan panjang variabel (preimage) dan merubahnya menjadi panjang yang tetap (biasanya 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 untukmembangkitkan 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 hitunghasil fungsi hash dari data tersebut, selanjutnya dapat menghitung hasil fungsihash lagi dan membandingkannya dengan hasil yang pertama apabila berbeda makaterjadi perubahan selama pengiriman.

Sebagai contohnya adalah bila si pengirim (A) akan mengirim pesan kepada temannya (B). Sebelum mengirim, A melakukan hash dari pesannya untuk mendapatkannilai hash kemudian dia mengirim pesan itu beserta nilai hashnya, Lalu B melakukanhash untuk mencari nilai hash dari pesan itu bila terjadi perbedaan maka sewaktupengiriman telah terjadi perubahan dari pesan tersebut. Masukan dari fungsi hash

8

Page 12: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

satu arah adalah blok pesan dan keluaran dari blok text atau nilai hash sebelumnyaini dapat dilihat pada Gambar 9 sehingga secara garis besar, hash dari blok Miadalah:

hi = f(Mi, hi− 1)

Gambar 9: Fungsi Hash Satu Arah

Nilai hash ini bersama blok pesan berikutnya menjadi masukan berikutnya bagifungsi pemampatan. Nilai hash keseluruhan adalah nilai hash dari blok paling akhir.Preimage sedapatnya mengandung beberapa binari yang menggambarkan panjangdari masukan pesan. Teknik ini digunakan untuk mengatasi masalah yang dapatterjadi bila pesan yang mempunyai pesan yang tidak sama mempunyai nilai hashyang sama. Metode ini biasa disebut Message Digest(MD) strengthening atau penguatan MD.

2.6 Sistem Kriptografi MD5

MD5 merupakan fungsi hash satu arah yang diciptakan oleh Ron Rivest. MD5adalah salah satu aplikasi yang digunakan untuk mengetahui bahwa pesan yangdikirim tidak ada perubahan sewaktu berada di jaringan. Algoritma MD5 secaragaris besar adalah mengambil pesan yang mempunyai panjang variabel diubah menjadi sidik jari atau intisari pesan yang mempunyai panjang tetap yaitu 128 bit. Sidikjari ini tidak dapat dibalik untuk mendapatkan pesan, dengan kata lain tidak adaorang yang dapat melihat pesan dari sidik jari MD5.

Message digest atau intisari pesan harus mempunyai tiga sifat penting, yaitu:

1. Bila P diketahui, maka MD(P ) akan dengan mudah dapat dihitung.

2. Bila MD(P ) diketahui, maka tidak mungkin menghitung P .

3. Tidak seorang pun dapat memberi dua pesan yang mempunyai intisari pesanyang sama. H(M) 6= H(M).

Pada bagian ini dijelaskan mengenai sistem kriptografi MD-5 secara spesifik, yaitusistem kriptografi algoritma MD5 yang menjelaskan dari awal masukan hingga keluarannya.

Prinsip Dasar MD5

Message Digest 5 (MD5) adalah salah satu penggunaan fungsi hash satu arah yangpaling banyak digunakan. MD5 merupakan fungsi hash kelima yang dirancang oleh

9

Page 13: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

Ron Rivest dan didefinisikan pada RFC 1321. MD5 merupakan pengembangan dariMD4 dimana terjadi penambahan satu ronde. MD5 memproses teks masukan kedalam blok-blok bit sebanyak 512 bit, kemudian dibagi ke dalam 32 bit sub bloksebanyak 24 16 buah. Keluaran dari MD5 berupa 4 buah blok yang masing-masing32 bit yang mana akan menjadi 128 bit yang biasa disebut nilai hash.

Pada Gambar 10 terlihat simpul utama dari MD5. Simpul utama MD5 mempunyaiblok pesan dengan panjang 512 bit yang masuk ke dalam 4 buah ronde. Hasilkeluaran dari MD5 adalah berupa 128 bit dari byte terendah A dan tertinggi byteD.

Gambar 10: Simpul Utama MD5

Penjelasan Algoritma MD-5

Setiap pesan yang akan dienkripsi, terlebih dahulu dicari berapa banyak bit yangterdapat 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 panjangb bit dapat digambarkan seperti berikut : m0m1..m(b− 1) Terdapat 5 langkah yangdibutuhkan untuk untuk menghitung intisari pesan. Adapun langkahlangkah terse-but adalah sebagai berikut:

1. Menambahkan bitPesan akan ditambahkan bit-bit tambahan sehingga panjang bit akan kongruendengan 448, mod 512. Hal ini berarti pesan akan mempunyai panjang yanghanya kurang 64 bit dari kelipatan 512 bit. Penambahan bit selalu dilakukanwalaupun 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 PesanSetelah penambahan bit, pesan masih membutuhkan 64 bit agar kongruendengan kelipatan 512 bit. 64 bit tersebut merupakan perwakilan dari b (pan-jang pesan sebelum penambahan bit dilakukan). Bit-bit ini ditambahkan kedalam dua word (32 bit) dan ditambahkan dengan low-order terlebih dahulu.Penambahan pesan ini biasa disebut juga MD Strengthening atau PenguatanMD.

10

Page 14: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

3. Inisialisasi MD-5Pada MD-5 terdapat empat buah word 32 bit register yang berguna untukmenginisialisasi message digest pertama kali. Register-register ini di inisial-isasikan dengan bilangan hexadesimal.wordA : 01234567wordB : 89ABCDEFwordC : FEDCBA98wordD : 76543210Register-register ini biasa disebut dengan nama Chain variabel atau variabelrantai.

4. Proses Pesan di dalam Blok 16 WordPada MD-5 juga terdapat 4 (empat) buah fungsi nonlinear yang masing-masingdigunakan 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 ⊕ ZI(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 operasiyang dipakai sebagai contoh adalah FF (a, b, c, d, Mj, s, ti) menunjukan:

a = b + ((a + F (b, c, d) + Mj + ti) <<< s)

Gambar 11: Satu buah operasi MD5

Bila Mj menggambarkan pesan ke-j dari sub blok (dari 0 sampai 15) dan<<< s menggambarkan bit akan digeser ke kiri sebanyak s bit, maka keempatoperasi dari masing-masing ronde adalah:

FF (a, b, c, d, Mj, s, ti) menunjukan a = b + ((a + F (b, c, d) + Mj + ti) <<< s)GG(a, b, c, d,Mj, s, ti) menunjukan a = b + ((a + G(b, c, d) + Mj + ti) <<< s)

11

Page 15: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

HH(a, b, c, d, Mj, s, ti) menunjukan a = b+((a+H(b, c, d)+Mj + ti) <<< s)II(a, b, c, d,Mj, s, ti) menunjukan a = b + ((a + I(b, c, d) + Mj + ti) <<< s)

Konstanta ti didapat dari integer 232 abs(sin(i)), dimana i dalam radian.

5. Keluaran MD5Keluaran dari MD5 adalah 128 bit dari word terendah A dan tertinggi wordD 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 digithexadesimal). Algoritma ini memiliki beberapa mode antara lain :

• Electronic CodebookSetiap blok dienkripsi secara bebas dan tidak digunakan inisialisasi vector.

Gambar 12: Encipher Diagram

Gambar 13: Decipher Diagram

• Chiper Block ChainingBlok input yang pertama akan di XOR dengan inisialisasi vektor. Hasil yangdiperoleh akan dienkripsi sehingga menghasilkan sebuah blok ciphertext. Blokciphertext yang pertama ini kemudian akan di XOR dengan blok input yangkedua, demikian seterusnya. dari block proceeding sebelum dienkripsi.

12

Page 16: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

Gambar 14: Encipher Diagram

Gambar 15: Decipher Diagram

• Cipher FeedbackMode ini menyimpan inisialisasi vektor ke shift register. Kemudian isi darishift register ini dienkripsi, hasil dari enkripsi tersebut akan di XOR denganBlok input (plaintext). Hasil dari XOR ini akan disimpan juga ke shift registeryang berikutnya.

Gambar 16: Encipher Diagram

13

Page 17: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

Gambar 17: Decipher Diagram

• Output FeedbackInisialisasi 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

• CounterMode ini menset suatu counter untuk nilai dari inisialisasi vector. Untukenkripsi sebuah blok, counter dienkripsi menggunakan algoritma blok. Kemu-dian hasilnya di XOR dengan bagian pertama dari message.

14

Page 18: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

Gambar 20: Encipher Diagram

Gambar 21: Decipher Diagram

3 APLIKASI DIGITAL SIGNATURE PADA KTP

Pada bagian ini akan dijelaskan bagaimana aplikasi digital signature pada KartuTanda Penduduk (KTP)sebagai otentikasi. Pada setiap KTP nantinya akan ditam-bahkan digital signaturenya, dimana data yang akan diambil adalah Nomor IndukKependudukan. Karena setiap penduduk Indonesia hanya akan memiliki satu nomorpenduduk dan bersifat unik. Pemerintah nantinya akan memberikan sebuah kuncikepada penduduk yakni kunci private. Dimana kunci private ini juga akan diberikankepada Instansi terkait.

Ketika penduduk tersebut ingin malakukan suatu aktivitas yang memerlukan KTP,maka untuk memastikan bahwa KTP tersebut merupakan identitas yang benar daripenduduk tersebut maka digital signature tadi akan didekripsi dengan kunci tersebutyang telah diberikan pemerintah kepada penduduk tersebut. Dan setelah didekripsimenghasilkan output yang sama dengan message digest yang tersimpan pada data-base pemerintahan maka bisa dipastikan bahwa penduduk tersebut adalah orangyang benar.

Dalam makalah ini akan digunakan algoritma MD5 untuk hashing dan hasil hashingtersebut yang berupa message digest akan dienkripsi dengan menggunakan algoritmaAES dengan chiper mode counter. Aplikasi yang digunakan adalah aplikasi onlineyang ada pada internet yaitu dari http://www.cs.eku.edu/faculty/styer/460/Encrypt

15

Page 19: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

3.1 Proses Hashing dengan MD5

Aplikasi ini merupakan md5 string yaitu mencari nilai hash dari masukan berupakarakter-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 KarakterEntrikan Nomor Induk Kependudukan pada kolom enter your messagehere seperti gambar berikut ini:

Gambar 23: Entri Message

3. klik tombol Calculate Hash untuk menghashing Nomor Induk Kependudukanyang sudah dientrikan diatas. Sehingga menghasilkan sebuah message digestseperti berikut:

16

Page 20: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

Gambar 24: Hasil MD5 Hash

4. Proses detail dari MD5 Hash diatas adalah sebagai berikut:

03.5: 352e3330006.: 2e3630304107: 3730313481.0: 302e3138

length=19length%4=3, padding=80353030

Starting, a=67452301b=efcdab89c=98badcfed=10325476

Starting block at word 0x[0]=352e3330x[1]=2e363030x[2]=37303134x[3]=302e3138x[4]=80353030x[5]=00000000x[6]=00000000x[7]=00000000x[8]=00000000x[9]=00000000x[10]=00000000x[11]=00000000x[12]=00000000x[13]=00000000x[14]=00000098x[15]=00000000

FF (A,B, C,D, x[0], S11, 0xd76aa478)

FF : a = 67452301, b = efcdab89, c = 98badcfe, d = 10325476, xk = 352e3330, s =7, ti = d76aa478F (efcdab89, 98badcfe, 10325476) = 98badcfea + F (b, c, d) + xk + ti = 0c98d7a7

FF : b + (... <<< 7) = 3c397f0f

FF : a = 10325476, b = 3c397f0f, c = efcdab89, d = 98badcfe, xk = 2e363030, s =12, ti = e8c7b756F (3c397f0f, efcdab89, 98badcfe) = ac8babf9a + F (b, c, d) + xk + ti = d3bbe7f5

17

Page 21: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

FF : b + (... <<< 12) = fab8dc4aFF : a = 98badcfe, b = fab8dc4a, c =3c397f0f, d = efcdab89, xk = 37303134, s = 17, ti = 242070dbF (fab8dc4a, 3c397f0f, efcdab89) = 3d7d7f8ba + F (b, c, d) + xk + ti = 3188fe98

FF : b + (... <<< 17) = f7e93f5bFF : a = efcdab89, b = f7e93f5b, c =fab8dc4a, d = 3c397f0f, xk = 302e3138, s = 22, ti = c1bdceeeF (f7e93f5b, fab8dc4a, 3c397f0f) = fab85c4ea + F (b, c, d) + xk + ti = dc7207fd

FF : b + (... <<< 22) = f7605bdcFF : a = 3c397f0f, b = f7605bdc, c =f7e93f5b, d = fab8dc4a, xk = 80353030, s = 7, ti = f57c0fafF (f7605bdc, f7e93f5b, fab8dc4a) = fff89f5aa + F (b, c, d) + xk + ti = b1e35e48

FF : b + (... <<< 7) = e90f8034FF : a = fab8dc4a, b = e90f8034, c =f7605bdc, d = f7e93f5b, xk = 00000000, s = 12, ti = 4787c62aF (e90f8034, f7605bdc, f7e93f5b) = f7e03f5fa + F (b, c, d) + xk + ti = 3a20e1d3

FF : b + (... <<< 12) = f72cb3d6FF : a = f7e93f5b, b = f72cb3d6, c =e90f8034, d = f7605bdc, xk = 00000000, s = 17, ti = a8304613F (f72cb3d6, e90f8034, f7605bdc) = e14cc81ca + F (b, c, d) + xk + ti = 81664d8a

FF : b + (... <<< 17) = 9241b6a2FF : a = f7605bdc, b = 9241b6a2, c =f72cb3d6, d = e90f8034, xk = 00000000, s = 22, ti = fd469501F (9241b6a2, f72cb3d6, e90f8034) = fb0eb296a + F (b, c, d) + xk + ti = efb5a373

FF : b + (... <<< 22) = 6f3da40aFF : a = e90f8034, b = 6f3da40a, c =9241b6a2, d = f72cb3d6, xk = 00000000, s = 7, ti = 698098d8F (6f3da40a, 9241b6a2, f72cb3d6) = 9201b7d6a + F (b, c, d) + xk + ti = e491d0e2FF : b + (... <<< 7) = b826157c

FF : a = f72cb3d6, b = b826157c, c = 6f3da40a, d = 9241b6a2, xk = 00000000, s =12, ti = 8b44f7afF (b826157c, 6f3da40a, 9241b6a2) = 2a65a68aa + F (b, c, d) + xk + ti = acd7520fFF : b + (... <<< 12) = 2d471049

FF : a = 9241b6a2, b = 2d471049, c = b826157c, d = 6f3da40a, xk = 00000000, s =17, ti = ffff5bb1F (2d471049, b826157c, 6f3da40a) = 6a3eb44aa + F (b, c, d) + xk + ti = fc7fc69dFF : b + (... <<< 17) = ba830948

FF : a = 6f3da40a, b = ba830948, c = 2d471049, d = b826157c, xk = 00000000, s =22, ti = 895cd7beF (ba830948, 2d471049, b826157c) = 2827147ca + F (b, c, d) + xk + ti = 20c19044FF : b + (... <<< 22) = cb8b39ac

FF : a = b826157c, b = cb8b39ac, c = ba830948, d = 2d471049, xk = 00000000, s =

18

Page 22: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

7, ti = 6b901122F (cb8b39ac, ba830948, 2d471049) = aec70949a + F (b, c, d) + xk + ti = d27d2fe7FF : b + (... <<< 7) = 0a232d95

FF : a = 2d471049, b = 0a232d95, c = cb8b39ac, d = ba830948, xk = 00000000, s =12, ti = fd987193F (0a232d95, cb8b39ac, ba830948) = ba8329cca + F (b, c, d) + xk + ti = e562aba8FF : b + (... <<< 12) = 34ddbbeb

FF : a = ba830948, b = 34ddbbeb, c = 0a232d95, d = cb8b39ac, xk = 00000098, s =17, ti = a679438eF (34ddbbeb, 0a232d95, cb8b39ac) = cb032985a + F (b, c, d) + xk + ti = 2bff76f3FF : b + (... <<< 17) = 22c413e9

FF : a = cb8b39ac, b = 22c413e9, c = 34ddbbeb, d = 0a232d95, xk = 00000000, s =22, ti = 49b40821F (22c413e9, 34ddbbeb, 0a232d95) = 28e73ffda + F (b, c, d) + xk + ti = 3e2681caFF : b + (... <<< 22) = 95539d89

GG : a = 0a232d95, b = 95539d89, c = 22c413e9, d = 34ddbbeb, xk = 2e363030, s =5, ti = f61e2562G(95539d89, 22c413e9, 34ddbbeb) = 16519989a + G(b, c, d) + xk + ti = 44c91cb0GG : b + (... <<< 5) = 2e773391

GG : a = 34ddbbeb, b = 2e773391, c = 95539d89, d = 22c413e9, xk = 00000000, s =9, ti = c040b340G(2e773391, 95539d89, 22c413e9) = b7579f81a + G(b, c, d) + xk + ti = ac760eacGG : b + (... <<< 9) = 1a948ce9

GG : a = 22c413e9, b = 1a948ce9, c = 2e773391, d = 95539d89, xk = 00000000, s =14, ti = 265e5a51G(1a948ce9, 2e773391, 95539d89) = 3a34ae99a + G(b, c, d) + xk + ti = 83571cd3GG : b + (... <<< 14) = e1c96dbe

GG : a = 95539d89, b = e1c96dbe, c = 1a948ce9, d = 2e773391, xk = 352e3330, s =20, ti = e9b6c7aaG(e1c96dbe, 1a948ce9, 2e773391) = 30c1adf8a + G(b, c, d) + xk + ti = e4fa465GG : b + (... <<< 20) = 4787bd62

GG : a = 2e773391, b = 4787bd62, c = e1c96dbe, d = 1a948ce9, xk = 00000000, s =5, ti = d62f105dG(4787bd62, e1c96dbe, 1a948ce9) = e3cded76a+G(b, c, d)+xk+ ti = e8743164GG : b + (... <<< 5) = 560de9ff

GG : a = 1a948ce9, b = 560de9ff, c = 4787bd62, d = e1c96dbe, xk = 00000000, s =9, ti = 02441453

19

Page 23: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

G(560de9ff, 4787bd62, e1c96dbe) = 460ff9fea + G(b, c, d) + xk + ti = 62e89b3aGG : b + (... <<< 9) = 27445ec4

GG : a = e1c96dbe, b = 27445ec4, c = 560de9ff, d = 4787bd62, xk = 00000000, s =14, ti = d8a1e681G(27445ec4, 560de9ff, 4787bd62) = 170c5cdda + G(b, c, d) + xk + ti = d177b11cGG : b + (... <<< 14) = 138b9321

GG : a = 4787bd62, b = 138b9321, c = 27445ec4, d = 560de9ff, xk = 80353030, s =20, ti = e7d3fbc8G(138b9321, 27445ec4, 560de9ff) = 33499721a + G(b, c, d) + xk + ti = e2da807bGG : b + (... <<< 20) = 1b49c0c9

GG : a = 560de9ff, b = 1b49c0c9, c = 138b9321, d = 27445ec4, xk = 00000000, s =5, ti = 21e1cde6G(1b49c0c9, 138b9321, 27445ec4) = 13cbc1e1a + G(b, c, d) + xk + ti = 8bbb79c6GG : b + (... <<< 5) = 92b8f99a

GG : a = 27445ec4, b = 92b8f99a, c = 1b49c0c9, d = 138b9321, xk = 00000098, s =9, ti = c33707d6G(92b8f99a, 1b49c0c9, 138b9321) = 1ac8d1c8a + G(b, c, d) + xk + ti = 054438faGG : b + (... <<< 9) = 1b2aeda4

GG : a = 138b9321, b = 1b2aeda4, c = 92b8f99a, d = 1b49c0c9, xk = 302e3138, s =14, ti = f4d50d87G(1b2aeda4, 92b8f99a, 1b49c0c9) = 9bb8f992a + G(b, c, d) + xk + ti = d447cb72GG : b + (... <<< 14) = 0e07a2b5

GG : a = 1b49c0c9, b = 0e07a2b5, c = 1b2aeda4, d = 92b8f99a, xk = 00000000, s =20, ti = 455a14edG(0e07a2b5, 1b2aeda4, 92b8f99a) = 0b02a4b4a + G(b, c, d) + xk + ti = 6ba67a6aGG : b + (... <<< 20) = b4ae5d1c

GG : a = 92b8f99a, b = b4ae5d1c, c = 0e07a2b5, d = 1b2aeda4, xk = 00000000, s =5, ti = a9e3e905G(b4ae5d1c, 0e07a2b5, 1b2aeda4) = 142f4f15a + G(b, c, d) + xk + ti = 50cc31b4GG : b + (... <<< 5) = ce3493a6

GG : a = 1b2aeda4, b = ce3493a6, c = b4ae5d1c, d = 0e07a2b5, xk = 37303134, s =9, ti = fcefa3f8G(ce3493a6, b4ae5d1c, 0e07a2b5) = beacdfaca + G(b, c, d) + xk + ti = 0df7a27cGG : b + (... <<< 9) = bd798bc1

GG : a = 0e07a2b5, b = bd798bc1, c = ce3493a6, d = b4ae5d1c, xk = 00000000, s =14, ti = 676f02d9

20

Page 24: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

G(bd798bc1, ce3493a6, b4ae5d1c) = fe388ba2a + G(b, c, d) + xk + ti = 73af3130GG : b + (... <<< 14) = 89c5a8ac

GG : a = b4ae5d1c, b = 89c5a8ac, c = bd798bc1, d = ce3493a6, xk = 00000000, s =20, ti = 8d2a4c8aG(89c5a8ac, bd798bc1, ce3493a6) = b94d88e5a + G(b, c, d) + xk + ti = fb26328bGG : b + (... <<< 20) = b2855b0f

HH : a = ce3493a6, b = b2855b0f, c = 89c5a8ac, d = bd798bc1, xk = 00000000, s =4, ti = fffa3942H(b2855b0f, 89c5a8ac, bd798bc1) = 86397862a + H(b, c, d) + xk + ti = 5468454aHH : b + (... <<< 4) = f909afb4

HH : a = bd798bc1, b = f909afb4, c = b2855b0f, d = 89c5a8ac, xk = 00000000, s =11, ti = 8771f681H(f909afb4, b2855b0f, 89c5a8ac) = c2495c17a + H(b, c, d) + xk + ti = 0734de59HH : b + (... <<< 11) = 9ffc77ed

HH : a = 89c5a8ac, b = 9ffc77ed, c = f909afb4, d = b2855b0f, xk = 00000000, s =16, ti = 6d9d6122H(9ffc77ed, f909afb4, b2855b0f) = d4708356a + H(b, c, d) + xk + ti = cbd38d24HH : b + (... <<< 16) = 2d2143c0

HH : a = b2855b0f, b = 2d2143c0, c = 9ffc77ed, d = f909afb4, xk = 00000098, s =23, ti = fde5380cH(2d2143c0, 9ffc77ed, f909afb4) = 4bd49b99a + H(b, c, d) + xk + ti = fc3f2f4cHH : b + (... <<< 23) = d39f6357

HH : a = f909afb4, b = d39f6357, c = 2d2143c0, d = 9ffc77ed, xk =2e363030, s = 4, ti = a4beea44H(d39f6357, 2d2143c0, 9ffc77ed) = 6142577aa + H(b, c, d) + xk + ti = 2d4121a2HH : b + (... <<< 4) = a7b17d79

HH : a = 9ffc77ed, b = a7b17d79, c = d39f6357, d = 2d2143c0, xk =80353030, s = 11, ti = 4bdecfa9H(a7b17d79, d39f6357, 2d2143c0) = 590f5deea + H(b, c, d) + xk + ti = c51fd5b4HH : b + (... <<< 11) = a65f23a1

HH : a = 2d2143c0, b = a65f23a1, c = a7b17d79, d = d39f6357, xk =00000000, s = 16, ti = f6bb4b60H(a65f23a1, a7b17d79, d39f6357) = d2713d8fa + H(b, c, d) + xk + ti = f64dccafHH : b + (... <<< 16) = 730f19ee

HH : a = d39f6357, b = 730f19ee, c = a65f23a1, d = a7b17d79, xk =00000000, s = 23, ti = bebfbc70

21

Page 25: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

H(730f19ee, a65f23a1, a7b17d79) = 72e14736a + H(b, c, d) + xk + ti = 054066fdHH : b + (... <<< 23) = f191ba21

HH : a = a7b17d79, b = f191ba21, c = 730f19ee, d = a65f23a1, xk =00000000, s = 4, ti = 289b7ec6H(f191ba21, 730f19ee, a65f23a1) = 24c1806ea + H(b, c, d) + xk + ti = f50e7cadHH : b + (... <<< 4) = 42798500

HH : a = a65f23a1, b = 42798500, c = f191ba21, d = 730f19ee, xk =352e3330, s = 11, ti = eaa127faH(42798500, f191ba21, 730f19ee) = c0e726cfa + H(b, c, d) + xk + ti = 8715a59aHH : b + (... <<< 11) = efa65938

HH : a = 730f19ee, b = efa65938, c = 42798500, d = f191ba21, xk =302e3138, s = 16, ti = d4ef3085H(efa65938, 42798500, f191ba21) = 5c4e6619a + H(b, c, d) + xk + ti = d47ae1c4HH : b + (... <<< 16) = d16b2db2

HH : a = f191ba21, b = d16b2db2, c = efa65938, d = 42798500, xk = 00000000, s =23, ti = 04881d05H(d16b2db2, efa65938, 42798500) = 7cb4f18aa + H(b, c, d) + xk + ti = 72cec8b0HH : b + (... <<< 23) = 29a49516

HH : a = 42798500, b = 29a49516, c = d16b2db2, d = efa65938, xk = 00000000, s =4, ti = d9d4d039H(29a49516, d16b2db2, efa65938) = 1769e19ca + H(b, c, d) + xk + ti = 33b836d5HH : b + (... <<< 4) = 65280269

HH : a = efa65938, b = 65280269, c = 29a49516, d = d16b2db2, xk = 00000000, s =11, ti = e6db99e5H(65280269, 29a49516, d16b2db2) = 9de7bacda + H(b, c, d) + xk + ti = 7469adeaHH : b + (... <<< 11) = b297560c

HH : a = d16b2db2, b = b297560c, c = 65280269, d = 29a49516, xk = 00000000, s =16, ti = 1fa27cf8H(b297560c, 65280269, 29a49516) = fe1bc173a + H(b, c, d) + xk + ti = ef296c1dHH : b + (... <<< 16) = 1eb54535

HH : a = 29a49516, b = 1eb54535, c = b297560c, d = 65280269, xk = 37303134, s =23, ti = c4ac5665H(1eb54535, b297560c, 65280269) = c90a1150a + H(b, c, d) + xk + ti = ee8b2dffHH : b + (... <<< 23) = 1eac8acb

II : a = 65280269, b = 1eac8acb, c = 1eb54535, d = b297560c, xk = 352e3330, s =6, ti = f4292244

22

Page 26: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

I(1eac8acb, 1eb54535, b297560c) = 4159eecea + I(b, c, d) + xk + ti = cfd946abII : b + (... <<< 6) = 14fe35be

II : a = b297560c, b = 14fe35be, c = 1eac8acb, d = 1eb54535, xk = 00000000, s =10, ti = 432aff97I(14fe35be, 1eac8acb, 1eb54535) = eb523535a + I(b, c, d) + xk + ti = e1148ad8II : b + (... <<< 10) = 67299942

II : a = 1eb54535, b = 67299942, c = 14fe35be, d = 1eac8acb, xk = 00000098, s =15, ti = ab9423a7I(67299942, 14fe35be, 1eac8acb) = f385c8c8a + I(b, c, d) + xk + ti = bdcf323cII : b + (... <<< 15) = 0047f829

II : a = 1eac8acb, b = 0047f829, c = 67299942, d = 14fe35be, xk = 00000000, s =21, ti = fc93a039I(0047f829, 67299942, 14fe35be) = 8c6e632ba + I(b, c, d) + xk + ti = a7ae8e2fII : b + (... <<< 21) = c63cedfa

II : a = 14fe35be, b = c63cedfa, c = 0047f829, d = 67299942, xk = 00000000, s =6, ti = 655b59c3I(c63cedfa, 0047f829, 67299942) = deb917d6a + I(b, c, d) + xk + ti = 5912a757II : b + (... <<< 6) = 0ae6c3d0

II : a = 67299942, b = 0ae6c3d0, c = c63cedfa, d = 0047f829, xk = 302e3138, s =10, ti = 8f0ccc92I(0ae6c3d0, c63cedfa, 0047f829) = 39c22a2ca + I(b, c, d) + xk + ti = 6026c138II : b + (... <<< 10) = a5eba550

II : a = 0047f829, b = a5eba550, c = 0ae6c3d0, d = c63cedfa, xk = 00000000, s =15, ti = ffeff47dI(a5eba550, 0ae6c3d0, c63cedfa) = b70d7485a + I(b, c, d) + xk + ti = b745612bII : b + (... <<< 15) = 568180f2

II : a = c63cedfa, b = 568180f2, c = a5eba550, d = 0ae6c3d0, xk = 2e363030, s =21, ti = 85845dd1I(568180f2, a5eba550, 0ae6c3d0) = 527219afa + I(b, c, d) + xk + ti = cc6995aaII : b + (... <<< 21) = 0bdb0e24

II : a = 0ae6c3d0, b = 0bdb0e24, c = 568180f2, d = a5eba550, xk = 00000000, s =6, ti = 6fa87e4fI(0bdb0e24, 568180f2, a5eba550) = 0d5ede5da + I(b, c, d) + xk + ti = 87ee207cII : b + (... <<< 6) = 07632d45

II : a = a5eba550, b = 07632d45, c = 0bdb0e24, d = 568180f2, xk = 00000000, s =10, ti = fe2ce6e0

23

Page 27: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

I(07632d45, 0bdb0e24, 568180f2) = a4a47169a + I(b, c, d) + xk + ti = 48bcfd99II : b + (... <<< 10) = fb599267

II : a = 568180f2, b = fb599267, c = 07632d45, d = 0bdb0e24, xk = 00000000, s =15, ti = a3014314I(fb599267, 07632d45, 0bdb0e24) = f81edebaa + I(b, c, d) + xk + ti = f1a1a2c0II : b + (... <<< 15) = ccba0b37

II : a = 0bdb0e24, b = ccba0b37, c = fb599267, d = 07632d45, xk = 00000000, s =21, ti = 4e0811a1I(ccba0b37, fb599267, 07632d45) = 07e749d8a + I(b, c, d) + xk + ti = 61ca699dII : b + (... <<< 21) = 00664484

II : a = 07632d45, b = 00664484, c = ccba0b37, d = fb599267, xk = 80353030, s =6, ti = f7537e82I(00664484, ccba0b37, fb599267) = c85c66aba + I(b, c, d) + xk + ti = 474842a2II : b + (... <<< 6) = d276ed15

II : a = fb599267, b = d276ed15, c = 00664484, d = ccba0b37, xk = 00000000, s =10, ti = bd3af235I(d276ed15, 00664484, ccba0b37) = f311b959a + I(b, c, d) + xk + ti = aba63df5II : b + (... <<< 10) = 6b6ec3c3

II : a = ccba0b37, b = 6b6ec3c3, c = d276ed15, d = 00664484, xk = 37303134, s =15, ti = 2ad7d2bbI(6b6ec3c3, d276ed15, 00664484) = 2d8916eea + I(b, c, d) + xk + ti = 5c4b2614II : b + (... <<< 15) = fe78f1e8

II : a = 00664484, b = fe78f1e8, c = 6b6ec3c3, d = d276ed15, xk = 00000000, s =21, ti = eb86d391I(fe78f1e8, 6b6ec3c3, d276ed15) = 94973029a + I(b, c, d) + xk + ti = 8084483eII : b + (... <<< 21) = 06490271

Round end, a=39bc1016b=f616adfac=9733cee6d=7ba11839

3.2 Enkripsi dengan AES

Setelah hasil hash didapat maka langkah selanjutnya adalah enkripsi, disini akandigunakan algoritma AES dengan Cipher Mode Counter.

1. Entrikan hasil hashing 1610bc39faad16f6e6ce33973918a17b ke kolom MessagePart 1.

2. Pilih Hexadecimal

24

Page 28: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

3. Pada aplikasi ini terdapat Inisialisasi Vektor dan Key .

4. Kemudian pilih Cipher Mode yakni Counter, dimana mode ini menset suatucounter untuk nilai dari inisialisasi vector tersebut. Untuk enkripsi sebuahblok, counter dienkripsi menggunakan algoritma blok. Kemudian hasilnya diXOR dengan bagian pertama dari message.

5. Klik tombol Enkripsi, dan menghasilkan sebuah cipher text yang nantinyaakan ditambahkan pada KTP.

6. Detail proses.Initialization vector d1 67 1e 68 ea 1f 0f 23 19 18 30 93 01 d3 6a 49Key 0f 15 71 c9 47 d9 e8 59 0c b7 ad d6 af 7f 67 98 iv+0 d1 67 1e 68ea 1f 0f 23 19 18 30 93 01 d3 6a 49Encrypted iv+0 91 50 90 82 a4 d2 3a e0 cd 9d 0d 63 43 a5 82 72Message part 1 16 10 bc 39 fa ad 16 f6 e6 ce 33 97 39 18 a1 7bEncrypted 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

Page 29: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

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 adalahdengan identitas mereka

2. kriptografi merupakan ilmu yang mempelajari teknik-teknik matematika yangberhubungan 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 berfungsisebagai otentikasi dari pemilik yang sah. Dengan mengaplikasikan digital Sig-nature sebagai autentikasi pada KTP, maka pemanfaatan dan kepemilikanKTP yang tidak benar dan tidah sah dapat diminimalisasi. Algoritma yangdigunakan untuk melakukan proses hashing adalah MD5. dimana hasil dariMD5 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 mengubahmasukan dengan panjang variabel menjadi keluaran dengan panjang tetapyaitu 128 bit.

5. Algoritma (Advanced Encryption Standard) AES ini, inputnya harus 128-bitblok AES ( 16 karakter atau 32 digit hexadesimal). Algoritma ini memilikibeberapa mode, salah satunya adalah Cipher Mode Counter. Mode ini mensetsuatu counter untuk nilai dari inisialisasi vector. Untuk enkripsi sebuah blok,counter dienkripsi menggunakan algoritma blok. Kemudian hasilnya di XORdengan bagian pertama dari message.

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

1. Karena keterbatasan penulis untuk mendapatkan software yang akan digu-nakan untuk enkripsi sehingga algoritma yang digunakan adalah AES. Olehsebab itu penulis menyarankan agar untuk proses enkripsi ini nantinya dapatdiaplikasikan pada algoritma Kunci Publik seperti RSA, ECC dan lain-lain.

26

Page 30: [Jurnal] Aplikasi Digital Signature Sebagai Autentikasi Pada Kartu Tanda Penduduk(Ktp)

Pustaka

[1] Aghus Sofwan, Agung Budi P, Toni Susanto,(2006),Aplikasi Kriptografi DenganAlgoritma Message Digest 5 (MD5),Transmisi, Vol. 11, No. 1, Juni 2006 : 2227

[2] Budi Raharjo, (2005),Keamanan Sistem Informasi Berbasis Internet, PT InsanIndonesia 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.

27