• Tidak ada hasil yang ditemukan

Analisis Kombinasi Algoritma One Time Pad Dan Algoritma Elgamal Dalam Pengamanan Pesan

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis Kombinasi Algoritma One Time Pad Dan Algoritma Elgamal Dalam Pengamanan Pesan"

Copied!
8
0
0

Teks penuh

(1)

LAMPIRAN 1 :

DAFTAR PUBLIKASI ILMIAH PENULIS (TESIS)

No. Judul Artikel Penulis Publikasi

(Seminar/Jurnal.

dll)

Waktu

Publikasi

Tempat

1 Implementasi Pengamanan Data Menggunakan Enkripsi Caesar Cipher dengan Kombinasi Tabel ASCII

Zulfidar,

2 Keamanan Teks dengan Menggunakan Modifikasi Caesar Cipher yang Menggunakan Kunci Huruf Vokal

Zulfidar,

3 Analisis Kombinasi Algoritma Kriptografi Caesar Cipher dan Algoritma One Time Pad Pada Keamanan Pesan

Zulfidar,

(2)

LAMPIRAN 2

Listing Program

Public Class Form1

Dim Prime(200) As Integer

Function E_ElGamal(ByVal Plain As String, ByVal p As Integer, ByVal g As Integer, ByVal x As Integer)

Dim Temp As String = "" Dim y = (g ^ x) Mod p txty.Text = y

Dim X2(1000) As Integer

Dim a(1000), b(1000) As Integer Dim Temp2(1000) As Integer For i = 0 To Plain.Length - 1

X2(i) = Asc(Plain(i)) Next

Dim Kunci(1000) As Integer

For i = 0 To Plain.Length - 1

Kunci(i) = CInt(Math.Ceiling(Rnd() * (p - 2))) + 1 Next

For i = 0 To Plain.Length - 1 a(i) = SnM(g, Kunci(i), p) Next

For i = 0 To Plain.Length - 1

b(i) = (SnM(y, Kunci(i), p) * X2(i) Mod p) Mod p 'Temp = Temp & Chr(a(i)) & Chr(b(i))

Temp = Temp & a(i) & "," & b(i) & ","

(3)

Temp = Temp.Substring(0, Temp.Length - 1) Return Temp

End Function

Function D_ElGamal(ByVal Cipher As String, ByVal p As Integer, ByVal g As Integer, ByVal x As Integer)

Dim TempCp() As String = Cipher.Split(",") Dim Temp As String = ""

Dim Temp2(1000) As Integer Dim C As Integer

For i = 0 To TempCp.Length - 1 Temp2(i) = CInt(TempCp(i)) Next

For i = 0 To TempCp.Length - 1

'Temp = Temp & Chr((SnM(Temp2(i), p - 1 - x, p) * Temp2(i + 1) Mod p) Mod p)

C = (SnM(Temp2(i), p - 1 - x, p) * Temp2(i + 1) Mod p) Mod p If C < 65 Then

Temp = Temp & Chr(C + 65) Else

Temp = Temp & Chr(C) End If

'Temp = Temp & (SnM(Temp2(i), p - 1 - x, p) * Temp2(i + 1) Mod p) Mod p & " "

i = i + 1 Next

Return temp End Function

(4)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Timer1.Interval = 1 Timer1.Enabled = False lblTime.Text = 0

txtPlain.Text = "FASILKOM" txtKey_OTP.Text = "XBYHMDKO" Prime(0) = 2

Prime(1) = 3 Dim j As Integer Dim N As Integer = 1 Dim found As Boolean For i = 5 To 255 j = 0

found = True

While j <= N And found If (i Mod Prime(j)) = 0 Then

found = False End If

j = j + 1 End While If found Then

N = N + 1 Prime(N) = i End If

Next

Dim temp As String = "" For i = 0 To N

temp = temp & Prime(i) & " " Next

(5)

txtp.Text = Prime(CInt(Math.Ceiling(Rnd() * (N - 2))))

End Sub

Function SnM(ByVal x As Integer, ByVal y As Integer, ByVal n As Integer) Dim b As String

b = "" While y > 0

b = b & y Mod 2 y = y \ 2

End While b = StrReverse(b) Dim z As Integer z = 1

For i = 0 To b.Length - 1 If b.Chars(i) = "1" Then

z = (x * (z ^ 2)) Mod n Else

z = (z ^ 2) Mod n End If

Next

Return z End Function

