summaryrefslogtreecommitdiff
path: root/3544/CH2/EX2.25/Ex2_25.sce
blob: 676729f597946069fa1c4fa864bb6081248e8ef7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//Encryption process in Playfair cipher

// Move scilab to current file directory
[u,t,n] = file()
n = strcat(n)
file_name = basename(n)+fileext(n)
file_name = strcat(file_name)
ind=strindex(n,file_name)
path = part(n,1:ind-1)
chdir(path)

exec("Chapter_2.sci",-1)

//Playfair cipher key
key = "PLAYFAIR EXAMPLE"
disp("Original plaintext:")
pt = "MY NAME IS ATUL."
disp(pt)

//Using functions from dependency file to reformat the input

pt = playfair_pt(pt)            // substituting J to I and handling duplicates
pt_digram = digram_array(pt)       // converting to digrams

disp("Plaintext message broken down into pair of elements:")
print_matrix(pt_digram,0)
disp("")
a = ascii('A')

key_matrix = playfair_matrix(key);
// mat contains ascii values of characters of playfair matrix
//Use "disp(mat)" to verify this
disp("Playfair Cipher Key matrix: ")

print_matrix(key_matrix,1)

//disp(pt_matrix)
ct_mat = encrypt_playfair(pt_digram,key_matrix)

disp("Playfair ciphertext:")
print_matrix(ct_mat,0)