Skenario Pembangkitkan Tanda Tangan Digital dan Enkripsi Pesan

= 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000001f 16 q = 43 = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000002b 16 r = 47 = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000002f 16  Menghitung n RSA dapat menggunakan rumus SA n RSA = 62651 = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000f4bb 16  Menghitung nilai ϕn SA dapat menggunakan rumus ϕn SA - - - ϕn RSA = 57960 = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000e268 16  Memilih nilai e RSA bilangan acak ganjil dalam rentang SA ϕ SA dan SA ϕ SA . e RSA = 11 = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000000b 16  Menghitung d RSA menggunakan rumus SA SA ϕ SA . d RSA = 52691 = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000cdd3 16

4.2.2. Skenario Pembangkitkan Tanda Tangan Digital dan Enkripsi Pesan

a. Proses pembangkitan tanda tangan digital dengan menggunakan algoritma pembangkit tanda tangan digital ECDSA Proses untuk menghasilkan tanda tangan digital dengan menggunakan kunci privat pengirim dengan plaintext dengan tahap-tahap berikut :  Dipilihlah sebuah bilangan bulat acak k yang berada diantara 1 sampai dengan Universitas Sumatera Utara ECDSA : k = 58778585546778537500 = 00000000 00000000 00000000 00000000 00000000 00000003 2fb77c21 eba4ee1c 16 .  Hitung R dengan menggunakan operasi pada kurva elips R = k. P sehingga diperoleh : R x = 91948421899237120865638931744747946219035901621173682242931112 645118171832535 = cb48f6688be8f1e12caae8023b91606d3c8b5c6c6f6959382ecb32e0843c60d7 16 R y = 4362558418168374985856882885077810409642313784253222242132042 4536798964956410 = 607334a3bd866ce624290d05ca2bdec053daaba45fee124dcc08fdd4c0833cfa 16  Hitung r ECDSA dengan menggunakan rumus r ECDSA = R x mod n ECDSA sehingga diperoleh : r ECDSA = 9194842189923712086563893174474794621903590162117368224293 1112645118171832535 = cb48f668 8be8f1e1 2caae802 3b91606d 3c8b5c6c 6f695938 2ecb32e0 843c60d7 16  Hitung e = SHA256“Plaintext” dimulai dari menghitung nilai hash plaintext dengan menggunakan algoritma SHA-256 : a Plaintext diubah menjadi kode ASCII plaintext “Plaintext” P = 50 16 , l = 6c 16 , a = 61 16 , i = 69 16 , n = 6e 16 , t = 74 16 , e = 65 16 , x = 78 16 t = 74 16 . ASCII “Plaintext” = 506c61696e74657874 16 b Selanjutnya dilakukan proses padding dengan hingga ukuran pesan berkelipatan 512 bit 506c61696e7465787480000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000 0048 16 c Lakukan inisialisasi nilai pada H , H 1 , H 2 , H 3 , H 4 , H 5 , H 6 , H 7 Universitas Sumatera Utara H =6a09e667 16 , H 1 =bb67ae85 16 , H 2 =3c6ef372 16 , H 3 =a54ff53a 16 H 4 =510e527f 16 , H 5 =9b05688c 16 , H 6 =1f83d9ab 16 , H 7 =5be0cd19 16 d Data kemudian dipecah-pecah menjadi 16 bitword. Masing-masing bitword berukuran 32 bit Bitword 0 : 506c6169 16 Bitword 1 : 6e746578 16 Bitword 2: 74800000 16 Bitword 3 : 00000000 16 Bitword 4 : 00000000 16 Bitword 5 : 00000000 16 Bitword 6 : 00000000 16 Bitword 7 : 00000000 16 Bitword 8 : 00000000 16 Bitword 9 : 00000000 16 Bitword 10 : 00000000 16 Bitword 11 : 00000000 16 Bitword 12 : 00000000 16 Bitword 13 : 00000000 16 Bitword 14 : 00000000 16 Bitword 15 : 00000048 16 e Kemudian dari 16 bitword yang ada dikembangkan menjadi 64 bitword yang ada pada lampiran 1. f Kemudian inisialisasi A, B, C, D, E, F, G, H dengan nilai dari H , H 1 , H 2 , H 3 , H 4 , H 5 , H 6 , H 7. A = 6a09e667 16 B = bb67ae85 16 C = 3c6ef372 16 D = a54ff53a 16 E = 510e527f 16 F = 9b05688c 16 G = 1f83d9ab 16 H = 5be0cd19 16 g Untuk setiap bitword dilakukan pengubahan variabel A, B, C, D, E, F, G, H. Perubahan nilai setiap variabel dapat dilihat pada lampiran 2. h Jumlahkan A, B, C, D, E, F, G, H kedalam H , H 1 , H 2 , H 3 , H 4 , H 5 , H 6 , H 7 dalam modulo 2 32 H = H +A = 6a09e667 16 + 9cfddf72 16 mod 100000000 16 = 0707c5d9 16 H 1 = H 1 +B = 367cd507 16 + b73f5418 16 mod 100000000 16 = 72a7029d 16 H 2 = H 2 +C = 3070dd17 16 + da2800ea 16 mod 100000000 16 = 1696f45c 16 H 3 = H 3 +D = f70e5939 16 + ed18d6e3 16 mod 100000000 16 = 9268cc1d 16 H 4 = H 4 +E = ffc00b31 16 + 6d13c32f 16 mod 100000000 16 = be2215ae 16 H 5 = H 5 +F = 68581511 16 + 925cdce6 16 mod 100000000 16 = 2d624572 16 H 6 = H 6 +E = 64f98fa7 16 + 2fc2d41c 16 mod 100000000 16 = 4f46adc7 16 H 7 = H 7 +F = befafa4 16 + a1b8bf2d 16 mod 100000000 16 = fd998c46 16 Universitas Sumatera Utara j Hasil dari proses diatas yaitu kemudian di gabung sehingga menghasilkan hash value e. e SHA “Plaintext” = 31799233759493631870939499056083941619213309508827984695303585 00739396504646 = 0707c5d9 72a7029d 1696f45c 9268cc1d be2215ae 2d624572 4f46adc7 fd998c46 16  Hitung ECDSA - ECDSA ECDSA ECDSA ECDSA : s ECDSA = 5341666643212596568692782870884250933420055860306022099978 8289919102237767216 = 7618c304 cae7ccbc e9de9709 8496e5ab 9f41f0e6 c57e4f48 14803497 acab7630 16  Tanda tangan digital untuk pesan adalah r ECDSA dan s ECDSA b. Proses enkripsi dengan menggunakan algoritma enkripsi RSA yang dimodifikasi  Pengirim mengubah pesan P dan tanda tangan digital T menjadi bitstream : Pesan “Plaintext” ASCIIPesan = 50 6c 61 69 6e 74 65 78 74 16 P l a i n t e x t P P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 Tanda tangan digital = cb48f6688be8f1e12caae8023b91606d3c8b5c6c6f6959382 ecb32e0843c60d77618c304cae7ccbce9de97098496e5ab9f 41f0e6c57e4f4814803497acab7630 16 Nilai ASCII tanda tangan digital ada pada lampiran 3  Pengirim pesan mendapatkan kunci publik penerima pesan yaitu : n RSA = 62651 = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000f4bb 16 e RSA = 11 = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000000b 16 Universitas Sumatera Utara  Menghitung ciphertext C dari pesan dan tanda tangan digital dengan persamaan 18 SA SA dengan 0 i panjang karakter pesan e SA SA dengan 0 j panjang karakter tanda tangan digital Hasil enkripsi dari pesan “Plaintext” adalah : SA SA SA SA = 46404 = 47019 SA SA SA SA = 15918 = 33829 SA SA SA SA = 45171 = 46404 SA SA SA SA = 59541 = 47019 SA SA = 11151 Hasil enkripsi dari pesan dan tanda tangan digital dapat dilihat pada lampiran 3 Setiap hasil perhitungan diubah kedalam heksadesimal kemudian dengan menggunakan encoding Base64 untuk menghasilkan ciphertext. Ciphertext dapat dilihat pada lampiran 4.  Ciphertext dikirim

4.1.3. Skenario Dekripsi Pesan dan Verifikasi Tanda Tangan Digital