• Tidak ada hasil yang ditemukan

Implementasi Kriptografi Hybrid Algoritma Elgamal dan Double Playfair Cipher Dalam Pengamanan File JPEG Berbasis Desktop

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Kriptografi Hybrid Algoritma Elgamal dan Double Playfair Cipher Dalam Pengamanan File JPEG Berbasis Desktop"

Copied!
22
0
0

Teks penuh

(1)

LISTING PROGRAM keygenerator.cs

using System;

using System.Drawing;

using System.Windows.Forms; using System.Numerics; using System.IO;

namespace Skripsiku {

/// <summary>

/// Description of keygenerator. /// </summary>

public partial class keygenerator : Form {

int p,alpa,d, beta;

Random r = new Random(); public keygenerator() {

//

// The InitializeComponent() call is required for Windows Forms designer support. //

InitializeComponent();

//

// TODO: Add constructor code after the InitializeComponent() call. //

}

public int modexp(int x, int y, int n) {

int z = 1;

for (int i = 0; i < y ; i++){ z = (x * z) % n;

}

return z; }

public int PseudoPrime(int n) {

BigInteger modularExponentiation = BigInteger.ModPow(2,n-1, n); if (modularExponentiation == 1)

{

return n; }

else {

(2)

} }

void MenuToolStripMenuItemClick(object sender, EventArgs e) {

MainForm menampilkan = new MainForm(); menampilkan.Show();

this.Hide(); }

void AboutToolStripMenuItemClick(object sender, EventArgs e) {

About menampilkan = new About(); menampilkan.Show();

this.Hide(); }

void KeyGeneratorToolStripMenuItemClick(object sender, EventArgs e) {

keygenerator menampilkan = new keygenerator(); menampilkan.Show();

this.Hide(); }

void HelpToolStripMenuItemClick(object sender, EventArgs e) {

Help menampilkan = new Help(); menampilkan.Show();

this.Hide(); }

void EnkripsiToolStripMenuItemClick(object sender, EventArgs e) {

enkripsi menampilkan = new enkripsi(); menampilkan.Show();

this.Hide();

}

void DekripsiToolStripMenuItemClick(object sender, EventArgs e) {

dekripsi menampilkan = new dekripsi(); menampilkan.Show();

this.Hide(); }

void KeygeneratorLoad(object sender, EventArgs e) {

(3)

}

void Button2Click(object sender, EventArgs e) {

SaveFileDialog simpan = new SaveFileDialog(); simpan.Filter = "key Files( *.key)|*.key";

simpan.FileName = "*.key";

if (simpan.ShowDialog() == DialogResult.OK) {

string filename = simpan.FileName.Substring(0, simpan.FileName.Length 3) + "key";

FileStream fstream = new FileStream(filename, FileMode.Create); StreamWriter sw = new StreamWriter(fstream);

SeekOrigin seekorigin = new SeekOrigin(); sw.BaseStream.Seek(0, seekorigin);

sw.WriteLine(textBox1.Text); sw.WriteLine(textBox4.Text); sw.Flush();

sw.Close();

MessageBox.Show("kunci berhasil disimpan");

} }

void Btn_publicClick(object sender, EventArgs e) {

SaveFileDialog simpan = new SaveFileDialog(); simpan.Filter = "key Files( *.key)|*.key";

simpan.FileName = "*.key";

if (simpan.ShowDialog() == DialogResult.OK) {

string filename = simpan.FileName.Substring(0, simpan.FileName.Length 3) + "key";

FileStream fstream = new FileStream(filename, FileMode.Create); StreamWriter sw = new StreamWriter(fstream);

SeekOrigin seekorigin = new SeekOrigin(); sw.BaseStream.Seek(0, seekorigin);

sw.WriteLine(textBox1.Text); sw.WriteLine(textBox2.Text); sw.WriteLine(textBox4.Text); sw.Flush();

sw.Close();

MessageBox.Show("kunci berhasil disimpan");

(4)

void Btn_generateClick(object sender, EventArgs e) {

p = PseudoPrime(r.Next(257,5000)); textBox1.Text = p.ToString(); alpa = r.Next(2,p-1);

textBox2.Text = alpa.ToString(); d = r.Next(2,p-2);

textBox3.Text = d.ToString(); beta = modexp(alpa,d,p);

textBox4.Text = beta.ToString(); }

} }

enkripsi.cs

using System;

using System.Collections.Generic; using System.Drawing;

using System.IO;

using System.Windows.Forms;

namespace Skripsiku {

/// <summary>

/// Description of enkripsi. /// </summary>

public partial class enkripsi : Form {

Random rnd = new Random(); List<int> c1 = new List<int>(); List<int> c2 = new List<int>(); List<int> plain = new List<int>(); List<int> cpher = new List<int>(); int prime, alpa, beta, r;

string plainkey;

Bitmap gambarasli, gambarenkrip; int[] angka = new int[256];

int[] aangka = new int[256]; int ab = 0;

int aab = 0; public enkripsi() {

//

// The InitializeComponent() call is required for Windows Forms designer support. //

(5)

//

// TODO: Add constructor code after the InitializeComponent() call. //

}

void MenuToolStripMenuItemClick(object sender, EventArgs e) {

MainForm menampilkan = new MainForm(); menampilkan.Show();

this.Hide(); }

void AboutToolStripMenuItemClick(object sender, EventArgs e) {

About menampilkan = new About(); menampilkan.Show();

this.Hide(); }

void HelpToolStripMenuItemClick(object sender, EventArgs e) {

Help menampilkan = new Help(); menampilkan.Show();

this.Hide(); }

void EnkripsiToolStripMenuItemClick(object sender, EventArgs e) {

enkripsi menampilkan = new enkripsi(); menampilkan.Show();

this.Hide();

}

void DekripsiToolStripMenuItemClick(object sender, EventArgs e) {

dekripsi menampilkan = new dekripsi(); menampilkan.Show();

this.Hide(); }

void KeyGToolStripMenuItemClick(object sender, EventArgs e) {

keygenerator menampilkan = new keygenerator(); menampilkan.Show();

this.Hide(); }

(6)

OpenFileDialog ofd = new OpenFileDialog();

ofd.InitialDirectory = @"D:\"; // menentukan direktori awal saat browse file ofd.Title = "Browse Image File"; //set title pada window browse file

ofd.CheckFileExists = true; // set pengecekan file harus ada atau valid ofd.DefaultExt = "jpeg"; // set tipe file default

ofd.Filter = "image files|*.jpg;*.png"; // filter untuk menentukan file apa saja yang boleh dipilih

ofd.FilterIndex = 0; // menentukan filter index, index dimulai dari nol ofd.RestoreDirectory = true; // menentukan nilai restorasi direktori

ofd.ReadOnlyChecked = true; // set nilai bahwa file hanya akan dibaca atau read ofd.ShowReadOnly = true; // set nilai untuk menampilkan file

if (ofd.ShowDialog() == DialogResult.OK) {

// jika sudah, tampilkan gambar dalam pictureBox dengan mode Stretch(disesuaikan dengan picturebox)

pictureBox1.Image = new Bitmap(ofd.FileName);

pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; }

}

void PictureBox1Click(object sender, EventArgs e) {

}

void EnkripsiLoad(object sender, EventArgs e) {

}

public int modexp(int x, int y, int n) {

int z = 1;

for (int i = 0; i < y ; i++){ z = (x * z) % n;

}

return z; }

public int modexp(int x, int z, int y, int n) {

for (int i = 0; i < y ; i++){ z = (x * z) % n;

}

return z; }

(7)

plainkey = textBox1.Text + "~" + textBox2.Text; prime=int.Parse(textBox3.Text);

alpa =int.Parse(textBox4.Text); beta =int.Parse(textBox5.Text); do

{

r = rnd.Next(1,prime-1); }

while(r>= (prime-1));

for (int i=0; i<plainkey.Length;i++) {

c1.Add(modexp(alpa,r,prime));

c2.Add(modexp(beta,plainkey[i],r,prime)); }

MessageBox.Show("berhasil dienkripsi"); }

void Button8Click(object sender, EventArgs e) {

SaveFileDialog simpan = new SaveFileDialog(); simpan.Filter = "Encrypted Files( *.egl)|*.egl"; simpan.FileName = "*.egl";

if (simpan.ShowDialog() == DialogResult.OK) {

FileStream

fstream=new FileStream(simpan.FileName,FileMode.OpenOrCreate); StreamWriter sw = new StreamWriter(fstream);

SeekOrigin seekorigin = new SeekOrigin(); sw.BaseStream.Seek(0, seekorigin);

for(int i=0; i<c1.Count; i++) {

sw.WriteLine(c1[i]); sw.WriteLine(c2[i]); }

sw.Flush(); sw.Close(); }

}

void Button3Click(object sender, EventArgs e) {

SaveFileDialog save = new SaveFileDialog(); save.Filter = "Image Files(*.jpeg) | *.jpeg"; if (save.ShowDialog() == DialogResult.OK) {

pictureBox1.Image.Save(save.FileName, System.Drawing.Imaging.ImageFormat.B mp);

(8)

} }

void Button4Click(object sender, EventArgs e) {

gambarasli = new Bitmap(pictureBox1.Image); int x = gambarasli.Height;

int y = gambarasli.Width; double rd=0,bl=0,gr=0,gy=0;

Bitmap imageabu = new Bitmap(x,y); for (int i = 0; i <= x-1; i++)

{

for (int j = 0; j <= y-1; j++) {

rd = gambarasli.GetPixel(i,j).R; gr = gambarasli.GetPixel(i,j).G; bl = gambarasli.GetPixel(i,j).B; gy = (rd*0.3 + gr*0.59 + bl*0.11);

imageabu.SetPixel(i,j,Color.FromArgb((int)gy,(int)gy,(int)gy)); gy = 0;

} }

pictureBox1.Image= imageabu; }

bool cekKunci(int huruf) {

for (int i = 0; i < ab; i++) {

if (angka[i] == huruf) return false;

}

angka[ab] = huruf; ab++;

return true; }

bool ccekKunci(int huruf) {

for (int i = 0; i < aab; i++) {

if (aangka[i] == huruf) return false;

}

aangka[aab] = huruf; aab++;

return true; }

(9)

private void enkripsii(int a, int b, int[,] Matrik1, int[,] Matrik2) {

bool limit = false;

int[] bigramx = new int[2]; int[] bigramy = new int[2]; for (int i = 0; i < 16; i++) {

for (int j = 0; j < 16; j++) {

if (a == Matrik1[i, j]) {

bigramx[0] = i; bigramy[0] = j; limit = true; if (limit == true) break;

} }

if (limit == true) break;

}

limit = false;

for (int i = 0; i < 16; i++) {

for (int j = 0; j < 16; j++) {

if (b == Matrik2[i, j]) {

bigramx[1] = i; bigramy[1] = j; limit = true; if (limit == true) break;

} }

if (limit == true) break;

}

if (bigramx[0] == bigramx[1]) {

if ((bigramy[0] == 15)) {

cpher.Add(Matrik1[bigramx[0],0]); }

else {

cpher.Add(Matrik1[bigramx[0],(bigramy[0]+1)]); }

(10)

cpher.Add(Matrik2[bigramx[1],0]); }

else {

cpher.Add(Matrik2[bigramx[1],(bigramy[1]+1)]); }

} else {

cpher.Add(Matrik2[bigramx[0],bigramy[1]]); cpher.Add(Matrik1[bigramx[1],bigramy[0]]); }

}

void Button2Click(object sender, EventArgs e) {

gambarasli = new Bitmap(pictureBox1.Image); int xx = gambarasli.Height;

int yy = gambarasli.Width; plain = new List<int>(); cpher = new List<int>(); angka = new int[256]; aangka = new int[256]; ab = 0;

aab = 0;

string kunci1 = textBox1.Text; string kunci2 = textBox1.Text; int PKunci1 = kunci1.Length; int PKunci2 = kunci2.Length; int[,] Matrik1 = new int[16,16]; int[,] Matrik2 = new int[16,16]; int a = 0, pixel = 0;

//tabel1

for (int i = 0; i < 16; i++) {

for (int j = 0; j < 16; j++) {

if (a < PKunci1) {

if (cekKunci(kunci1[a]) == true) Matrik1[i, j] = kunci1[a]; else

j--; a++; } else {

(11)

Matrik1[i, j] = pixel; else

j--; pixel++; }

} } a=0; pixel=0; //tabel2

for (int i = 0; i < 16; i++) {

for (int j = 0; j < 16; j++) {

if (a < PKunci1) {

if (ccekKunci(kunci2[a]) == true) Matrik2[i, j] = kunci2[a]; else

j--; a++; } else {

if (ccekKunci(pixel) == true) Matrik2[i, j] = pixel; else

j--; pixel++; }

} }

//ambil plaintext

for (int i = 0; i <= xx-1; i++) {

for (int j = 0; j <= yy-1; j++) {

plain.Add(gambarasli.GetPixel(i,j).R); }

}

//enkrip

if (plain.Count % 2 != 0) plain.Add(255);

for (int i = 0; i < plain.Count; i+=2) {

enkripsii(plain[i],plain[i+1], Matrik1, Matrik2); }

(12)

//jadikan gambar int indeks = 0;

gambarenkrip = new Bitmap(xx,yy); for (int i = 0; i <= xx-1; i++)

{

for (int j = 0; j <= yy-1; j++) {

gambarenkrip.SetPixel(i,j,Color.FromArgb((int)cpher[indeks],(int)cpher[indek s],(int)cpher[indeks]));

indeks++; }

}

pictureBox1.Image= gambarenkrip;

for (int i = 0; i < 10; i++) {

richTextBox1.Text += plain[i].ToString() + " "; }

for (int i = 0; i < 10; i++) {

richTextBox2.Text += cpher[i].ToString()+ " "; }

}

string tipe;

OpenFileDialog dialog;

private void button5_Click(object sender, EventArgs e) {

//import dari key generator dialog = new OpenFileDialog(); dialog.Filter = "File Kunci|*.key"; dialog.Title = "Open File : "; dialog.RestoreDirectory = true;

if (dialog.ShowDialog() == DialogResult.OK) {

tipe = dialog.FileName.Substring(dialog.FileName.Length - 3, 3); if (tipe == "key")

{

string[] lines = File.ReadAllLines(dialog.FileName); textBox3.Text = lines[0];

textBox4.Text = lines[1]; textBox5.Text = lines[2]; }

(13)

} }

dekripsi.cs

using System;

using System.Collections.Generic; using System.Drawing;

using System.IO;

using System.Windows.Forms;

namespace Skripsiku {

/// <summary>

/// Description of dekripsi. /// </summary>

public partial class dekripsi : Form {

Random rnd = new Random(); List<int> c1 = new List<int>(); List<int> c2 = new List<int>(); List<int> plain = new List<int>(); List<int> cpher = new List<int>(); int prime, d;

string plainkey;

Bitmap gambarasli, gambarenkrip; int[] angka = new int[256];

int[] aangka = new int[256]; int ab = 0;

int aab = 0; public dekripsi() {

//

// The InitializeComponent() call is required for Windows Forms designer support. //

InitializeComponent();

//

// TODO: Add constructor code after the InitializeComponent() call. //

}

void MenuToolStripMenuItemClick(object sender, EventArgs e) {

MainForm menampilkan = new MainForm(); menampilkan.Show();

this.Hide(); }

(14)

void AboutToolStripMenuItemClick(object sender, EventArgs e) {

About menampilkan = new About(); menampilkan.Show();

this.Hide(); }

void KeyGeneratorToolStripMenuItemClick(object sender, EventArgs e) {

keygenerator menampilkan = new keygenerator(); menampilkan.Show();

this.Hide(); }

void HelpToolStripMenuItemClick(object sender, EventArgs e) {

Help menampilkan = new Help(); menampilkan.Show();

this.Hide(); }

void EnkripsiToolStripMenuItemClick(object sender, EventArgs e) {

enkripsi menampilkan = new enkripsi(); menampilkan.Show();

this.Hide();

}

void DekripsiToolStripMenuItemClick(object sender, EventArgs e) {

dekripsi menampilkan = new dekripsi(); menampilkan.Show();

this.Hide(); }

void Button1Click(object sender, EventArgs e) {

OpenFileDialog ofd = new OpenFileDialog();

ofd.InitialDirectory = @"D:\"; // menentukan direktori awal saat browse file ofd.Title = "Browse Image File"; //set title pada window browse file

ofd.CheckFileExists = true; // set pengecekan file harus ada atau valid ofd.DefaultExt = "jpeg"; // set tipe file default

ofd.Filter = "image files|*.jpeg;*.png"; // filter untuk menentukan file apa saja yang boleh dipilih

(15)

ofd.RestoreDirectory = true; // menentukan nilai restorasi direktori

ofd.ReadOnlyChecked = true; // set nilai bahwa file hanya akan dibaca atau read ofd.ShowReadOnly = true; // set nilai untuk menampilkan file

if (ofd.ShowDialog() == DialogResult.OK) {

// jika sudah, tampilkan gambar dalam pictureBox dengan mode Stretch(disesuaikan dengan picturebox)

pictureBox1.Image = new Bitmap(ofd.FileName);

pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; }

}

void PictureBox1Click(object sender, EventArgs e) {

}

void Label4Click(object sender, EventArgs e) {

}

void Button7Click(object sender, EventArgs e) {

dialog = new OpenFileDialog();

dialog.Filter = "Encrypted Files( *.egl)|*.egl"; dialog.Title = "Open File : ";

dialog.RestoreDirectory = true;

if (dialog.ShowDialog() == DialogResult.OK) {

tipe = dialog.FileName.Substring(dialog.FileName.Length - 3, 3); if (tipe == "egl")

{

string[] lines = File.ReadAllLines(dialog.FileName); textBox3.Text = lines[0];

textBox4.Text = lines[1]; }

} }

public int modexp(int x, int z, int y, int n) {

for (int i = 0; i < y ; i++){ z = (x * z) % n;

}

return z; }

(16)

void Button6Click(object sender, EventArgs e) {

prime=int.Parse(textBox1.Text); d =int.Parse(textBox2.Text); plainkey = "";

for (int i=0; i<c1.Count;i++) {

plainkey += (char)(modexp(c1[i],c2[i],(prime-1-d),prime)); }

string[] k = new string[2]; k = plainkey.Split('~'); textBox3.Text = k[0]; textBox4.Text = k[1]; }

bool cekKunci(int huruf) {

for (int i = 0; i < ab; i++) {

if (angka[i] == huruf) return false;

}

angka[ab] = huruf; ab++;

return true; }

bool ccekKunci(int huruf) {

for (int i = 0; i < aab; i++) {

if (aangka[i] == huruf) return false;

}

aangka[aab] = huruf; aab++;

return true; }

private void dekripsii(int a, int b, int[,] Matrik1, int[,] Matrik2) {

bool limit = false;

int[] bigramx = new int[2]; int[] bigramy = new int[2]; for (int i = 0; i < 16; i++) {

for (int j = 0; j < 16; j++) {

(17)

bigramx[0] = i; bigramy[0] = j; limit = true; if (limit == true) break;

} }

if (limit == true) break;

}

limit = false;

for (int i = 0; i < 16; i++) {

for (int j = 0; j < 16; j++) {

if (b == Matrik1[i, j]) {

bigramx[1] = i; bigramy[1] = j; limit = true; if (limit == true) break;

} }

if (limit == true) break;

}

if (bigramx[0] == bigramx[1]) {

if ((bigramy[1] == 0)) {

cpher.Add(Matrik1[bigramx[1],15]); }

else {

cpher.Add(Matrik1[bigramx[1],(bigramy[1]-1)]); }

if ((bigramy[0] == 0)) {

cpher.Add(Matrik2[bigramx[0],15]); }

else {

cpher.Add(Matrik2[bigramx[0],(bigramy[0]-1)]); }

} else {

(18)

}

void Button2Click(object sender, EventArgs e) {

gambarasli = new Bitmap(pictureBox1.Image); int xx = gambarasli.Height;

int yy = gambarasli.Width; plain = new List<int>(); cpher = new List<int>(); angka = new int[256]; aangka = new int[256]; ab = 0;

aab = 0;

string kunci1 = textBox3.Text; string kunci2 = textBox4.Text; int PKunci1 = kunci1.Length; int PKunci2 = kunci2.Length; int[,] Matrik1 = new int[16,16]; int[,] Matrik2 = new int[16,16]; int a = 0, pixel = 0;

//tabel1

for (int i = 0; i < 16; i++) {

for (int j = 0; j < 16; j++) {

if (a < PKunci1) {

if (cekKunci(kunci1[a]) == true) Matrik1[i, j] = kunci1[a]; else

j--; a++; } else {

if (cekKunci(pixel) == true) Matrik1[i, j] = pixel; else

j--; pixel++; }

} } a=0; pixel=0; //tabel2

(19)

for (int j = 0; j < 16; j++) {

if (a < PKunci1) {

if (ccekKunci(kunci2[a]) == true) Matrik2[i, j] = kunci2[a]; else

j--; a++; } else {

if (ccekKunci(pixel) == true) Matrik2[i, j] = pixel; else

j--; pixel++; }

} }

//ambil plaintext

for (int i = 0; i <= xx-1; i++) {

for (int j = 0; j <= yy-1; j++) {

plain.Add(gambarasli.GetPixel(i,j).R); }

}

//enkrip

if (plain.Count % 2 != 0) plain.Add(255);

for (int i = 0; i < plain.Count; i+=2) {

dekripsii(plain[i],plain[i+1], Matrik1, Matrik2); }

//jadikan gambar int indeks = 0;

gambarenkrip = new Bitmap(xx,yy); for (int i = 0; i <= xx-1; i++)

{

for (int j = 0; j <= yy-1; j++) {

gambarenkrip.SetPixel(i,j,Color.FromArgb((int)cpher[indeks],(int)cpher[indek s],(int)cpher[indeks]));

(20)

}

pictureBox1.Image= gambarenkrip;

for (int i = 0; i < 10; i++) {

richTextBox1.Text += plain[i].ToString() + " "; }

for (int i = 0; i < 10; i++) {

richTextBox2.Text += cpher[i].ToString()+ " "; }

}

string tipe;

OpenFileDialog dialog;

private void button5_Click(object sender, EventArgs e) {

dialog = new OpenFileDialog(); dialog.Filter = "File Kunci|*.key"; dialog.Title = "Open File : "; dialog.RestoreDirectory = true;

if (dialog.ShowDialog() == DialogResult.OK) {

tipe = dialog.FileName.Substring(dialog.FileName.Length - 3, 3); if (tipe == "key")

{

string[] lines = File.ReadAllLines(dialog.FileName); textBox1.Text = lines[0];

textBox2.Text = lines[1]; }

} }

private void groupBox3_Enter(object sender, EventArgs e) {

}

private void button4_Click(object sender, EventArgs e) {

gambarasli = new Bitmap(pictureBox1.Image); int x = gambarasli.Height;

int y = gambarasli.Width;

(21)

{

for (int j = 0; j <= y - 1; j++) {

rd = gambarasli.GetPixel(i, j).R; gr = gambarasli.GetPixel(i, j).G; bl = gambarasli.GetPixel(i, j).B; gy = (rd * 0.3 + gr * 0.59 + bl * 0.11);

imageabu.SetPixel(i, j, Color.FromArgb((int)gy, (int)gy, (int)gy)); gy = 0;

} }

pictureBox1.Image = imageabu; }

private void button3_Click(object sender, EventArgs e) {

}

void Button3Click(object sender, EventArgs e) {

SaveFileDialog save = new SaveFileDialog(); save.Filter = "Image Files(*.jpeg) | *.jpeg"; if (save.ShowDialog() == DialogResult.OK) {

pictureBox1.Image.Save(save.FileName, System.Drawing.Imaging.ImageFormat.B mp);

MessageBox.Show("Gambar tersimpan"); }

(22)

D

AFTAR

R

IWAYAT

H

IDUP

CURRICULUM VITAE

I. DATA PRIBADI / Personal Identification

Nama Lengkap

: Nanda Safrina

Tempat/ Tgl. Lahir

: Medan/ 05 Juli 1995 Jenis Kelamin : Perempuan

Agama : Islam Kebangsaan : Indonesia

Alamat : Jl. Sewindu no.41 Medan Kec. Medan Petisah.

Telepon : 081263709095

Email : [email protected]

II. PENDIDIKAN FORMAL / Formal Education

• [ 2013 – 2017 ] S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara

• [ 2010 – 2013 ] MAS Miftahussalam Medan

• [ 2007 – 2010 ] SMP Negeri 19 Medan

• [ 2001 – 2007 ] SD MIN Medan

III. PENDIDIKAN NON-FORMAL / Informal Education

• -

IV. PELATIHAN DAN SEMINAR / Trainings & Workshop

1) Peserta Workshop “Bank Indonesia Goes To Campus Bersama NET.”, Universitas Sumatera Utara [2016]

2) Peserta “Pelatihan Standar Layanan Perbankan.”, PT. Bank Negara Indonesia (Persero) Tbk. Kantor Wilayah Medan [2016]

3) Peserta Seminar Nasional Literasi Informasi (SENARAI) Fasilkom-TI Universitas Sumatera Utara [2014]

4) Peserta Seminar “What Will You Be?” IMILKOM Universitas Sumatera Utara [2013]

