Listing Program untuk Form Encrypt

If MessageBox.ShowExit Application?, Exit?, MessageBoxButtons.YesNo, MessageBoxIcon.Question = DialogResult.No Then e.Cancel = True Else Dim frm = Application.OpenFormsSplashScreen frm.Close End If End Sub End Class

2. Listing Program untuk Form Encrypt

Imports System.Numerics Imports System.IO Imports Infragistics.Win.UltraWinGrid Imports System.Diagnostics Public Class EncryptControl Private isLarge As Boolean = False Private Sub txtPlaintext_ValueChangedByVal sender As System.Object, ByVal e As System.EventArgs Handles txtPlaintext.ValueChanged lblChar.Text = : txtPlaintext.TextLength Char End Sub Private Function checkKey As Boolean Dim retValue As Boolean = True For Each ctrl In UltraGroupBox3.Controls If TypeNamectrl = UltraTextEditor Then If ctrl.Text = Then retValue = False End If End If Next Return retValue End Function Private Sub btnEncrypt_ClickByVal sender As System.Object, ByVal e As System.EventArgs Handles btnEncrypt.Click If txtPlaintext.Text = Then MessageBox.ShowInput your Plaintext, Encrypt Error, MessageBoxButtons.OK, MessageBoxIcon.Error txtPlaintext.Focus Exit Sub ElseIf Not checkKey Then MessageBox.ShowYour Key is missing, Encrypt Error, MessageBoxButtons.OK, MessageBoxIcon.Error txtPrime.Focus Exit Sub Universitas Sumatera Utara End If Dim EncryptTime As Stopwatch = New Stopwatch Dim time As String = EncryptTime.Start ciphertext = Dim trans As Transpose = New Transpose txtTransCipher.Text = trans.TransposeEncrypttxtPlaintext.Text TriGrid.DataSource = trans.getTriangle TriGrid.DisplayLayout.Override.DefaultColWidth = 25 TriGrid.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Select TriGrid.DisplayLayout.Override.SelectTypeCol = SelectType.None TriGrid.DisplayLayout.Override.CellClickAction = CellClickAction.RowSelect txtCiphertext.Text = Elgamal.EncrypttxtTransCipher.Text EncryptTime.Stop If EncryptTime.ElapsedMilliseconds 1000 Then time = EncryptTime.ElapsedMilliseconds.ToString miliseconds ElseIf EncryptTime.ElapsedMilliseconds 60000 Then time = Math.RoundEncryptTime.ElapsedMilliseconds 1000, 3.ToString seconds Else time = Math.RoundEncryptTime.ElapsedMilliseconds 60000, 3.ToString minutes End If lblTimeEncrypt.Text = Time to Encrypt File : time End Sub Private Sub btnGetPrime_ClickByVal sender As System.Object, ByVal e As System.EventArgs Handles btnGetPrime.Click txtPrime.Text = Elgamal.getPrimeoptBit.Value.ToString End Sub Private Sub btnGenerate_ClickByVal sender As System.Object, ByVal e As System.EventArgs Handles btnGenerate.Click If txtPrime.Text = Then MessageBox.ShowChoose Prime Number First, Generate Key, MessageBoxButtons.OK, MessageBoxIcon.Exclamation txtPrime.Focus Exit Sub End If Dim GenerateTime As Stopwatch = New Stopwatch GenerateTime.Start Elgamal.GenerateKeyBigInteger.ParsetxtPrime.Text If Elgamal.isInputPrime = True Then txtAlpha.Text = alpha txtA.Text = a txtAlphaA.Text = alphaA Else txtAlpha.Text = txtA.Text = Universitas Sumatera Utara txtAlphaA.Text = txtPrime.Focus End If GenerateTime.Stop Dim time As String = If GenerateTime.ElapsedMilliseconds 1000 Then time = GenerateTime.ElapsedMilliseconds.ToString miliseconds ElseIf GenerateTime.ElapsedMilliseconds 60000 Then time = Math.RoundGenerateTime.ElapsedMilliseconds 1000, 3.ToString seconds Else time = Math.RoundGenerateTime.ElapsedMilliseconds 60000, 3.ToString minutes End If lblTimeGenerate.Text = Time to Generate Key : time End Sub Private Sub btnOpen_ClickByVal sender As System.Object, ByVal e As System.EventArgs Handles btnOpen.Click Dim open As OpenFileDialog = New OpenFileDialog open.Filter = txt Files|.txt open.FileName = .txt If open.ShowDialog = DialogResult.OK Then Dim fstream As FileStream = New FileStreamopen.FileName, FileMode.Open, FileAccess.ReadWrite Dim sreader As StreamReader = New StreamReaderfstream sreader.BaseStream.Seek0, SeekOrigin.Begin txtPlaintext.Text = sreader.ReadToEnd sreader.Close lblFilename.Text = : Path.GetFileNameopen.FileName lblLocation.Text = : Path.GetFullPathopen.FileName End If End Sub Private Sub btnSave_ClickByVal sender As System.Object, ByVal e As System.EventArgs Handles btnSave.Click Dim saveFileDialog1 As SaveFileDialog = New SaveFileDialog saveFileDialog1.Filter = txt files |.txt|All files |. saveFileDialog1.Title = Save File saveFileDialog1.FileName = .txt If saveFileDialog1.ShowDialog = DialogResult.OK Then Dim filename As String = saveFileDialog1.FileName Dim fstream As FileStream = New FileStreamfilename, FileMode.OpenOrCreate Dim sw As StreamWriter = New StreamWriterfstream Dim seekorigin As SeekOrigin = New SeekOrigin sw.BaseStream.Seek0, seekorigin sw.WriteLinetxtCiphertext.Text sw.Flush sw.Close End If Universitas Sumatera Utara End Sub Private Sub TriGrid_MouseHoverByVal sender As System.Object, ByVal e As System.EventArgs Handles TriGrid.MouseHover If TriGrid.Dock = DockStyle.None Then ToolTip1.ShowDouble Click to Enlarge, Me.TriGrid, 1000 Else ToolTip1.HideMe.TriGrid End If End Sub Private Sub TriGrid_DoubleClickByVal sender As System.Object, ByVal e As System.EventArgs Handles TriGrid.DoubleClick If TriGrid.Dock = DockStyle.Fill Then isLarge = False UltraGroupBox4.Dock = DockStyle.None TriGrid.Dock = DockStyle.None Else isLarge = True UltraGroupBox4.Dock = DockStyle.Fill TriGrid.Dock = DockStyle.Fill UltraGroupBox4.BringToFront TriGrid.BringToFront EscSplash.Show ToolTip1.HideMe.TriGrid End If End Sub Private Sub TriGrid_KeyDownByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs Handles TriGrid.KeyDown If e.KeyCode = Keys.Escape Then isLarge = False UltraGroupBox4.Dock = DockStyle.None TriGrid.Dock = DockStyle.None End If End Sub Private Sub TriGrid_MouseLeaveByVal sender As Object, ByVal e As System.EventArgs Handles TriGrid.MouseLeave isLarge = True End Sub Private Sub EncryptControl_LoadByVal sender As System.Object, ByVal e As System.EventArgs Handles MyBase.Load primeNumber = 0 alpha = 0 a = 0 b = 0 alphaA = 0 plaintext = 0 ciphertext = 0 Universitas Sumatera Utara End Sub Private Sub txtPrime_ValueChangedByVal sender As System.Object, ByVal e As System.EventArgs Handles txtPrime.ValueChanged If txtPrime.Text Then primeNumber = txtPrime.Text End If End Sub End Class 3. Listing Program untuk Form Decrypt Imports System.Numerics Imports System.IO Imports Infragistics.Win.UltraWinGrid Public Class DecryptControl Private isLarge As Boolean = False Private Sub btnDecrypt_ClickByVal sender As System.Object, ByVal e As System.EventArgs Handles btnDecrypt.Click If txtCiphertext.Text = Then MessageBox.ShowInput your Ciphertext, , MessageBoxButtons.OK, MessageBoxIcon.Warning txtCiphertext.Focus Exit Sub End If If txtPrime.Text = Then MessageBox.ShowPrime number is missing, , MessageBoxButtons.OK, MessageBoxIcon.Warning txtPrime.Focus Exit Sub End If If txtA.Text = Then MessageBox.ShowPrivate Key is missing, , MessageBoxButtons.OK, MessageBoxIcon.Warning txtA.Focus Exit Sub End If If Not Elgamal.FermatprimeNumber Then MessageBox.ShowNumber is not Prime, , MessageBoxButtons.OK, MessageBoxIcon.Warning txtPrime.Focus Exit Sub End If Dim EncryptTime As Stopwatch = New Stopwatch Universitas Sumatera Utara Dim time As String = EncryptTime.Start txtPlaintext.Text = Elgamal.DecrypttxtCiphertext.Text Dim trans As Transpose = New Transpose txtTransPlain.Text = trans.TransposeDecrypttxtPlaintext.Text TriGrid.DataSource = trans.getTriangle TriGrid.DisplayLayout.Override.DefaultColWidth = 25 TriGrid.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Select TriGrid.DisplayLayout.Override.SelectTypeCol = SelectType.None TriGrid.DisplayLayout.Override.CellClickAction = CellClickAction.RowSelect EncryptTime.Stop If EncryptTime.ElapsedMilliseconds 1000 Then time = EncryptTime.ElapsedMilliseconds.ToString miliseconds ElseIf EncryptTime.ElapsedMilliseconds 60000 Then time = Math.RoundEncryptTime.ElapsedMilliseconds 1000, 3.ToString seconds Else time = Math.RoundEncryptTime.ElapsedMilliseconds 60000, 3.ToString minutes End If lblTimeDecrypt.Text = Time to Decrypt File : time End Sub Private Sub txtPrime_ValueChangedByVal sender As System.Object, ByVal e As System.EventArgs Handles txtPrime.ValueChanged If txtPrime.Text Then primeNumber = BigInteger.ParsetxtPrime.Text End If End Sub Private Sub txtA_ValueChangedByVal sender As System.Object, ByVal e As System.EventArgs Handles txtA.ValueChanged If txtA.Text Then a = BigInteger.ParsetxtA.Text End If End Sub Private Sub btnSave_ClickByVal sender As System.Object, ByVal e As System.EventArgs Handles btnSave.Click Dim saveFileDialog1 As SaveFileDialog = New SaveFileDialog saveFileDialog1.Filter = txt files |.txt|All files |. saveFileDialog1.Title = Save File saveFileDialog1.FileName = .txt If saveFileDialog1.ShowDialog = DialogResult.OK Then Dim filename As String = saveFileDialog1.FileName Dim fstream As FileStream = New FileStreamfilename, FileMode.OpenOrCreate Dim sw As StreamWriter = New StreamWriterfstream Dim seekorigin As SeekOrigin = New SeekOrigin Universitas Sumatera Utara sw.BaseStream.Seek0, seekorigin sw.WriteLinetxtTransPlain.Text sw.Flush sw.Close End If End Sub Private Sub btnOpen_ClickByVal sender As System.Object, ByVal e As System.EventArgs Handles btnOpen.Click Dim open As OpenFileDialog = New OpenFileDialog open.Filter = txt Files|.txt open.FileName = .txt If open.ShowDialog = DialogResult.OK Then Dim fstream As FileStream = New FileStreamopen.FileName, FileMode.Open, FileAccess.ReadWrite Dim sreader As StreamReader = New StreamReaderfstream sreader.BaseStream.Seek0, SeekOrigin.Begin txtCiphertext.Text = sreader.ReadToEnd sreader.Close lblFilename.Text = : Path.GetFileNameopen.FileName lblLocation.Text = : Path.GetFullPathopen.FileName End If End Sub Private Sub txtCiphertext_ValueChangedByVal sender As System.Object, ByVal e As System.EventArgs Handles txtCiphertext.ValueChanged lblChar.Text = : txtCiphertext.Text.Split .Length - 1 Char End Sub Private Sub TriGrid_MouseHoverByVal sender As System.Object, ByVal e As System.EventArgs Handles TriGrid.MouseHover If TriGrid.Dock = DockStyle.None Then ToolTip1.ShowDouble Click to Enlarge, Me.TriGrid, 1000 Else ToolTip1.HideMe.TriGrid End If End Sub Private Sub TriGrid_DoubleClickByVal sender As System.Object, ByVal e As System.EventArgs Handles TriGrid.DoubleClick If TriGrid.Dock = DockStyle.Fill Then isLarge = False UltraGroupBox4.Dock = DockStyle.None TriGrid.Dock = DockStyle.None Else isLarge = True UltraGroupBox4.Dock = DockStyle.Fill TriGrid.Dock = DockStyle.Fill UltraGroupBox4.BringToFront TriGrid.BringToFront EscSplash.Show Universitas Sumatera Utara ToolTip1.HideMe.TriGrid End If End Sub Private Sub TriGrid_KeyDownByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs Handles TriGrid.KeyDown If e.KeyCode = Keys.Escape Then isLarge = False UltraGroupBox4.Dock = DockStyle.None TriGrid.Dock = DockStyle.None End If End Sub Private Sub DecryptControl_MouseLeaveByVal sender As Object, ByVal e As System.EventArgs Handles Me.MouseLeave isLarge = True End Sub Private Sub DecryptControl_LoadByVal sender As System.Object, ByVal e As System.EventArgs Handles MyBase.Load alpha = 0 b = 0 alphaA = 0 plaintext = 0 ciphertext = 0 txtPrime.Text = primeNumber.ToString txtA.Text = a.ToString End Sub End Class

4. Listing Program untuk Class ElGamal