• Tidak ada hasil yang ditemukan

Pengamanan Teks Dengan Hybrid Cryptosystem Algoritma Multi-Power Rsa Dan Algoritma Blowfish

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengamanan Teks Dengan Hybrid Cryptosystem Algoritma Multi-Power Rsa Dan Algoritma Blowfish"

Copied!
16
0
0

Teks penuh

(1)

LAMPIRAN 1

LISTING PROGRAM

using System;

using System.Drawing;

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

using System.Diagnostics; using System.Text; using System.Linq;

using org.jivesoftware.util;

namespace Blowfish_multipowerRSA {

///<summary>

/// Description of Form_Utama. ///</summary>

publicpartialclassformutama : Form {

publicformutama() {

//

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

InitializeComponent();

//

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

}

boolpangkat(int n){ if (n<=1)

returntrue;

for (int x=2; x<=Math.Sqrt(n); x++){ BigInteger p =x;

while (p<=n){ p*=x; if (p==n) returntrue; }

}

(2)

voidButton1Click(object sender, EventArgs e) {

BigInteger p,q,gcd; int z=0, nilaiP;

nilaiP = Convert.ToInt32(inputp.Text); if (nilaiP==2 || nilaiP==3)

status.Text = "Bilangan Prima"; elseif (pangkat(nilaiP))

status.Text = "Bilangan Komposit"; else {

for (int i = 2; i<=nilaiP; i++){

gcd = BigInteger.GreatestCommonDivisor(nilaiP,i); if (gcd==1){

z=i; break; }

}

p = BigInteger.ModPow((1+z),nilaiP,nilaiP); q = 1 + BigInteger.ModPow(z, nilaiP, nilaiP); if (p==q) {

status.Text = "Bilangan Prima"; }

else

status.Text = "Bilangan Komposit"; }

}

voidButton4Click(object sender, EventArgs e) {

inputp.Text = ""; status.Text = ""; }

voidCek2Click(object sender, EventArgs e) {

BigInteger v,w,gcd; int z=0, nilaiQ;

nilaiQ = Convert.ToInt32(inputq.Text); if (nilaiQ==2 || nilaiQ==3)

status1.Text = "Bilangan Prima"; elseif (pangkat(nilaiQ))

status1.Text = "Bilangan Komposit"; else {

for (int i = 2; i<=nilaiQ; i++){

(3)

z=i; break; }

}

v = BigInteger.ModPow((1+z),nilaiQ,nilaiQ); w = 1 + BigInteger.ModPow(z, nilaiQ, nilaiQ); if (v==w) {

status1.Text = "Bilangan Prima"; }

else

status1.Text = "Bilangan Komposit"; }

}

voidReset2Click(object sender, EventArgs e) {

inputq.Text = ""; status1.Text = ""; }

//menghitung nilai N

voidButton5Click(object sender, EventArgs e) {

int nilaip,nilaiq; BigInteger N;

nilaip = Convert.ToInt32(inputp.Text); nilaiq = Convert.ToInt32(inputq.Text); N = BigInteger.Pow(nilaip,2) * nilaiq; nilaiN.Text = Convert.ToString(N); }

//menghitung nilai d

voidHitungdClick(object sender, EventArgs e) {

BigInteger modulo, ambilnilaie, hasild, nilaip, nilaiq,nilaid=1; nilaip = Convert.ToInt32(inputp.Text);

nilaiq = Convert.ToInt32(inputq.Text); ambilnilaie = Convert.ToInt32(nilaie.Text); modulo = (nilaip-1)*(nilaiq-1);

for(int i=1; i<=modulo; i++){ hasild = (i*ambilnilaie)%modulo; if (hasild==1){

nilaid = i;

hasild1.Text = Convert.ToString(nilaid); break;

(4)

}

//menghitung nilai r1

voidButton7Click(object sender, EventArgs e) {

int hitungr1, nilaip, nilaid;

nilaip = Convert.ToInt32(inputp.Text); nilaid = Convert.ToInt32(hasild1.Text); hitungr1 = nilaid%(nilaip-1);

nilair1.Text = Convert.ToString(hitungr1);

}

//menghitung nilai r2

voidButton8Click(object sender, EventArgs e) {

int hitungr2, nilaiq, nilaid;

nilaiq = Convert.ToInt32(inputq.Text); nilaid = Convert.ToInt32(hasild1.Text); hitungr2 = nilaid%(nilaiq-1);

nilair2.Text = Convert.ToString(hitungr2); }

//proses pada pembangkit kunci

voidProsesClick(object sender, EventArgs e) {

BigInteger nilN, nile, nilp, nilq, nilr1, nilr2; nilN = Convert.ToUInt64(nilaiN.Text); nile = Convert.ToUInt64(nilaie.Text); nilp = Convert.ToUInt64(inputp.Text); nilq = Convert.ToUInt64(inputq.Text); nilr1 = Convert.ToUInt64(nilair1.Text); nilr2 = Convert.ToUInt64(nilair2.Text);

publickey.Text = Convert.ToString(nilN) + "-" + Convert.ToString(nile);

privatekey.Text = Convert.ToString(nilp) + "-" + Convert.ToString(nilq) + "-" + Convert.ToString(nilr1) + "-" + Convert.ToString(nilr2) + "-" +

Convert.ToString(nilN) + "-" + Convert.ToString(nile); }

//mengecek nilai e

voidButton6Click(object sender, EventArgs e) {

BigInteger nilaip, nilaiq; BigInteger gcd;

(5)

for (int i=3; i<=hitungnilaie; i++){

gcd = BigInteger.GreatestCommonDivisor(hitungnilaie,i); if (gcd==1){

nilaie.Text = Convert.ToString(i); break;

} } }

//simpan public key dan private key

voidSimpanClick(object sender, EventArgs e) {

SaveFileDialog simpan = newSaveFileDialog(); simpan.Filter = "Bangkit Kunci(*.kunci) |*.kunci"; simpan.FileName = ".kunci";

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

FileStream fstreamm

= newFileStream(simpan.FileName,FileMode.OpenOrCreate); StreamWriter sww = newStreamWriter(fstreamm); SeekOrigin seekoriginn = newSeekOrigin();

sww.BaseStream.Seek(0, seekoriginn); sww.WriteLine(publickey.Text); sww.WriteLine(privatekey.Text); sww.Flush();

sww.Close(); }

}

//hapus pada pembangkit kunci

voidHapusClick(object sender, EventArgs e) {

inputp.Text =""; inputq.Text =""; status.Text =""; status1.Text =""; nilaiN.Text = ""; nilaie.Text = ""; nilair1.Text = ""; nilair2.Text = ""; hasild1.Text = ""; publickey.Text = ""; privatekey.Text = ""; }

(6)

stringkuncipublik, kunciprivate;

voidButton3Click(object sender, EventArgs e) {

OpenFileDialog buka = newOpenFileDialog(); buka.Filter = "Kunci(*.kunci)|*.kunci"; if (buka.ShowDialog() == DialogResult.OK) { tb_lokasi.Text = buka.FileName;

string nama = buka.FileName.Substring(0, buka.FileName.Length); FileStream fstreamm = newFileStream(nama, FileMode.Open, FileAccess.ReadWrite);

StreamReader sreader = newStreamReader(fstreamm); sreader.BaseStream.Seek(0, SeekOrigin.Begin);

kuncipublik = sreader.ReadLine(); kunciprivate = sreader.ReadLine(); sreader.Close();

tb_publickey.Text = kuncipublik; }

}

//---//

//---PROSES ENKRIPSI KUNCI SIMETRIS---// voidButton9Click(object sender, EventArgs e)

{

Stopwatch hitungwaktu = newStopwatch(); hitungwaktu.Start();

string ambilstring, ambilnilai;

ambilstring = Convert.ToString(tb_publickey.Text); ambilnilai = Convert.ToString(tb_kuncisimetris.Text); string [] parts = ambilstring.Split('-');

BigInteger [] numArray = newBigInteger[parts.Length]; BigInteger [] charvalue = newBigInteger[ambilnilai.Length]; BigInteger [] cipherkey = newBigInteger[ambilnilai.Length];

for (int i=0; i<=parts.Length-1; i++)

BigInteger.TryParse(parts[i], out numArray[i]);

for (int i=0; i<=ambilnilai.Length-1; i++){ charvalue[i] = Convert.ToInt32(ambilnilai[i]);

cipherkey[i] = BigInteger.ModPow(charvalue[i], numArray[1], numArray[0]); }

foreach (BigInteger myInt in cipherkey)

tb_cipherkey.Text = tb_cipherkey.Text+myInt.ToString()+"-";

hitungwaktu.Stop();

string timerenkripsikunci = (int.Parse(hitungwaktu.Elapsed.ToString("fffffff")) / 10000f).ToString();

(7)

}

voidButton2Click(object sender, EventArgs e) {

string kunci, simetris;

kunci = Convert.ToString(tb_kuncienkripsi.Text); simetris = kunci;

tb_kuncisimetris.Text = simetris; Stopwatch waktu = newStopwatch(); waktu.Start();

Blowfish enkripsi = newBlowfish(tb_kuncisimetris.Text); string enkripsiteks = enkripsi.encryptString(rtb_plaintext.Text); rtb_ciphertext.Text = Convert.ToString(enkripsiteks);

waktu.Stop();

string timerenkripsifile = (int.Parse(waktu.Elapsed.ToString("fffffff")) / 10000f).ToString();

tb_runningteks.Text = double.Parse(timerenkripsifile).ToString() + " ms"; }

//---Menyimpan Hasil Cipherkey---// voidButton11Click(object sender, EventArgs e)

{

SaveFileDialog simpan = newSaveFileDialog();

simpan.Filter = "Cipherkey(*.cipherkey) |*.cipherkey"; simpan.FileName = ".cipherkey";

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

string namafile = simpan.FileName.Substring(0, simpan.FileName.Length - 10) + "a.dat";

FileStream fstreamm

= newFileStream(simpan.FileName,FileMode.OpenOrCreate); StreamWriter sww = newStreamWriter(fstreamm); SeekOrigin seekoriginn = newSeekOrigin();

sww.BaseStream.Seek(0, seekoriginn); sww.WriteLine(tb_cipherkey.Text); //sww.WriteLine(privatekey.Text); sww.Flush();

sww.Close(); }

}

//---//

(8)

//---Membuka Cipherkey---// stringcipherkeydek;

voidButton13Click(object sender, EventArgs e) {

OpenFileDialog buka = newOpenFileDialog(); buka.Filter = "Cipherkey(*.cipherkey)|*.cipherkey"; if (buka.ShowDialog() == DialogResult.OK) {

string nama = buka.FileName.Substring(0, buka.FileName.Length); FileStream fstreamm = newFileStream(nama, FileMode.Open, FileAccess.ReadWrite);

StreamReader sreader = newStreamReader(fstreamm); sreader.BaseStream.Seek(0, SeekOrigin.Begin);

cipherkeydek= sreader.ReadLine(); //kunciprivate = sreader.ReadLine(); sreader.Close();

tb_cipherkeydek.Text = cipherkeydek; }

}

//---//

//---Membuka Private Key---// voidCarikunciClick(object sender, EventArgs e)

{

OpenFileDialog buka = newOpenFileDialog(); buka.Filter = "Kunci(*.kunci)|*.kunci"; if (buka.ShowDialog() == DialogResult.OK) {

string nama = buka.FileName.Substring(0, buka.FileName.Length); FileStream fstreamm = newFileStream(nama, FileMode.Open, FileAccess.ReadWrite);

StreamReader sreader = newStreamReader(fstreamm); sreader.BaseStream.Seek(0, SeekOrigin.Begin);

kuncipublik = sreader.ReadLine(); kunciprivate = sreader.ReadLine(); sreader.Close();

tb_privatekey.Text = kunciprivate; }

}

//---//

voidButton14Click(object sender, EventArgs e) {

Stopwatch hitung = newStopwatch(); hitung.Start();

Blowfish dekripsi = newBlowfish(tb_kunci.Text);

(9)

hitung.Stop();

string timerdekripsifile = (int.Parse(hitung.Elapsed.ToString("fffffff")) / 10000f).ToString();

tb_rtteks.Text = double.Parse(timerdekripsifile).ToString() + " ms"; }

//---Proses Dekripsi Kunci---// voidButton12Click(object sender, EventArgs e)

{

Stopwatch hitungwaktu = newStopwatch(); hitungwaktu.Start();

BigInteger p, hasilinvers,einvers=1,hasilinversp2, p2invers=1; string ambilstring, ambilnilai;

ambilstring = Convert.ToString(tb_privatekey.Text); ambilnilai = Convert.ToString(tb_cipherkeydek.Text); string [] parts = ambilstring.Split('-');

BigInteger [] numArray = newBigInteger[parts.Length]; string [] charvalue = ambilnilai.Split('-');

BigInteger [] panjangArray = newBigInteger[charvalue.Length]; BigInteger [] Cp = newBigInteger[charvalue.Length];

BigInteger [] Cq = newBigInteger[charvalue.Length]; BigInteger [] Mp = newBigInteger[charvalue.Length]; BigInteger [] K0 = newBigInteger[charvalue.Length]; BigInteger [] A = newBigInteger[charvalue.Length]; BigInteger [] Mq = newBigInteger[charvalue.Length]; BigInteger [] V = newBigInteger[charvalue.Length]; int [] konversi = newint[charvalue.Length];

BigInteger [] kuncisimetris = newBigInteger[charvalue.Length]; char [] karakter = newchar[charvalue.Length];

for (int k=0; k<=parts.Length-1; k++)

BigInteger.TryParse(parts[k], out numArray[k]);

for (int mulai=0; mulai<=charvalue.Length-1; mulai++)

BigInteger.TryParse(charvalue[mulai], out panjangArray[mulai]);

p = numArray[0]*numArray[0]; for (int l=1; l<=numArray[0]; l++){

hasilinvers = l*numArray[5]%numArray[0]; if (hasilinvers==1){

einvers = l; break; }

}

for (int j=1; j<=p; j++){

(10)

p2invers = j; break; }

}

for (int i=0; i<=charvalue.Length-1; i++){ Cp[i] = panjangArray[i]%p;

Cq[i] = panjangArray[i]%numArray[1]; BigInteger nilai=1;

for (int b=1; b<=numArray[2]-1; b++){ nilai = nilai*Cp[i];

}

Mp[i] = nilai%numArray[0]; K0[i] = Mp[i]*Cp[i]%numArray[0]; BigInteger nilai1=1;

for (int c=1; c<=numArray[5]; c++) nilai1 = nilai1*K0[i];

A[i] = -1 * nilai1 % p;

A[i] = A[i] + panjangArray[i]%p; Mp[i] = Mp[i]*A[i]%p;

Mp[i] = Mp[i]*einvers%p; Mp[i] = Mp[i] + K0[i]%p; BigInteger nilai2=1;

for (int d=1; d<=numArray[3]; d++) nilai2 = nilai2*Cq[i];

Mq[i] = nilai2%numArray[1]; V[i] = Mq[i] - Mp[i] % numArray[1];

V[i] = V[i] *p2invers%numArray[1]; kuncisimetris[i] = V[i]*p%numArray[4];

kuncisimetris[i] = kuncisimetris[i] + Mp[i] %numArray[4]; konversi[i] = (int) kuncisimetris[i];

karakter[i] = Convert.ToChar(konversi[i]); }

string karakterlengkap = newstring(karakter);

tb_kuncisimetrisdek.Text = Convert.ToString(karakterlengkap); hitungwaktu.Stop();

string timerdekripsikunci = (int.Parse(hitungwaktu.Elapsed.ToString("fffffff")) / 10000f).ToString();

tb_runningtimedek.Text = double.Parse(timerdekripsikunci).ToString() + " ms"; tb_kunci.Text = Convert.ToString(karakterlengkap);

//tb_kunci.Text = Convert.ToString(konversi[0]); }

//cari file yg mau dienkripsi stringtipe, format;

(11)

OpenFileDialog dialog = newOpenFileDialog();

dialog.Filter = "Word File|*.doc;*.docx| TextFile |*.txt"; dialog.Title = "Open File : ";

dialog.RestoreDirectory = true;

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

tipe = dialog.FileName.Substring(dialog.FileName.Length - 3, 3); format = dialog.FileName.Substring(dialog.FileName.Length - 4, 4);

if (tipe == "doc") {

tb_lokasi.Text = dialog.FileName;

}

elseif (tipe == "txt") {

tb_lokasi.Text = dialog.FileName;

}

elseif (format == "docx") {

tb_lokasi.Text = dialog.FileName; }

}

if (tipe == "doc") {

Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();

object filenameO = tb_lokasi.Text.ToString(); object objFalse = false;

object objTrue = true;

object missing = System.Reflection.Missing.Value; object emptyData = string.Empty;

Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(ref filenameO, ref objFalse, ref objTrue, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref objTrue, ref missing, ref missing, ref missing, ref missing);

aDoc.ActiveWindow.Selection.WholeStory(); aDoc.ActiveWindow.Selection.Copy();

IDataObject data = Clipboard.GetDataObject();

String fileText = data.GetData(DataFormats.Text).ToString(); Clipboard.SetDataObject(string.Empty);

rtb_plaintext.Text = fileText;

int baca = rtb_plaintext.Text.Length; string pjg = baca.ToString();

(12)

}

elseif (format == "docx") {

Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();

object filenameO = tb_lokasi.Text.ToString(); object objFalse = false;

object objTrue = true;

object missing = System.Reflection.Missing.Value; object emptyData = string.Empty;

Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(ref filenameO, ref objFalse, ref objTrue, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref objTrue, ref missing, ref missing, ref missing, ref missing);

aDoc.ActiveWindow.Selection.WholeStory(); aDoc.ActiveWindow.Selection.Copy();

IDataObject data = Clipboard.GetDataObject();

String fileText = data.GetData(DataFormats.Text).ToString(); Clipboard.SetDataObject(string.Empty);

rtb_plaintext.Text = fileText;

int baca = rtb_plaintext.Text.Length; string pjg = baca.ToString();

tb_panjangkarakter.Text = pjg; }

elseif (tipe == "txt") {

string fileText = File.ReadAllText(dialog.FileName); rtb_plaintext.Text = fileText;

int baca = rtb_plaintext.Text.Length; string pjg = baca.ToString();

tb_panjangkarakter.Text = pjg; }

}

