17
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
Kelemahan kriptografi asimetri adalah :
1. Proses enkripsi dan deskripsi umumnya lebih lambat dari algoritma simetri,
karena menggunakan bilangan yang besar dan operasi bilangan yang besar. 2.
Ukuran chiperteks lebih besar daripada plainteks. 3.
Ukuran kunci relatif lebih besar daripada ukuran kunci simetri.
2.1.6 Algoritma DES Data Encryption Standard
Algoritma merupakan salah satu algoritma kriptografi simetri. Algoritma DES merupakan algoritma standar untuk kriptografi simetri. Pada subbab ini penulis akan
membahas dasar-dasar dan prinsip kerja dari algoritma DES itu sendiri.
2.1.6.1 Sejarah DES Data Encryption Standard
DES Data Encryption Standard merupakan salah satu algoritma cipher blok yang merupakan standard dari algoritma enkripsi kunci simetri. Sebenarnya nama DES
merupakan standar dari algoritma enkripsi, sedangkan nama aslinya adalah DEA Data Encryption Algorithm, namun nama DES lebih populer daripada nama DEA.
Sebenarnya algortima DES merupakan algoritma kriptografi pertama yang dipublikasikan secara umum oleh United States Federal Register pada tanggal 17
Maret 1975.
Pada tahun 1960-1971 sebuah proyek pertama IBM bernama LUCIFER yang dipimpim oleh Horst Feistel untuk kiptografi komputer. Proyek ini dikenal sebagai
blok kode pada pengoperasian blok 64 bit dan menggunakan kunci 128 bit. Proyek LUCIFER dikomersilkan dan disebut dengan DES Data Encryption Standard.
National Institue of Standard and Technology NIST mengeluarkan proposal untuk standar nasional pada tahun 1973. Isi proposal tersebut merupakan kriteria
untuk standar algoritma kriptografi sebagai berikut :
a. Algoritma harus bisa memberikan level keamanan yang tinggi,
18
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
b. Algoritma harus lengkap dan mudah dimengerti,
c. Keamanan algoritma harus mempunyai kunci, bukan tergantung dari algoritma
yang ada,
d. Algoritma harus available untuk semua user,
e. Algoritma harus dapat beradaptasi dengan berabagai aplikasi,
f. Algoritma harus ekonomis. Perangkat yang menggunakannya tidak
membutuhkan suatu alat yang canggih,
g. Algoritma harus efisien bila digunakan,
Algoritma DES merupakan salah satu proposal terbaik tahun 1977. Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan
kotak-S yang merupakan bagian internal dari DES. Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES
tidak begitu aman, karena DES tidak memiliki struktur internal yang kuat. DES dievaluasi satu kali dalam lima tahun. Evaluasi yang pertama, 6 Maret 1987, dan
evaluasi yang kedua pada 10 Desember 1992. Tetapi belum ada alternatif untuk menggantikan DES.
2.1.6.2 Enkripsi
DES merupakan algoritma cipher blok yang termasuk ke dalam sistem kriptografi simetri. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsi 64 bit
plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal internal key. Kunci internal pada Algoritma DES dibangkitkan dari kunci eksternal
external key yang panjangnya 64 bit. Skema global dari proses algoritma DES akan dilihat pada Gambar 2.8.
19
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
Blok Plainteks
16 kali
Blok cipherteks
Gambar 2.8 Skema global algoritma DES
Skema global dari algoritma DES adalah sebagai berikut :
1. Blok plainteks dipermutasi dengan matriks permutasi awal initial permutation
atau IP. 2.
Hasil permutasi awal kemudian di enchipering sebanyak 16 kali 16 putaran. Setiap putaran menggunakan kunci internal yang berbeda.
3. Hasil enchipering kemudian dipermutasi dengan matriks permutasi balikan
invers initial permutation atau IP
-1
menjadi blok chiperteks.
Skema algoritma DES dapat dilihat pada Gambar 2.9. IP
Enchipering
IP
-1
20
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
K
1
⊕
K
2
⊕
K
16
⊕
Gambar 2.9 Skema dasar algoritma DES
Plainteks
IP
L R
f
R
1
= L ⊕ fR
, K
1
L
1
= R
R
2
= L
1
⊕ fR
1
, K
2
f
L
2
= R
1
R
15
= L
14
⊕ fR
14
, K
15
L
15
= R
14
f
L
16
= R
15
R
16
= L
15
⊕ fR
15
, K
16
IP
-1
Chiperteks
21
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
Dalam algoritma DES, terdapat kunci eksternal dan kunci internal. Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna. Kunci
internal dapat dibangkitkan sebelum proses enkripsi ataupun bersamaan dengan proses enkripsi. Kunci eksternal panjangnya adalah 64 bit atau delapan karakter.
Karena ada 16 putaran, maka kunci internal yang dibutuhkan sebanyak 16 buah, yaitu K
1
,K
2
,...,K
16
. Untuk membangkitkan kunci internal diperlukan beberapa langkah.
Kunci eksternal 64 bit, di kompresi terlebih dahulu menjadi 56 bit menggunakan matriks permutasi kompresi PC-1. Dalam permutasi tiap bit kedelapan
dari delapan byte kunci akan diabaikan. Sehingga akan ada pengurangan delapan bit dari 64 bit awal kunci eksternal. Matriks permutasi kompresi PC-1 :
57 49
41 33
25 17
9 1
58 50
42 34
26 18
10 2
59 51
43 35
27 19
11 3
60 52
44 36
63 55
47 39
31 23
15 7
62 54
46 38
30 22
14 6
61 53
45 37
29 21
13 5
28 20
12 4
Setelah di dapatkan 56 bit hasil permutasi, selanjutnya 56 bit ini akan dibagi menjadi dua bagian, kiri dan kanan, yang masing-masing panjangnya 28 bit.
Kemudian kedua bagian tersebut akan disimpan ke dalam C dan D
.
C : berisi bit-bit dari K pada posisi :
57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26,18 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36
D : berisi bit-bit dari K pada posisi :
63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22 14, 6, 61, 53, 45, 37, 29, 21, 21, 13, 5, 28, 20, 12
Proses selanjutnya adalah, kedua bagian C dan D
digeser ke kiri left shift sepanjang satu atau dua bit, tergantung pada tiap putaran. Perputaran ini bersifat
22
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
wrapping atau round-shift. Bisa kita lihat pergeseran bit dari tiap putaran pada tabel 2.1.
Tabel 2.1 Jumlah pergeseran bit pada tiap putaran
Putaran, i Jumlah pergeseran
bit 1
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 1
1 2
2 2
2 2
2 1
2 2
2 2
2 2
1
Hasil dari pergeseran C dan D
akan didapatkan nilai dari C
1
dan C
2.
Begitu seterusnya, sampai proses tersebut menghasilkan C
16
dan D
16
. untuk mendapatkan kunci internal pertama K
1
, maka bit dari C dan D
tadi dilakukan permutasi kompresi dengan menggunakan matriks PC-2 berikut :
14 17
11 24
1 5
3 28
15 6
21 10
23 19
12 4
26 8
16 7
27 20
13 2
41 52
31 37
47 55
30 40
51 45
33 48
44 49
39 56
34 53
46 42
50 36
29 32
Jadi setiap kunci K
i
mempunyai panjang 48 bit. Apabila proses pergerseran bit-bit dijumlahkan semuanya, makanya jumlah seluruhnya sama dengan 28 putaran.
Jumlah ini sama dengan jumlah bit pada C
i
dan D
i
. Oleh karena itu, setelah putaran ke 16 akan didapatkan kembali C
16
= C dan D
16
= D . Gambar 2.10 akan
memperlihatkan bagaimana cara pembangkitan kunci internal pada algoritma DES.
23
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
K
1
. .
. .
. .
K
2
. .
. .
. .
K
3
Gambar 2.10 Proses pembangkitan kunci internal pada algoritma DES
Proses enchipering terhadap blok plainteks dilakukan setelah permutasi awal. setiap blok plainteks mengalami 16 kali putaran enchiperin. Setiap putaran
enchipering merupakan jaringan Feistel yang secara matematis dinyatakan sebagai : L
i
= R
i-1
2.1 R
i
= L
i-1
⊕ fR
i-1
,K
i
2.2
Kunci eksternal
Permutasi PC-1
C D
Left Shift Left Shift
C
1
D
1
Permutasi PC-2
Left Shift Left Shift
C
i
D
i
Permutasi PC-2
Left Shift Left Shift
C
16
D
16
Permutasi PC-2
24
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
Diagram fungsi f diperlihatkan pada Gambar 2.11
⊕
Matriks Substitusi
Gambar 2.11 Rincian komput asi fungsi f
E merupakan fungsi ekspansi yang memperluas blok R
i-1
yang mempunyai panjang 32 bit menjadi blok 48 bit. Fungsi ekspansi direalisasikan dengan matriks
ekspansi sebagai berikut :
32 1
2 3
4 5
4 5
6 7
8 9
8 9
10 11
12 13
12 13
14 15
16 17
16 17
18 19
20 21
20 21
22 23
24 25
24 25
26 27
28 29
28 29
30 31
32 1
R
i-1
ER
i-1
K
i
ER
i-1
⊕ K
i
= A
S
1
S
8
B
PB
25
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
Hasil ekspansi ER
i-1
, yang panjangnya 48 bit di-XOR-kan dengan Ki yang panjangnya 48 bit menghasilkan vektor A yang panjangnya juga 48 bit. Kemudian
vektor A dikelompokkan menjadi delapan bagian, yang masing-masing bagian berisi 6 bit, dan merupakan masukan dari proses substitusi.
Proses substitusi menggunakan delapan buah kotak-S S-box. Kotak-S adalah matriks yang berisi substitusi sederhana yang memetakan satu atau lebih bit dengan
satu atau lebih bit lainnya. Kotak-S merupakan satu-satunya nirlanjar di dalam algoritma, karena operasinya adalah look-up table. Masukan dari operasi look-up table
dijadikan sebagai indeks kotak-S, dan keluarannya adalah entry di dalam kotak-S.
Dalam algoritma DES kotak-S yang digunakan adalah 6 x 4 S-box yang berarti menerima masukan enam bit dan menghasilkan keluaran empat bit. Kelompok enam
bit pertama menggunakan S
1
, kelompokan enam bit berikutnya menggunakan S
2
dan seterusnya sampai menggunakan S
8,
sehingga secara keseluruhan akan menghasilkan 32 bit keluaran yang dinamakan dengan vektor B.
Delapan kotak-S tersebut adalah :
S
1
14 4
13 1
2 15
11 8
3 10
6 12
5 9
7 15
7 4
14 2
13 1
10 6
12 11
9 5
3 8
4 1
14 8
13 6
2 11
15 12
9 7
3 10
5 15
12 8
2 4
9 1
7 5
11 3
14 10
6 13
S
2
15 1
8 14
6 11
3 4
9 7
2 13
12 5
10 3
13 4
7 15
2 8
14 12
1 10
6 9
11 5
14 7
11 10
4 13
1 5
8 12
6 9
3 2
15 13
8 10
1 3
15 4
2 11
6 7
12 5
14 9
S
3
10 9
14 6
3 15
5 1
13 12
7 11
4 2
8 13
7 9
3 4
6 10
2 8
5 14
12 11
15 1
13 6
4 9
8 15
3 11
1 2
12 5
10 14
7 1
10 13
6 9
8 7
4 15
14 3
11 5
2 12
26
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
S
4
7 13
14 3
6 9
10 1
2 8
5 11
12 4
15 13
8 11
5 6
15 3
4 7
2 12
1 10
14 9
10 6
9 12
11 7
13 15
1 3
14 5
2 8
4 3
15 6
10 1
13 8
9 4
15 11
12 7
2 14
S
5
2 12
4 1
7 10
11 6
8 5
3 15
13 14
9 14
11 2
12 4
7 13
1 5
15 10
3 9
8 16
4 2
1 11
10 13
7 8
15 9
12 5
6 3
14 11
8 12
7 1
14 2
13 6
15 9
10 4
5 3
S
6
12 1
10 15
9 2
6 8
13 3
4 14
7 5
11 10
15 4
2 7
12 9
5 6
1 13
14 11
3 8
9 14
15 5
2 8
12 3
7 4
10 1
13 11
6 4
3 2
12 9
5 15
10 11
14 1
7 6
8 13
S
7
4 11
2 14
15 8
13 3
12 9
7 5
10 6
1 13
11 7
4 9
1 10
14 3
5 12
2 15
8 6
1 4
11 13
12 3
7 14
10 15
6 8
5 9
2 6
11 13
8 1
4 10
7 9
5 15
14 2
3 12
S
8
13 2
8 4
6 15
11 1
10 9
3 14
5 12
7 1
15 13
8 10
3 7
4 12
5 6
11 14
9 2
7 11
4 1
9 12
14 2
6 10
13 15
3 5
8 2
1 14
7 4
10 8
13 15
12 9
3 5
6 11
Setelah didapat vektor B, maka selanjutnya pada vektor B dilakukan proses permutasi, yang bertujuan untuk mengacak hasil proses substitusi kotak-S. Permutasi
dilakukan dengan menggunakan matriks permutasi P P-box. Keluarannya menghasilkan PB yang juga merupakan keluaran dari fungsi f. Proses selanjutnya
yaitu bit-bit PB di-XOR-kan dengan L
i-1
untuk mendapatkan R
i.
Berikut ini adalah matriks permutasi PB.
16 7
20 21
29 12
28 17
1 15
23 26
5 8
31 10
2 8
24 14
32 27
3 9
19 13
30 6
22 11
4 25
27
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
Skema sederhana perolehan R
i
diperlihatkan pada gambar 2.12.
⊕
Gambar 2.12 Skema dasar perolehan R
i
Proses selanjutnya yaitu, permutasi terakhir yang dilakukan setelah 16 kali putaran terhadap gabungan dari blok kiri L dan blok kanan R. Proses permutasi
dilakukan dengan menggunakan matriks permutasi balikan invers initial permutation atau IP
-1
sebagai berikut :
40 8
48 16
56 24
64 32
39 7
47 15
55 23
63 31
38 6
46 14
54 22
62 30
37 5
45 13
53 21
61 29
36 4
44 12
52 20
60 28
35 3
43 11
51 19
59 27
34 2
42 10
50 18
58 26
33 1
41 9
49 17
57 25
2.1.6.3 Deskripsi
Pada algoritma DES proses deskripsi dan enkripsinya menggunakan kunci yang sama. Proses deskripsi pada cipherteks merupakan kebalikan dari proses enkripsi. Jika pada
proses enkripsi urutan kunci yang digunakan adalah K
1
, K
2
, ... , K
16
, maka untuk proses deskripsi urutan kunci yang digunakan adalah K
16
, K
15
, ... , K
1
. Masukan awalnya adalah R
16
dan L
16
untuk dechipering. Blok R
16
dan L
16
diperoleh dengan mempermutasikan chiperteks dengan matriks permutasi IP
-1
. Skema proses deskripsi diperlihatkan pada Gambar 2.13.
L
i-1
f
R
i
28
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
K
16
⊕
K
15
⊕
K
1
⊕
Gambar 2.13 Skema dasar proses Deskripsi algoritma DES
chiperteks IP
-1
L
16
R
16
f
R
15
= L ⊕ fR
16
, K
16
L
15
= R
16
R
14
= L
15
⊕ fR
15
, K
15
f
L
14
= R
15
R
1
= L
2
⊕ fR
2
, K
2
L
1
= R
2
f
L = R
1
R = L
1
⊕ fR
1
, K
1
IP
Plainteks
29
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
2.1.7 Algoritma RSA Rivest, Shamir, Adleman
Secara umum aplikasi kunci publik terbagi menjadi 3 kategori :
1. Kerahasiaan Data
Hal ini sama dengan fungsi dari algoritma simetri, yaitu dapat digunakan untuk menjaga kerahasiaan suatu data melalui mekanisme enkripsi dan deksripsi. Contohnya
adalah algoritma RSA.
2. Tanda tangan digital
Dengan menggunakan algoritma asimetri dapat membuktikan otentikasi pesan, maupun otentikasi pengirim provide authentication yaitu dengan tanda tangan
digital. Contoh algoritma yang dapat digunakan adalah RSA.
3. Pertukaran kunci
Algoritma kriptografi kunci publik dapat digunakan untuk pengiriman kunci simetri session keys. Contoh algoritma yang dapat digunakan untuk aplikasi ini adalah
algoritma RSA. Algoritma kriptografi kunci asimetri atau biasa disebut dengan algoritma kunci publik
muncul karena adanya keterbatasan media perantara yang terjamin keamanannya untuk mendistribusikan kunci dalam kriptografi. Algoritma kriptografi simetri
menggunakan kunci yang sama untuk proses enkripsi dan deskripsi, sehingga kedua belah pihak yang saling bertukar informasi maupun pihak penerima informasi harus
berbagi kunci yang sama. Saluran-saluran komunikasi umum tidak mempunyai tingkat keamanan yang baik dalam pendistribusian kunci, sehingga kunci harus dikirim secara
langsung melalui pihak ketiga yang dapat dipercaya.Dony Ariyus, Computer Security, 2006
Dengan permasalahan yang timbul di atas, digunakanlah algoritma kunci asimetri sebagai alternatif yang lebih aman. Dari berbagai algoritma kunci asimetri
30
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
yang paling populer adalah algoritma kriptografi RSA. Keamanan dari algoritma RSA ini terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor
prima. Selama pemfaktoran bilangan yang besar menjadi faktor-faktor prima belum ditemuka n algoritma yang efektif, maka selama itu pula keamanan algoritma
kriptografi RSA ini tetap terjamin keamanannya.
2.1.7.1 Sejarah RSA
Penemu pertama algoritma kriptografi kunci asimetri adalah Clifford Cocks, James H. Ellis dan Malcolm Williamson sekelompok ahli matematika yang bekerja untuk
United Kindom’s Government Communication Head Quarters, agen rahasia Inggris pada awal tahun 1970. Pada waktu itu temuan itu dipublikasikan dan fakta mengenai
temuan tersebut tetap menjadi rahasia hingga tahun 1997.
Algoritma kriptografi kunci asimetri untuk pertama kalinya dipublikasikan pada tahun 1976 oleh Whitfield Diffie dan Martin Hellman. Dua orang tersebut
merupakan ilmuwan dari Stanford University, yang membahas metode pendistribusian kunci rahasia melalui saluran komunikasi umum publik, yang
kemudian metode tersebut dikenal dengan metode pertukaran kunci Diffie-Hellman Diffie-Hellman Key Exchange
.
Ide awal Clifford Cocks ditemukan kembali oleh sekelompok ilmuwan dari Massachussets Institute of Technology pada tahun 1977. sekelompok orang ini adalah
Ron Rivest, Adi Shamir, dan Leonard Adleman. Mereka kemudian mempublikasikan temuan mereka pada tahun 1978 dan algoritma kriptografi kunci asimetri yang mereka
temukan dikenal dengan nama algoritma kriptografi RSA. RSA itu sendiri merupakan akronim dari nama keluarga mereka, Rivest, Shamir, dan Adleman.
Pada tahun 1983, Massachussets Institute of Technology menerima hak paten atas sebuah makalah berjudul “Cryptography Communication System and Method”
yang mengaplikasikan penggunaan algoritma kriptografi RSA. Yusuf Kurniawan, 2004.
31
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
2.1.7.2 Proses Enkripsi dan Deskripsi RSA
Secara umum ada beberapa besaran-besaran yang harus diperhatikan dalam algoritma RSA, yaitu :
1. p dan q adalah bilangan prima
rahasia 2.
n = p . q tidak rahasia
3. φn = p-1 q-1
rahasia 4.
e kunci enkripsi tidak rahasia
5. d kunci deskripsi
rahasia 6.
m plainteks rahasia
7. c chiperteks
tidak rahasia
2.1.7.3 Rumus Algoritma RSA
Rumus untuk enkripsi :
E
e
m = c ≡ m
e
mod n 2.3
Rumus untuk deskripsi :
D
d
c = m ≡ c
d
mod n 2.4
2.1.7.4 Algoritma Membangkitkan Pasangan Kunci
1. Memilih dua buah bilangan prima yaitu diberi simbol p dan q
2. Menghitung nilai n = p.q n
≠ p, karena jika n = p, maka nilai n = p
2
dan akan dapat mudah mendapatkan nilai n .
3. Hitung
φn = p-1q-1. 4.
Memilih kunci publik e yang relatif prima terhadap φn.
5. Bangkitkan kunci privat dengan menggunakan persamaan :
32
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
e n
k d
1 Φ
+ =
2.5
Hasil dari algoritma di atas adalah :
a. Kunci publik adalah pasangan e,n
b. Kunci privat adalah pasangan d,n
Penggunaan algoritma di atas dapat dicontohkan sebagai berikut :
Misalkan Ghiand dan Ahmad akan melakukan komunikasi. Mereka akan membangkitkan kunci publik dan kunci privat milik mereka. Ghiand memilih p = 47
dan q = 71, selanujutnya Ghiand menghitung :
n = p.q = 3337 2.6
dan φn = p-1q-1 = 3220
2.7
Ghiand memilih kunci publik e = 79, karena 79 merupakan relatif prima terhadap 3220. Ghiand memberikan nilai e dan n kepada publik. Selanjutnya Ghiand
akan membangkitkan kunci privat d dengan persamaan :
e n
k d
1 Φ
+ =
Dengan mencoba nilai k =1,2,3,... diperoleh nilai d yang bulat adalah 1019. Ini merupakan kunci privat yang akan digunakan untuk mendeskripsikan cipherteks. Jadi
pasangan yang dihasilkan adalah :
a. Kunci publik e = 79, n = 3337
33
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
b. Kunci privat d = 1019, n = 3337
2.1.7.5 Algoritma Enkripsi Deskripsi
Enkripsi
1. Ambil kunci publik penerima pesan, e, dan modulus n.
2. Plainteks dinyatakan dengan blok-blok m
1
, m
2
, ..., sedemikian sehingga setiap blok merepresentasikan nilai di dalam selang [0, n-1].
3. Setiap blok m
i
dienkripsikan menjadi blok c
i
dengan rumus c
i
= m
i e
mod n
Deskripsi
Setiap blok cipherteks c
i
dideskripsikan kembali menjadi blok m
i
dengan rumus :
m
i
= c
i d
mod n
Algoritma di atas dapat dicontohkan sebagai berikut :
Ahmad akan mengirim pesan kepada Ghiand. Pesan yang akan dikirimkan adalah :
m = HARI INI
atau dalam desimal kode ASCII adalah :
7265827332737873
Kemudian nilai di atas akan dipecah menjadi blok-blok m. Nilai-nilai m harus lah masih dalam selang [0, 3337 – 1]. Maka blok yang akan terbentuk adalah :
m
1
= 726 m
4
= 273 m
2
= 582 m
5
= 787 m
3
= 733 m
6
= 003
34
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
Ahmad telah mengetahui kunci publik Ghiand adalah e = 79 dan n = 3337. Ahmad dapat mengenkripsikan pesan berikut :
c
1
= 726
79
mod 3337 = 215; c
2
= 582
79
mod 3337 = 776; c
3
= 733
79
mod 3337 = 1743; c
4
= 273
79
mod 3337 = 933; c
5
= 787
79
mod 3337 = 1731; c
6
= 003
79
mod 3337 = 158;
Jadi cipherteks yang di hasilkan adalah :
215 776 1743 933 1731 158
Maka pesan yang telah terenkripsi tersebut akan dikirimkan kepada Ghiand, yang mana Ghiand telah memiliki kunci privat :
d = 1019
Setelah itu cipherteks tersebut akan dideskripsikan oleh Ghiand sesbagai berikut :
m
1
= 215
1019
mod 3337 = 726 m
2
= 776
1019
mod 3337 = 582 m
3
= 1743
1019
mod 3337 = 733 m
4
= 933
1019
mod 3337 = 273 m
5
= 1731
1019
mod 3337 = 787 m
6
= 158
1019
mod 3337 = 003
maka akan dihasilkan kembali
m = 726 582 733 273 787 003
Yang dalam pengkodean ASCII dapat dibaca sebagai berikut :
m = HARI INI
35
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.