Algoritma pertama kali diperkenalkan oleh seorang ahli matematika yaitu Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Algoritma adalah  urutan dari barisan instruksi untuk menyelesaikan suatu masalah. Ada pun algoritma dapat dinyatakan dalam bentuk flowchart, diagram alir, bahasa semu sedangkan secara bahasa, algoritma berarti suatu metode khusus untuk menyelesaikan suatu masalah yang nyata.

Algoritma kriptografi merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut. Algoritma kriptografi terdiri dari tiga fungsi dasar. Pertama enkripsi merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirim agar terjaga kerahasiaannya. Pesan asli disebut plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan sebagai cipher atau kode dengan menggunakan algoritma yang untuk mengkodekan data yang kita inginkan. Kedua deskripsi merupakan kebalikan dari proses enkripsi. Pesan yang telah dienkripsi  dikembalikan ke bentuk asalnya (teks asli), disebut dengan deskripsi pesan. Algoritma yang digunakan untuk deskripsi tentu berbeda dengan algoritma yang digunakan untuk enkripsi. Ketiga kunci adalah kunci yang dipakai untuk melakukan enkripsi dan deskripsi. Kunci terbagi menjadi dua bagian, kunci rahasia (private key) dan kunci umum (public key).

Algoritma vigenere cipher adalah salah satu jenis kriptografi klasik yang pada dasarnya adalah melakukan substitusi cipher abjad majemuk (polyalphabetic substitution), yaitu mengubah plaintext dengan kunci tertentu  biasanya berupa sebuah kata atau kalimat yang berulang sepanjang plaintext sehingga didapatkan ciphertext.

Kode untuk Vigenere cipher dengan visual basic .Net

Public Class Form1

    Function Vigenere_Cipher(ByVal Text As String, ByVal key As String, ByVal Encrypt As Boolean)

        Dim Result As String = ""

        Dim temp As String = ""

        Dim j As Integer = 0


        For i As Integer = 0 To Text.Length - 1

            If j = key.Length Then

                j = 0

            End If


            If Char.IsLetter(key(j)) Then

                If Text(i) <> " " And Char.IsLetter(Text(i)) Then

                    temp += key(j)

                    j += 1

                Else

                    temp += Text(i)

                End If

            Else

                j += 1

                If j >= key.Length Then

                    j = 0

                End If

                i -= 1

            End If

        Next


        For i As Integer = 0 To Text.Length - 1


            Dim N As Integer

            Dim NewAscii As Integer


            If Char.IsLetter(Text(i)) Then

                If Char.IsLower(temp(i)) Then

                    N = Asc(temp(i)) - Asc("a")

                ElseIf Char.IsUpper(temp(i)) Then

                    N = Asc(temp(i)) - Asc("A")

                End If


                If Encrypt Then

                    NewAscii = N + Asc(Text(i))

                Else

                    NewAscii = 26 - N + Asc(Text(i))

                End If


                If (NewAscii > Asc("z") And Char.IsLower(Text(i))) Or (NewAscii > Asc("Z") And Char.IsUpper(Text(i))) Then

                    NewAscii -= 26

                End If

            Else

                NewAscii = Asc(Text(i))

            End If

            Result += Chr(NewAscii)

        Next

        Return Result

    End Function

    Dim x As String

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

        x = txtKunci.Text

        txtEnkrip.Text = Vigenere_Cipher(txtPlain.Text, x, True)

    End Sub


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

        x = txtKunci.Text

        txtPlain.Text = Vigenere_Cipher(txtEnkrip.Text, x, False)

    End Sub

End Class


Tampilan setelah kode diatas di compile adalah sebagai berikut, silahkan di kembangkan sesuai kebutuhan.


 aplikasi ini dapat dicoba : https://github.com/tomycipher/Pemograman-Visual/blob/main/viginereCipher.rar



2 Komentar

  1. Assalamualaikum
    Saya izin bertanya pak,
    Bagaimana langkah-langkah logis menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut? Pak.

    BalasHapus
  2. Langkah logis menyembunyikan pesan sebenarnya sama seperti mengunci sebuah barang di dalam kotak. jadi untuk membuka barang tersebut. harus dengan kunci kotak. keamanan yang kuat itu sendiri seperti kekuatan kota dan kunci agar tidak dapat dibuka. tunggu update selanjutnya ya agar akan di dibagikan bagaimana konsep didalam komputer mengamankan sebuah data.

    BalasHapus

Posting Komentar

Lebih baru Lebih lama