Exemplo n.º 1
0
for fn in fs:
	f = open(inpath+fn)
	text = f.read()
	f.close()

	text = ciphers.str_to_arr(text)
	outname = outpath+fn

	# Shift, n = 1
	encoded = ciphers.arr_to_str(ciphers.shift_encode(text, 1))
	fout = open(outname+'_shift_1.in', mode='w+')
	fout.write(encoded)
	fout.close()
	
	# Affine, a = 3, b = 4
	encoded = ciphers.arr_to_str(ciphers.affine_encode(text,3,4))
	fout = open(outname+'_affine_1.in', mode='w+')
	fout.write(encoded)
	fout.close()

	# Vigenere length known & unknown, key = apple
	key = ciphers.str_to_arr('apple')
	encoded = ciphers.arr_to_str(ciphers.vigenere_encode(text, key))
	fout = open(outname+'_vig5_1.in', mode='w+')
	fout.write(encoded)
	fout.close()
	
	fout = open(outname+'_viggen_1.in', mode='w+')
	fout.write(encoded)
	fout.close()
 def test_bad_alpha_4(self):
     try:
         ciphers.affine_encode("affine", -5, 17)
         self.assertTrue(False)
     except:
         self.assertTrue(True)
Exemplo n.º 3
0
import sys
from ciphers import arr_to_str, str_to_arr, affine_encode, affine_decode, encode

v = sys.stdin.read().upper()
i = v.index('\n')
[a,b] = v[:i].split(' ')
a = int(a)
b = int(b)
message = str_to_arr(v[i+1:-1])

encoded = arr_to_str(affine_encode(message, a, b))
print encoded
decoded = arr_to_str(encode(str_to_arr(encoded), 1, affine_decode(str_to_arr(encoded))))
message = arr_to_str(message)
if message == decoded:
    print "TRUE: 100% MATCH"
else:
    matches = 0
    total = 0
    for i in range(len(encoded)):
        if "ABCDEFGHIJKLMNOPQRSTUVWXYZ".count(message[i]) == 1:
            if message[i] == decoded[i]:
                matches += 1
            total += 1
    print "FAlSE: " + str(float(matches)/total * 100) + "% MATCH"
#print decoded
 
 def test_simple_shift_right(self):
     self.assertEqual("uftunfpvu", ciphers.affine_encode("Test me OUT!", 1, 1))
 def test_encrypt(self):
     self.assertEqual("cvvwpm", ciphers.affine_encode("affine", 9, 2))
 def test_simple_shift_left(self):
     self.assertEqual("sdrsldnts", ciphers.affine_encode("Test me OUT!", 1, -1))
 def test_no_shift(self):
     self.assertEqual("testmeoutsomejunkhere", ciphers.affine_encode("Test ME ouT! @# SOME 900 junkHere ... ()", 1, 0))
 def test_bad_text(self):
     try:
         ciphers.affine_encode("@#$%   .(", 9, 2)
         self.assertTrue(False)
     except:
         self.assertTrue(True)
 def test_empty_text(self):
     try:
         ciphers.affine_encode("", 9, 2)
         self.assertTrue(False)
     except:
         self.assertTrue(True)
Exemplo n.º 10
0
for fn in fs:
    f = open(inpath + fn)
    text = f.read()
    f.close()

    text = ciphers.str_to_arr(text)
    outname = outpath + fn

    # Shift, n = 1
    encoded = ciphers.arr_to_str(ciphers.shift_encode(text, 1))
    fout = open(outname + '_shift_1.in', mode='w+')
    fout.write(encoded)
    fout.close()

    # Affine, a = 3, b = 4
    encoded = ciphers.arr_to_str(ciphers.affine_encode(text, 3, 4))
    fout = open(outname + '_affine_1.in', mode='w+')
    fout.write(encoded)
    fout.close()

    # Vigenere length known & unknown, key = apple
    key = ciphers.str_to_arr('apple')
    encoded = ciphers.arr_to_str(ciphers.vigenere_encode(text, key))
    fout = open(outname + '_vig5_1.in', mode='w+')
    fout.write(encoded)
    fout.close()

    fout = open(outname + '_viggen_1.in', mode='w+')
    fout.write(encoded)
    fout.close()