ip = input("Enter
the keyword: ")
ip2 = input("Enter Your message: ") ip = list(ip) ip2 = list(ip2) keyword = [] for x in ip: if x not in keyword: keyword.extend(x) key_list = [chr(x) for x in range(97, 97+26) if chr(x) not in keyword] key_list = keyword + key_list key_list = [x.upper() for x in key_list] key_list.remove('J') ip2 = [x.upper() for x in ip2] for n, i in enumerate(ip2): if i == 'J': ip2[n] = 'I' if len(ip2) % 2 != 0: ip2.extend('X') n = 0 message = [] while n < len(ip2)-1: if ip2[n] == ip2[n+1]: message.extend(ip2[n]) message.extend('X') message.extend(ip2[n+1]) message.extend('X') else: message.extend(ip2[n]) message.extend(ip2[n+1]) n += 2 # print(message) n = 0 matrix = {} for i in range(1, 6): for j in range(1, 6): matrix[key_list[n]] = [i, j] n += 1 # print(matrix) n = 0 output = [] while n <= len(message)-1: a = matrix[message[n]] b = matrix[message[n+1]] if a[0] == b[0]: a[0] += 1 b[0] += 1 if a[1] == b[1]: a[1] += 1 b[1] += 1 if a[0] > 5: a[0] = 1 if a[1] > 5: a[1] = 1 if b[0] > 5: b[0] = 1 if b[1] > 5: b[1] = 1 if a[0] == b[0] or a[1] == b[1]: output.append([a[0], b[1]]) output.append([a[1], b[0]]) if a[0] != b[0] and a[1] != b[1]: output.append([a[0], b[1]]) output.append([a[1], b[0]]) n += 2 k = list(matrix.keys()) v = list(matrix.values()) cipher_text = "" for i in output: cipher_text += k[v.index(i)] print("The Encrypted text is: ", cipher_text) ''' Output: codept@codept-04 ~/Desktop/exp2 $ python3 playfair.py Enter the keyword: keyword Enter Your message: playfair The Encrypted text is: SHBMIEFN '''
No comments:
Post a Comment