Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def binary_to_ascii(binary_message):
- ascii_list = list()
- for byte in binary_message:
- byte = byte[::-1]
- acc = 0
- for i in range(len(byte)):
- acc += int(byte[i])*(2**i)
- ascii_list.append(acc)
- return ascii_list
- def caesar(ascii_list, key):
- s = ""
- for e in ascii_list:
- key = int(key)
- val = (e - key)
- if val < 0:
- val = 100 + ((e - key) % 26)
- if val > ord("z"):
- val -= 26
- s = s + chr(val)
- return s
- def vig(ascii_list, key):
- s = ""
- for i in range(len(ascii_list)):
- index = i % len(key)
- e = ascii_list[i]
- #print(i, key[index])
- val = e - ord(key[index])
- s = s + chr(val)
- return s
- def start(file_name):
- lines = open(file_name).read().splitlines()
- for line in lines:
- element_list = line.split(":")
- algorithm = element_list[0]
- key = element_list[1]
- message = element_list[2]
- letter_list = message.split(" ")
- ascii_list = binary_to_ascii(letter_list)
- if algorithm == "caesar":
- print(caesar(ascii_list, int(key)))
- else:
- print(vig(ascii_list, key))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement