Form Utama Form Pengamanan Embedding dan Enkripsi

B-1 LISTING PROGRAM

1. Form Utama

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Numerics; namespace TA_091401006_alespanjaitan { public partial class Halaman_Utama : Form { Pengaman aman = new Pengaman ; pengungkapan ungkap = new pengungkapan ; hitungmse mse = new hitungmse ; Bantuan fbantu = new Bantuan ; Tentang ftentang = new Tentang ; public Halaman_Utama { InitializeComponent; } private void Halaman_Utama_Load object sender, EventArgs e { CenterToScreen; char a; int b = 169; a = Convert .ToCharb; label1.Text = a.ToString + Ales Sanro Sotardodo Panjaitan ; } private void button1_Click object sender, EventArgs e { Application .Exit; } private void filleToolStripMenuItem_Click object sender, EventArgs e { } private void tutupToolStripMenuItem_Click object sender, EventArgs e { Application .Exit; } Universitas Sumatera Utara B-2 private void pengamananToolStripMenuItem_Click object sender, EventArgs e { aman.ShowDialog; } private void gbr_pengamanan_Click object sender, EventArgs e { aman.ShowDialog; } private void pengungkapanToolStripMenuItem_Click object sender, EventArgs e { ungkap.ShowDialog; } private void gbr_pengungkapan_Click object sender, EventArgs e { ungkap.ShowDialog; } private void tentangProgrammerToolStripMenuItem_Click object sender, EventArgs e { ftentang.ShowDialog; } private void menggunakanAplikasiToolStripMenuItem_Click object sender, EventArgs e { fbantu.ShowDialog; } private void pictureBox1_Click object sender, EventArgs e { mse.ShowDialog; } private void toolStripMenuItem2_Click object sender, EventArgs e { mse.ShowDialog; } private void Halaman_Utama_FormClosed object sender, FormClosedEventArgs e { Application .Exit; } } } Universitas Sumatera Utara B-3

