Kriptografi RC4 Data Text Dengan Menggunakan Visual Basic.

34 

Loading.... (view fulltext now)

Loading....

Loading....

Loading....

Loading....

Teks penuh

(1)

ABSTRAK

Masalah keamanan dan kerahasiaan data merupakan salah satu aspek yang sangat penting dalam era informasi sekarang ini. Salah satu solusi untuk mengatasinya adalah dengan melakukan enkripsi (penyandian) terhadap data yang akan dikirimkan dengan waktu penyandian yang tidak lama.

Dalam menyandikan suatu data dan menerjemahkannya kembali digunakan suatu data yang disebut kunci. Algoritma enkripsi yang didasarkan pada kunci secara garis besar dibedakan menjadi dua macam, yaitu algoritma simetrik dan algoritma kunci publik (algoritma asimetrik). Algoritma yang digunakan pada tugas akhir ini adalah algoritma simetrik yaitu penyandian dengan menggunakan kunci yang sama untuk enkripsi dan dekripsi data yang disebut dengan secret key.

(2)

ABSTRACT

Nowadays in the age of information, the problems of data security and secrecy are one of the most important aspects on computer communication and networks. One of the solutions to handling these problems is data encoding (encryption) with a short time in encoding and decoding.

Some keys are used when encoding data and decoding it back to its original data. There are two general types of the algorithm, symmetric algorithm and public key algorithm. Algorithm used on this book is symmetric algorithm. Symmetric algorithm is designed so that the key use for encryption is the same as the key used for decryption which is called secret key.

Data protection software with symmetric algorithm using RC4 Encryption that realized in this book is made with Visual Basic programming language. This software consists of 7 main programs which are: Initializes RC4 and Mixing S-Box, Plaintext encryption, Digital Signature key generator, Validation and Digital Signature, Cipher text decryption, Open Deciphered Text, and Comparing Digital Signature with Deciphered text.

(3)

DAFTAR ISI

ABSTRAK i

KATA PENGANTAR iii

DAFTAR ISI ...v DAFTAR GAMBAR...viii

DAFTAR TABEL ix

BAB I PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Identifikasi masalah 2

1.3 Tujuan 2

1.4 Pembatasan Masalah 2

1.5 Sistematika Pembahasan 2

BAB II TEORI PENUNJANG 4

2.1 Kriptologi, Kriptoanalisis, dan Kriptografi 4

2.1.1 Tujuan Kriptografi 4

2.1.2 Enkripsi dan Dekripsi 5

2.1.3 Algoritma dan Kunci 6

2.1.3.1 Algoritma Simetrik 7

2.1.3.2 Algoritma Kunci Publik 8

2.2 Perbandingan antara algoritma simetrik dengan algoritma kunci publik 9 2.3 Teori Matematika ...10

2.3.1 Bilangan Prima 11

2.3.2 Operasi Modulus 11

2.3.3 Algoritma Euclidean 12

2.3.4 Algoritma Extended Euclidean 12

2.3.5 Eksponensial Modulus 13

2.3.6 Fungsi XOR 15

2.4 Algoritma RC4...15

2.5 Algoritma Validasi Data 17

(4)

vi

2.6.1 Algoritma Pembangkit Kunci Tanda Tangan Digital 18

2.6.2 Algoritma Tanda Tangan Digital 18

2.6.3 Algoritma Verifikasi Tanda Tangan Digital 18

BAB III IMPLEMENTASI DAN REALISASI PERANGKAT LUNAK 19

3.1 Program Pengaman Data 19

3.2 Program Utama 21

3.2.1 Program Inisialisasi dan Mixing S-Box 21

3.2.2.Program Enkripsi Plaintext 23

3.2.3 Program Pembangkit Kunci Tanda Tangan Digital 23

3.2.3.1 Sub Program rdmprime dan rdmprime2 25

3.2.3.2 Sub Program gcd 26

3.2.3.3 Sub Program euclid 27

3.2.4 Program Validasi dan Tanda Tangan Digital 29

3.2.4.1 Sub Program Pangkatmod 30

3.2.4.2 Sub Program DecimalToBinary 31

3.2.5 Program Dekripsi Ciphertext 31

3.2.6 Program Open Deciphered Text 32

3.2.7 Program perbandingan Tanda Tangan Digital dengan Decipheredtext 34

BAB IV HASIL PENGAMATAN 35

4.1 Hasil Pengamatan 35