V. LAINNYA / Others

1) Penerima Beasiswa PPA (Peningkatan Prestasi Akademik) dan Program Kreativitas Mahasiswa [2014]

Referensi

Dokumen terkait

Gambar 4.11 Pengujian ELGamal dengan mendapatkan key dari algoritma FEAL 63 Gambar 4.12 Hasil pengujian ke-1 mendapatkan ciphertext FEAL untuk key ElGamal Dengan

Batang Hari, Kecamatan Lembah Gumanti, Alahan Panjang, Kabupaten Solok, Sumatera

Implementasi kombinasi algoritma kriptografi modifikasi playfair cipher dan teknik steganografi begin of file pada pengamanan tesan Teks.. Universitas

Sumatera Utara yang telah banyak memberi motivasi kepada penulis dalam. pengerjaan

3) Peserta acara Kampus Kompas TV, Universitas Sumatera Utara [2016]. 4) Peserta Kuliah Umum Entrepreneurdhip &amp; Pengembangan

Sistem Kriptografi Hybrid (Hill Cipher dan Knapsack) pada Pengamanan File. Universitas

Implementasi Algoritma One Time Pad dan Algoritma Hill Cipher pada Aplikasi Short Message Service (SMS) Berbasis Android. Medan: Universitas

Di Universitas Sumatera Utara (2010) WORKSHOP TEKNOLOGI INFORMASI “Teknik Dasar Fotografi”. Di Universitas Sumatera