//menyimpan ciphertext

voidSimpancipherClick(object sender, EventArgs e) {

SaveFileDialog simpanciphertext = newSaveFileDialog(); simpanciphertext.Filter = "Ciphertext(*.mahadi) |*.mahadi"; simpanciphertext.FileName = ".mahadi";

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

string namafile = simpanciphertext.FileName.Substring(0, simpanciphertext.FileName.Length - 7) + "a.dat";

FileStream fstreamm

(13)

StreamWriter sww = newStreamWriter(fstreamm); SeekOrigin seekoriginn = newSeekOrigin();

sww.BaseStream.Seek(0, seekoriginn); sww.WriteLine(rtb_ciphertext.Text); sww.Flush();

sww.Close(); }

}

//reset pada enkripsi

voidButton10Click(object sender, EventArgs e) {

rtb_plaintext.Text = ""; tb_kuncisimetris.Text = ""; rtb_ciphertext.Text = ""; tb_kuncienkripsi.Text = ""; tb_cipherkey.Text = ""; tb_publickey.Text = ""; tb_lokasi.Text = "";

tb_panjangkarakter.Text = ""; tb_runningteks.Text = ""; tb_runningtimekunci.Text = ""; }

stringtext;

voidButton15Click(object sender, EventArgs e) {

OpenFileDialog bukaciphertext = newOpenFileDialog(); bukaciphertext.Filter = "Ciphertext(*.mahadi)|*.mahadi"; if (bukaciphertext.ShowDialog() == DialogResult.OK) { string nama = bukaciphertext.FileName.Substring(0, bukaciphertext.FileName.Length);

FileStream fstreamm = newFileStream(nama, FileMode.Open, FileAccess.ReadWrite);

StreamReader sreader = newStreamReader(fstreamm); sreader.BaseStream.Seek(0, SeekOrigin.Begin);

text = sreader.ReadToEnd(); sreader.Close();

rtb_cipher.Text = text;

int baca = rtb_cipher.Text.Length; string jumlah = baca.ToString(); tb_panjang.Text = jumlah;

tb_tempat.Text = bukaciphertext.FileName; }

}