4.1.1 Hasil Pengamatan 1 35

4.1.2 Hasil Pengamatan 2 36

4.1.3 Hasil Pengamatan 3 36

4.1.3.1 Hasil Pengamatan File Text 1...36

4.1.3.2 Hasil Pengamatan File Text 2 37

4.1.3.3 Hasil Pengamatan File Text 3 38

4.1.3.4 Hasil Pengamatan File Text 4 41

4.1.4 Hasil Pengamatan 4 44

4.1.5 Hasil Pengamatan 5 45

4.1.6 Hasil Pengamatan 6 45

(5)

vii

4.1.7.1 Pengamatan PlainText, CipherText, DecipeheredText, nilai publik key dan private key, dengan file Validasi+Sign yang benar...48 4.1.7.2 Pengamatan PlainText,, file Validasi+Sign, nilai publik key dan private

key dengan DecipeheredText yang salah karena perubahan pada CipherText...49

4.1.7.3 Pengamatan PlainText, CipherText, DecipeheredText, file Validasi+Sign,

dengan pengisian nilai private key yang salah...49 4.1.7.4 Pengamatan PlainText, CipherText, DecipeheredText, file Validasi+Sign,

dengan membuka file Validasi+Sign yang salah pada waktu perbandingan ... 50

4.2 Analisa Hasil Pengamatan 50

BAB V KESIMPULAN DAN SARAN 53

5.1 Kesimpulan 53

5.2 Saran 53

DAFTAR PUSTAKA

LAMPIRAN A LISTING PROGRAM A-1

(6)

DAFTAR GAMBAR

Gambar 2.1 Diagram Blok Enkripsi 6

Gambar 2.2 Diagram Blok Dekripsi 6

Gambar 2.3 Diagram Blok Enkripsi Dengan Menggunakan Kunci 7

Gambar 2.4 Diagram Blok Dekripsi Dengan Menggunakan Kunci 7

Gambar 2.5 Diagram Blok Algoritma Simetrik 8

Gambar 2.6 Diagram Blok Enkripsi Pada Algoritma Kunci Publik 9

Gambar 2.7 Diagram Blok Dekripsi Pada Algoritma Kunci Publik...9

Gambar 2.8 Diagram Logika RC4 ...17

Gambar 3.1 Diagram Alir Program Pengaman Data 20

Gambar 3.2 Diagram Alir Program Inisialisasi dan Mixing S-Box 22

Gambar 3.3 Diagram Alir Program Enkripsi Plaintext 23

Gambar 3.4 Diagram Alir Program Pembangkit Kunci Tanda Tangan Digital 24

Gambar 3.5 Diagram Alir Program RdmPrime 25

Gambar 3.6 Diagram Alir Program RdmPrime2 26

Gambar 3.7 Diagram Alir Sub Program gcd 27

Gambar 3.8 Diagram Alir Sub Program euclid 28

Gambar 3.9 Diagram Alir Sub Program Validasi dan Tanda Tangan Digital 29

Gambar 3.10 Diagram Alir Sub Program Pangkatmod 30

Gambar 3.11 Diagram Alir Program DecimalToBinary 31

Gambar 3.12 Diagram Alir Sub Program Dekripsi CipherText 32

Gambar 3.13 Diagram Alir Program Dekripsi CipherText 33

Gambar 3.14 Diagram Alir Program Perbandingan Tanda Tangan Digital dengan

(7)

DAFTAR TABEL

Tabel 2.1 Nilai Extended Euclidean 13

Tabel 4.1 Hasil Pengamatan Dengan Secret Key sama 35

Tabel 4.2 Hasil Pengamatan Dengan Karakter Plaintext Berbeda 36

Tabel 4.3 Hasil Pengamatan Ukuran File Ciphertext Dengan Plaintext Yang

Berbeda dan Secret Key Sama 45

Tabel 4.4 Hasil Pengamatan Ukuran File Ciphertext Dengan Plaintext Yang

(8)

LAMPIRAN A

LISTING PROGRAM

*Form Main Program (Program Pengaman Data)

Option Explicit

Dim LineOfText As String Dim AllText As String Dim Wrap As String

Dim s(0 To 255) As Integer 'S-Box Dim kep(0 To 255) As Integer Dim i As Integer, j As Integer 'For the file actions

Dim path As String

‘Program Inisialisasi RC4 Public Sub RC4ini(Pwd As String)

Dim temp As Integer Dim A As Integer Dim B As Integer

