0% found this document useful (0 votes)
28 views17 pages

بوساحلا تاينقت ةسدنه security caser,playfair تابساح تلااصتا/عبار

The document discusses computer engineering techniques and encryption methods like Caesar cipher and Playfair cipher. It provides code samples in C# for encrypting and decrypting text using Caesar cipher and Playfair cipher algorithms. The Caesar cipher code encrypts and decrypts by shifting each letter by a key value. The Playfair cipher code encrypts text by finding the letters in a 5x5 matrix and outputting the letters in the same row/column based on encryption rules.

Uploaded by

Mohamd barca
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views17 pages

بوساحلا تاينقت ةسدنه security caser,playfair تابساح تلااصتا/عبار

The document discusses computer engineering techniques and encryption methods like Caesar cipher and Playfair cipher. It provides code samples in C# for encrypting and decrypting text using Caesar cipher and Playfair cipher algorithms. The Caesar cipher code encrypts and decrypts by shifting each letter by a key value. The Playfair cipher code encrypts text by finding the letters in a 5x5 matrix and outputting the letters in the same row/column based on encryption rules.

Uploaded by

Mohamd barca
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

‫هندسة تقنيات الحاسوب‬

‫‪security‬‬
‫‪caser,playfair‬‬
‫حاسبات‬
‫رابع‪/‬اتصاالت‬

‫زيد محمد شيت‬


Caeser:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace caeser_enc
{
class encr //ceaser encryption
{
public string x;
public int z, m;
public void en()
{
Console.WriteLine("enter the key");
m = Convert.ToInt16(Console.ReadLine());
while (x != "3")
{
Console.WriteLine("enter plaintext");
x = Console.ReadLine();
Console.WriteLine("ciphertext is");
foreach (char c in x)
{
if (c == 32) { Console.Write("1"); }
else if (c == 90)
{
z = (m + c) - 26;
string y = (Convert.ToChar(z)).ToString();
Console.Write(y);
}
else if (c == 122)
{
z = (m + c) - 26;
string y = (Convert.ToChar(z)).ToString();
Console.Write(y);
}
else
{
z = m + c;
string y = (Convert.ToChar(z)).ToString();
Console.Write(y);
}}
Console.WriteLine("\n");}}}
class decr //ceaser dencryption
{
public string x, y;
public int z, m;
public void dec()
{
Console.WriteLine("enter the key");
m = Convert.ToInt16(Console.ReadLine());
while (x != "3")
{
Console.WriteLine("enter ciphertext");
x = Console.ReadLine();
Console.WriteLine("plaintext is");
foreach (char c in x)
{
if (c == 49) { Console.Write(" "); }
else if (c == 65)
{
z = (c - m) + 26;
string y = (Convert.ToChar(z)).ToString();
Console.Write(y);
}
else if (c == 97)
{
z = (c - m) + 26;
string y = (Convert.ToChar(z)).ToString();
Console.Write(y);
}
else
{
z = c - m;
string y = (Convert.ToChar(z)).ToString();
Console.Write(y);
}}
Console.WriteLine("\n");}}}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("to encription 1");
Console.WriteLine("to decription 2");
Console.WriteLine("for end program press 3");
int f = Convert.ToInt16(Console.ReadLine());
if (f == 1)
{
encr t = new encr();
t.en();
}
else if (f == 2)
{
decr g = new decr();
g.dec();}}}}
Encryption:

