13
ENKRIPSI DAN DESKRIPSI DATA DENGAN ALGORITMA KRIPTOGRAFI “SHIFT CIPHER” Nurul Zukhaila Nurul Indrianingsih Selvidiah Mutiara Siti Rupiah

Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

Embed Size (px)

DESCRIPTION

Enkripsi dan deskripsi datadengan algoritma Kriptografi “shift cipher”

Citation preview

Page 1: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

ENKRIPSI DAN DESKRIPSI DATA

DENGAN ALGORITMA KRIPTOGRAFI

“SHIFT CIPHER”

Nurul Zukhaila

Nurul Indrianingsih

Selvidiah Mutiara

Siti Rupiah

Page 2: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

Shift Cipher (Sandi Geser)Dalam kriptografi, sandi Caesar, atau sandi geser, kode Caesar atau

Geseran Caesar adalah salah satu teknik enkripsi paling sederhana dan paling terkenal. Sandi ini termasuk sandi substitusi dimana setiap huruf pada teks terang (plaintext) digantikan oleh huruf lain yang memiliki selisih posisi tertentu dalam alfabet. Misalnya, jika menggunakan geseran 3, W akan menjadi Z, I menjadi L, dan K menjadi N sehingga teks terang “wiki” akan menjadi “ZLNL” pada teks tersandi. Nama Caesar diambil dari Julius Caesar, jenderal, konsul, dan diktator Romawi yang menggunakan sandi ini untuk berkomunikasi dengan para panglimanya.

Seperti :ABCDEFGHIJKLMNOPQRSTUPWXYZ

DEFGHIJKLMNOPQRSTUPWXYZABC

Jadi setiap huruf yang akan di sandikan di geser sebanyak 3 karakter ke kanan.

Contoh

Plainteks : SUMATERA UTARAMaka Cipher Teks : PXPDWHUD XWDUD

Page 3: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

Desain Form

Page 4: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

Algoritma• Untuk Mengenkripsikan plaintext

• Inputkan bit geser atau kunci pergeseran yang diinginkan

• Inputkan plaintext. Apabila plaintext berupa data klik browse, pilih data yang ingin dienkripsikan

• Klik Enkripsi untuk mengkonversi plaintext pada Text1 sesuai dengan pergeseran yang telah kita inputkan dalam bit geser, hasil enkripsi(CipherText) dari Text1 akan tampil pada Text2.

• Klik Save untuk menyimpan hasil enkripsi

• Untuk mendeskripsikan ciphertext

• Inputkan bit geser atau kunci pergeserannya

• Inputkan ciphertext. Apabila ciphertext berupa data klik browse, pilih data yang ingin dideskripsikan

• Klik Deskripsi untuk mengkonversi ciphertext pada Text3 sesuai dengan kunci pergeserannya, hasil deskripsi(plainText) dari Text3 akan tampil pada Text4.

• Klik Save untuk menyimpan hasil deskripsi

Page 5: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

PseudocodeENKRIPSI

Input(bit_geser)

Input(Plaintext)

x Timer

bit Val(Textbit.Text)

If Textbit.Text "" Then

MsgBox "BIT GESER BELUM DIINPUTKAN"

ElseIf Mid(Textbit.Text, 1, 1) "-" Then

If Not IsNumeric(Mid(Textbit.Text, 2, 2)) Then

MsgBox "INPUT SALAH"

Else

bit 26 - (Mid(Textbit.Text, 2, 2))

End If

ElseIf Asc(Textbit.Text) < 45 Or (Asc(Textbit.Text) > 45 And Asc(Textbit.Text) < 48) Or Asc(Textbit.Text) > 122 Or (Asc(Textbit.Text) > 57 And Asc(Textbit.Text) < 65) Or (Asc(Textbit.Text) > 90 And Asc(Textbit.Text) < 95) Then

MsgBox "INPUT SALAH"

ElseIf Not IsNumeric(Textbit.Text) Then

bit (Asc(UCase(Textbit.Text)) - 13) Mod 26

End If

For i 1 To Len(text1.Text)k Asc(Mid(text1.Text, i, i))If ((k >= 65) And (k <= 90)) Thenjk – 65

m (j + bit) Mod 26

k m + 65ElseIf ((k >= 97) And (k <= 122)) Thenj k – 97m (j + bit) Mod 26

