Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

Affine Cipher 1

Project: Math 201
Views: 218
chr(65)
'A'
for a in [0..25]: a,chr(a+65)
(0, 'A') (1, 'B') (2, 'C') (3, 'D') (4, 'E') (5, 'F') (6, 'G') (7, 'H') (8, 'I') (9, 'J') (10, 'K') (11, 'L') (12, 'M') (13, 'N') (14, 'O') (15, 'P') (16, 'Q') (17, 'R') (18, 'S') (19, 'T') (20, 'U') (21, 'V') (22, 'W') (23, 'X') (24, 'Y') (25, 'Z')
f(x)=3*x+10
ord('M')-65 f(12) mod(f(12),26) chr(20+65)
12 46 20 'U'
Word=['M','A','T','H'] Scrambled=[] for i in Word: x=ord(i)-65 y=mod(f(x),26) n=int(y) Scrambled.append(chr(n+65)) Scrambled
['U', 'K', 'P', 'F']
g(x)=9*x + 14
Word=[] for i in Scrambled: x=ord(i)-65 y=mod(g(x),26) n=int(y) Word.append(chr(n+65)) Word
['M', 'A', 'T', 'H']
Word=['M','A','T','H'] Scrambled=[] print "Letter Number Output Letter" for i in Word: x=ord(i)-65 y=mod(f(x),26) n=int(y) Scrambled.append(chr(n+65)) print i, "\t", x, "\t", y , "\t",chr(n+65) Scrambled
Letter Number Output Letter M 12 20 U A 0 10 K T 19 15 P H 7 5 F ['U', 'K', 'P', 'F']
xgcd(19,17*18)
(1, 145, -9)