'Save Password in Byte-Array B = 0

For A = 0 To 255 B = B + 1

If B > Len(Pwd) Then B = 1

End If

kep(A) = Asc(Mid$(Pwd, B, 1)) Next A

'INI S-Box

(9)

B = 0

‘Program untuk mendapatkan nilai k

Public Function EnDeCryptSingle(plainbyte As Byte) As Byte

Dim temp As Integer, k As Integer

dlgSourceFile.Filter = "Text files (*.TXT)|*.TXT|All files (*.*)|*.*" dlgSourceFile.ShowOpen

If dlgSourceFile.FileName <> "" Then frmMain.MousePointer = 11

(10)

AllText$ = AllText$ & LineOfText$ & Wrap$ Loop

txtPlain.Text = ""

txtPlain.Text = AllText$ 'display file

txtSave.Text = dlgSourceFile.FileName 'display path txtPlain.Enabled = True MsgBox ("The specified file is too large.") Resume CleanUp: 'then jumps to CleanUp routine End Sub

‘Open CipherText

Private Sub cmdBrowse2_Click() Wrap$ = Chr$(13) + Chr$(10) AllText$ = ""

dlgSourceCipher.Filter = "Cipher files (*.TXT.enc)|*.TXT.enc|All files (*.*)|*.*"

dlgSourceCipher.ShowOpen

If dlgSourceCipher.FileName <> "" Then frmMain.MousePointer = 11

Open dlgSourceCipher.FileName For Input As #1 On Error GoTo TooBig: 'set error handler

(11)

MsgBox ("The specified file is too large.") Resume CleanUp: 'then jumps to CleanUp routine End Sub

‘Program pengecekan validasi dan digital signature Private Sub cmdCekSignVal_Click()

Dim signcek As Long

If Text10.Text = "" Then MsgBox "Input the signature" Exit Sub

ElseIf txtPublikE.Text = "" Or txtPublikN.Text = "" Then 'txtPublikE.Text = "" Or txtPublikN.Text = "" Then MsgBox "Input your publik key"

CommonDialog3.Filter = "Text files (*.TXT)|*.TXT|All files (*.*)|*.*" CommonDialog3.ShowOpen

If CommonDialog3.FileName <> "" Then frmMain.MousePointer = 11

Open CommonDialog3.FileName For Input As #1 On Error GoTo TooBig: 'set error handler

signcek = pangkatmod(txtValSign.Text, txtPublikE.Text, txtPublikN.Text) Text9.Text = signcek

MsgBox "Data Verified", vbOKOnly, "ProjectRC4" Exit Sub

Else

(12)
(13)

Close 2

(14)

Dim p As Long 'random prime

Dim q As Long 'second random prime that not equal to p Dim n As Long 'p * q

Dim pi As Long '(p - 1)(q - 1)

Dim e As Long 'e that relatively prime to pi but less than pi Dim d As Long 'd that d*e congruent to 1 mod pi

Dim i1 As Long 'counter

Dim c As Long Dim temp1 As Long

Dim temp2() As Long ' temp dynamic array handler that hand selection of e Dim temp3 As Long

Dim temp4 As Long

(15)

c = c - 1 End If

Next

'random selection of e ulang:

'select e that is prime For i1 = 2 To (Sqr(temp4))

‘Program Save PlainText yang sudah ditulis Private Sub cmdSaveRaw_Click()

(16)

CommonDialog1.ShowSave

If CommonDialog1.FileName <> "" Then

Open CommonDialog1.FileName For Output As #1 Print #1, txtRaw.Text

CommonDialog1.FileName = "" Close #1

End If

End If

End Sub

‘Program Digital Signature nilai Validasi Private Sub cmdValSign_Click()

Dim sign As Long Dim Pal2 As Long Dim pjgpesan As Long Dim itung1 As Long Dim itung2 As Long Dim Pal() As Long

If Text6.Text = "" Then

(17)

If pjgpesan > 3 Then

sign = pangkatmod(((Pal2 ^ 2) Mod 251), Text6.Text, Text7.Text) Text8.Text = sign

'Text10.Text = (Pal2 ^ 2) Mod 251

If Text8.Text = "" Then

MsgBox "Error signing the plain document"

MsgBox "Document has been signed", vbOKOnly, "ProjectRC4" End If

End Sub

‘Program me-load file ciphertext yang sudah didekripsi Private Sub cmdView_Click()