Decryption:
Playfair:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication8
{
class playfairenc
{
public int i = 0, x = 0, j = 0, k, k1;
public string mplain, ptext, x1;
public void enc()
{
mplain = "kgylopnuabcdefhimqrstvwxz";
string[] a = mplain.Select(c => c.ToString()).ToArray();
for (i = 0; i < mplain.Length; i++)
{
x++;
a[i] = mplain[i].ToString();
Console.Write(a[i]);
Console.Write(" ");
if (x == 5) { Console.WriteLine(); x = 0; }
}
while (x1 != "3")
{
Console.WriteLine("enter plain text");
ptext = Console.ReadLine().ToLower();
for (int i = 0; i < ptext.Length; i += 2)
{
if (((i + 1) < ptext.Length) && (ptext[i] == ptext[i + 1]))
{
ptext = ptext.Insert(i + 1, "x");
}
}
if ((ptext.Length % 2) > 0)
{
ptext += "x";
} Console.WriteLine("check 2 char");
Console.WriteLine(ptext);

string[] ptext1 = ptext.Select(c => c.ToString()).ToArray();


j = 0;
Console.WriteLine("cipher is");
do
{
for (i = 0; i < a.Length; i++)
{
if (a[i] == ptext1[j])
{
k = i;
}
}
for (i = 0; i < a.Length; i++)
{
if (a[i] == ptext1[j + 1])
{
k1 = i;
}}
//check row
if ((k < 5) && (k1 < 5)) //firts row
{
if (k < 4)
{ Console.Write(a[k + 1]); }
if (k1 < 4)
{
Console.Write(a[k1 + 1]);
}
else if (k == 4) { Console.Write(a[0]); }
else if (k1 == 4) { Console.Write(a[0]); }
}
else if (((k < 10) && (k1 < 10)) && ((k >= 5) && (k1 >= 5)))
//2nd row
{
if (k < 9)
{ Console.Write(a[k + 1]); }
if (k1 < 9)
{
Console.Write(a[k1 + 1]);
}
else if (k == 9) { Console.Write(a[5]); }
else if (k1 == 9) { Console.Write(a[5]); }
}
else if (((k < 15) && (k1 < 15)) && ((k >= 10) && (k1 >= 10)))
//3rd row
{
if (k < 14)
{ Console.Write(a[k + 1]); }
if (k1 < 14)
{
Console.Write(a[k1 + 1]);
}
else if (k == 14) { Console.Write(a[10]); }
else if (k1 == 14) { Console.Write(a[10]); }
}
else if (((k < 20) && (k1 < 20)) && ((k >= 15) && (k1 >= 15)))
//4th row
{
if (k < 19)
{ Console.Write(a[k + 1]); }
if (k1 < 19)
{
Console.Write(a[k1 + 1]);
}
else if (k == 19) { Console.Write(a[15]); }
else if (k1 == 19) { Console.Write(a[15]); }
}
else if (((k < 25) && (k1 < 25)) && ((k >= 20) && (k1 >= 20)))
//5th row
{
if (k < 24)
{ Console.Write(a[k + 1]); }
if (k1 < 24)
{
Console.Write(a[k1 + 1]);
}
else if (k == 24) { Console.Write(a[20]); }
else if (k1 == 24) { Console.Write(a[20]); }
}
//check col
if ((k % 5 == 0) && (k1 % 5 == 0)) //1st coloumn
{
if (k + 5 < 21)
{ Console.Write(a[k + 5]); }
else { Console.Write(a[0]); }
if (k1 + 5 < 21)
{ Console.Write(a[k1 + 5]); }
else { Console.Write(a[0]); }
}
else if (((k + 4) % 5 == 0) && ((k1 + 4) % 5 == 0))//2nd
coloumn
{
if ((k + 5) < 22)
{ Console.Write(a[k + 5]); }
else { Console.Write(a[1]); }
if ((k1 + 5) < 22)
{ Console.Write(a[k1 + 5]); }
else { Console.Write(a[1]); }
}

else if (((k + 3) % 5 == 0) && ((k1 + 3) % 5 == 0))


//3rd coloumn
{
if ((k + 5) < 23)
{ Console.Write(a[k + 5]); }
else { Console.Write(a[2]); }
if ((k1 + 5) < 23)
{ Console.Write(a[k1 + 5]); }
else { Console.Write(a[2]); }
}

else if (((k + 2) % 5 == 0) && ((k1 + 2) % 5 == 0))


//4th coloumn
{
if ((k + 5) < 24)
{ Console.Write(a[k + 5]); }
else { Console.Write(a[3]); }
if ((k1 + 5) < 24)
{ Console.Write(a[k1 + 5]); }
else { Console.Write(a[3]); }
}
else if (((k + 1) % 5 == 0) && ((k1 + 1) % 5 == 0))//5th
coloumn
{
if ((k + 5) < 25)
{ Console.Write(a[k + 5]); }
else { Console.Write(a[4]); }
if ((k1 + 5) < 25)
{ Console.Write(a[k1 + 5]); }
else { Console.Write(a[4]); }
}
//if row!=row & col!=col
else if (k < 5)
{
if ((k1 < 10) && (k1 > 4))
{
Console.Write(a[k + 5]);
Console.Write(a[k1 - 5]);
}
if ((k1 < 15) && (k1 > 9))
{
Console.Write(a[k + 10]);
Console.Write(a[k1 - 10]);
}
if ((k1 < 20) && (k1 > 14))
{
Console.Write(a[k + 15]);
Console.Write(a[k1 - 15]);
}
if ((k1 < 25) && (k1 > 19))
{
Console.Write(a[k + 20]);
Console.Write(a[k1 - 20]);
}
}
else if (k1 < 5)
{
if ((k < 10) && (k > 4))
{
Console.Write(a[k - 5]);
Console.Write(a[k1 + 5]);
}
if ((k < 15) && (k > 9))
{
Console.Write(a[k - 10]);
Console.Write(a[k1 + 10]);
}
if ((k < 20) && (k > 14))
{
Console.Write(a[k - 15]);
Console.Write(a[k1 + 15]);
}
if ((k < 25) && (k > 19))
{
Console.Write(a[k - 20]);
Console.Write(a[k1 + 20]);
}
}
else if ((k < 10) && (k > 4))
{

if ((k1 < 15) && (k1 > 9))


{
Console.Write(a[k + 5]);
Console.Write(a[k1 - 5]);
}
if ((k1 < 20) && (k1 > 14))
{
Console.Write(a[k + 10]);
Console.Write(a[k1 - 10]);
}
if ((k1 < 25) && (k1 > 19))
{
Console.Write(a[k + 15]);
Console.Write(a[k1 - 15]);
}
}
else if ((k1 < 10) && (k1 > 4))
{

if ((k < 15) && (k > 9))


{
Console.Write(a[k - 5]);
Console.Write(a[k1 + 5]);
}
if ((k < 20) && (k > 14))
{
Console.Write(a[k - 10]);
Console.Write(a[k1 + 10]);
}
if ((k < 25) && (k > 19))
{
Console.Write(a[k - 15]);
Console.Write(a[k1 + 15]);
}
}
else if ((k < 15) && (k > 9))
{
if ((k1 < 20) && (k1 > 14))
{
Console.Write(a[k + 5]);
Console.Write(a[k1 - 5]);
}
if ((k1 < 25) && (k1 > 19))
{
Console.Write(a[k + 10]);
Console.Write(a[k1 - 10]);
}
}
else if ((k1 < 15) && (k1 > 9))
{
if ((k < 20) && (k > 14))
{
Console.Write(a[k - 5]);
Console.Write(a[k1 + 5]);
}
if ((k < 25) && (k > 19))
{
Console.Write(a[k - 10]);
Console.Write(a[k1 + 10]);
}
}
else if ((k < 20) && (k > 14))
{
if ((k1 < 25) && (k1 > 19))
{
Console.Write(a[k + 5]);
Console.Write(a[k1 - 5]);
}
}
else if ((k1 < 20) && (k1 > 14))
{
if ((k < 25) && (k > 19))
{
Console.Write(a[k - 5]);
Console.Write(a[k1 + 5]);}}
j = j + 2;
} while (j < ptext.Length);
Console.WriteLine();
}}}
class playfairdec
{
public int i = 0, x = 0, j = 0, k, k1;
public string mplain, ptext, x1;
public void dec()
{
mplain = "kgylopnuabcdefhimqrstvwxz";
string[] a = mplain.Select(c => c.ToString()).ToArray();
for (i = 0; i < mplain.Length; i++)
{
x++;
a[i] = mplain[i].ToString();
Console.Write(a[i]);
Console.Write(" ");
if (x == 5) { Console.WriteLine(); x = 0; }
}
while (x1 != "3")
{
Console.WriteLine("enter cipher text");
ptext = Console.ReadLine().ToLower();
for (int i = 0; i < ptext.Length; i += 2)
{
if (((i + 1) < ptext.Length) && (ptext[i] == ptext[i + 1]))
{
ptext = ptext.Insert(i + 1, "x");}}
if ((ptext.Length % 2) > 0)
{
ptext += "x";
} Console.WriteLine("check 2 char");
Console.WriteLine(ptext);

string[] ptext1 = ptext.Select(c => c.ToString()).ToArray();


j = 0;
Console.WriteLine("plaintext is");
do
{
for (i = 0; i < a.Length; i++)
{
if (a[i] == ptext1[j])
{
k = i;}}
for (i = 0; i < a.Length; i++)
{
if (a[i] == ptext1[j + 1])
{
k1 = i;}}
//check row
if ((k < 5) && (k1 < 5)) //firts row
{
if (k >= 4)
{ Console.Write(a[k - 1]); }
if (k1 >= 4)
{
Console.Write(a[k1 - 1]);
}
else if (k == 0) { Console.Write(a[4]); }
else if (k1 == 0) { Console.Write(a[4]); }
}
else if (((k < 10) && (k1 < 10)) && ((k >= 5) && (k1 >= 5)))
//2nd row
{
if (k >= 9)
{ Console.Write(a[k - 1]); }
else if (k == 5) { Console.Write(a[9]); }
if (k1 >= 9)
{
Console.Write(a[k1 - 1]);
}
else if (k1 == 5) { Console.Write(a[9]); }
}
else if (((k < 15) && (k1 < 15)) && ((k >= 10) && (k1 >= 10)))
//3rd row
{
if (k >= 14)
{ Console.Write(a[k - 1]); }
if (k1 >= 14)
{
Console.Write(a[k1 - 1]);
}
else if (k == 10) { Console.Write(a[14]); }
else if (k1 == 10) { Console.Write(a[14]); }
}
else if (((k < 20) && (k1 < 20)) && ((k >= 15) && (k1 >= 15)))
//4th row
{
if (k >= 19)
{ Console.Write(a[k - 1]); }
if (k1 >= 19)
{
Console.Write(a[k1 - 1]);
}
else if (k == 15) { Console.Write(a[19]); }
else if (k1 == 15) { Console.Write(a[19]); }
}
else if (((k < 25) && (k1 < 25)) && ((k >= 20) && (k1 >= 20)))
//5th row
{
if (k >= 24)
{ Console.Write(a[k - 1]); }
if (k1 >= 24)
{
Console.Write(a[k1 - 1]);
}
else if (k == 20) { Console.Write(a[24]); }
else if (k1 == 20) { Console.Write(a[24]); }
}
//check col
if ((k % 5 == 0) && (k1 % 5 == 0)) //1st coloumn
{
if ((k - 5) >= 0)
{ Console.Write(a[k - 5]); }
else { Console.Write(a[20]); }

if ((k1 - 5) >= 0)
{ Console.Write(a[k1 - 5]); }
else { Console.Write(a[20]); }
}
else if (((k + 4) % 5 == 0) && ((k1 + 4) % 5 == 0))//2nd
coloumn
{
if ((k - 5) >= 1)
{ Console.Write(a[k - 5]); }
else { Console.Write(a[21]); }
if ((k1 - 5) >= 1)
{ Console.Write(a[k1 - 5]); }
else { Console.Write(a[21]); }
}
else if (((k + 3) % 5 == 0) && ((k1 + 3) % 5 == 0))
//3rd coloumn
{
if ((k - 5) >= 2)
{ Console.Write(a[k - 5]); }
else { Console.Write(a[22]); }
if ((k1 - 5) >= 2)
{ Console.Write(a[k1 - 5]); }
else { Console.Write(a[22]); }
}
else if (((k + 2) % 5 == 0) && ((k1 + 2) % 5 == 0))
//4th coloumn
{
if ((k - 5) >= 3)
{ Console.Write(a[k - 5]); }
else { Console.Write(a[23]); }
if ((k1 - 5) >= 3)
{ Console.Write(a[k1 - 5]); }
else { Console.Write(a[23]); }
}
else if (((k + 1) % 5 == 0) && ((k1 + 1) % 5 == 0))//5th
coloumn
{
if ((k - 5) >= 4)
{ Console.Write(a[k - 5]); }
else { Console.Write(a[24]); }
if ((k1 - 5) >= 4)
{ Console.Write(a[k1 - 5]); }
else { Console.Write(a[24]); }
}
//if row!=row & col!=col

else if (k < 5)
{
if ((k1 < 10) && (k1 > 4))
{
Console.Write(a[k + 5]);
Console.Write(a[k1 - 5]);
}
if ((k1 < 15) && (k1 > 9))
{
Console.Write(a[k + 10]);
Console.Write(a[k1 - 10]);
}
if ((k1 < 20) && (k1 > 14))
{
Console.Write(a[k + 15]);
Console.Write(a[k1 - 15]);
}
if ((k1 < 25) && (k1 > 19))
{
Console.Write(a[k + 20]);
Console.Write(a[k1 - 20]);
}
}
else if (k1 < 5)
{
if ((k < 10) && (k > 4))
{
Console.Write(a[k - 5]);
Console.Write(a[k1 + 5]);
}
if ((k < 15) && (k > 9))
{
Console.Write(a[k - 10]);
Console.Write(a[k1 + 10]);
}
if ((k < 20) && (k > 14))
{
Console.Write(a[k - 15]);
Console.Write(a[k1 + 15]);
}
if ((k < 25) && (k > 19))
{
Console.Write(a[k - 20]);
Console.Write(a[k1 + 20]);
}
}
else if ((k < 10) && (k > 4))
{

if ((k1 < 15) && (k1 > 9))


{
Console.Write(a[k + 5]);
Console.Write(a[k1 - 5]);
}
if ((k1 < 20) && (k1 > 14))
{
Console.Write(a[k + 10]);
Console.Write(a[k1 - 10]);
}
if ((k1 < 25) && (k1 > 19))
{
Console.Write(a[k + 15]);
Console.Write(a[k1 - 15]);
}
}
else if ((k1 < 10) && (k1 > 4))
{

if ((k < 15) && (k > 9))


{
Console.Write(a[k - 5]);
Console.Write(a[k1 + 5]);
}
if ((k < 20) && (k > 14))
{
Console.Write(a[k - 10]);
Console.Write(a[k1 + 10]);
}
if ((k < 25) && (k > 19))
{
Console.Write(a[k - 15]);
Console.Write(a[k1 + 15]);
}
}
else if ((k < 15) && (k > 9))
{
if ((k1 < 20) && (k1 > 14))
{
Console.Write(a[k + 5]);
Console.Write(a[k1 - 5]);
}
if ((k1 < 25) && (k1 > 19))
{
Console.Write(a[k + 10]);
Console.Write(a[k1 - 10]);
}
}
else if ((k1 < 15) && (k1 > 9))
{
if ((k < 20) && (k > 14))
{
Console.Write(a[k - 5]);
Console.Write(a[k1 + 5]);
}
if ((k < 25) && (k > 19))
{
Console.Write(a[k - 10]);
Console.Write(a[k1 + 10]);}}
else if ((k < 20) && (k > 14))
{
if ((k1 < 25) && (k1 > 19))
{
Console.Write(a[k + 5]);
Console.Write(a[k1 - 5]);}}
else if ((k1 < 20) && (k1 > 14))
{
if ((k < 25) && (k > 19))
{
Console.Write(a[k - 5]);
Console.Write(a[k1 + 5]);}}
j = j + 2;
} while (j < ptext.Length);
Console.WriteLine();}}}
class Program
{static void Main(string[] args)
{
Console.WriteLine("PlayFair algorithm");
Console.WriteLine("1-encryption");
Console.WriteLine("2-decryption");
Console.WriteLine("3-end the program");
int m =Convert .ToInt16 ( Console.ReadLine());
if (m==1){
playfairenc t = new playfairenc();
t.enc();}
else if (m == 2)
{
playfairdec t1 = new playfairdec();
t1.dec();}}}}
Encryption:

Decryption:

You might also like