Function E_OTP(ByVal Plain As String, ByVal Key As String) Dim Temp As String = ""

For i = 0 To Plain.Length - 1

Temp = Temp & Chr((Asc(Plain(i)) + Asc(Key(i))) Mod 26 + 65) Next

Return Temp End Function

(6)

Dim Temp As String = "" Dim j As Integer

For i = 0 To Cipher.Length - 1

j = (Asc(Cipher.Substring(i, 1)) - Asc(Key.Substring(i, 1))) If j < 0 Then j = j + 26

Temp = Temp & Chr(j Mod 26 + 65) Next

Return Temp End Function

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

lblTime.Text = 0 Timer1.Enabled = True

If txtKey_OTP.Text.Length <> txtPlain.Text.Length Then

MessageBox.Show("Panjang Kunci OTP harus sama dengan panjang Plainteks")

Else

Dim Plain As String = txtPlain.Text

Dim C As String = ""

Dim p As Integer = CInt(txtp.Text) Dim g As Integer = CInt(txtg.Text) Dim x As Integer = CInt(txtx.Text)

txtCipher.Text = E_OTP(txtPlain.Text, txtKey_OTP.Text) txtcipherkey.Text = E_ElGamal(txtKey_OTP.Text, p, g, x)

End If

Timer1.Enabled = False End Sub

(7)

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim C As String = ""

Dim p As Integer = CInt(txtp.Text) Dim g As Integer = CInt(txtg.Text) Dim x As Integer = CInt(txtx.Text)

txtKey_OTP.Text = D_ElGamal(txtcipherkey.Text, p, g, x) txtPlain.Text = D_OTP(txtCipher.Text, txtKey_OTP.Text)

End Sub\

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

lblTime.Text = CInt(lblTime.Text) + 1 End Sub

Private Sub txtp_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtp.KeyDown

If e.KeyCode = 13 Then

Dim found As Boolean = False Dim i As Integer = 0

While i < Prime.Length - 1 And Not found

If Prime(i) = CInt(txtp.Text) Then found = True i = i + 1

End While

If Not found Then

MessageBox.Show("Not Prime") txtp.Text = ""

End If End If

End Sub

(8)

Private Sub txtp_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtp.TextChanged

End Sub

Private Sub txtPlain_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtPlain.KeyDown

End Sub

Private Sub txtPlain_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPlain.LostFocus

txtKey_OTP.Text = ""

For i = 1 To txtPlain.Text.Length Randomize()

txtKey_OTP.Text = txtKey_OTP.Text & Chr((Math.Ceiling(Rnd() * (26)) + 64))

Next End Sub

Private Sub txtPlain_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPlain.TextChanged

End Sub

Private Sub lblTime_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lblTime.Click

End Sub End Class

Referensi

Dokumen terkait

Hasil penyadapan dengan pola sadap horizontal memiliki produktivitas getah yang lebih tinggi (15,64 g/takik) dibandingkan pola vertikal (11,85 g/takik). Akan tetapi pada

Angket ini saya maksudkan sebagai alat pengumpulan data dalam rangka menyusun skripsi yang berjudul “ Etos Kerja Penenun dalam Meningkatkan Status Ekonomi (Studi Deskriptif

1. Maksiat adalah melakukan suatu perbuatan yang diharamkam syarak dan meninggalkan perbuatan yang diwajibkan syarak. Perbuatan maksiat ini tidak saja yang menyangkut

diawasi, Ooh kalau itu tidak pernah mas, soalnya saya kalau berobat di RSPAW Salatiga cuman minum obat aja P1 (87-135) Pengontrolan yang dilakukan oleh petugas atapun

Audit Manajemen Sumber Daya Manusia tersebut meliputi faktor-faktor sebagai berikut : (a) Independensi (bebas tidak memihak) Berusaha bersikap netral dan

Wajib Pajak sebagaimana dimaksud dalam contoh yang telah diterbitkan SKPDKB, apabila dalam jangka waktu paling lama 5 (lima) tahun sesudah pajak yang terutang

Oleh karena itu penulis membuat sebuah program aplikasi dengan mengambil kasus tentang system pakar gigi untuk diaplikasikan pada handphone, karena handphone merupakan media yang

Dalam penyusunan secara hierarki memerhatikan RPJMD/Renstra Propinsi Kepulauan Riau sebagai acuan Rencana Program Jangka Menengah (RPJMD) Kabupaten