(14)

tb_cipherkeydek.Text =""; tb_privatekey.Text =""; tb_kuncisimetrisdek.Text =""; tb_tempat.Text = "";

tb_panjang.Text = ""; tb_rtteks.Text = "";

tb_runningtimedek.Text = ""; rtb_cipher.Text = "";

tb_kunci.Text = ""; rtb_plain.Text = ""; }

voidButton17Click(object sender, EventArgs e) {

SaveFileDialog simpanpesan = newSaveFileDialog(); simpanpesan.Filter = "FileAsli(*.doc) |*.doc"; simpanpesan.FileName = ".doc";

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

string namafile = simpanpesan.FileName.Substring(0, simpanpesan.FileName.Length - 4) + "a.dat";

FileStream fstreamm

= newFileStream(simpanpesan.FileName,FileMode.OpenOrCreate); StreamWriter sww = newStreamWriter(fstreamm);

SeekOrigin seekoriginn = newSeekOrigin(); sww.BaseStream.Seek(0, seekoriginn); sww.WriteLine(rtb_plain.Text); sww.Flush();

sww.Close(); }

}

voidLanjutClick(object sender, EventArgs e) {

}

voidTb_lokasiTextChanged(object sender, EventArgs e) {

}

voidTb_runningteksTextChanged(object sender, EventArgs e) {

}