Dim Pal2 As Long Dim pjgpesan As Long Dim itung1 As Long Dim itung2 As Long Dim Pal() As Long

Dim TextDeposit As String

(18)

CommonDialog3.Filter = "Text files (*.TXT)|*.TXT" CommonDialog3.ShowOpen

If CommonDialog3.FileName <> "" Then frmMain.MousePointer = 11

(19)

Do MsgBox ("The specified file is too large.") Resume CleanUp: 'then jumps to CleanUp routine

End Sub

‘Program menampilkan menu About Private Sub mnuAbout_Click()

‘Program menampilkan menu How To Use Private Sub mnuHow_Click()

frmHow.Show End Sub

‘Program Function

Public Function DecimalToBinary(DecimalNum As Long) As String Dim tmp As String

Dim n1 As Long

(20)

tmp = Trim(Str(n1 Mod 2))

(21)

hasil = B2

(22)

Function RdmPrime() As Long

Dim iRandom As Long ' holds random long result Dim i2 As Long ' checkprime loop counter Dim temp2a As Long 'swap var

Const iLowerBound = 30 Const iUpperBound = 300

Function RdmPrime2() As Long

Dim iRandom2 As Long ' holds random long result Dim y As Long 'checkprime loop counter

(23)

'check number

Function pangkatmod(ByVal num1, ByVal num2, ByVal num3) As Long Dim a22 As Long

Dim b22 As Long Dim n22 As Long Dim nilaimod As Long Dim nilaic As Long Dim nilaid As Long Dim nilaii As Long Dim nilaik As Long Dim naik As Long Dim barray() As Variant Dim decbin As Variant

a22 = num1 barray(nilaii) = Mid(decbin, naik, 1) naik = naik + 1

nilaic = 2 * nilaic

nilaid = (nilaid * nilaid) Mod n22 If barray(nilaii) = 1 Then nilaic = nilaic + 1

nilaid = (nilaid * a22) Mod n22 End If

(24)

pangkatmod = nilaid

End Function

*Form About

Private Sub cmdOK_Click() Unload Me

End Sub

*Form How

Private Sub cmdBack_Click() Unload Me

(25)

LAMPIRAN B

TAMPILAN PROGRAM PENGAMAN DATA

(26)

Tampilan Menu How To

(27)
(28)
(29)
(30)

BAB I

PENDAHULUAN

Pada bab ini akan dijelaskan mengenai latar belakang, perumusan masalah, tujuan, pembatasan masalah, serta sistematika penulisan laporan tugas akhir.

1.1 Latar Belakang

Pada era komunikasi sekarang ini keamanan data sangatlah diperlukan untuk menjamin keutuhan nilai informasi yang dipertukarkan. Suatu informasi akan berkurang nilai informasinya atau hilang nilainya apabila dalam pengirimannya disadap atau dibajak oleh pihak yang tidak dikehendaki. Internet sebagai salah satu media pertukaran informasi sangat rawan dalam mempertahankan nilai suatu informasi, sehingga sangatlah penting dibutuhkannya proteksi informasi untuk memastikan kerahasiaan (confidentiality), keutuhan (integrity), keabsahan (authenticity), dan keaslian (originality) informasi tersebut. Salah satu cara untuk mengatasi masalah ini ialah dengan mengkodekan informasi (data) tersebut menjadi data yang tidak bisa dibaca atau dimengerti oleh pihak lain tetapi bisa dibaca oleh pihak pengirim dan penerima. Kriptografi adalah metoda yang mempelajari proteksi data dengan cara mengkodekannya. Metoda proteksi ini menggunakan berbagai teknik metoda matematis untuk mengkodekannya. Kriptografi bisa dibagi menjadi 2 model yaitu model pengkodean simetri dan model pengkodean publik (asimetri). Pengkodean simetri dibagi 2 yaitu pengkodean blok dan pengkodean stream. Masing-masing model pengkodean mempunyai algoritma pengkodean lebih dari satu. Penggunaan pengkodean simetris maupun publik mempunyai kelemahan dan keunggulan masing-masing. Pemakaiannya tergantung dari situasinya.

Dari sekian banyak algoritma pengkodean, salah satunya yaitu algoritma RC4 telah teruji kemampuannya. Algoritma ini juga belum dipatenkan oleh pihak RSA. Algoritma ini ditemukan oleh Ron Rivest pada tahun 1987 dan berkembang

(31)

2

1.2 Identifikasi Masalah

