Example #1
0
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
        ]
Example #2
0
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]
Example #3
0
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