//---// }

(15)

LAMPIRAN 2

CURRICULUM VITAE

DATA DIRI

Nama Lengkap

: Mahadi Putra

Nama Panggilan

: Mahadi

Tempat/Tanggal Lahir

: Binjai/29 Juni 1995

Jenis Kelamin

: Laki-laki

Agama

: Islam

Kebangsaan

: Indonesia

Alamat

: Jl. Perintis Kemerdekaan XVI No. 2A,

Binjai, Sumatera Utara

Nomor HP

: +6281214672554

E-mail

: [email protected]

RIWAYAT PENDIDIKAN

S1 Ilmu Komputer

Universitas Sumatera Utara, Medan

131401057

Sekolah Menengah Atas

MAN BINJAI

2010-2013

Sekolah Menengah Pertama

MTsN BINJAI

2007-2010

Sekolah Dasar

(16)

No.

Nama Seminar/Kursus/Workshop

Tahun

1

Workshop IT : GIT Repository

2017

2

Global Inspiring Seminar of Indonesia Next Program 2016

2016

3

Seminar Nasional Literasi Indormasi (SENARAI)

2014

4

Seminar What Will You Be

2013

5

Pelatihan Dasar Organisasi IMILKOM

2015

6

Kursus Bahasa Inggris Oxford

2003