2. Form Pengamanan Embedding dan Enkripsi

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Numerics; namespace TA_091401006_alespanjaitan { public partial class Pengaman : Form { endOfFile embd = new endOfFile ; prosesBilangan bilangan = new prosesBilangan ; elgamal enkripDekrip = new elgamal ; inputOutput io = new inputOutput ; string propgambar,propteks; BigInteger sebelum=123, nilai_hitung_a; public Pengaman { InitializeComponent; } private void Pengaman_Load object sender, EventArgs e { CenterToScreen; bt_embed.Enabled = bt_spData.Enabled = sp_sgimage.Enabled = bt_bgkt_g.Enabled = false ; bt_bilprim.Enabled = bt_enkripsi.Enabled = bt_htgk.Enabled = bt_htgy.Enabled = false ; bt_nilaiy.Enabled = bt_spData.Enabled = bk_teks.Enabled = false ; gbr_asli.Image = gb_sgimage.Image = gb_cpimage.Image = null ; propCA.Text = propText.Text = ; teks_asli.Text = bilprima.Text = nilg.Text = nilk.Text = nilx.Text = nily.Text = ; } private void bk_gbr_asli_Click object sender, EventArgs e { try { Cursor .Current = Cursors .Default; gbr_asli.Image = io.bukagbr Format Bitmap .bmp|.bmp|Format JPEG.jpg|.jpg ; if gbr_asli.Image = null { propgambar = Lebar : + gbr_asli.Image.Width.ToString Universitas Sumatera Utara B-4 + Piksel\nTinggi : + gbr_asli.Image.Height.ToString + Piksel\n\n ; propCA.Text = propgambar; bk_teks.Enabled = true ; } if teks_asli.Text = bk_teks.Enabled = true ; } catch Exception ex { pesanKesalahan Terjadi Kesalah pada \n- + ex.ToString; } finally { Cursor .Current = Cursors .WaitCursor; } } private void bk_gbr_sgimage_Click object sender, EventArgs e { try { Cursor .Current = Cursors .WaitCursor; gb_sgimage.Image = io.bukagbr Format Bitmap .bmp|.bmp ; if gb_sgimage.Image = null { bt_bilprim.Enabled = true ; propCS.Text = Lebar : + gb_sgimage.Image.Width.ToString + Piksel\nTinggi : + gb_sgimage.Image.Height.ToString + Piksel ; } } catch Exception ex { pesanKesalahan Terjadi Kesalahan pada \n- + ex.ToString; } finally { Cursor .Current = Cursors .Default; } } private void bk_teks_Click object sender, EventArgs e { try { teks_asli.Text = io.bukateks; if teks_asli.Text = { bt_embed.Enabled = true ; propText.Text = Panjang : + teks_asli.TextLength.ToString + Karakter ; } } Universitas Sumatera Utara B-5 catch Exception ex { pesanKesalahan Terjadi Kesalah pada \n- + ex.ToString; } } private void sp_sgimage_Click object sender, EventArgs e { try { if io.spGambargb_sgimage.Image pesanInformasi Gambar berhasil di simpan ; } catch Exception ex { pesanKesalahan Terjadi Kesalah pada \n- + ex.ToString; } } private void bt_embed_Click object sender, EventArgs e { try { Cursor .Current = Cursors .WaitCursor; DateTime awal, akhir; string selisih; awal = DateTime .Now; Bitmap gbasli = new Bitmap gbr_asli.Image; Bitmap sg = new Bitmap embd.embedgbasli, teks_asli; gb_sgimage.Image = sg; propCS.Text = Lebar : + sg.Width.ToString + Piksel\nTinggi : + sg.Height.ToString + Piksel ; sp_sgimage.Enabled = true ; bt_bilprim.Enabled = true ; akhir = DateTime .Now; selisih = akhir.Subtractawal.TotalMilliseconds.ToString ; pesanInformasi Lama Embed : + selisih + Milliseconds ; } catch Exception ex { pesanKesalahan Terjadi Kesalah pada \n- + ex.ToString; } finally { Cursor .Current = Cursors .Default; } } Universitas Sumatera Utara B-6 private void bt_enkripsi_Click object sender, EventArgs e { try { BigInteger p, g, x, y, k; Cursor .Current = Cursors .WaitCursor; DateTime awal, akhir; awal = DateTime .Now; p = BigInteger .Parsebilprima.Text; g = BigInteger .Parsenilg.Text; x = BigInteger .Parsenilx.Text; y = BigInteger .Parsenily.Text; k = BigInteger .Parsenilk.Text; nilai_hitung_a = bilangan.moduloexponensialg, k, p; gb_cpimage.Image = enkripDekrip.enkripsi Bitmap gb_sgimage.Image,p,y ,k; bt_spData.Enabled = true ; akhir = DateTime .Now; string selisih = akhir.Subtractawal.TotalMilliseconds.ToString; propCC.Text = \nLebar : + gb_cpimage.Image.Width.ToString + Piksel\nTinggi : + gb_cpimage.Image.Height.ToString + Piksel ; pesanInformasi Lama Enkripsi : + selisih; } catch Exception ex { pesanKesalahan Terjadi Kesalah pada \n- + ex.ToString; } finally { Cursor .Current = Cursors .Default; } } private void bt_htgy_Click object sender, EventArgs e { try { BigInteger prim, g, x; prim = BigInteger .Parsebilprima.Text; g = BigInteger .Parsenilg.Text; x = BigInteger .Parsenilx.Text; nily.Text = bilangan.moduloexponensialg, x, prim.ToString; bt_htgk.Enabled = true ; } catch Exception ex { pesanKesalahan Terjadi Kesalah pada \n- + ex.ToString; } } Universitas Sumatera Utara B-7 private void bt_bilprim_Click object sender, EventArgs e { DateTime wkt1, wkt2; BigInteger bwh,atas; try { Cursor .Current = Cursors .WaitCursor; bwh = 3; if pilihbit.Text == P = 8-bit { atas = 255; } else if pilihbit.Text == P = 16-bit { atas = 65535; } else if pilihbit.Text == P = 24-bit { atas = 16777215; } else if pilihbit.Text == P = 32-bit { atas = 4294967295; } else if pilihbit.Text == P = 64-bit { atas = 18446744073709551615; } else if pilihbit.Text == P = 128-bit { atas = BigInteger .Parse 3402823669209384634633746074317682 11455 ; } else if pilihbit.Text == P = 256-bit { atas = BigInteger .Parse 1157920892373161954235709850086879 07853269984665640564039457584007913129639935 ; } else if pilihbit.Text == P = 512-bit { atas = BigInteger .Parse 1340780792994259709957402499820584 6127479365820592393377723561443721764030073546976801 8742981669034276900318581864860508537538828119465699 46433649006084096 ; } else if pilihbit.Text == P = 1-Mb { atas = BigInteger .Parse 1797693134862315907729305190789024 7336179769789423065727343008115773267580550096313270 8477322407536021120113879871393357658789768814416622 4928474306394741243777678934248654852763022196012460 9411945308295208500576883815068234246288147391311054 0827237163350510684586298239947245938479716304835356 329624224137216 ; } Universitas Sumatera Utara B-8 else { atas = 65535; } wkt1 = DateTime .Now; bilprima.Text = bilangan.bangkitprimabwh,atas.ToString; bt_bgkt_g.Enabled = true ; wkt2 = DateTime .Now; string lamaeksekusi = wkt2.Subtractwkt1.TotalMilliseconds.ToString; pesanInformasi Bilangan prima menggunakan +bilangan.ceksuku BigInteger .Parsebilprima.Text 8.ToString+ \n +lamaeksekusi+ Milliseconds ; } catch Exception ex { pesanKesalahan Terjadi Kesalah pada \n- + ex.ToString; } finally { Cursor .Current = Cursors .Default; } } private void bt_spData_Click object sender, EventArgs e { try { Cursor .Current = Cursors .WaitCursor; if io.spDatagb_cpimage.Image, bilprima.Text, nilx.Text, nilai_hitung_a.ToString pesanInformasi Gambar dan Kunci berhasil di simpan ; } catch Exception ex { pesanKesalahan Terjadi Kesalah pada \n- + ex.ToString; } finally { Cursor .Current = Cursors .Default; } } private void bt_bgkt_gx_Click object sender, EventArgs e { try { BigInteger zi; if nilg.Text == { zi = 1; Universitas Sumatera Utara B-9 } else { zi = BigInteger .Parsenilg.Text; } nilg.Text = bilangan.acak997, zi, BigInteger .Parsebilprima.Text.ToString; bt_nilaiy.Enabled = true ; } catch Exception ex { pesanKesalahan Terjadi Kesalah pada \n- + ex.ToString; } } private void bt_nilaiy_Click object sender, EventArgs e { try { BigInteger zi; if nilx.Text == { zi = 1; } else { zi = BigInteger .Parsenilx.Text; } nilx.Text = bilangan.acak997, zi, BigInteger .Parsebilprima.Text.ToString; bt_htgy.Enabled = true ; } catch Exception ex { pesanKesalahan Terjadi Kesalah pada \n- + ex.ToString; } } private void bt_htgk_Click object sender, EventArgs e { try { BigInteger p,zi; if nilk.Text == { zi = 1; } else { zi = BigInteger .Parsenilk.Text; } p = BigInteger .Parsebilprima.Text; zi = bilangan.acak997, zi, p; while BigInteger .GreatestCommonDivisorp, zi==1 { zi = bilangan.acak997, zi, p; } Universitas Sumatera Utara B-10 nilk.Text = zi.ToString; bt_enkripsi.Enabled = true ; } catch Exception ex { pesanKesalahan Terjadi Kesalah pada \n- + ex.ToString; } } private void teks_asli_Leave object sender, EventArgs e { if teks_asli.Text == || gbr_asli.Image == null bt_embed.Enabled = false ; else bt_embed.Enabled = true ; if teks_asli.Text = { bt_embed.Enabled = true ; propteks = Panjang : + teks_asli.TextLength.ToString + Karakter ; propText.Text = propteks; } } private void check_Click object sender, EventArgs e { try { Bitmap gbr = new Bitmap gbr_asli.Image; Cursor .Current = Cursors .WaitCursor; if embd.checkgbrgbr propCA.Text = propgambar + Tidak ada kunci ; else propCA.Text = propgambar + Ada kunci ; if embd.checktextteks_asli propText.Text = propteks + \nTidak ada kunci ; else propText.Text = propteks + \nAda kunci ; } catch Exception a { pesanKesalahan Terjadi kesalahan pada \n- + a.ToString; } finally { Cursor .Current = Cursors .Default; } } void pesanInformasi string pesan { MessageBox .Showpesan, Informasi , MessageBoxButtons .OK, MessageBoxIcon .Information, MessageBoxDefaultButton .Button1; } void pesanKesalahan string pesan { Universitas Sumatera Utara B-11 MessageBox .Showpesan, Kesalahan , MessageBoxButtons .OK, MessageBoxIcon .Warning, MessageBoxDefaultButton .Button1; } private void Pengaman_FormClosed object sender, FormClosedEventArgs e { } } }

3. Form Pengungkapan Ekstraksi dan Dekripsi