Implementasi Algoritma Kunci Public Rabin Cryptosystem dan Extended Polybius Square Dalam Pengamanan
14
BAB 2
LANDASAN TEORI
2.1. Kriptografi
Kriptografi memiliki sejarah yang sangat panjang di mana kriptografi telah ditemukan
sejak 3600 tahun yang lalu di lihat dari sudah di temukannya simbol - simbol yang di
ukir pada lempeng tanah liat (clay disk) yang disebut dengan phaistos. Meskipun
begitu awal mula kriptografi tidak hanya berawal dari bangsa Yunani, namun juga
dari bangsa Mesir kuno. Di buktikan dengan di temukannya teks kuno yang di tuliskan
oleh Firaun Amanemth II pada tahun 1900 SM. Di mana pesan itu di tuliskan dalam
huruf hieroglip (hieroglyphic).(Mollin, 2005). Hieroglyphic merupakan bentuk tulisan
dari zaman Mesir kuno yang berupa gambar maupun simbol – simbol yang merupakan
sebuah pesan. (Fischer, 1999)
Kriptografi adalah ilmu atau seni yang bertujuan untuk menjaga kerahasiaan
suatu pesan yang berisikan suatu informasi dan mengubahnya kedalam bentuk yang
sulit di pahami maknanya. Kriptografi berasal dari bahasa Yunani yakni kryptos yang
berarti tersembunyi dan graphein yang berarti tulisan (Mollin, 2007). Sehingga
Kriptografi (cryptograph) dapat di artikan dengan
ilmu yang mempelajari suatu
sistem penyandian untuk menjamin kerahasiaan dan keamanan data. Orang yang
melakukan disebut cryptographer.
Universitas Sumatera Utara
xi
2.2. Tujuan Kriptografi
Tujuan dari kriptografi yang juga merupakan aspek penting dalam proses keamanan data dan
informasi adalah sebagai berikut: (Scheiner, 1996).
1. Authentication (Autentikasi)
Berfungsi untuk memberikan kepastian terhadap identitas – identitas yang terlibat,
meyakinkan ke aslian data, sumber data orang yang mengakses dan server yang digunakan.
2. Confidentiality (Kerahasiaan)
Di gunakan untuk menjaga informasi dari semua pihak kecuali pihak yang memiliki
otoritas terhadap informasi.
3. Data Integrity (Integritas Data)
Di gunakan untuk memastikan agar informasi yang di kirimkan tidak mengalami modifikasi
maupun manipulasi dari pihak yang tidak bersangkutan selama pengiriman.
4. Non-Repudiation (Nipernyangkalan)
Berfungsi untuk menjaga semua entitas – entitas yang saling terhubung sehingga tidak terjadi
penyangkalan data yang dikirimkan ataupun yang diterima
2.3. Sistem Kriptografi
Sisem kriptografi klasik umumnya menggunakan metode subtitusi atau transposisi dan telah
digunakan jauh sebelum komputer di temukan. Terdapat 5 komponen utama dalam sistem
kriptografi klasik, yaitu (Wandani, 1012):
1. Plaintext
Teks asli, dapat berupa pesan atau data sebagai input algoritma enkripsi
2. Kunci Rahasia
Kunci rahasia disebut sebagai penentu output dari algoritma enkripsi. Antar entitas
harus saling mengetahui kunci ini agar dapat berkomunikasi.
3. Ciphertext
Hasil proses algoritma enkripsi di mana teks asli dianggap telah tersembunyi.
4. Algoritma Enkripsi
Algoritma enkripsi mengubah teks asli menjadi ciphertext dengan parameter masukan,
yaitu teks asli kunci rahasia.
5. Algoritma Dekripsi
Algoritma dekripsi mengubah ciphertext menjadi teks asli dengan parameter masukan,
yaitu ciphertext dan kunci rahasia.
Universitas Sumatera Utara
xi
Enkripsi adalah suatu proses yang melakukan perubahan kode dari bisa dimengerti
(plaintext) menjadi kode yang tidak bisa di mengerti (ciphertext). Proses pembaikannya
plaintext dari ciphertext disebut dekripsi. Secara umum operasi enkripsi dan dekripsi secara
matematis dapat digambarkan.
EK (M) = C (Proses Enkripsi)
DK (C) = M (Proses Dekripsi)
Dengan Keterangan:
M
= Pesan yang dirahasiakan
C
= Plaintext
D
= Dekripsi
E
= Mekanisme enkripsi
K
= Simbol kuci yang digunakan.
Pembacaan rumus tersebut adalah proses enkripsi E dengan kunci K akan di lakukan
pengolahan pesan m menjadi pesan C, dan C adalah ciphertext atau pesan hasil enkripsi yang
di harapkan berbeda dan tidak mampu menyikap informasi aslinya dari pesan M.
Proses pembalikannya yaitu proses dekripsi. Pada proses dekripsi dengan kunci K,
pesan C akan disandikan kembali menjadi pesan semula yaitu M sehingga di peroleh kembali
pesan aslinya. Yang menjadi penting dalam proses enkripsi-dekripsi tidak hanya algoritma
yang di gunakan tetapi juga kunci enkripsi. Kunci merupakan kata kunci yang digunakan
dalam proses penyandian. Untuk itu walaupun algoritma enkripsi dan dekripsi di ketahui oleh
publik, kunci K harus di rahasiakan.
2.4. Kriptosistem
Kriptosistem (cryptosystem atau Cryptographic system) adalah suatu fasilitas untuk
mengkonversikan
plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat
parameter yang menentukan transformasi penyandian tertentu disebut satu set kunci. Proses
enkripsi atau dekripsi diatur oleh satu atau beberapa kunci kriptorafi.
Suatu cryptosystem terdiri dari sebuah algoritma, seluruh kemungkinan plaintext,
ciphertext dan kunci-kunci. Secara umum cryptosystem dapat digolongkan menjadi dua buah
yaitu:
Universitas Sumatera Utara
xi
Universitas Sumatera Utara
xi
Gambar 2.2. Proses Enkripsi Dan Dekripsi Asymetric Cryptosystem
2.4.3. Kriptosistem Hibrid (Hybrid Cryptosystem)
Kriptosistem hibrid (Hybrid cryptosystem) merupakan suatu sistem kriptografi yang
menggabungkan sistem kriptografi simetri dan sistem keriptografi asimetri (Azizah, 2013)
sehingga di dapatlah sebuah kriptosistem dengan fungsi algoritma yang lebih kompleks.
2.5. Teknik Dasar Kriptografi
2.5.1 Teknik Subtitusi
Teknik subtitusi adalah suatu teknik kriptografi di mana pesan yang telah di tulis akan di ganti
suatu kode dengan kode yang lain, dengan menggunakan tabel subtitusi. Dapat di tampilkan
dalam tabel 2.1.
Tabel 2.1. Teknik subtitusi
A B C D E F G H I J K L MN O P Q R S T U V WX Y Z
J X E Q S A MH Z C T L O V F B Y U D WI K G P R N
Tabel subtitusi dilakukan secara acak, dengan cara tuliskan dan susun tabel alphabet di
mulai dari huruf A hingga Z. Lalu buat kembali tabel alphabet kedua tuliskan alphabet itu
kembali secara acak. Dalam contoh diatas dapat dilihat Huruf A pada tabel alphabet pertama
diganti dengan huruf J pada tabel alphabet kedua, dan huruf B di ganti dengan huruf X begitu
seterusnya. Misalkan kata “ SECRET MESSAGE” akan di enkripsi dengan teknik subtitusi
dengan tabel diatas menjadi “ DSEUSW OSDDJMS”. Untuk memperoleh kata “SECRET
MESSAGE” kembali maka di lakukan pula melihat tabel subtitusi diatas.
Universitas Sumatera Utara
xi
2.5.2. Teknik Blocking
Teknik blocking yaitu membagi pesan plaintext kedalam blok-blok pesan yang kemudian akan
di enkripsi secara independen. Misalkan kalimat “SECRET MESSAGE” akan di bagi kedalam
blok-blok seperti tabel 2.2.
Tabel 2.2. Teknik Blocking
S
T
S
E
A
C
M
G
R
E
E
E
S
Selajutnya teknik dapat di enkripsi per-blok, misalkan untuk proses pengacakan
sederhana dengan pembacaaan yang terbalik yaitu karena proses penyimpanan pada blok
dilakukan per kolom, maka proses enkripsi akan dilakukan dengan cara menaruh kalimat
“GNIKCOLB KINKET” pada blok-blok pesan berbaris dan membaca dengan per-kolom dan
menjadi kalimat “TEKNIK BLOCKING” kembali.
2.5.3. Teknik permutasi
Teknik permutasi sering juga disebut transposisi. Teknik ini memindahkan atau merotasikan
karakter dengan aturan tertentu, prinsipnya adalah berlawanan tetap tapi identitasnya yang
diacak. Sebelum dilakukakn permutasi, umumnya plaintext terlebih dahulu di bagi menjadi
blok-blok dengan panjang yang sama. Untuk contoh di atas, plaintext dibagi menjadi blok
terdiri dari 5 karakter, dengan aturan permutasi berikut:
0
1
2
3
4
5
6
7
8
9
9
3
4
1
2
7
8
5
6
0
Gambar 2.3. Teknik Permutasi (Munir, 2008)
Universitas Sumatera Utara
xi
Misalkan kalimat “PERTEMUAN RAHASIA” di enkripsi menjadi “NREETAUMP
HARAAIS” dengan cara membaginya kalimat kedalam blok – blok dan melakukan proses
permutasi seperti pada gambar di atas dengan teknik pengacakan. Proses dekripsi dilakukan
serupa denga membagi kedalam 5 blok pula dan membalik permutasinya.
P
E
R
T
E
M U
A
N
R
A
H
A
S
I
A
N
R
E
E
T
A
M P
H
A
R
A
A
I
S
U
Gambar 2.4. Teknik Permutasi (Munir, 2008).
2.5.4. Teknik Ekspansi
Teknik akan menambahkan beberapa byte kata kedalam plaintext dengan aturan tertentu.
Proses penambahan beberapa byte kata ini diharapkan dapat menyembunyikan informasi dapat
plaintext. Salah satu contoh penggunaan teknik ini adalah dengan menukar huruf awal dan
akhir kata yang diberi awalan “an” proses enkripsi dengan cara ekspansi terhadap plaintext
terjadi sebagai berikut:
8 A N
P E R T E M U A
N A N
R A H A S I A A N
8 A N
N R E E T A
U M P A N
H A R A A I S A N
Gambar 2.5. Teknik Ekspansi (Munir 2008)
Universitas Sumatera Utara
xi
Ciphertextnya adalah “8AN NREETAUMPAN HARAAISAN”. Aturan ekspansi dapat
dibuat lebih kompleks dan terkadang teknik ekspansi dapat di gabungkan dengan teknik
lainnya.
2.5.5. Teknik Pemampatan (Compaction)
Mengurangi panjang pesan atau jumlah bloknya adalah cara lain untuk menyembunyikan isi
pesan. Misalkan untuk plaintext “PERTEMUAN RAHASIA” setiap kata ke dua akan di
hilangkan dan di sertakan pada akhir kalimat yang sebelumnya di beri tanda “ ”. Proses yang
terjadi untuk plaintext tersebut adalah:
P E R T E MU A N
R A H A
S I A
P
R
S
R
E
P R E U N
U
N
R H S A
H
E T M A
A
A A I
Gambar 2.6. Teknik Pemampatan.
Aturan penghilangan karakter dan karakter khusus dan berfungsi sebagai pemisah
menjadi dasar untuk proses dekripsi ciphertext menjadi plaintext kembali. Dengan
menggunakan kelima menjadi teknik kriptografi diatas, dapat di ciptakan teknik kriptografi
yang amat banyak walaupun sekilas terlihat sederhanana, kombinasi teknik dasar kriptografi
dapat menghasilkan teknik kriptografi turunan yang cukup kompleks, dan bebrapa teknik dasar
kriptografi masih di gunakan dalam kriptografi modern.
2.6. Algoritma Euclid dan Extended Euclid
Salah satu cara untuk menentukan GCD (Greatest Common Divisior) dua bilangan integer a
dan b ialah dengan menggunakan algoritma Euclid. Algoritma Euclid merupakan algoritma
rekursif yang terdapat dua kasus:
Universitas Sumatera Utara
xi
I:
II : B
b = 0 GCD(a,0) = a
0 GCD (a,b) = (b, a mod b)
Algoritma Euclid dapat dikembangkan dan pengembangan dari algoritma Euclid tersebut
disebut dengan algoritma Extended Euclid. Algoritma Extended Euclid ini sendiri berfungsi
untuk menemukan dua nilai integer x dan y yang unik selain nilai GCD (Greatest Common
Divisior) (a,b) sehingga memenuhi relasi (Lipschutz & Lipson, 2007).
a*x +b*y =GCD(a,b)
2.7. Algoritma Extended Polybius Square
Polybius square (kotak polybius) pada dasarnya merupakan algoritma simetris yang di kerjakan
secara substitusi. Polybius square merupakan sebuah tabel yang berfungsi untuk membantu
dalam proses enkripsi maupun dekripsi pesan.
Pada umumnya Polybius Square menggunakan tabel dengan ukuran 5 x 5 yang di isi
oleh 26 huruf alphabetik, dari a hingga z, namun untuk huruf I dan J biasanya di satukan di
dalam satu tabel. Polybius square di temukan pertama kali oleh Polybius yang merupakan
seorang sejarahwan Yunani pada tahun 200 – 118 SM.
Pada penulisan skripsi ini penulis menggunakan Extended Polybius Square dimana
Extended Polybius Square sendiri merupakan perpanjangan dari
Polybius square dengan
ukuran matriks 15 x 15 (Tabu S Kondo., Leonard J Mselle, 2013). Dimana tabel itu berisi
semua karakter yang terdapat di dalam table ASCII (American Standard Code for Information
Interchange). Di mana nantinya semua karakter yang terdapat dalam tabel ASCII (American
Standard Code for Information Interchange), diisi ke dalam table Extended Polybius 15 x 15
dan disusun sedemikian rupa agar menambah sedikit tingkat kesulitan.
Universitas Sumatera Utara
xi
Tabel 2.3 . Tabel Extended Polybius Square 15 x 15
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
00
NULL
DLE
Space
0
@
P
`
p
€
É
01
SQH
DC1
!
1
A
Q
a
q
ü
02
SIX
DC2
"
2
B
R
b
r
‚
03
ETX
DC3
#
3
C
S
c
s
ƒ
04
EOS
DC4
$
4
D
T
d
t
„
¢
£
°
â
Ð
¡
±
ã
Ñ
¤
´
Ä
Ô
ð
ñ
ä
Ò
Ã
Ó
05
ENQ
NAK
%
5
E
U
e
u
…
•
¥
µ
Å
Õ
å
06
ACK
SYN
&
6
F
V
f
v
07
BEL
ETB
'
7
G
W
g
w
–
¦
—
Æ
Ö
æ
·
Ç
×
ç
÷
08
BS
CAN
(
8
H
X
h
x
ˆ
˜
¨
¸
È
Ø
09
HT
EM
)
9
I
Y
i
y
‰
™
©
¹
É
Ù
10
LF
SUB
*
:
J
Z
j
z
Š
š
ª
º
è
Ú
ø
11
VT
ESC
+
;
K
[
k
{
«
»
ê
Û
ë
12
FF
FS
,
<
L
\
l
|
Œ
œ
¬
¼
Ì
Ü
13
CR
GS
=
M
]
m
}
½
Í
Ý
ü
ý
14 15
SO SI
RS US
.
/
>
?
N
O
^
_
n
o
~
Del
õ
Å
ž
ò
®
¯
¾
¿
Î
Ï
Þ
ß
ï
þ
ÿ
Contoh 1. Perhitungan manual proses enkripsi dengan plaintext awal “CHITRA” dengan
menggunakan Extended Polybius Square.
1.1 Pengenkripsian plainteks : C
Plaintext awal
:C
Dengan m
: 0403
: 110010011
: 11001001111001001
: 206739
1.2 Pengenkripsian plaintext : H
Plaintext awal
:H
Dengan m
: 0408
: 110011000
: 110011000110011000
: 209304
Universitas Sumatera Utara
xi
1.3 Pengenkripsian plaintext : I
Plaintext awal
:I
Dengan m
: 0409
: 110011001
: 110011001110011001
: 209817
1.4 Pengenkripsian plaintext : T
Plaintext awal
:T
Dengan m
: 0504
: 111111000
: 111111000
: 258552
1.5 Pengenkripsian plaintext : R
Plaintext awal
:R
Dengan m
: 0502
: 111110110
: 111110110
: 257526
1.6 Pengenkripsian plaintext : A
Plaintext awal
:A
Dengan m
: 0401
: 110010001
: 110010001110010001
: 205713
Dari hasil perhitungan
contoh 1 di atas maka
di dapat
hasil enkripsi untuk plaintext
“CHITRA” pada Extended Polybius Square adalah :
Universitas Sumatera Utara
xi
Tabel 2.4 Hasil Perhitungan Plaintext “CHITRA”
206739
209304
209817
258552
257526
205713
2.8. Algoritma Rabin Cryptosystem
Algoritma kriptografi Rabin Cryptosystem pertama kali di perkenalkan pada tahun 1979 oleh
Michael O Rabin.
Algoritma Rabin Cryptosystem pada dasarnya hampir sama dengan
algoritma Rivest Shamir Adleman (RSA), hanya saja komputasinya lebih sederhana di
bandingkan
dengan
Rivest Ahamir Adleman (RSA). Algoritma Rabin Cryptosystem
merupakan algoritma kriptografi dengan metode kriptografi asimetris pertama di mana untuk
mendapatkan
plaintext
dari
ciphertext
yang
ada
sama
sulitnya
dengan
proses
pemfaktoran.(Damarjati,2002)
2.8.1. Proses Pembangitan Kunci.
Pembangkitan kunci pada algoritma Rabin Cryptosystem, sama seperti pada sistem kriptografi
asimetri lainnya. algoritma Rabin Cryptosystem juga menggunakan sistem kunci publik dan
sistem kunci privat. Kunci publik digunakan pada proses enkripsi oleh penerima pesan dan
bersifat rahasia. Algoritma pembangkitan kuncinya adalah sebagai berikut :
1. Pilih dua buah bilangan prima besar secara sembarang dan yang saling berbeda (p dan
q).
2. Untuk mempermudah komputasi dari akar kuadrat modulo p dan q, kita bisa lakukan
dengan memilih
p ≡ q ≡ 3 (mod) 4
p≠q
Contoh 2: penulis ingin menentukan nilai p = 11. Lalu lakukan pengecekan apakah 11
merupakan bilangan prima dengan cara.
p≠q
p mod 4 = 3
Sehingga
11 mod 4 = 3
Universitas Sumatera Utara
xi
Contoh 3 : penulis ingin menentukan nilai q = 23. Lalu penulis melakukan pengecekan
apakah 23 merupakan bilangn prima y ang dimaksud dengan cara.
q mod 4 = 3
Sehingga
23 mod 4 = 3
3. Hitung n= p.q. n adalah kunci publik, bilangan prima p dan q adalah kunci privat.
Untuk mengenkripsi hanya membutuhkan kunci publik n, sedangkan untuk dekripsi
dibutuhkan bilangan p dan q sebagai kunci privat.
Contoh 3. Penulis menentukan nilai n. Di mana nilai n tersebut akan di dapat dari
proses perkalian antara dua bilangan prima, yakni nilai p dan q.
n=
p.q
n=
11 . 23
n=
253
2.8.2. Metode Enkripsi
Algoritma Rabin Cryptosystem merupakan algoritma kriptografi kunci publik maka enkripsi di
lakukan hanya dengan menggunakan kunci publik yang dapat di ketahui oleh semua orang.
Namun proses dekripsinya hanya dapat di lakukan dengan menggunakan kunci privat yang
hanya dapat dilakukan oleh orang yang bersangkutan. Untuk proses enkripsi pada algoritma
kunci publik Rabin Cryptosystem dapat dilakukan dengan rumus berikut (Schneier, 1996):
C = m² mod n
Dengan keterangan:
C
= Ciphertext
m
= enkripsi polybius
n
= Kunci publik
Setelah itu hitung nilai K yang merupakan nilai kongruen hasil nilai desimal plaintext
m dengan menggunakan rumus:
K=
Universitas Sumatera Utara
xi
Contoh 1. Perhitungan manual proses enkripsi dengan plaintext awal “CHITRA” dengan
menggunakan algoritma Rabin Cryptosystem .
1.1 Enkripsi plaintext awal : C
206739² mod n
C=
mod n
1444 mod 253
179
Lalu Hitung nilai K
K=
817
1.2 Enkripsi plantext awal : H
C = mod n
209304² mod n
5329 mod 253
16
Lalu Hitung nilai K
K=
827
1.3 Enkripsi plantext awal : I
mod n
209817² mod n
C=
6400 mod 253
75
Lalu Hitung nilai K
K=
829
1.4 Enkripsi plantext awal : T
C = mod n
258552² mod n
Universitas Sumatera Utara
xi
57121 mod 253
196
Lalu Hitung nilai K
K=
1021
1.5 Enkripsi plantext awal : R
C = mod n
257516² mod n
50625 mod 253
25
Lalu Hitung nilai K
K=
1017
1.6 Enkripsi plantext awal : A
C = mod n
205713² mod n
576 mod 253
70
Lalu Hitung nilai K
K=
813
2.8.3. Metode Dekripsi
Proses dekripsi pada algoritma Rabin Cryptosystem di lakukan dengan menggunakan rumus
yang sederhana. Proses dekripsi pada algoritma Rabin Cryptosystem menggunakan kunci
privat p dan q. Selama penerima pesan mengetahui p dan q, penerima pesan dapat
menyelesaikan dua kekongruenan menggunakan Chinese Remainder Teorema (CRT)
(Schneier, 1996). Teorema ini digunakan untuk mendapatkan plaintext yang benar. Melakukan
penambahan Chinese Remainder Teorema (CRT) dalam algoritma Rabin Cryptosysem bahwa
algoritma ini tidak menghasilkan
plaintext tunggal, selalu memberikan 4 kemungkinan
jawaban dan tidak menghasilkan satu jawaban yang pasti. Proses dekrispi algoritma Rabin
Cryptosystem dapat dilakukan dengan cara (Wandani, 2012) :
Universitas Sumatera Utara
xi
1. Tentukan nilai
dan
yang merupakan pembagi GCD (Greatest Common Divisior)
dari p dan q dengan menggunakan algoritma Extended Euclidean. Karena bilangan
prima GCD (Greatest Common Divisior) adalah 1 maka dapat kita tulis sebagai
*p +
*q = 1
2. Hitung nilai akar kuadrat dari ciphertext terhadap nilai p dan q dengan menggunakan
rumus
Dengan nilai
=
mod p
=
mod q
merupakan nilai akar kuadrat dari ciphertext terhadap nilai p. Dan
merupakan nilai akar kuadrat dari ciphertext terhadap nilai q.
3. Hitung nilai r,s,t dan u dengan menggunakan Chinese Remainder Theorem (CRT)
dengan rumus:
r =(
*p*
+
*q*
) mod n
s =(
*p*
-
*q*
) mod n
t = -(
*p*
+
*q*
) mod n
u = -(
*p*
-
*q*
) mod n
4. Tambahkan r,s,t dan u dengan kongruen nilai desimal hasil penggandaan plaintext K
yang dikalikan dengan kunci plaintext n
R = (k*n) + r
S = (k*n) + s
T = (k*n) + t
U = (k*n) +u
5. Ubahlah nilai desimal R, S, T, dan U ke dalam bentuk biner. Kemudian nilai biner R, S,
T dan U di bagi menjadi 2 bagian. Bandingkan kedua bagian tersebut. Jika kedua
bagian tersebut menghasilkan bentuk biner yang sama, maka di dapat hasil dekripsi
chipertext dengan mengubah bentuk biner salah satu bagian yang telah di bagi menjadi
2 bagian yang sama.
Setelah mendapatkan nilai
dan
maka selanjutnya kita mendekripsikan ciphertext yang
di ketahui dengan menggunakan bantuan metode Chinese Reminder Theorem.(CRT)
Universitas Sumatera Utara
xi
2.9. Chinese Reminder Theorem
Chinese Reminders Theorem (CRT) atau yang disebut juga dengan Teorema sisa China sudah
ada sekitar abad ke 3 – 5 masehi. Teorema ini diperkenalkan oleh seorang matematikawan
China yang bernama Sun Zi. Teorema ini pertama kali di tulis dalam sebuah buku yang
berjudul Qin Juishan yang di terbitkan pada tahun 1247, di mana dalam buku tersebut di
perkenalkan metode mencari solusi sistem linear kongruen.
Berikut adalah bunyi Chinese Reminder Theorem (CRT): berikan bilangan bulat positif
yang semuanya saling relatif prima dan bilangan bulat
maka
sistem linear kongruennya
....
Contoh Chinese Remainder Theorem 1:
Setelah di ketahui nilai
dan
maka tentukan kunci dekripsi Rabin Cryptosystem yang
benar dengan menggunakan banuan metode Chinese Remainder Theorem (CRT). Di mana
nantinya pada metode ini akan di temukan 4 kemungkinan plaintext hasil dekripsi algoritma
Rabin Cryptosystem yakni nilai (r, s, t, u)
Setelah itu hitung nilai R,S,T dan U dengan menggunakan nilai r,s,t dan u yang di
dapat dalam proses sebelumnya.
Contoh 1. Perhitungan manual proses dekripsi dengan plaintext awal “CHITRA”
1.1 Dekripsi plaintext awal : C
o Hitung nilai
dengan cara:
mod p
=
=
mod 11
27 mod 11
5
Universitas Sumatera Utara
xi
o Hitung nilai
dengan cara :
mod q
=
=
mod 23
34012224 mod 23
8
o Hitung nilai Chinesse Remainder Theorem (CRT) dengan
r=( *p*
+ *q*
) mod n
( -2 * 11* 8 + 1 * 23 * 5 ) mod 253
(-176 + 115 ) mod 253
192
s=( *p*
*q*
) mod n
( -2 * 11* 8 - 1 * 23 * 5 ) mod 253
(-176 – 115 ) mod 253
-291 mod 253
215
t=-( *p*
+
*q*
) mod n
- ( -2 * 11* 8 + 1 * 23 * 5 ) mod 253
(176 - 115 ) mod 253
61 mod 253
61
u=-( *p*
*q*
) mod n
- ( -2 * 11* 8 - 1 * 23 * 5 ) mod 253
( 176 + 115 ) mod 253
291 mod 253
38
o Hitung nilai R,S,T dan U
R = ( K * n) + r
(817 * 253) + 192
206701 + 192
206693
110010011101100101
S = ( K * n) + s
(817 * 253) +215
206701 + 215
206916
110010100001000100
T = ( K * n) + t
(817 * 253) + 61
206701 + 61
Universitas Sumatera Utara
xi
206762
110010011110101010
U = ( K * n) + u
(817 * 253) + 38
206701 + 38
206739
110010011110010011
1.2 Dekripsi plaintext awal : H
o Hitung nilai
dengan cara:
=
mod p
=
mod 11
4096 mod 11
4
o Hitung nilai
dengan cara :
mod q
=
=
mod 23
16777216 mod 23
4
o Hitung nilai Chinesse Remainder Theorem (CRT) dengan
r=( *p*
+ *q*
) mod n
( -2 * 11* 4 + 1 * 23 * 4 ) mod 253
(-88 + 92 ) mod 253
4 mod 253
4
s=( *p*
*q*
) mod n
( -2 * 11* 4 - 1 * 23 * 4 ) mod 253
(-88 – 92 ) mod 253
-180 mod 253
73
t=-( *p*
+
*q*
) mod n
- ( -2 * 11* 4 + 1 * 23 * 4 ) mod 253
(88 - 92 ) mod 253
249 mod 253
249
u=-( *p*
*q*
) mod n
- ( -2 * 11* 4 - 1 * 23 * 4 ) mod 253
( 88 + 92 ) mod 253
180 mod 253
Universitas Sumatera Utara
xi
180
o Hitung nilai R,S,T dan U
R = ( K * n) + r
(827 * 253) + 4
209231 + 4
209235
110011000101010011
S = ( K * n) + s
(827 * 253) +73
209231 + 73
209304
110011000110011000
T = ( K * n) + t
(827 * 253) + 249
209231 + 249
209480
110011001001001000
U = ( K * n) + u
(827 * 253) + 180
209231 + 180
209339
1100110001100111011
1.3 Dekripsi plaintext awal : I
o Hitung nilai
dengan cara:
mod p
=
=
mod 11
421875 mod 11
3
o Hitung nilai
dengan cara :
=
mod q
=
mod 23
177978515 mod 23
12
o Hitung nilai Chinesse Remainder Theorem(CRT) dengan
r=( *p*
+ *q*
) mod n
( -2 * 11* 12 + 1 * 23 * 3 ) mod 253
(-264 + 69 ) mod 253
Universitas Sumatera Utara
xi
-195mod 253
58
s=( *p*
*q*
) mod n
( -2 * 11* 12 - 1 * 23 * 3 ) mod 253
(-264 – 69 ) mod 253
-333 mod 253
173
t=-( *p*
+
*q*
) mod n
- ( -2 * 11* 12 + 1 * 23 * 3 ) mod 253
(264- 69 ) mod 253
195 mod 253
195
u=-( *p*
*q*
) mod n
- ( -2 * 11* 12 - 1 * 23 * 3 ) mod 253
( 264+ 69 ) mod 253
333 mod 253
80
o Hitung nilai R,S,T dan U
R = ( K * n) + r
(829 * 253) + 58
209737 +58
209795
110011001101001001
S = ( K * n) + s
(829 * 253) +173
209737 + 173
209910
110011001111110110
T = ( K * n) + t
(829 * 253) + 195
209737+ 195
209932
110011010000001100
U = ( K * n) + u
(829 * 253) + 80
209737 + 80
209817
110011001110011001
Universitas Sumatera Utara
xi
1.4 Dekripsi plaintext awal : T
o Hitung nilai
dengan cara:
=
mod p
=
mod 11
729 mod 11
3
o Hitung nilai
dengan cara :
=
mod q
=
mod 23
9 mod 23
9
o Hitung nilai Chinesse Remainder Theorem (CRT) dengan
r=( *p*
+ *q*
) mod n
( -2 * 11* 9 + 1 * 23 * 3 ) mod 253
(-198 + 69 ) mod 253
-129mod 253
124
s=( *p*
*q*
) mod n
( -2 * 11* 9 - 1 * 23 * 3 ) mod 253
(-198 – 69 ) mod 253
-267 mod 253
239
t=-( *p*
+
*q*
) mod n
- ( -2 * 11* 9 + 1 * 23 * 3 ) mod 253
(198- 69 ) mod 253
129 mod 253
129
u=-( *p*
*q*
) mod n
- ( -2 * 11* 9 - 1 * 23 * 3 ) mod 253
( 198+ 69 ) mod 253
267 mod 253
14
o Hitung nilai R,S,T dan U
R = ( K * n) + r
(1021 * 253) + 124
259313 +124
Universitas Sumatera Utara
xi
258437
111111000110000101
S = ( K * n) + s
(1021 * 253) +239
209313 + 239
258552
111111000111111000
T = ( K * n) + t
(1021 * 253) + 129
209313+ 129
258442
111111000110001010
U = ( K * n) + u
(1021 * 253) + 14
209313 + 14
258327
111111000100010111
1.5
Dekripsi plaintext awal : R
o Hitung nilai
dengan cara:
=
mod p
=
mod 11
27 mod 11
5
o Hitung nilai
dengan cara :
=
mod q
=
mod 23
64mod 23
18
o Hitung nilai Chinesse Remainder Theorem (CRT) dengan
r=( *p*
+ *q*
) mod n
( -2 * 11* 18 + 1 * 23 * 5 ) mod 253
(-396 + 115 ) mod 253
-281mod 253
225
s=( *p*
*q*
) mod n
( -2 * 11* 18 - 1 * 23 * 5 ) mod 253
Universitas Sumatera Utara
xi
(-396 – 115 ) mod 253
-511 mod 253
248
t=-( *p*
+
*q*
) mod n
- ( -2 * 11* 18 + 1 * 23 * 5 ) mod 253
(396- 115 ) mod 253
281 mod 253
28
u=-( *p*
*q*
) mod n
- ( -2 * 11* 18 - 1 * 23 * 5 ) mod 253
( 396+ 115 ) mod 253
511 mod 253
5
o Hitung nilai R,S,T dan U
R = ( K * n) + r
(1017 * 253) + 225
257301 +124
257526
1111101101111110110
S = ( K * n) + s
(1017 * 253) +248
257301 + 248
257549
111110111000001101
T = ( K * n) + t
(1017 * 253) + 28
257301+ 28
257329
111110110100110001
U = ( K * n) + u
(1017 * 253) + 5
257301 + 5
257306
111110110100011010
1.6 Dekripsi plaintext awal : A
o Hitung nilai
dengan cara:
=
mod p
=
mod 11
64 mod 11
Universitas Sumatera Utara
xi
9
o Hitung nilai
dengan cara :
mod q
=
=
mod 23
1mod 23
1
o Hitung nilai Chinesse Remainder Theorem (CRT) dengan
r=( *p*
+ *q*
) mod n
( -2 * 11* 1 + 1 * 23 * 9 ) mod 253
(-22 + 207 ) mod 253
185mod 253
185
s=( *p*
*q*
) mod n
( -2 * 11* 1 - 1 * 23 * 9 ) mod 253
(-22 – 207 ) mod 253
-229mod 253
24
t=-( *p*
+
*q*
) mod n
- ( -2 * 11* 1 + 1 * 23 * 9 ) mod 253
(22- 207 ) mod 253
-185 mod 253
68
u=-( *p*
*q*
) mod n
- ( -2 * 11* 1 - 1 * 23 * 9 ) mod 253
( 22+ 207 ) mod 253
229 mod 253
229
o Hitung nilai R,S,T dan U
R = ( K * n) + r
(813 * 253) + 185
205689 +185
205689
110010001101111001
S = ( K * n) + s
(813 * 253) +24
205689 + 24
205713
110010001110010001
Universitas Sumatera Utara
xi
T = ( K * n) + t
(813 * 253) + 68
205689+ 28
205757
110010001110111101
U = ( K * n) + u
(813 * 253) + 229
205689 + 229
205918
110010010001011110
Maka dari hasil proses perhitungan metode Chinese Remainder Theorem (CRT) maka
di dapatkan
nilai dekripsi RABIN cryptosystem yang sebenarnya yakni untuk plainiteks
“CHITRA” adalah 206739, 209304, 209817, 258552,257526, 205713. nilai. Di mana nilai
biner dari nilai tersebut sama dengan nilai kunci enkripsi pada algoritma Extended Polybius
Square.
Namun untuk nilai m ( 0000,0003,0006 dan 009 ) terdapat anomali dalam perhitungan
algortima dimana perhitungan untuk masing – masing nilai m tersebut akan di jabarkan di
dalam contoh enkrips di bawah ini.
Contoh enkripsi 2:
Di mana didalam contoh 2, penulis akan menghitung nilai m yang bernilai 3. Sedangkan untuk
nilai p dan q ( 11 dan 23 ) bernilai dan nilai kunci privat (
dan
sama seperti contoh
enkripsi 1. Oleh karena itu untuk kedua nilai tersebut pada contoh 2 yang akan di masukan
akan sama dengan contoh enkripsi 1.
.1. Enkripsi
o Nilai N : 253
o m enkripsi Extended Polybius Square:
Dengan m
:3
: 11
: 1111
: 15
o Enkripsi Rabin Cryptosystem:
Universitas Sumatera Utara
xi
C=
mod n
C
mod 253
C
225
C 225mod 253
2. Dekripsi
o Hitung nilai
dengan cara:
=
mod p
mod 11
11390625 mod 11
4
o Hitung nilai
dengan cara :
=
mod q
mod 23
(
mod 23) (
13 * 13 mod 23
169
mod 23)
o Perhitungan Chinese Remainder Theorem (CRT)
o r=(
*p*
+
*q*
) mod n
= ( -2 * 11*169 + 1 * 23 * 4 ) mod 253
= (-3718 + 92 ) mod 253
= -3626 mod 253
= 169
= 10101001
o s=( *p*
*q*
) mod n
= ( -2 * 11* 169 - 1 * 23 * 4 ) mod 253
= (-3718 – 92 ) mod 253
= -3810 mod 253
= 238
= 11101110
o t=-(
*p*
+
*q*
) mod n
= - ( -2 * 11* 169 + 1 * 23 * 4 ) mod 253
= -(-3718 + 92 ) mod 253
= 3810 mod 253
= 84
= 1010100
o u=-( *p*
*q*
) mod n
=- ( -2 * 11*169 - 1 * 23 * 4 ) mod 253
= ( 3718 – 92 ) mod 253
Universitas Sumatera Utara
xi
= 3810 mod 253
= 15
= 1111
Contoh 3:
Di mana didalam contoh 3, penulis akan menghitung nilai m yang bernilai 9.
Sedangkan untuk nilai p dan q ( 11 dan 23 ) bernilai dan nilai kunci privat (
dan
sama
seperti contoh enkripsi 1. Oleh karena itu untuk kedua nilai tersebut pada contoh 2 yang akan
dimaskan akan sama dengan contoh enkripsi 1.
.1. Enkripsi
o Nilai N : 253
o m enkripsi Extended Polybius:
m
:9
: 1001
: 10011001
: 153
o Enkripsi Rabin Cryptosystem:
C=
C
mod n
mod 253
C 23409mod 253
C
133
2. Dekripsi
o Hitung nilai
dengan cara:
=
mod p
mod 11
2352637 mod 11
1
o Hitung nilai
dengan cara :
=
mod q
mod 23
mod 23
34012224 mod 23
8
Universitas Sumatera Utara
xi
o Perhitungan Chinese Remainder Theorem (CRT)
o r=(
*p*
+
*q*
) mod n
= ( -2 * 11*8 + 1 * 23 * 1 ) mod 253
= (-176 + 23 ) mod 253
= -153 mod 253
= 100
= 1100100
o s=(
*p*
-
*q*
) mod n
= ( -2 * 11* 8 - 1 * 23 * 1 ) mod 253
= (-176-23 ) mod 253
= -199 mod 253
= 54
= 110110
o t=-(
*p*
+
*q*
) mod n
= - ( -2 * 11* 8 + 1 * 23 * 1 ) mod 253
= (176 + 23 ) mod 253
= 199 mod 253
= 199
= 11000111
o u=-(
*p*
-
*q*
) mod n
=- ( -2 * 11*8 - 1 * 23 * 1 ) mod 253
= ( 176 – 23 ) mod 253
= 153 mod 253
= 153
= 10011001
Contoh 4:
Dimana didalam contoh 4, penulis akan menghitung nilai m yang bernilai 6. Sedangkan
untuk nilai p dan q ( 11 dan 23 ) bernilai dan nilai kunci privat (
dan
sama seperti
Universitas Sumatera Utara
xi
contoh enkripsi 1. Oleh karena itu untuk kedua nilai tersebut pada contoh 2 yang akan
dimaskan akan sama dengan contoh enkripsi 1.
.1. Enkripsi
o Nilai N : 253
o m enkripsi Extended Polybius Square:
Dengan m
:6
: 110
: 110110
: 54
o Enkripsi Rabin Cryptosystem:
C=
C
C
C
mod n
mod 253
2916mod 253
133
Berdasarkan hasil perhitungan manual proses enkripsi untuk nilai m = 6, maka
di dapatlah nilai C sebesar 133. Di mana jika dilihat kembali contoh – contoh yang
telah ada, maka dapat kita simpulkan untuk nilai m = 6 akan bernilai sama dengan nilai
m = 9.
Universitas Sumatera Utara
BAB 2
LANDASAN TEORI
2.1. Kriptografi
Kriptografi memiliki sejarah yang sangat panjang di mana kriptografi telah ditemukan
sejak 3600 tahun yang lalu di lihat dari sudah di temukannya simbol - simbol yang di
ukir pada lempeng tanah liat (clay disk) yang disebut dengan phaistos. Meskipun
begitu awal mula kriptografi tidak hanya berawal dari bangsa Yunani, namun juga
dari bangsa Mesir kuno. Di buktikan dengan di temukannya teks kuno yang di tuliskan
oleh Firaun Amanemth II pada tahun 1900 SM. Di mana pesan itu di tuliskan dalam
huruf hieroglip (hieroglyphic).(Mollin, 2005). Hieroglyphic merupakan bentuk tulisan
dari zaman Mesir kuno yang berupa gambar maupun simbol – simbol yang merupakan
sebuah pesan. (Fischer, 1999)
Kriptografi adalah ilmu atau seni yang bertujuan untuk menjaga kerahasiaan
suatu pesan yang berisikan suatu informasi dan mengubahnya kedalam bentuk yang
sulit di pahami maknanya. Kriptografi berasal dari bahasa Yunani yakni kryptos yang
berarti tersembunyi dan graphein yang berarti tulisan (Mollin, 2007). Sehingga
Kriptografi (cryptograph) dapat di artikan dengan
ilmu yang mempelajari suatu
sistem penyandian untuk menjamin kerahasiaan dan keamanan data. Orang yang
melakukan disebut cryptographer.
Universitas Sumatera Utara
xi
2.2. Tujuan Kriptografi
Tujuan dari kriptografi yang juga merupakan aspek penting dalam proses keamanan data dan
informasi adalah sebagai berikut: (Scheiner, 1996).
1. Authentication (Autentikasi)
Berfungsi untuk memberikan kepastian terhadap identitas – identitas yang terlibat,
meyakinkan ke aslian data, sumber data orang yang mengakses dan server yang digunakan.
2. Confidentiality (Kerahasiaan)
Di gunakan untuk menjaga informasi dari semua pihak kecuali pihak yang memiliki
otoritas terhadap informasi.
3. Data Integrity (Integritas Data)
Di gunakan untuk memastikan agar informasi yang di kirimkan tidak mengalami modifikasi
maupun manipulasi dari pihak yang tidak bersangkutan selama pengiriman.
4. Non-Repudiation (Nipernyangkalan)
Berfungsi untuk menjaga semua entitas – entitas yang saling terhubung sehingga tidak terjadi
penyangkalan data yang dikirimkan ataupun yang diterima
2.3. Sistem Kriptografi
Sisem kriptografi klasik umumnya menggunakan metode subtitusi atau transposisi dan telah
digunakan jauh sebelum komputer di temukan. Terdapat 5 komponen utama dalam sistem
kriptografi klasik, yaitu (Wandani, 1012):
1. Plaintext
Teks asli, dapat berupa pesan atau data sebagai input algoritma enkripsi
2. Kunci Rahasia
Kunci rahasia disebut sebagai penentu output dari algoritma enkripsi. Antar entitas
harus saling mengetahui kunci ini agar dapat berkomunikasi.
3. Ciphertext
Hasil proses algoritma enkripsi di mana teks asli dianggap telah tersembunyi.
4. Algoritma Enkripsi
Algoritma enkripsi mengubah teks asli menjadi ciphertext dengan parameter masukan,
yaitu teks asli kunci rahasia.
5. Algoritma Dekripsi
Algoritma dekripsi mengubah ciphertext menjadi teks asli dengan parameter masukan,
yaitu ciphertext dan kunci rahasia.
Universitas Sumatera Utara
xi
Enkripsi adalah suatu proses yang melakukan perubahan kode dari bisa dimengerti
(plaintext) menjadi kode yang tidak bisa di mengerti (ciphertext). Proses pembaikannya
plaintext dari ciphertext disebut dekripsi. Secara umum operasi enkripsi dan dekripsi secara
matematis dapat digambarkan.
EK (M) = C (Proses Enkripsi)
DK (C) = M (Proses Dekripsi)
Dengan Keterangan:
M
= Pesan yang dirahasiakan
C
= Plaintext
D
= Dekripsi
E
= Mekanisme enkripsi
K
= Simbol kuci yang digunakan.
Pembacaan rumus tersebut adalah proses enkripsi E dengan kunci K akan di lakukan
pengolahan pesan m menjadi pesan C, dan C adalah ciphertext atau pesan hasil enkripsi yang
di harapkan berbeda dan tidak mampu menyikap informasi aslinya dari pesan M.
Proses pembalikannya yaitu proses dekripsi. Pada proses dekripsi dengan kunci K,
pesan C akan disandikan kembali menjadi pesan semula yaitu M sehingga di peroleh kembali
pesan aslinya. Yang menjadi penting dalam proses enkripsi-dekripsi tidak hanya algoritma
yang di gunakan tetapi juga kunci enkripsi. Kunci merupakan kata kunci yang digunakan
dalam proses penyandian. Untuk itu walaupun algoritma enkripsi dan dekripsi di ketahui oleh
publik, kunci K harus di rahasiakan.
2.4. Kriptosistem
Kriptosistem (cryptosystem atau Cryptographic system) adalah suatu fasilitas untuk
mengkonversikan
plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat
parameter yang menentukan transformasi penyandian tertentu disebut satu set kunci. Proses
enkripsi atau dekripsi diatur oleh satu atau beberapa kunci kriptorafi.
Suatu cryptosystem terdiri dari sebuah algoritma, seluruh kemungkinan plaintext,
ciphertext dan kunci-kunci. Secara umum cryptosystem dapat digolongkan menjadi dua buah
yaitu:
Universitas Sumatera Utara
xi
Universitas Sumatera Utara
xi
Gambar 2.2. Proses Enkripsi Dan Dekripsi Asymetric Cryptosystem
2.4.3. Kriptosistem Hibrid (Hybrid Cryptosystem)
Kriptosistem hibrid (Hybrid cryptosystem) merupakan suatu sistem kriptografi yang
menggabungkan sistem kriptografi simetri dan sistem keriptografi asimetri (Azizah, 2013)
sehingga di dapatlah sebuah kriptosistem dengan fungsi algoritma yang lebih kompleks.
2.5. Teknik Dasar Kriptografi
2.5.1 Teknik Subtitusi
Teknik subtitusi adalah suatu teknik kriptografi di mana pesan yang telah di tulis akan di ganti
suatu kode dengan kode yang lain, dengan menggunakan tabel subtitusi. Dapat di tampilkan
dalam tabel 2.1.
Tabel 2.1. Teknik subtitusi
A B C D E F G H I J K L MN O P Q R S T U V WX Y Z
J X E Q S A MH Z C T L O V F B Y U D WI K G P R N
Tabel subtitusi dilakukan secara acak, dengan cara tuliskan dan susun tabel alphabet di
mulai dari huruf A hingga Z. Lalu buat kembali tabel alphabet kedua tuliskan alphabet itu
kembali secara acak. Dalam contoh diatas dapat dilihat Huruf A pada tabel alphabet pertama
diganti dengan huruf J pada tabel alphabet kedua, dan huruf B di ganti dengan huruf X begitu
seterusnya. Misalkan kata “ SECRET MESSAGE” akan di enkripsi dengan teknik subtitusi
dengan tabel diatas menjadi “ DSEUSW OSDDJMS”. Untuk memperoleh kata “SECRET
MESSAGE” kembali maka di lakukan pula melihat tabel subtitusi diatas.
Universitas Sumatera Utara
xi
2.5.2. Teknik Blocking
Teknik blocking yaitu membagi pesan plaintext kedalam blok-blok pesan yang kemudian akan
di enkripsi secara independen. Misalkan kalimat “SECRET MESSAGE” akan di bagi kedalam
blok-blok seperti tabel 2.2.
Tabel 2.2. Teknik Blocking
S
T
S
E
A
C
M
G
R
E
E
E
S
Selajutnya teknik dapat di enkripsi per-blok, misalkan untuk proses pengacakan
sederhana dengan pembacaaan yang terbalik yaitu karena proses penyimpanan pada blok
dilakukan per kolom, maka proses enkripsi akan dilakukan dengan cara menaruh kalimat
“GNIKCOLB KINKET” pada blok-blok pesan berbaris dan membaca dengan per-kolom dan
menjadi kalimat “TEKNIK BLOCKING” kembali.
2.5.3. Teknik permutasi
Teknik permutasi sering juga disebut transposisi. Teknik ini memindahkan atau merotasikan
karakter dengan aturan tertentu, prinsipnya adalah berlawanan tetap tapi identitasnya yang
diacak. Sebelum dilakukakn permutasi, umumnya plaintext terlebih dahulu di bagi menjadi
blok-blok dengan panjang yang sama. Untuk contoh di atas, plaintext dibagi menjadi blok
terdiri dari 5 karakter, dengan aturan permutasi berikut:
0
1
2
3
4
5
6
7
8
9
9
3
4
1
2
7
8
5
6
0
Gambar 2.3. Teknik Permutasi (Munir, 2008)
Universitas Sumatera Utara
xi
Misalkan kalimat “PERTEMUAN RAHASIA” di enkripsi menjadi “NREETAUMP
HARAAIS” dengan cara membaginya kalimat kedalam blok – blok dan melakukan proses
permutasi seperti pada gambar di atas dengan teknik pengacakan. Proses dekripsi dilakukan
serupa denga membagi kedalam 5 blok pula dan membalik permutasinya.
P
E
R
T
E
M U
A
N
R
A
H
A
S
I
A
N
R
E
E
T
A
M P
H
A
R
A
A
I
S
U
Gambar 2.4. Teknik Permutasi (Munir, 2008).
2.5.4. Teknik Ekspansi
Teknik akan menambahkan beberapa byte kata kedalam plaintext dengan aturan tertentu.
Proses penambahan beberapa byte kata ini diharapkan dapat menyembunyikan informasi dapat
plaintext. Salah satu contoh penggunaan teknik ini adalah dengan menukar huruf awal dan
akhir kata yang diberi awalan “an” proses enkripsi dengan cara ekspansi terhadap plaintext
terjadi sebagai berikut:
8 A N
P E R T E M U A
N A N
R A H A S I A A N
8 A N
N R E E T A
U M P A N
H A R A A I S A N
Gambar 2.5. Teknik Ekspansi (Munir 2008)
Universitas Sumatera Utara
xi
Ciphertextnya adalah “8AN NREETAUMPAN HARAAISAN”. Aturan ekspansi dapat
dibuat lebih kompleks dan terkadang teknik ekspansi dapat di gabungkan dengan teknik
lainnya.
2.5.5. Teknik Pemampatan (Compaction)
Mengurangi panjang pesan atau jumlah bloknya adalah cara lain untuk menyembunyikan isi
pesan. Misalkan untuk plaintext “PERTEMUAN RAHASIA” setiap kata ke dua akan di
hilangkan dan di sertakan pada akhir kalimat yang sebelumnya di beri tanda “ ”. Proses yang
terjadi untuk plaintext tersebut adalah:
P E R T E MU A N
R A H A
S I A
P
R
S
R
E
P R E U N
U
N
R H S A
H
E T M A
A
A A I
Gambar 2.6. Teknik Pemampatan.
Aturan penghilangan karakter dan karakter khusus dan berfungsi sebagai pemisah
menjadi dasar untuk proses dekripsi ciphertext menjadi plaintext kembali. Dengan
menggunakan kelima menjadi teknik kriptografi diatas, dapat di ciptakan teknik kriptografi
yang amat banyak walaupun sekilas terlihat sederhanana, kombinasi teknik dasar kriptografi
dapat menghasilkan teknik kriptografi turunan yang cukup kompleks, dan bebrapa teknik dasar
kriptografi masih di gunakan dalam kriptografi modern.
2.6. Algoritma Euclid dan Extended Euclid
Salah satu cara untuk menentukan GCD (Greatest Common Divisior) dua bilangan integer a
dan b ialah dengan menggunakan algoritma Euclid. Algoritma Euclid merupakan algoritma
rekursif yang terdapat dua kasus:
Universitas Sumatera Utara
xi
I:
II : B
b = 0 GCD(a,0) = a
0 GCD (a,b) = (b, a mod b)
Algoritma Euclid dapat dikembangkan dan pengembangan dari algoritma Euclid tersebut
disebut dengan algoritma Extended Euclid. Algoritma Extended Euclid ini sendiri berfungsi
untuk menemukan dua nilai integer x dan y yang unik selain nilai GCD (Greatest Common
Divisior) (a,b) sehingga memenuhi relasi (Lipschutz & Lipson, 2007).
a*x +b*y =GCD(a,b)
2.7. Algoritma Extended Polybius Square
Polybius square (kotak polybius) pada dasarnya merupakan algoritma simetris yang di kerjakan
secara substitusi. Polybius square merupakan sebuah tabel yang berfungsi untuk membantu
dalam proses enkripsi maupun dekripsi pesan.
Pada umumnya Polybius Square menggunakan tabel dengan ukuran 5 x 5 yang di isi
oleh 26 huruf alphabetik, dari a hingga z, namun untuk huruf I dan J biasanya di satukan di
dalam satu tabel. Polybius square di temukan pertama kali oleh Polybius yang merupakan
seorang sejarahwan Yunani pada tahun 200 – 118 SM.
Pada penulisan skripsi ini penulis menggunakan Extended Polybius Square dimana
Extended Polybius Square sendiri merupakan perpanjangan dari
Polybius square dengan
ukuran matriks 15 x 15 (Tabu S Kondo., Leonard J Mselle, 2013). Dimana tabel itu berisi
semua karakter yang terdapat di dalam table ASCII (American Standard Code for Information
Interchange). Di mana nantinya semua karakter yang terdapat dalam tabel ASCII (American
Standard Code for Information Interchange), diisi ke dalam table Extended Polybius 15 x 15
dan disusun sedemikian rupa agar menambah sedikit tingkat kesulitan.
Universitas Sumatera Utara
xi
Tabel 2.3 . Tabel Extended Polybius Square 15 x 15
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
00
NULL
DLE
Space
0
@
P
`
p
€
É
01
SQH
DC1
!
1
A
Q
a
q
ü
02
SIX
DC2
"
2
B
R
b
r
‚
03
ETX
DC3
#
3
C
S
c
s
ƒ
04
EOS
DC4
$
4
D
T
d
t
„
¢
£
°
â
Ð
¡
±
ã
Ñ
¤
´
Ä
Ô
ð
ñ
ä
Ò
Ã
Ó
05
ENQ
NAK
%
5
E
U
e
u
…
•
¥
µ
Å
Õ
å
06
ACK
SYN
&
6
F
V
f
v
07
BEL
ETB
'
7
G
W
g
w
–
¦
—
Æ
Ö
æ
·
Ç
×
ç
÷
08
BS
CAN
(
8
H
X
h
x
ˆ
˜
¨
¸
È
Ø
09
HT
EM
)
9
I
Y
i
y
‰
™
©
¹
É
Ù
10
LF
SUB
*
:
J
Z
j
z
Š
š
ª
º
è
Ú
ø
11
VT
ESC
+
;
K
[
k
{
«
»
ê
Û
ë
12
FF
FS
,
<
L
\
l
|
Œ
œ
¬
¼
Ì
Ü
13
CR
GS
=
M
]
m
}
½
Í
Ý
ü
ý
14 15
SO SI
RS US
.
/
>
?
N
O
^
_
n
o
~
Del
õ
Å
ž
ò
®
¯
¾
¿
Î
Ï
Þ
ß
ï
þ
ÿ
Contoh 1. Perhitungan manual proses enkripsi dengan plaintext awal “CHITRA” dengan
menggunakan Extended Polybius Square.
1.1 Pengenkripsian plainteks : C
Plaintext awal
:C
Dengan m
: 0403
: 110010011
: 11001001111001001
: 206739
1.2 Pengenkripsian plaintext : H
Plaintext awal
:H
Dengan m
: 0408
: 110011000
: 110011000110011000
: 209304
Universitas Sumatera Utara
xi
1.3 Pengenkripsian plaintext : I
Plaintext awal
:I
Dengan m
: 0409
: 110011001
: 110011001110011001
: 209817
1.4 Pengenkripsian plaintext : T
Plaintext awal
:T
Dengan m
: 0504
: 111111000
: 111111000
: 258552
1.5 Pengenkripsian plaintext : R
Plaintext awal
:R
Dengan m
: 0502
: 111110110
: 111110110
: 257526
1.6 Pengenkripsian plaintext : A
Plaintext awal
:A
Dengan m
: 0401
: 110010001
: 110010001110010001
: 205713
Dari hasil perhitungan
contoh 1 di atas maka
di dapat
hasil enkripsi untuk plaintext
“CHITRA” pada Extended Polybius Square adalah :
Universitas Sumatera Utara
xi
Tabel 2.4 Hasil Perhitungan Plaintext “CHITRA”
206739
209304
209817
258552
257526
205713
2.8. Algoritma Rabin Cryptosystem
Algoritma kriptografi Rabin Cryptosystem pertama kali di perkenalkan pada tahun 1979 oleh
Michael O Rabin.
Algoritma Rabin Cryptosystem pada dasarnya hampir sama dengan
algoritma Rivest Shamir Adleman (RSA), hanya saja komputasinya lebih sederhana di
bandingkan
dengan
Rivest Ahamir Adleman (RSA). Algoritma Rabin Cryptosystem
merupakan algoritma kriptografi dengan metode kriptografi asimetris pertama di mana untuk
mendapatkan
plaintext
dari
ciphertext
yang
ada
sama
sulitnya
dengan
proses
pemfaktoran.(Damarjati,2002)
2.8.1. Proses Pembangitan Kunci.
Pembangkitan kunci pada algoritma Rabin Cryptosystem, sama seperti pada sistem kriptografi
asimetri lainnya. algoritma Rabin Cryptosystem juga menggunakan sistem kunci publik dan
sistem kunci privat. Kunci publik digunakan pada proses enkripsi oleh penerima pesan dan
bersifat rahasia. Algoritma pembangkitan kuncinya adalah sebagai berikut :
1. Pilih dua buah bilangan prima besar secara sembarang dan yang saling berbeda (p dan
q).
2. Untuk mempermudah komputasi dari akar kuadrat modulo p dan q, kita bisa lakukan
dengan memilih
p ≡ q ≡ 3 (mod) 4
p≠q
Contoh 2: penulis ingin menentukan nilai p = 11. Lalu lakukan pengecekan apakah 11
merupakan bilangan prima dengan cara.
p≠q
p mod 4 = 3
Sehingga
11 mod 4 = 3
Universitas Sumatera Utara
xi
Contoh 3 : penulis ingin menentukan nilai q = 23. Lalu penulis melakukan pengecekan
apakah 23 merupakan bilangn prima y ang dimaksud dengan cara.
q mod 4 = 3
Sehingga
23 mod 4 = 3
3. Hitung n= p.q. n adalah kunci publik, bilangan prima p dan q adalah kunci privat.
Untuk mengenkripsi hanya membutuhkan kunci publik n, sedangkan untuk dekripsi
dibutuhkan bilangan p dan q sebagai kunci privat.
Contoh 3. Penulis menentukan nilai n. Di mana nilai n tersebut akan di dapat dari
proses perkalian antara dua bilangan prima, yakni nilai p dan q.
n=
p.q
n=
11 . 23
n=
253
2.8.2. Metode Enkripsi
Algoritma Rabin Cryptosystem merupakan algoritma kriptografi kunci publik maka enkripsi di
lakukan hanya dengan menggunakan kunci publik yang dapat di ketahui oleh semua orang.
Namun proses dekripsinya hanya dapat di lakukan dengan menggunakan kunci privat yang
hanya dapat dilakukan oleh orang yang bersangkutan. Untuk proses enkripsi pada algoritma
kunci publik Rabin Cryptosystem dapat dilakukan dengan rumus berikut (Schneier, 1996):
C = m² mod n
Dengan keterangan:
C
= Ciphertext
m
= enkripsi polybius
n
= Kunci publik
Setelah itu hitung nilai K yang merupakan nilai kongruen hasil nilai desimal plaintext
m dengan menggunakan rumus:
K=
Universitas Sumatera Utara
xi
Contoh 1. Perhitungan manual proses enkripsi dengan plaintext awal “CHITRA” dengan
menggunakan algoritma Rabin Cryptosystem .
1.1 Enkripsi plaintext awal : C
206739² mod n
C=
mod n
1444 mod 253
179
Lalu Hitung nilai K
K=
817
1.2 Enkripsi plantext awal : H
C = mod n
209304² mod n
5329 mod 253
16
Lalu Hitung nilai K
K=
827
1.3 Enkripsi plantext awal : I
mod n
209817² mod n
C=
6400 mod 253
75
Lalu Hitung nilai K
K=
829
1.4 Enkripsi plantext awal : T
C = mod n
258552² mod n
Universitas Sumatera Utara
xi
57121 mod 253
196
Lalu Hitung nilai K
K=
1021
1.5 Enkripsi plantext awal : R
C = mod n
257516² mod n
50625 mod 253
25
Lalu Hitung nilai K
K=
1017
1.6 Enkripsi plantext awal : A
C = mod n
205713² mod n
576 mod 253
70
Lalu Hitung nilai K
K=
813
2.8.3. Metode Dekripsi
Proses dekripsi pada algoritma Rabin Cryptosystem di lakukan dengan menggunakan rumus
yang sederhana. Proses dekripsi pada algoritma Rabin Cryptosystem menggunakan kunci
privat p dan q. Selama penerima pesan mengetahui p dan q, penerima pesan dapat
menyelesaikan dua kekongruenan menggunakan Chinese Remainder Teorema (CRT)
(Schneier, 1996). Teorema ini digunakan untuk mendapatkan plaintext yang benar. Melakukan
penambahan Chinese Remainder Teorema (CRT) dalam algoritma Rabin Cryptosysem bahwa
algoritma ini tidak menghasilkan
plaintext tunggal, selalu memberikan 4 kemungkinan
jawaban dan tidak menghasilkan satu jawaban yang pasti. Proses dekrispi algoritma Rabin
Cryptosystem dapat dilakukan dengan cara (Wandani, 2012) :
Universitas Sumatera Utara
xi
1. Tentukan nilai
dan
yang merupakan pembagi GCD (Greatest Common Divisior)
dari p dan q dengan menggunakan algoritma Extended Euclidean. Karena bilangan
prima GCD (Greatest Common Divisior) adalah 1 maka dapat kita tulis sebagai
*p +
*q = 1
2. Hitung nilai akar kuadrat dari ciphertext terhadap nilai p dan q dengan menggunakan
rumus
Dengan nilai
=
mod p
=
mod q
merupakan nilai akar kuadrat dari ciphertext terhadap nilai p. Dan
merupakan nilai akar kuadrat dari ciphertext terhadap nilai q.
3. Hitung nilai r,s,t dan u dengan menggunakan Chinese Remainder Theorem (CRT)
dengan rumus:
r =(
*p*
+
*q*
) mod n
s =(
*p*
-
*q*
) mod n
t = -(
*p*
+
*q*
) mod n
u = -(
*p*
-
*q*
) mod n
4. Tambahkan r,s,t dan u dengan kongruen nilai desimal hasil penggandaan plaintext K
yang dikalikan dengan kunci plaintext n
R = (k*n) + r
S = (k*n) + s
T = (k*n) + t
U = (k*n) +u
5. Ubahlah nilai desimal R, S, T, dan U ke dalam bentuk biner. Kemudian nilai biner R, S,
T dan U di bagi menjadi 2 bagian. Bandingkan kedua bagian tersebut. Jika kedua
bagian tersebut menghasilkan bentuk biner yang sama, maka di dapat hasil dekripsi
chipertext dengan mengubah bentuk biner salah satu bagian yang telah di bagi menjadi
2 bagian yang sama.
Setelah mendapatkan nilai
dan
maka selanjutnya kita mendekripsikan ciphertext yang
di ketahui dengan menggunakan bantuan metode Chinese Reminder Theorem.(CRT)
Universitas Sumatera Utara
xi
2.9. Chinese Reminder Theorem
Chinese Reminders Theorem (CRT) atau yang disebut juga dengan Teorema sisa China sudah
ada sekitar abad ke 3 – 5 masehi. Teorema ini diperkenalkan oleh seorang matematikawan
China yang bernama Sun Zi. Teorema ini pertama kali di tulis dalam sebuah buku yang
berjudul Qin Juishan yang di terbitkan pada tahun 1247, di mana dalam buku tersebut di
perkenalkan metode mencari solusi sistem linear kongruen.
Berikut adalah bunyi Chinese Reminder Theorem (CRT): berikan bilangan bulat positif
yang semuanya saling relatif prima dan bilangan bulat
maka
sistem linear kongruennya
....
Contoh Chinese Remainder Theorem 1:
Setelah di ketahui nilai
dan
maka tentukan kunci dekripsi Rabin Cryptosystem yang
benar dengan menggunakan banuan metode Chinese Remainder Theorem (CRT). Di mana
nantinya pada metode ini akan di temukan 4 kemungkinan plaintext hasil dekripsi algoritma
Rabin Cryptosystem yakni nilai (r, s, t, u)
Setelah itu hitung nilai R,S,T dan U dengan menggunakan nilai r,s,t dan u yang di
dapat dalam proses sebelumnya.
Contoh 1. Perhitungan manual proses dekripsi dengan plaintext awal “CHITRA”
1.1 Dekripsi plaintext awal : C
o Hitung nilai
dengan cara:
mod p
=
=
mod 11
27 mod 11
5
Universitas Sumatera Utara
xi
o Hitung nilai
dengan cara :
mod q
=
=
mod 23
34012224 mod 23
8
o Hitung nilai Chinesse Remainder Theorem (CRT) dengan
r=( *p*
+ *q*
) mod n
( -2 * 11* 8 + 1 * 23 * 5 ) mod 253
(-176 + 115 ) mod 253
192
s=( *p*
*q*
) mod n
( -2 * 11* 8 - 1 * 23 * 5 ) mod 253
(-176 – 115 ) mod 253
-291 mod 253
215
t=-( *p*
+
*q*
) mod n
- ( -2 * 11* 8 + 1 * 23 * 5 ) mod 253
(176 - 115 ) mod 253
61 mod 253
61
u=-( *p*
*q*
) mod n
- ( -2 * 11* 8 - 1 * 23 * 5 ) mod 253
( 176 + 115 ) mod 253
291 mod 253
38
o Hitung nilai R,S,T dan U
R = ( K * n) + r
(817 * 253) + 192
206701 + 192
206693
110010011101100101
S = ( K * n) + s
(817 * 253) +215
206701 + 215
206916
110010100001000100
T = ( K * n) + t
(817 * 253) + 61
206701 + 61
Universitas Sumatera Utara
xi
206762
110010011110101010
U = ( K * n) + u
(817 * 253) + 38
206701 + 38
206739
110010011110010011
1.2 Dekripsi plaintext awal : H
o Hitung nilai
dengan cara:
=
mod p
=
mod 11
4096 mod 11
4
o Hitung nilai
dengan cara :
mod q
=
=
mod 23
16777216 mod 23
4
o Hitung nilai Chinesse Remainder Theorem (CRT) dengan
r=( *p*
+ *q*
) mod n
( -2 * 11* 4 + 1 * 23 * 4 ) mod 253
(-88 + 92 ) mod 253
4 mod 253
4
s=( *p*
*q*
) mod n
( -2 * 11* 4 - 1 * 23 * 4 ) mod 253
(-88 – 92 ) mod 253
-180 mod 253
73
t=-( *p*
+
*q*
) mod n
- ( -2 * 11* 4 + 1 * 23 * 4 ) mod 253
(88 - 92 ) mod 253
249 mod 253
249
u=-( *p*
*q*
) mod n
- ( -2 * 11* 4 - 1 * 23 * 4 ) mod 253
( 88 + 92 ) mod 253
180 mod 253
Universitas Sumatera Utara
xi
180
o Hitung nilai R,S,T dan U
R = ( K * n) + r
(827 * 253) + 4
209231 + 4
209235
110011000101010011
S = ( K * n) + s
(827 * 253) +73
209231 + 73
209304
110011000110011000
T = ( K * n) + t
(827 * 253) + 249
209231 + 249
209480
110011001001001000
U = ( K * n) + u
(827 * 253) + 180
209231 + 180
209339
1100110001100111011
1.3 Dekripsi plaintext awal : I
o Hitung nilai
dengan cara:
mod p
=
=
mod 11
421875 mod 11
3
o Hitung nilai
dengan cara :
=
mod q
=
mod 23
177978515 mod 23
12
o Hitung nilai Chinesse Remainder Theorem(CRT) dengan
r=( *p*
+ *q*
) mod n
( -2 * 11* 12 + 1 * 23 * 3 ) mod 253
(-264 + 69 ) mod 253
Universitas Sumatera Utara
xi
-195mod 253
58
s=( *p*
*q*
) mod n
( -2 * 11* 12 - 1 * 23 * 3 ) mod 253
(-264 – 69 ) mod 253
-333 mod 253
173
t=-( *p*
+
*q*
) mod n
- ( -2 * 11* 12 + 1 * 23 * 3 ) mod 253
(264- 69 ) mod 253
195 mod 253
195
u=-( *p*
*q*
) mod n
- ( -2 * 11* 12 - 1 * 23 * 3 ) mod 253
( 264+ 69 ) mod 253
333 mod 253
80
o Hitung nilai R,S,T dan U
R = ( K * n) + r
(829 * 253) + 58
209737 +58
209795
110011001101001001
S = ( K * n) + s
(829 * 253) +173
209737 + 173
209910
110011001111110110
T = ( K * n) + t
(829 * 253) + 195
209737+ 195
209932
110011010000001100
U = ( K * n) + u
(829 * 253) + 80
209737 + 80
209817
110011001110011001
Universitas Sumatera Utara
xi
1.4 Dekripsi plaintext awal : T
o Hitung nilai
dengan cara:
=
mod p
=
mod 11
729 mod 11
3
o Hitung nilai
dengan cara :
=
mod q
=
mod 23
9 mod 23
9
o Hitung nilai Chinesse Remainder Theorem (CRT) dengan
r=( *p*
+ *q*
) mod n
( -2 * 11* 9 + 1 * 23 * 3 ) mod 253
(-198 + 69 ) mod 253
-129mod 253
124
s=( *p*
*q*
) mod n
( -2 * 11* 9 - 1 * 23 * 3 ) mod 253
(-198 – 69 ) mod 253
-267 mod 253
239
t=-( *p*
+
*q*
) mod n
- ( -2 * 11* 9 + 1 * 23 * 3 ) mod 253
(198- 69 ) mod 253
129 mod 253
129
u=-( *p*
*q*
) mod n
- ( -2 * 11* 9 - 1 * 23 * 3 ) mod 253
( 198+ 69 ) mod 253
267 mod 253
14
o Hitung nilai R,S,T dan U
R = ( K * n) + r
(1021 * 253) + 124
259313 +124
Universitas Sumatera Utara
xi
258437
111111000110000101
S = ( K * n) + s
(1021 * 253) +239
209313 + 239
258552
111111000111111000
T = ( K * n) + t
(1021 * 253) + 129
209313+ 129
258442
111111000110001010
U = ( K * n) + u
(1021 * 253) + 14
209313 + 14
258327
111111000100010111
1.5
Dekripsi plaintext awal : R
o Hitung nilai
dengan cara:
=
mod p
=
mod 11
27 mod 11
5
o Hitung nilai
dengan cara :
=
mod q
=
mod 23
64mod 23
18
o Hitung nilai Chinesse Remainder Theorem (CRT) dengan
r=( *p*
+ *q*
) mod n
( -2 * 11* 18 + 1 * 23 * 5 ) mod 253
(-396 + 115 ) mod 253
-281mod 253
225
s=( *p*
*q*
) mod n
( -2 * 11* 18 - 1 * 23 * 5 ) mod 253
Universitas Sumatera Utara
xi
(-396 – 115 ) mod 253
-511 mod 253
248
t=-( *p*
+
*q*
) mod n
- ( -2 * 11* 18 + 1 * 23 * 5 ) mod 253
(396- 115 ) mod 253
281 mod 253
28
u=-( *p*
*q*
) mod n
- ( -2 * 11* 18 - 1 * 23 * 5 ) mod 253
( 396+ 115 ) mod 253
511 mod 253
5
o Hitung nilai R,S,T dan U
R = ( K * n) + r
(1017 * 253) + 225
257301 +124
257526
1111101101111110110
S = ( K * n) + s
(1017 * 253) +248
257301 + 248
257549
111110111000001101
T = ( K * n) + t
(1017 * 253) + 28
257301+ 28
257329
111110110100110001
U = ( K * n) + u
(1017 * 253) + 5
257301 + 5
257306
111110110100011010
1.6 Dekripsi plaintext awal : A
o Hitung nilai
dengan cara:
=
mod p
=
mod 11
64 mod 11
Universitas Sumatera Utara
xi
9
o Hitung nilai
dengan cara :
mod q
=
=
mod 23
1mod 23
1
o Hitung nilai Chinesse Remainder Theorem (CRT) dengan
r=( *p*
+ *q*
) mod n
( -2 * 11* 1 + 1 * 23 * 9 ) mod 253
(-22 + 207 ) mod 253
185mod 253
185
s=( *p*
*q*
) mod n
( -2 * 11* 1 - 1 * 23 * 9 ) mod 253
(-22 – 207 ) mod 253
-229mod 253
24
t=-( *p*
+
*q*
) mod n
- ( -2 * 11* 1 + 1 * 23 * 9 ) mod 253
(22- 207 ) mod 253
-185 mod 253
68
u=-( *p*
*q*
) mod n
- ( -2 * 11* 1 - 1 * 23 * 9 ) mod 253
( 22+ 207 ) mod 253
229 mod 253
229
o Hitung nilai R,S,T dan U
R = ( K * n) + r
(813 * 253) + 185
205689 +185
205689
110010001101111001
S = ( K * n) + s
(813 * 253) +24
205689 + 24
205713
110010001110010001
Universitas Sumatera Utara
xi
T = ( K * n) + t
(813 * 253) + 68
205689+ 28
205757
110010001110111101
U = ( K * n) + u
(813 * 253) + 229
205689 + 229
205918
110010010001011110
Maka dari hasil proses perhitungan metode Chinese Remainder Theorem (CRT) maka
di dapatkan
nilai dekripsi RABIN cryptosystem yang sebenarnya yakni untuk plainiteks
“CHITRA” adalah 206739, 209304, 209817, 258552,257526, 205713. nilai. Di mana nilai
biner dari nilai tersebut sama dengan nilai kunci enkripsi pada algoritma Extended Polybius
Square.
Namun untuk nilai m ( 0000,0003,0006 dan 009 ) terdapat anomali dalam perhitungan
algortima dimana perhitungan untuk masing – masing nilai m tersebut akan di jabarkan di
dalam contoh enkrips di bawah ini.
Contoh enkripsi 2:
Di mana didalam contoh 2, penulis akan menghitung nilai m yang bernilai 3. Sedangkan untuk
nilai p dan q ( 11 dan 23 ) bernilai dan nilai kunci privat (
dan
sama seperti contoh
enkripsi 1. Oleh karena itu untuk kedua nilai tersebut pada contoh 2 yang akan di masukan
akan sama dengan contoh enkripsi 1.
.1. Enkripsi
o Nilai N : 253
o m enkripsi Extended Polybius Square:
Dengan m
:3
: 11
: 1111
: 15
o Enkripsi Rabin Cryptosystem:
Universitas Sumatera Utara
xi
C=
mod n
C
mod 253
C
225
C 225mod 253
2. Dekripsi
o Hitung nilai
dengan cara:
=
mod p
mod 11
11390625 mod 11
4
o Hitung nilai
dengan cara :
=
mod q
mod 23
(
mod 23) (
13 * 13 mod 23
169
mod 23)
o Perhitungan Chinese Remainder Theorem (CRT)
o r=(
*p*
+
*q*
) mod n
= ( -2 * 11*169 + 1 * 23 * 4 ) mod 253
= (-3718 + 92 ) mod 253
= -3626 mod 253
= 169
= 10101001
o s=( *p*
*q*
) mod n
= ( -2 * 11* 169 - 1 * 23 * 4 ) mod 253
= (-3718 – 92 ) mod 253
= -3810 mod 253
= 238
= 11101110
o t=-(
*p*
+
*q*
) mod n
= - ( -2 * 11* 169 + 1 * 23 * 4 ) mod 253
= -(-3718 + 92 ) mod 253
= 3810 mod 253
= 84
= 1010100
o u=-( *p*
*q*
) mod n
=- ( -2 * 11*169 - 1 * 23 * 4 ) mod 253
= ( 3718 – 92 ) mod 253
Universitas Sumatera Utara
xi
= 3810 mod 253
= 15
= 1111
Contoh 3:
Di mana didalam contoh 3, penulis akan menghitung nilai m yang bernilai 9.
Sedangkan untuk nilai p dan q ( 11 dan 23 ) bernilai dan nilai kunci privat (
dan
sama
seperti contoh enkripsi 1. Oleh karena itu untuk kedua nilai tersebut pada contoh 2 yang akan
dimaskan akan sama dengan contoh enkripsi 1.
.1. Enkripsi
o Nilai N : 253
o m enkripsi Extended Polybius:
m
:9
: 1001
: 10011001
: 153
o Enkripsi Rabin Cryptosystem:
C=
C
mod n
mod 253
C 23409mod 253
C
133
2. Dekripsi
o Hitung nilai
dengan cara:
=
mod p
mod 11
2352637 mod 11
1
o Hitung nilai
dengan cara :
=
mod q
mod 23
mod 23
34012224 mod 23
8
Universitas Sumatera Utara
xi
o Perhitungan Chinese Remainder Theorem (CRT)
o r=(
*p*
+
*q*
) mod n
= ( -2 * 11*8 + 1 * 23 * 1 ) mod 253
= (-176 + 23 ) mod 253
= -153 mod 253
= 100
= 1100100
o s=(
*p*
-
*q*
) mod n
= ( -2 * 11* 8 - 1 * 23 * 1 ) mod 253
= (-176-23 ) mod 253
= -199 mod 253
= 54
= 110110
o t=-(
*p*
+
*q*
) mod n
= - ( -2 * 11* 8 + 1 * 23 * 1 ) mod 253
= (176 + 23 ) mod 253
= 199 mod 253
= 199
= 11000111
o u=-(
*p*
-
*q*
) mod n
=- ( -2 * 11*8 - 1 * 23 * 1 ) mod 253
= ( 176 – 23 ) mod 253
= 153 mod 253
= 153
= 10011001
Contoh 4:
Dimana didalam contoh 4, penulis akan menghitung nilai m yang bernilai 6. Sedangkan
untuk nilai p dan q ( 11 dan 23 ) bernilai dan nilai kunci privat (
dan
sama seperti
Universitas Sumatera Utara
xi
contoh enkripsi 1. Oleh karena itu untuk kedua nilai tersebut pada contoh 2 yang akan
dimaskan akan sama dengan contoh enkripsi 1.
.1. Enkripsi
o Nilai N : 253
o m enkripsi Extended Polybius Square:
Dengan m
:6
: 110
: 110110
: 54
o Enkripsi Rabin Cryptosystem:
C=
C
C
C
mod n
mod 253
2916mod 253
133
Berdasarkan hasil perhitungan manual proses enkripsi untuk nilai m = 6, maka
di dapatlah nilai C sebesar 133. Di mana jika dilihat kembali contoh – contoh yang
telah ada, maka dapat kita simpulkan untuk nilai m = 6 akan bernilai sama dengan nilai
m = 9.
Universitas Sumatera Utara