= 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