k m + 97End IfC C & Chr(k)text2.Text CLabel7.Caption Len(text1.Text) & " karakter"Next iy Timerz CDbl(y) - CDbl(x)Label8.Caption zIf text1.Text "" ThenMsgBox "PLAINTEXT BELUM DIINPUTKAN"text1.SetFocusEnd IfOutput(ciphertext)

Page 6: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

DESKRIPSI

Input(bit_geser)

Input(ciphertext)

x Timer

bit Val(Textbit.Text)

If Textbit.Text "" Then

MsgBox "BIT GESER BELUM DIINPUTKAN"

ElseIf Mid(Textbit.Text, 1, 1) "-" Then

If Not IsNumeric(Mid(Textbit.Text, 2, 2)) Then

MsgBox "INPUT SALAH"

Else

bit 26 - (Mid(Textbit.Text, 2, 2))

End If

ElseIf Asc(Textbit.Text) < 45 Or (Asc(Textbit.Text) > 45 And Asc(Textbit.Text) < 48) Or Asc(Textbit.Text) > 122 Or (Asc(Textbit.Text) > 57 And Asc(Textbit.Text) < 65) Or (Asc(Textbit.Text) > 90 And Asc(Textbit.Text) < 95) Then

MsgBox "INPUT SALAH"

O(1)

ElseIf Not IsNumeric(Textbit.Text) Then

bit (Asc(UCase(Textbit.Text)) + 13) Mod 26

End If

For i 1 To Len(text3.Text)k = Asc(Mid(text3.Text, i, i))If ((k >= 65) And (k <= 90)) Thenj k – 65m ((bit + j) Mod 26) - ((2 * bit) Mod 26)If m < 0 Thenk 91 + mElsek65 + mEnd IfElseIf ((k >= 97) And (k <= 122)) Thenj k – 97m ((j + bit) Mod 26) - ((2 * bit) Mod 26)If m < 0 Thenk 123 + mElsek m + 97End IfEnd IfC C & Chr(k)text4.Text CLabel10.Caption = Len(text3.Text) & " karakter"Next iy Timerz CDbl(y) - CDbl(x)Label8.Caption zIf text1.Text "" ThenMsgBox "CIPHERTEXT BELUM DIINPUTKAN"text1.SetFocusEnd IfOutput(Plaintext)

Page 7: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

Kompleksitas WaktuENKRIPSI

Input(bit_geser)O(1)

Input(Plaintext)O(1)

x TimerO(1)

bit Val(Textbit.Text)O(1)

If Textbit.Text "" Then

MsgBox "BIT GESER BELUM DIINPUTKAN"O(1)

ElseIf Mid(Textbit.Text, 1, 1) "-" Then

If Not IsNumeric(Mid(Textbit.Text, 2, 2)) Then

MsgBox "INPUT SALAH"O(1)

Else

bit 26 - (Mid(Textbit.Text, 2, 2)) O(1)

End If

ElseIf Asc(Textbit.Text) < 45 Or (Asc(Textbit.Text) > 45 And Asc(Textbit.Text) < 48) Or Asc(Textbit.Text) > 122 Or (Asc(Textbit.Text) > 57 And Asc(Textbit.Text) < 65) Or (Asc(Textbit.Text) > 90 And Asc(Textbit.Text) < 95) Then

MsgBox "INPUT SALAH"O(1)

ElseIf Not IsNumeric(Textbit.Text) Then

bit (Asc(UCase(Textbit.Text)) - 13) Mod 26 O(1)

End If

For i 1 To Len(text1.Text)k Asc(Mid(text1.Text, i, i)) O(n)If ((k >= 65) And (k <= 90)) Thenjk – 65 O(n)m (j + bit) Mod 26 O(n)k m + 65 O(n)ElseIf ((k >= 97) And (k <= 122)) Thenj k – 97 O(n)m (j + bit) Mod 26 O(n)k m + 97 O(n)End IfC C & Chr(k) O(n)text2.Text C O(n)Label7.Caption Len(text1.Text) & " karakter" O(n)Next iy Timer O(1)z CDbl(y) - CDbl(x) O(1)Label8.Caption z O(1)If text1.Text "" ThenMsgBox "PLAINTEXT BELUM DIINPUTKAN” O(1)text1.SetFocusEnd IfOutput(ciphertext)

Page 8: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

DESKRIPSI

Input(bit_geser)O(1)

Input(ciphertext)O(1)

x TimerO(1)

bit Val(Textbit.Text)O(1)

If Textbit.Text "" Then

MsgBox "BIT GESER BELUM DIINPUTKAN"O(1)