7

Bimbingan Belajar Ganesha Operation

2010

Bahasa Pemrograman

: C++, C#, HTML

DMBS

: MySQL

Software

:Office Application, Photoshop

PENGALAMAN ORGANISASI

No Organisasi Posisi Tahun

1 IMILKOM USU Ketua Umum 2016-sekarang

2 IMILKOM USU Anggota Dana dan Usaha 2015-2016

3 Porseni IMILKOM 2015 Koordinator Humas 2015

4 Ilmu Komputer Goes To School

2014 Ketua 2014

5 Paskibra Anggota 2010-2012

6 Pramuka Anggota 2011-2013

7 CISC Binjai Bendahara 2016-sekarang

SEMINAR/KURSUS/WORKSHOP

Referensi

Dokumen terkait

yaitu lemahnya pengamanan data serta lambatnya proses enkripsi dekripsi maka diperlukan penelitian dengan menggabungkan algoritma Vigenere Cipher salah contoh

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

Implementasi Kombinasi Algoritma Vigenere Dan Algoritma Data Encryption Standard (Des) Pada Aplikasi Short Message Service (Sms) Berbasis Windows Phone..

Dalam jurnal ini, dapat disimpulkan bahwa proses dekripsi menggunakan algoritma RSA-CRT untuk 1800. karakter dengan bit n dari 56 bit samapai 88 bit memiliki kecepatan

Pada penelitian ini akan dilakukan enkripsi- dekripsi citra dengan Algoritma Affine Cipher dan enkripsi-dekripsi kunci dengan Algoritma RSA-CRT, parameter yang akan di

Algoritma Affine Cipher digunakan untuk mengamankan file citra dan Algoritma RSA-CRT digunakan untuk mengamankan kunci dari citra yang telah dienkripsi..

Gambar 4.6 Tampilan Penyimpanan Kunci Privat RSA-CRT 49 Gambar 4.7 Tampilan Penyimpanan Kunci Publik RSA-CRT 49 Gambar 4.8 Tampilan akhir penyimpanan kunci pada halaman

dihancurkan. Panjang kunci One Time Pad – panjang teks asli sehingga tidak ada kebutuhan untuk menggulang penggunaan kunci selama proses enkripsi.. Aturan enkripsi