def make_vingere(plaintext, keyword): key_numbers = [] plain_numbers = [] cipher_text = "" current_numb = 0 vingere_num = 0 plaintext = plaintext.lower() keyword = keyword.lower() # converts everything to numbers for letter in keyword: if letter in alphabet: x = getletternumber.get_letter_value(letter, alphabet) key_numbers.append(x) else: pass for le in plaintext: x = getletternumber.get_letter_value(le, alphabet) plain_numbers.append(x) # actually does the vingere thingy for values in plain_numbers: try: sum = key_numbers[vingere_num % len(key_numbers)] + plain_numbers[current_numb] cipher_text = cipher_text + alphabet[sum % 26] current_numb += 1 vingere_num += 1 except TypeError: cipher_text = cipher_text + plain_numbers[current_numb] current_numb += 1 # randomly selects whether to have you endcode or decode it x = random.randint(1, 3) if x < 2: print("Decode: " + cipher_text) print("The keyword is " + keyword + ".") return [ "Decode: " + cipher_text + "The keyword is " + keyword, plaintext ] else: print("Encode: " + plaintext) print("The keyword is " + keyword + ".") return [ "Encode: " + plaintext + "The keyword is " + keyword, cipher_text ]
def make_bacon(message): plain_numbers = [] message = message.lower() finalmessage = "" og_num = 0 for le in message: x = getletternumber.get_letter_value(le, alphabet) plain_numbers.append(x) for i in range(0, len(plain_numbers)): try: x = (plain_numbers[i]) * 5 finalmessage = finalmessage + baconcipher[x:x + 5] except TypeError: finalmessage = finalmessage + plain_numbers[i] print(finalmessage) return [finalmessage, message]
def make_shift(message): shift = random.randint(1, 25) new_alphabet = "" ciphertext = "" message = message.lower() for letter in alphabet: new_alphabet = new_alphabet + alphabet[shift % 26] shift += 1 for le in message: x = getletternumber.get_letter_value(le, alphabet) try: ciphertext = ciphertext + new_alphabet[x] except TypeError: ciphertext = ciphertext + x print(ciphertext) print(letterfrequencychart.frequency_chart(ciphertext)) return message + " \nAlphabet used: " + new_alphabet