int pk=kunci.Length;
string cipher=; cekpanjangkuncidgnplain
kunciotp= ;
ifpkpanjangplain{
contohkunci=abc plain:farid
kunciotp=abc kunciotp +=kunci;
string tempplain=Regex.Replaceplain, \s+, ; int pjgtempplain=tempplain.Length;
forint i = 0; ipanjangplain-pjgtempplain;i++{
kunciotp=abcfa
tempplain+= chartempplain[i];
} MessageBox.Showtempplain;
proses menyamakan kunci == plain perulangan sesuai kurangnya kunci
forint i = 0; ipanjangplain-pk;i++{
kunciotp=abcfa
kunciotp+= chartempplain[i];
}
}else{
kunciotp = kunci; }
DateTime startTime = DateTime.Now;
MessageBox.Showpanjang karakter : +panjangplain.ToString;
algoritma otp
forint i=0; ipanjangplain;i++{ cipher+=char plain[i] + kunciotp[i];
}
2.4. Program Enkripsi Kunci Pesan
Universitas Sumatera Utara
void Button1EnkripkeyClickobject sender, EventArgs e {
cek kunci ifstring.IsNullOrWhiteSpacetextBoxkeyRabin.Text{
MessageBox.ShowKunci publik belum ada., Kesalahan Enkripsi, MessageBoxButtons.OK,
MessageBoxIcon.Error; }
cek plain else ifstring.IsNullOrEmptytextBox1keyotp.Text{
MessageBox.ShowTidak ada pesan plaintext yang terdeteksi., Kesalahan Enkripsi, MessageBoxButtons.OK,
MessageBoxIcon.Error; }
else{ jika ada
string cipherText = runPythonEnkripsi; }
textBox1cipherkey.Copy; public string runPythonEnkripsi{
string hasil; string hasil2;
ambil kunci int n = int.ParsetextBoxkeyRabin.Text;
ambil pesan string plaintext =kunciotp;
ambil pnjang kunci int pjgPlaintext = kunciotp.Length;
string pltxt1 = plaintext.Replace\,\\\; int temporary = 0;
ProcessStartInfo p = new ProcessStartInfo; p.FileName = c:\\Python33\\python.exe;
p.RedirectStandardOutput = true; p.UseShellExecute = false; make sure we can read the
output from stdout
p.Arguments = c:\\skrip\\gate.py + enkripsi + n + + temporary + \ + pltxt1 + \ x;
try{ usingProcess exeProc = Process.Startp{
StreamReader s = exeProc.StandardOutput; String output = s.ReadToEnd;
string r = output; get the parameter hasil = r.ToString;
hasil2 = hasil.Replace ,,; hasil2 = hasil2.Removehasil2.Length-1,1;
Universitas Sumatera Utara
string elapsedTime = hasil2.Split,.Last; hasil2 = hasil2.Removehasil2.Length -
elapsedTime.Length, elapsedTime.Length; hasil2 = hasil2.Removehasil2.Length-1,1;
ifhasil2 == False{ MessageBox.ShowKunci publik tidak memenuhi syarat.,
Kesalahan Melakukan Enkripsi, MessageBoxButtons.OK, MessageBoxIcon.Error;
hasil2 = ;
} else{
textBox1cipherkey.Text = hasil2.ToString; Untuk menampilkan ASCII
try{ string kode = textBox1cipherkey.Text.ToString;
Liststring listHasilSplit = new Liststringkode.Split,;
ListInt32 ci = listHasilSplit.ConvertAllx = Convert.ToInt32x;
Listchar liChar = new Listcharci.ConvertAllx = Convert.ToCharx;
string charToString = string.Join, liChar.ToArray; kode = charToString;
} catch{
} End Tampil ASCII
MessageBox.ShowBerhasil melakukan enkripsi + elapsedTime + detik, Informasi, MessageBoxButtons.OK,
MessageBoxIcon.Information; }
}
2.5. Program dekripsi Kunci Pesan