1. Bagaimana algoritma kunci simetri dengan metoda RC4 dapat dijadikan suatu

pengaman data ?

2. Bagaimana realisasi software menggunakan metoda RC4 ?

1.3 Tujuan

1. Membuat cara kerja dari suatu pengamanan data dengan teknik enkripsi RC4.

2. Merealisasikan suatu software dengan teknik enkripsi RC4.

1.4 Pembatasan Masalah

Menggunakan bahasa pemprograman Visual Basic untuk membuat

program enkripsi dan dekripsi dengan algoritma RC4. Tidak membahas mengenai

transmisi data. Data masukan berupa teks dan file teks (*.txt)

1.5 Sistematika Pembahasan BAB I PENDAHULUAN

Menjelaskan mengenai latar belakang pembuatan tugas akhir, identifikasi

masalah, tujuan, pembatasan masalah dan sistematika pembahasan.

BAB II TEORI PENUNJANG

Menjelaskan kriptografi secara umum serta algoritma-algoritma yang menunjang

pembuatan tugas akhir seperti algoritma simetrik, algoritma kunci publik,

algoritma euclidean

BAB III IMPLEMENTASI DAN REALISASI PERANGKAT LUNAK

Dalam bab ini akan dibahas algoritma enkripsi simetris RC4 dan realisasi

perangkat lunak (software) berdasarkan algoritma tersebut

BAB IV HASIL PENGAMATAN

Membahas hasil pengamatan yang diperoleh berdasarkan implementasi dan

(32)

3

BAB V KESIMPULAN DAN SARAN

(33)

BAB V

KESIMPULAN DAN SARAN

5.1 KESIMPULAN

Kesimpulan dari tugas akhir adalah sebagai berikut :

1. Perangkat lunak pengaman data dengan algoritma RC4 telah berhasil

direalisasikan.

2. Pada program yang dibuat untuk enkripsi RC4 didapatkan 1 karakter

pertama pada plaintext menjadi 2 karakter ciphertext dan 1 karakter

terakhir menjadi 2 karakter ciphertext..

3. Pada algoritma RC4 besarnya secret key / password dan plaintext atau

ciphertext mempengaruhi waktu pemprosesan pada waktu enkripsi dan

dekripsi. Password semakin sedikit mempunyai pengulangan karakter atau

kata maka waktu enkripsi semakin lama

4. Perangkat lunak yang direalisasikan telah memenuhi komponen utama

kriptografi yaitu kerahasiaan, keutuhan dan keaslian

5.2 SARAN

Saran-saran yang dapat digunakan untuk pengembangan lebih lanjut dari

program pengaman data adalah :

1. Program perangkat lunak pengaman data dapat dikembangkan untuk

memproses data selain *.txt, misalnya data teks lainnya (*.doc, *.rtf), data

grafik (image) (*.bmp, *.jpg, *.png), data lainnya (*.exe, *.dat, *.html).

2. Program dapat dimodifikasi untuk meningkatkan keamanannya dengan

cara menambahkan pengulangan loop pada bagian Mixing S-Box yang

(34)

DAFTAR PUSTAKA

1. Deitel, H.M., Deitel, P.J., Nieto, T.R., Visual Basic 6 How To Program,

Prentice Hall, 1999.

2. Halvorson, Michael, Step by Step Microsoft Visual Basic 6.0, Elex Media

Komputindo, 2002.

3. Kahate, Atul, Cryptography and Network Security Principles and Practice ,

3rd edition, Prentice Hall, 2003.

4. Kristianto, Andi, Keamanan Data Pada Jaringan Komputer, Gavamedia,

2003.

5. Menezes, A.J, Handbook of Applied Cryptography, CRC Press, 1996.

6. Microsoft, Microsoft Visual Basic 6.0 Programmer’s Guide, Microsoft Press,

1998.

7. Rosen, Kenneth H, Discrete Mathematics and Its Applications, 3rd edition,

McGraw-Hill, 1994.

8. Schneier, Bruce, Applied Cryptography, second edition, John Wiley & Sons,

Inc. 1996.

9. Stallings, William, Cryptography and Network Security, Principles and

Practice, Prentice Hall, 1999.

10.Stallings, William, Komunikasi Data Dan Komputer Dasar-Dasar

Komunikasi Data, Salemba Teknika, 2001

11.Stallings, William, Komunikasi Data Dan Komputer Jaringan Komputer,

Figur

Memperbarui...

Referensi

Memperbarui...