-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvigenere.py
60 lines (47 loc) · 1.5 KB
/
vigenere.py
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#python challenge
#vigenere cipher
#rahadian arya
from string import ascii_lowercase
import itertools
import numpy as np
key = "cipher"
keytoarray = key.split()
input = raw_input('Enter the lowercase word (without space) : ')
inputarray = input.split(" ")
alpatoarray = map(chr, range(97, 123))
numtoarray = map(int,range(0,26))
alpaarray = np.array(alpatoarray)
x = [1,5,7]
out = alpaarray[x]
index = alpatoarray.index("b")
for i in alpatoarray:
x = alpatoarray.index(i)
print i," =",x
for a in numtoarray:
x = alpatoarray[a]
print a," =",x
print "\r"
print "Arithmetic Substitution"
for (z,k) in zip(input,itertools.cycle(key)):
hasil = alpatoarray.index(z)+alpatoarray.index(k)
# hasilarray = hasil.split("\r")
if hasil >= 26:
hasil = alpatoarray.index(z)+alpatoarray.index(k)-26
print z,'=',alpatoarray.index(z),"+",k,'=',alpatoarray.index(k),'=',hasil
print "\r"
for (m,n) in zip(input,itertools.cycle(key)):
hasil = alpatoarray.index(m)+alpatoarray.index(n)
if hasil >= 26:
hasil = alpatoarray.index(m)+alpatoarray.index(n)-26
hasilarray = np.asarray(hasil)
print hasilarray,'=',alpatoarray[hasilarray]
print "\r"
print "Chipertext ",
print "\r"
for (m,n) in zip(input,itertools.cycle(key)):
hasil = alpatoarray.index(m)+alpatoarray.index(n)
if hasil >= 26:
hasil = alpatoarray.index(m)+alpatoarray.index(n)-26
hasilarray = np.asarray(hasil)
strhasil = str(alpatoarray[hasilarray])
print strhasil.rstrip(),