Strategi Keamanan Pesan Menggunakan Skema
Subliminal Chanel Ong-Schnorr-Shamir
Muhammad Ikhsan, ST., M.Kom
#1, Dedy Arisandi, ST., M.Kom
#2 #1Teknik Informatika, Sekolah Tinggi Teknik Harapan#2
Teknik Perangkat Lunak, FMIPA USU Jl. Imam Bonjol No.35 Medan Sumatra Utara, Indonesia
1
mhd.ikhsan@gmail.com
2
dedyarisandi@gmail.com
Abstract— Tanda tangan digital (digital signature) adalah suatu mekanisme otentikasi yang memungkinkan pembuat pesan menambahkan sebuah kode yang bertindak sebagai tanda tangannya. Skema (scheme) yang dapat digunakan untuk melakukan proses tanda tangan digital terhadap suatu pesan (message) juga ada bermacam-macam. Salah satu skemanya adalah skema Ong-Schnorr-Shamir. Skema Ong-Schnorr-Shamir merupakan skema tanda tangan digital yang berdasarkan pada persamaan linier sekuensial (sequentially linearized equations). Skema tanda tangan digital ini menggunakan polinomial modulo n. Keamanan dari skema ini didasarkan pada kesulitan untuk memecahkan persamaan polinomial. Versi dari skema yang dideskripsikan pada pembahasan kali ini adalah berdasarkan polinominal kuadratik. Skema Ong-Schnorr-Shamir Digital Signature dapat digunakan untuk menjaga keaslian data (authentication) dan keutuhan data (data integrity). Skema Ong-Schnorr-Shamir Subliminal Channel merupakan metode kriptografi yang dapat digunakan untuk menyamarkan pesan asli. Skema ini juga mendukung proses verifikasi dari skema Ong-Schnorr-Shamir Digital Signature
Keywords— Ong-Scnhorr-Shamir, Digital Signature, Subliminal Channel, polinomina kuadratik .
I. INTRODUCTION
Tanda tangan digital (digital signature) adalah suatu mekanisme otentikasi yang memungkinkan pembuat pesan menambahkan sebuah kode yang bertindak sebagai tanda tangannya dan juga memungkinkan penerima pesan untuk menguji keaslian dan keutuhan pesan. Skema (scheme) yang dapat digunakan untuk melakukan proses tanda tangan digital terhadap suatu pesan (message) juga ada bermacam-macam. Salah satu skemanya adalah skema Ong-Schnorr-Shamir.
Ong-Schnorr-Shamir memiliki dua buah skema, yaitu skema tanda tangan digital (digital signature) dan skema saluran tersembunyi (subliminal channel). Skema digital signature akan membentuk digital signature dari suatu pesan. Proses verifikasi dilakukan terhadap pesan dan digital signature untuk menguji keaslian dan keutuhan pesan. Bila verifikasi sukses, maka pesan masih asli dan utuh. Skema subliminal channel hampir sama dengan skema digital signature. Perbedaannya adalah skema subliminal channel memiliki proses dekripsi yang menyamarkan pesan asli.
Skema Ong-Schnorr-Shamir merupakan skema tanda tangan digital yang berdasarkan pada persamaan linier
sekuensial (sequentially linearized equations). Skema tanda
tangan digital ini menggunakan polinomial modulo n. Keamanan dari skema ini didasarkan pada kesulitan untuk memecahkan persamaan polinomial. Versi dari skema yang dideskripsikan pada pembahasan kali ini adalah berdasarkan polinominal kuadratik.
II. SKEMA ONG-SCHNORR-SHAMIR
Skema Ong-Schnorr-Shamir merupakan salah satu skema tanda tangan digital yang terdapat dalam ilmu kriptografi. Skema tanda tangan digital Ong-Schnorr-Shamir diciptakan oleh H.Ong, C.P.Schnorr dan A.Shamir dan ditulis dalam buku mereka yang berjudul “An Efficient Signature Scheme Based on Polynomial Equations” pada halaman 208 sampai 216. Buku ini dirilis untuk publik pada tahun 1984.
Selain skema tanda tangan digital, Ong-Schnorr-Shamir
juga memiliki skema subliminal channel (saluran
tersembunyi). Skema ini diciptakan oleh Gustavus Simmons dan ditulis dalam bukunya yang berjudul “The Prisoner’s Problem and the Subliminal Channel” pada halaman 51 sampai halaman 67 pada tahun 1984, “The Subliminal Channel and Digital Signatures” pada halaman 364 sampai halaman 378 pada tahun 1985 dan “A Secure Subliminal Channel” pada halaman 33 sampai halaman 41 pada tahun 1986.
A. Ong-Schnorr-Shamir Subliminal Channel Scheme
Alice dan Bob masuk penjara. Celakanya, mereka berada dalam penjara yang berbeda. Walter, pengawas penjara mengizinkan mereka berkomunikasi melalui surat, tetapi Walter tidak akan mengizinkan pesan dikirim dalam bentuk terenkripsi. Setiap pesan yang dikirim Bob harus dapat dibaca dan diverifikasi sumber dan keutuhannya oleh Walter.
a. Permasalahan: Dengan pengawasan ketat Walter, apakah
Alice dan Bob dapat menciptakan sebuah jalur komunikasi tersembunyi diantara mereka berdua?
b. Penyelesaian: Alice dan Bob dapat menggunakan salah
satu metode subliminal channel dalam ilmu kriptografi, yaitu, yaitu Ong-Schnorr-Shamir Subliminal Channel Scheme.
1) Tentukan sebuah bilangan integer besar (n) dan sebuah bilangan integer (k).
a. n dan k harus relatif prima, artinya nilai GCD(n, k)=1.
b. n merupakan kunci publik, artinya nilai n boleh
diketahui oleh pihak lain.
c. k merupakan kunci privat. Nilai k diketahui oleh
pembuat pesan (Bob) dan pihak yang akan mendekripsi pesan samaran (Alice).
2) Hitung nilai h dengan rumus berikut.
3) Buat pesan asli (w), pesan samaran (w') dan hitung S1
dan S2 !
a. Pesan samaran (w') diciptakan untuk menyamarkan
pesan asli. Nilai variabel w, w’ dan n harus relatif prima (GCD(w', n) = 1 dan GCD(w,n) = 1).
b. S1 dan S2 merupakan signature oleh Bob
c. Bob akan mengirimkan S1, S2 dan w' kepada Walter
dan Alice.
4) Walter memverifikasi pesan samaran dan tanda tangan
digital Bob (w') dengan menggunakan rumus berikut.
5) Alice mendekripsi pesan samaran Bob (w') dengan
menggunakan rumus berikut. Alice juga dapat memverifikasi keutuhan pesan Bob dengan menggunakan rumus yang dipakai oleh Walter.
Skema prosedur dapat dilihat pada gambar 1. berikut ini
Gambar. 1 Skema Prosedur Ong-Schnorr-Shamir Subliminal Channel
Sebagai contoh, pesan yang akan dikirimkan adalah huruf ‘A’, maka prosedur yang dilakukan dalam skema ini adalah:
1) Bob memilih n = 393541 dan k = 20.
2) Bob menghitung nilai h.
h = -(k-1)2 mod n h = -(1/20)2 mod 393541 h = -0.0025
3) Misalkan pesan asli (w) = ‘K’ dan pesan samaran (w’) =
‘H’, maka hitung S1 dan S2 (digital signature dari Bob) w = Kode ascii dari huruf 'K' = 75
w' = Kode ascii dari huruf 'H' = 72 S1 = 1/2 * (72/75 + 75) mod 393541 S1 = 37.98
S2 = 20/2 * (72/75 - 75) mod 393541 S2 = -740.4
4) Walter memverifikasi tanda tangan dan pesan samaran
(w’) dari Bob.
w' = Kode ascii dari huruf 'H' = 72 S1 = 37.98, S2 = -740.4
w' = (37.98)^2 + -0.0025 . (-740.4)^2 72 = 72 (True)
5) Alice mendekripsi pesan samaran (w’) menjadi pesan
asli(w).
S1 = 37.98, S(2) = -740.4 w = 72 / (37.98 + -740.4/20)
w = 75 (Karakter dari kode ascii 75 = 'K')
Pesan dan digital signature dari metode Ong-Schnorr-Shamir subliminal channel dapat diverifikasi keasliannya dengan menggunakan Ong-Schnorr-Shamir digital signature scheme. Perbedaannya hanya terletak pada metode dekripsi yang dimiliki oleh Ong-Schnorr-Shamir subliminal channel.
B. Algoritma Ong-Schnorr-Shamir Subliminal Channel Algoritma yang digunakan untuk membuat tanda tangan digital pada skema ini adalah:
1) Ambil input nilai n dan nilai k.
a. Apabila nilai n atau k = 0, maka munculkan pesan
kesalahan.
b. Periksa bahwa n harus minimal 8 digit. Apabila tidak
maka munculkan pesan kesalahan.
c. Periksa bahwa gcd(n, k) harus bernilai 1. Apabila
tidak, maka munculkan pesan kesalahan.
d. Untuk nilai count = 1 sampai 255, periksa bahwa
gcd(n, count) harus bernilai 1. Apabila tidak, maka munculkan pesan kesalahan.
2) Hitung nilai h.
H = - Round(FModulus(1 / K^2, N), 12).
a. Round(x, 12) adalah pembulatan nilai x sebanyak 12
desimal di belakang koma.
b. FModulus(a, b) adalah fungsi yang dibuat sendiri
untuk menghasilkan nilai modulus antara a dan b.
3) Ambil input pesan asli dan input pesan samaran.
a. Jika panjang pesan asli lebih panjang, maka
tambahkan huruf spasi pada pesan samaran sebanyak (panjang pesan samaran – panjang pesan asli) buah.
b. Jika tidak, maka tambahkan huruf spasi pada pesan
a. Set cTemp1 = karakter ke-i dari pesan asli.
b. Set W = Asc(cTemp1). W adalah nilai ascii dari
cTemp1.
c. Set cTemp1 = karakter ke-i dari pesan samaran.
d. Set WA = Asc(cTemp1). WA adalah nilai ascii dari
C. Algoritma Verifikasi Subliminal Channel
Algoritma yang digunakan untuk melakukan verifikasi pesan samaran dan tanda tangan digital pada skema ini adalah:
1) Periksa bahwa jumlah digital signature harus sama
dengan jumlah karakter pada pesan samaran.
a. Ambil format digital signature “S1|S2”, penggal
dengan pemisah spasi dan masukkan ke variabel array DS().
b. Jika jumlah variabel array DS dikurangi satu (digital
signature diawali dengan string
“<begin_of_signature> “ dan diakhiri dengan string “ <end_of_signature>“) tidak sama dengan panjang pesan samaran maka verifikasi gagal dan keluar dari algoritma verifikasi.
2) Set nilai nAkhir = posisi huruf spasi pertama pada digital
signature.
3) Untuk nTemp = 1 sampai panjang pesan samaran,
a. Set cTemp1 = karakter ke-nTemp dari pesan.
b. Set WA = Asc(cTemp1). WA adalah nilai ascii dari
karakter cTemp1.
c. Set nAwal = nAkhir + 1.
d. Untuk nTemp2 = nAwal sampai panjang dari digital
signature, lakukan pemeriksaan jika karakter ke-nTemp2 dari digital signature adalah huruf spasi, maka set nAkhir = nTemp2 dan keluar dari looping.
e. Set cTemp1 = string dimulai dari posisi nAwal
sepanjang (nAkhir - nAwal) karakter dari digital signature.
f. Penggal cTemp1 dengan pemisah “|” dan masukkan
ke variabel array DS.
g. Jika indeks tertinggi array DS tidak sama dengan satu
maka verifikasi gagal dan keluar dari algoritma.
h. Set S1 = DS(0). Ini adalah nilai digital signature S1.
i. Set S2 = DS(1). Ini adalah nilai digital signature S2.
j. Set nTemp3 = Round(FModulus((S1 ^ 2) + (S2 ^ 2)
* h, n)).
k. Jika nTemp3 <> WA maka verifikasi gagal dan
keluar dari algoritma.
4) Pesan samaran dan digital signature telah melewati
pemeriksaan, sehingga verifikasi digital signature sukses.
D. Algoritma Dekripsi Subliminal Channel
Proses dekripsi adalah kelebihan dari skema Ong-Schnorr-Shamir Subliminal Channel dibandingkan dengan skema Digital Signature-nya. Apabila skema Digital Signature hanya mampu membuat dan memverifikasi tanda tangan digital, maka skema Subliminal Channel mampu berbuat lebih yaitu membuat, memverifikasi dan mendekripsi pesan samaran menjadi pesan asli kembali. Dalam skema ini, pihak yang mendekripsi harus mengetahui nilai k (kunci privat) dari pembuat pesan.
Algoritma yang digunakan untuk melakukan dekripsi pada skema ini adalah:
1) Set nilai nAkhir = posisi huruf spasi pertama pada digital
signature.
2) Untuk nTemp = 1 sampai panjang pesan samaran,
a. Set cTemp1 = karakter ke-nTemp dari pesan samaran.
b. Set WA = Asc(cTemp1). WA adalah nilai ascii dari
karakter cTemp1.
c. Set nAwal = nAkhir + 1.
d. Untuk nTemp2 = nAwal sampai panjang dari digital
digital signature adalah huruf spasi, maka set nAkhir = nTemp2 dan keluar dari looping.
e. Set cTemp1 = karakter dengan posisi nAwal sampai
posisi (nAkhir – nAwal) dari digital signature.
f. Pisahkan cTemp1 dengan pemisah huruf “|” dan
masukkan ke variabel array DS.
g. Hitung W = Round(FModulus(WA / (S1 + S2 / K),
N)).
h. Pesan asli = Pesan asli & Chr(W). Chr adalah fungsi
mengubah kode ascii ke format karakter.
3) Tampilkan pesan asli dan proses dekripsi selesai.
III.PEMBAHASAN DAN HASIL
Untuk melihat dan menguji output perangkat lunak, maka
dibahas beberapa contoh penerapan skema subliminal channel.
Contoh penerapan skema digital signature pada aplikasi
adalah seperti pada gambar berikut:
Gambar. 2 Ilustrasi Subliminal Channel
Misalkan Alice Dan Bob masuk penjara, celakanya mereka berdua berada dalam penjara yang berbeda. Walter sipir penjara mengizinkan mereka berkomunikasi melalui surat, tetapi Walter tidak akan mengizinkan pesan dikirim dalam bentuk terenkripsi. Setiap pesan yang dikirim Bob harus dapat dibaca dan diverifikasi sumber dan keutuhannya oleh Walter.
Permasalahannya : Dengan pengawasan ketat Walter,
apakah Alice dan Bob dapat menciptakan sebuah jalur komunikasi tersembunyi diantara mereka berdua?
Penyelesaian : Alice dan Bob dapat menggunakan skema
Subliminal Channel dengan Metode Ong-Schnorr-Shamir
1) Langkah pertama menentukan sebuah bilangan integer
besar (n) dan sebuah bilangan integer(k)
Misalkan n = 18007069
k = 951
2) Langkah kedua hitung nilai h, dimana h = -(k-1)2 mod n
maka nilai h = -0.000001105704
3) Langkah ke tiga menentukan pesan asli dan pesan
samaran, misalkan pesan asli = ‘123456789’ dan pesan samaran = ‘abcdefghi’.
4) Langkah ke empat melakukan proses perhitungan untuk
mendapatkan Digital Signature n = 18007069, k = 951
Huruf ke-1
w = Kode ascii dari huruf '1' = 49 w' = Kode ascii dari huruf 'a' = 97 S(1) = 1/2 * (97/49 + 49) mod 18007069 S(1) = 25,489795918367
S(2) = 951/2 * (97/49 - 49) mod 18007069 S(2) = -22358,2040816327
Huruf ke-2
w = Kode ascii dari huruf '2' = 50 w' = Kode ascii dari huruf 'b' = 98 S(1) = 1/2 * (98/50 + 50) mod 18007069 S(1) = 25,98
S(2) = 951/2 * (98/50 - 50) mod 18007069 S(2) = -22843,02
Huruf ke-3
w = Kode ascii dari huruf '3' = 51 w' = Kode ascii dari huruf 'c' = 99 S(1) = 1/2 * (99/51 + 51) mod 18007069 S(1) = 26,470588235294
S(2) = 951/2 * (99/51 - 51) mod 18007069 S(2) = -23327,4705882353
Huruf ke-4
w = Kode ascii dari huruf '4' = 52 w' = Kode ascii dari huruf 'd' = 100 S(1) = 1/2 * (100/52 + 52) mod 18007069 S(1) = 26,961538461538
S(2) = 951/2 * (100/52 - 52) mod 18007069 S(2) = -23811,5769230769
Huruf ke-5
w = Kode ascii dari huruf '5' = 53 w' = Kode ascii dari huruf 'e' = 101 S(1) = 1/2 * (101/53 + 53) mod 18007069 S(1) = 27,452830188679
S(2) = 951/2 * (101/53 - 53) mod 18007069 S(2) = -24295,358490566
Huruf ke-6
w = Kode ascii dari huruf '6' = 54 w' = Kode ascii dari huruf 'f' = 102 S(1) = 1/2 * (102/54 + 54) mod 18007069 S(1) = 27,944444444444
S(2) = 951/2 * (102/54 - 54) mod 18007069 S(2) = -24778,8333333333
Huruf ke-7
w = Kode ascii dari huruf '7' = 55 w' = Kode ascii dari huruf 'g' = 103 S(1) = 1/2 * (103/55 + 55) mod 18007069 S(1) = 28,436363636364
Huruf ke-8
w = Kode ascii dari huruf '8' = 56 w' = Kode ascii dari huruf 'h' = 104 S(1) = 1/2 * (104/56 + 56) mod 18007069 S(1) = 28,928571428571
S(2) = 951/2 * (104/56 - 56) mod 18007069 S(2) = -25744,9285714286
Huruf ke-9
w = Kode ascii dari huruf '9' = 57 w' = Kode ascii dari huruf 'i' = 105 S(1) = 1/2 * (105/57 + 57) mod 18007069 S(1) = 29,421052631579
S(2) = 951/2 * (105/57 - 57) mod 18007069 S(2) = -26227,5789473684
5) Diperolehlah Digital Signature sebagai berikut
<begin_of_signature>
25.489795918367|-22358.2040816327 25.98|-22843.02 26.470588235294|-23327.4705882353 26.961538461538|-23811.5769230769 27.452830188679|-24295.358490566 27.944444444444|-24778.8333333333 28.436363636364|-25262.0181818182 28.928571428571|-25744.9285714286 29.421052631579|-26227.5789473684
<end_of_signature>
6) Melakukan perhitungan proses verifikasi
n = 18007069, H = -0.000001105704
Huruf ke-1 = 'a'
w' = Kode ascii dari huruf 'a' = 97
S(1) = 25.489795918367, S(2) = -22358.2040816327 w' = (25.489795918367)^2 + -0.000001105704 .(-2358.2040816327)^2
97 = 97 (True)
Huruf ke-2 = 'b'
w' = Kode ascii dari huruf 'b' = 98 S(1) = 25.98, S(2) = -22843.02
w' = (25.98)^2 + -0.000001105704 . (-22843.02)^2 98 = 98 (True)
Huruf ke-3 = 'c'
w' = Kode ascii dari huruf 'c' = 99
S(1) = 26.470588235294, S(2) = -23327.4705882353 w' = (26.470588235294)^2 + -0.000001105704 . (-23327.4705882353)^2
99 = 99 (True)
Huruf ke-4 = 'd'
w' = Kode ascii dari huruf 'd' = 100
S(1) = 26.961538461538, S(2) = -23811.5769230769 w' = (26.961538461538)^2 + -0.000001105704 . (-23811.5769230769)^2
100 = 100 (True)
Huruf ke-5 = 'e'
w' = Kode ascii dari huruf 'e' = 101
S(1) = 27.452830188679, S(2) = -24295.358490566 w' = (27.452830188679)^2 + -0.000001105704 . (-24295.358490566)^2
101 = 101 (True)
Huruf ke-6 = 'f'
w' = Kode ascii dari huruf 'f' = 102
S(1) = 27.944444444444, S(2) = -24778.8333333333 w' = (27.944444444444)^2 + -0.000001105704 . (-24778.8333333333)^2
102 = 102 (True)
Huruf ke-7 = 'g'
w' = Kode ascii dari huruf 'g' = 103
S(1) = 28.436363636364, S(2) = -25262.0181818182 w' = (28.436363636364)^2 + -0.000001105704 . (-25262.0181818182)^2
103 = 103 (True)
Huruf ke-8 = 'h'
w' = Kode ascii dari huruf 'h' = 104
S(1) = 28.928571428571, S(2) = -25744.9285714286 w' = (28.928571428571)^2 + -0.000001105704 . (-25744.9285714286)^2
104 = 104 (True)
Huruf ke-9 = 'i'
w' = Kode ascii dari huruf 'i' = 105
S(1) = 29.421052631579, S(2) = -26227.5789473684 w' = (29.421052631579)^2 + -0.000001105704 . (-26227.5789473684)^2
105 = 105 (True)
Signature sesuai ! VERIFIKASI SUKSES !
7) Melakukan perhitungan proses dekripsi
n = 18007069, k = 951
Huruf ke-1 = 'a'
w' = Kode ascii dari huruf 'a' = 97
S(1) = 25.489795918367, S(2) = -22358.2040816327 w = 97 / (25.489795918367 + -22358.2040816327/951) w = 49 (Karakter dari kode ascii 49 = '1')
Huruf ke-2 = 'b'
w' = Kode ascii dari huruf 'b' = 98 S(1) = 25.98, S(2) = -22843.02 w = 98 / (25.98 + -22843.02/951) w = 50 (Karakter dari kode ascii 50 = '2')
Huruf ke-3 = 'c'
w' = Kode ascii dari huruf 'c' = 99
Huruf ke-4 = 'd'
w' = Kode ascii dari huruf 'd' = 100
S(1) = 26.961538461538, S(2) = -23811.5769230769 w = 100 / (26.961538461538 + -23811.5769230769/951) w = 52 (Karakter dari kode ascii 52 = '4')
Huruf ke-5 = 'e'
w' = Kode ascii dari huruf 'e' = 101
S(1) = 27.452830188679, S(2) = -24295.358490566 w = 101 / (27.452830188679 + -24295.358490566/951) w = 53 (Karakter dari kode ascii 53 = '5')
Huruf ke-6 = 'f'
w' = Kode ascii dari huruf 'f' = 102
S(1) = 27.944444444444, S(2) = -24778.8333333333 w = 102 / (27.944444444444 + -24778.8333333333/951) w = 54 (Karakter dari kode ascii 54 = '6')
Huruf ke-7 = 'g'
w' = Kode ascii dari huruf 'g' = 103
S(1) = 28.436363636364, S(2) = -25262.0181818182 w = 103 / (28.436363636364 + -25262.0181818182/951) w = 55 (Karakter dari kode ascii 55 = '7')
Huruf ke-8 = 'h'
w' = Kode ascii dari huruf 'h' = 104
S(1) = 28.928571428571, S(2) = -25744.9285714286 w = 104 / (28.928571428571 + -25744.9285714286/951) w = 56 (Karakter dari kode ascii 56 = '8')
Huruf ke-9 = 'i'
w' = Kode ascii dari huruf 'i' = 105
S(1) = 29.421052631579, S(2) = -26227.5789473684 w = 105 / (29.421052631579 + -26227.5789473684/951) w = 57 (Karakter dari kode ascii 57 = '9')
DEKRIPSI SELESAI !
IV.KESIMPULAN
Dari hasil penjelasan dan uraian sebelumnya, dapat disimpulkan bahwa :
1) Skema Ong-Schnorr-Shamir Digital Signature dapat
digunakan untuk menjaga keaslian data (authentication) dan keutuhan data (data integrity).
2) Skema Ong-Schnorr-Shamir Subliminal Channel
merupakan metode kriptografi yang dapat digunakan untuk menyamarkan pesan asli. Skema ini juga mendukung proses verifikasi dari skema Ong-Schnorr-Shamir Digital Signature.
3) Aplikasi yang dirancang dapat menjelaskan secara
bertahap proses kerja Ong-Schnorr-Shamir Digital Signature dan Ong-Schnorr-Shamir Subliminal Channel, sehingga dapat membantu pemahaman terhadap skema
ini dan dapat digunakan untuk mendukung kegiatan belajar mengajar dalam mata kuliah kriptografi.
DAFTAR PUSTAKA
[1] H. Ong, C. P. Schnorr, and A. Shamir, "An Efficient Signature Scheme Based on Quadratic Equations", Proc. 16th ACM Symp. Theor. Comput (1984) 208-216
[2] H. Ong, C. P. Schnorr, and A. Shamir, "Efficient Signature Schemes Based on Polynomial Equations", to appear in Crypto 84, Lecture Notes in Computer Science, Springer-Verlag, N. Y., 1984
[3] Schneier, B., 1996, Applied Crytography : Protocols, Algorithm, and Source Code in C, Second Edition, John Willey and Sons Inc. [4] Seberpy J., Pieprzyk J., Cryptography : An Introduction to Computer
Security, 1989.
[5] Stallings W., Cryptography and Network Security, Third Edition, 2003.
[6] Kurniawan, J., 2004, Kriptografi, Keamanan Internet dan Jaringan Komunikasi, Informatika Bandung.
[7] Pramono, D., 2002, Mudah menguasai Visual Basic 6, PT. Elex Media Komputindo, Jakarta.
[8] Putar, R., 2005, The Best Source Code Visual Basic, PT. Elex Media Komputindo, Jakarta.
[9] www.fi.muni.cz/usr/gruska/crypto04/CHAPTER%2009%20-%20Digital%20 signatures.ppt (Tanggal akses: 28 Juni 2006). [10] www.cs.ru.nl/~petervr/library/