ElseIf Mid(Textbit.Text, 1, 1) "-" Then

If Not IsNumeric(Mid(Textbit.Text, 2, 2)) Then

MsgBox "INPUT SALAH"O(1)

Else

bit 26 - (Mid(Textbit.Text, 2, 2)) O(1)

End If

ElseIf Asc(Textbit.Text) < 45 Or (Asc(Textbit.Text) > 45 And Asc(Textbit.Text) < 48) Or Asc(Textbit.Text) > 122 Or (Asc(Textbit.Text) > 57 And Asc(Textbit.Text) < 65) Or (Asc(Textbit.Text) > 90 And Asc(Textbit.Text) < 95) Then

MsgBox "INPUT SALAH"O(1)

ElseIf Not IsNumeric(Textbit.Text) Then

bit (Asc(UCase(Textbit.Text)) + 13) Mod 26 O(1)

End If

For i 1 To Len(text3.Text)k = Asc(Mid(text3.Text, i, i)) O(n)If ((k >= 65) And (k <= 90)) Thenj k – 65 O(n)m ((bit + j) Mod 26) - ((2 * bit) Mod 26) O(n)If m < 0 Thenk 91 + m O(n)Elsek65 + m O(n)End IfElseIf ((k >= 97) And (k <= 122)) Thenj k – 97 O(n)m ((j + bit) Mod 26) - ((2 * bit) Mod 26) O(n)If m < 0 Thenk 123 + m O(n)Elsek m + 97 O(n)End IfEnd IfC C & Chr(k) O(n)text4.Text C O(n)Label10.Caption = Len(text3.Text) & " karakter“ O(n)Next iy Timer O(1)z CDbl(y) - CDbl(x) O(1)Label8.Caption z O(1)If text1.Text "" ThenMsgBox "CIPHERTEXT BELUM DIINPUTKAN“ O(1)text1.SetFocusEnd IfOutput(Plaintext)

Page 9: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

Kompleksitas Waktu T(n) pada enkripsi T(n)= 10 O(n)+ 13 O(1)

Big Oh

10 O(n)+ 13 O(1) ≤ 13 O(n)+ 13 O(1)

10 O(n)+ 13 O(1) ≤ 13 (O(n)+ O (1))

10 O(n)+ 13 O(1) ≤ O(n)+ O(1)

Jadi Big Oh = O(n)

Big Omega

10 O(n)+ 13 O(1) ≥ 13 O(n)+ 13 O(1)

10 O(n)+ 13 O(1) ≥ 13 (O(n)+ O (1))

10 O(n)+ 13 O(1) ≥O(n)+ O(1)

Jadi Big Omega = O(n)

Big Theta

O(T(n))= (T(n))= O(n) maka (T(n)) = O(n)

Kompleksitas Waktu T(n) pada DeskripsiT(n)= 12 O(n)+ 13 O(1)

Big Oh12 O(n)+ 13 O(1) ≤ 13 O(n)+ 13 O(1)12 O(n)+ 13 O(1) ≤ 13 (O(n)+ O (1))12 O(n)+ 13 O(1) ≤ O(n)+ O(1)Jadi Big Oh = O(n)

Big Omega12 O(n)+ 13 O(1) ≥ 13 O(n)+ 13 O(1)12 O(n)+ 13 O(1) ≥ 13 (O(n)+ O (1))12 O(n)+ 13 O(1) ≥O(n)+ O(1)Jadi Big Omega = O(n)

Big ThetaO(T(n))= (T(n))= O(n) maka (T(n)) = O(n)

Page 10: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

Tabel Percobaan

Banyaknya Karakter

Waktu Ekseskusi Enkripsi (s) Waktu Eksekusi Deskripsi (s)

150 0,015625 0,015625

600 0,125 0,125

1000 0,265625 0,265625

2000 0,75 0,75

6000 4,171875 4,171875

Page 11: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

GRAFIK

Page 12: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

Kesimpulan

Berdasarkan analisis kompleksitas waktu pseudocode di atas menunjukan bahwa kompleksitas waktu program enkripsi dan deskripsi kelompok kami adalah O(n). Selain itu, grafik kompleksitas diatas juga menunjukan grafik lurus (y=x) namun mendekati grafik (y=x2). Dapat kita simpulkan bahwa kompleksitas waktu program di atas adalah O(n).

Page 13: Analisis Algoritma Enkripsi dan deskripsi data dengan algoritma Kriptografi “shift cipher”

TERIMA KASIH