8. Alice dapat mendapatkan pesan sebenarnya dengan melakukan proses dekripsi.
Dari rumus perhitungan dekripsi P = C
d
C = 40
mod n, maka dapat dihitung kode
plaintext dari setiap chipertext tersebut sebagai berikut:
Nilai dari setiap Plaintext : P
1
= C
d
mod n = C
1 d
= 40 mod n
19
P mod
60
1
Setelah mendapatkan semua plaintext terhitung maka dapat dirangkai seluruh kode dan menghasilkan plaintext adalah 40
= 40
9. Dari contoh didapat bahwa Alice dapat membuka kembali pesan yang sudah
dienkripsi dengan melakukan proses dekripsi.
2.6 Perhitungan Matematis
Terdapat beberapa perhitungan matematis dalam proses pembangkitan kunci untuk menentukan nilai Totient n. Teori bilangan yang digunakan dalam melakukan proses
penyandian yang digunakan adalahGreatest Common Divisor GCD.
2.6.1. Bilangan Prima
Sifat pembagian pada bilangan bulat melahirkan konsep-konsep bilangan prima dan aritmetika modulo. Dan salah satu konsep bilangan bulat yang digunakan dalam
penghitungan komputer adalah bilangan prima. Dengan ditemukannya bilangan prima, teori bilangan berkembang semakin jauh dan lebih mendalam. Banyak dalil dan sifat
dikembangkan berdasarkan bilangan prima. Sebagian besar algoritma kunci-publik menggunakan bilangan prima sebagai salah satu nilai parameternya. Bilangan prima
yang disarankan berkuran besar sehingga penggunaan tipe data bilangan bulat yang besar mutlak diperlukan.
2.6.2Greatest Common Divisor GCD
Pembagi bersama terbesar atau disingkat PBB Greatest Common Divisor atau GCD digunakan dalam rancangan algoritma Pohlig-Hellman pada saat penentuan kunci
Universitas Sumatera Utara
tambahan multiple-key. Kunci tambahan bersyarat harus merupakan anggota dari bilangan ganjil yang mana GCD antara bilangan ganjil tersebut dengan nilai totient
yang didapat harus bernilai 1. Dalam notasi dapat dituliskan ��∈���,
Ke ∈�����,�=1.
Greatest Common Divisor atau GCD dari bilangan suatu xdan yadalah
bilangan bulat terbesar d sedemikian sehingga d | xdan d | y. Dalam hal ini kita nyatakan bahwa GCD x,y = d. Misalkan dalam menentukan GCD 5,2 = 1. Didapati
bahwa nilai x adalah 5 dan nilai y adalah 2.
2.6.3 Fungsi Totient Euler φ
Fungsi Totient euler φ atau biasa disebut dengan fungsi euler digunakan pada
algoritma RSA dalam mendefinisikan φn untuk n ≥ 1 yang menyatakan jumlah
bilangan bulat positif n yang relatif prima dengan n Munir, 2006. Dua bilangan bulat x dan y dikatakan relatif prima jika gcdx,y = 1 pembagi bersama terbesar dari
x dan y adalah 1.
Jika n = pq p dan q bilangan prima maka φn= φp φq= p-1q-1
Sebagai contoh: φ15 = φ3 φ5 = 2x4 = 8 buah bilangan bulat yang relatif prima terhadap 15,
yaitu 1,2,4,7,8,11,13,14.
2.6.4 Proses Pembangkitan Kunci
Proses pembangkitan kunci pada algoritma RSA dilakukan dengan tahapan – tahapan sebagai berikut:
1. Nilai p dan q yang diperoleh dari perhitungan bilangan acak CSPRNG
berbasis RSA dan telah melalui proses uji prima dengan algoritma Lehmann. Sifat dari kedua bilangan ini adalah rahasia. Ini berarti hanya pihak pengirim
dan penerima saja yang mengetahuinya. Misalnya: Nilai p = 11, q = 13
2. Hitungn = p.q, sehingga nilai n = 11 x 13 adalah 143
Universitas Sumatera Utara
3. Hitung φn = p-1q-1, sehingga nilai φn = 11-113-1 adalah 120
4. Pembangkitan kunci ekripsi e dimana e relatif prima terhadap φn.
Nilai GCD φn, e harus bernilai 1. Untuk menentukan nilai kunci publik
e yang relatif prima terhadap φn dapat ditunjukkan pada perhitungan
dibawah ini.
Jadi, nilai dari kunci publik e yang diperoleh adalah 7. 5.
Hitung kunci dekripsi d dengan menggunakan persamaan � =
1+k .φn e
Nilai k dapat dihitung dengan mencoba nilai-nilai = 1,2,3,4...sehingga diperoleh nilai d bilangan bulat.
Nilai k Persamaan
� =
1+k .φn e
Hasil
1
� = 1 + 1 . 120
7 17,2857142857
2
� = 1 + 2 .120
7 34,4205714286
Mulai dari Nilai GCD120, e
e = 2 120 mod 2 = 0
GCD2, 120 = 2 e = 3
120 mod = 0 GCD3, 120 = 3
e = 4 120 mod 4 = 0
GCD4, 120 = 4 e = 5
120 mod 5 = 0 GCD5, 120 = 5
e = 6 120 mod 6 = 0
GCD6, 120 = 6 e = 7
120 mod 7 = 6 7 mod 6 = 1
6 mod 1 = 0 GCD7, 120 = 1
Universitas Sumatera Utara
3
� = 1 + 3 . 120
7 51,5714285714
4
� = 1 + 4 . 720
7 68,7148571485
5
� = 1 + 5 . 120
7 85,8571428571
6
� = 1 + 6. 120
7 103
Jadi, nilai dari kunci dekripsi d yang diperoleh adalah 103
2.6.5 Proses Enkripsi Pesan
Dalam proses penyandian pesan menggunakan algoritma RSA dapat dianalogikan seperti pengiriman pesan yang dilakukan oleh si pengirim pesan kepada si penerima
pesan. Jika si pengirim akan mengirimkan pesan, maka akan terjadi beberapa proses, yaitu:
1. Penentuan kunci enkripsi e dan modulus n dari pesan dengan terlebih
dahulu melakukan proses pembangkitan kunci sehingga mendapatkan nilai e = 7 dan nilai n = 143.
2.
Input plaintext yang akan disandikan. Contohnya: HELP GlupGlup.
Plaintext yang telah di- input akan diubah sesuai tabel ASCII di bawah ini:
Tabel 2.1
Tabel Konversi Karakter ke dalam Kode ASCII
Bilang an
Karakter Bilang
an Karakter
Bilang an
Karakter Bilang
an Karakter
000 NUL Null char
\0 033
exclamation mark
066 B
099 c
001 SOH Start of
Header 034
double quote
067 C
100 d
002 STX Start of
Text 035
number sign 068
D 101
e 003
ETX End of Text
036 dollar sign
069 E
102 f
Universitas Sumatera Utara
004 EOT End of
Transmission 037
percent 070
F 103
g 005
ENQ Enquiry 038
ampersand 071
G 104
h 006
ACK Acknowledgm
ent 039
single quote 072
H 105
i 007
BEL Bell \a 040
leftopening parenthesis
073 I
106 j
008 BS Backspace
\b 041
rightclosing parenthesis
074 J
107 k
009 HT Horizontal
Tab \t 042
asterisk 075
K 108
l 010
LF Line Feed \n
043 + plus
076 L
109 m
011 VT
Vertical Tab \v
044 ,
comma 077
M 110
n 012
FF Form Feed \f
045 -
minus or dash
078 N
111 o
013 CR Carriage
Return \r 046
. dot
079 O
112 p
014 SO Shift Out
047 forward
slash 080
P 113
q 015
SI Shift In 048
081 Q
114 r
016 DLE Data
Link Escape 049
1 082
R 115
s 017
DC1 XON Device Control
1 050
2 083
S 116
t 018
DC2 Device Control 2
051 3
084 T
117 u
019 DC3 XOFF
Device Control 3
052 4
085 U
118 v
020 DC4 Device
Control 4 053
5 086
V 119
w 021
NAK Negative Acknowledgem
ent 054
6 087
W 120
x 022
SYN Synchronous
Idle 055
7 088
X 121
y 023
ETB End of Trans. Block
056 8
089 Y
122 z
024 CAN Cancel
057 9
090 Z
123 {
leftopeni ng brace
025 EM End of
Medium 058
: colon
091 [
leftopeni ng
bracket 124
| vertical
bar
Universitas Sumatera Utara
Dari tabel ASCII diperoleh hasil sebagai berikut. P
1
=72 P
2
=69 P
3
=76 P
4
=80 P
5
=33 P
6
P =33
7
=33 P
8
=65 P
9
=71 P
10
=117 P
11
=108 P
12
P = 112
13
=71 P
14
=117 P
15
=108 P
16
=112
3. Setiap hasil yang diperoleh akan dienkripsi menjadi blok C
i
C dengan rumus
i
= P
i e
mod n
Pada tahap ini pengirim memberikan kunci ke pada penerima yaitu e = 7 dan nilai n =143. Pengirim melakukan enkripsi setiap blok pesan sebagai
berikut:
026 SUB
Substitute 059
; semi-colon
092 \
back slash
125 }
rightclosi ng brace
027 ESC Escape
060 less than
093 ]
rightclosi ng
bracket 126
~ tilde
028 FS File
Separator 061
= equal sign
094 caretcirc
umflex 127
DEL delete
029 GS Group
Separator 062
greater than 095
_ underscor
e 030
RS Request to Send
Record Separator
063 ?
questionmark 096
`
031 US Unit
Separator 064
AT symbol
097 a
032 SP Space
065 A
098 b
Universitas Sumatera Utara
P Cipherteks
i
C
i
= P
i e
mod n 72
19
69 108
76
54
80 141
33
110
33 110
33
110
65 65
71 124
108 4
117
39
112 18
71 124
108 4
117 39
112 18
4. Jadi, hasil dari enkripsi atau cipherteks yang akan dikirimkan ke penerima
adalah 19-108-54-141-110-110-110-65-124-4-39-18-124-4-39-18.
2.6.6 Proses Dekripsi Pesan
Pada saat penerima menerima pesan berupa ciphertext, maka diperlukan proses dekripsi agar dapat memahami pesan yang dimaksud.
1. Setiap blok ciphertext didekripsi kembali menjadi blok P
i
dengan rumus P
i
= C
i d
Dekripsi dilakukan dengan menggunakan kunci d = 103, kemudian blok-blok ciphertext
yang diterima didekripsikan sebagai berikut: mod n.
Universitas Sumatera Utara
C Plaintext
i
P
i
= C
i d
mod n 19
72 108
69 54
76 141
80 110
33 110
33 110
33 65
65 124
71 4
108 39
117 18
112 124
71 4
108 39
117 18
112
2. Semua hasil cipherteks yang diperoleh pada proses dekripsi akan diubah
kembali menjadi plainteks dengan mencocokkan karakter yang ada pada tabel ASCII.
Bilangan Karakter Sesuai
ASCII 72
H 69
E 76
L 80
P 33
33 33
65 spasi
71 G
108 l
Universitas Sumatera Utara
117 u
112 p
71 G
108 l
117 u
112 p
3.
Jadi bentuk plainteks yang diperoleh adalah HELP GlupGlup.
2.7 Visual Basic 6.0