-1

I am not sure how to start writing the program.

input = input("Input the text you would like encrypted")


def cipher_text(letter_code):
    for i in input:
        number_code = ord(i) + 3
        letter_code = chr(number_code)
        print(letter_code)

def plain_text(letter_code,regular_text):
    for i in input:
        regular_text = letter_code - 3
        print(regular_text)
print("Encrypted text")
cipher_text()
print("Unencrypted text")
plain_text()

Sorry for the question I am not sure how to begin. Also please give advice not the answer.

Will Da Silva
  • 6,386
  • 2
  • 27
  • 52
Brian Mason
  • 13
  • 1
  • 8
  • 1
    If you don't know where to start, start by explaining the order that things should happen in english. Then translate that to functions and describe what each function should accept and what it should return. – Mark Jul 07 '19 at 21:33

1 Answers1

1

Mathematically, if we see encryption technique in Caesar cipher, then the formula to get encrypted letter is:

c = (x+n) mod 26, 

where c is place value of encrypted letter, x is place value of actual letter and n is the shift. Similarly, to decrypt each letter, we use the formula given below:

c = (x-n) mod 26

You can use my below code to get an idea of how to implement Caesar Cipher:

def encrypt(plain_text, s):
    encrypted_text = ''
    for i in range(len(plain_text)):
        if plain_text[i] == ' ':
            encrypted_text = encrypted_text + plain_text[i]
        elif plain_text[i].isupper():
            encrypted_text = encrypted_text + chr((ord(plain_text[i])+s-65)%26+65)
        else:
            encrypted_text = encrypted_text + chr((ord(plain_text[i])+s-97)%26+97)
    return encrypted_text


def decrypt(encrypt_text, s):
    decrypted_text = ''
    for i in range(len(encrypt_text)):
        if encrypt_text[i] == ' ':
            decrypted_text = decrypted_text + encrypt_text[i]
        elif encrypt_text[i].isupper():
            decrypted_text = decrypted_text + chr((ord(encrypt_text[i])-s-65)%26+65)
        else:
            decrypted_text = decrypted_text + chr((ord(encrypt_text[i])-s-97)%26+97)
    return decrypted_text



plain_text = input("Input the text you would like encrypted:")
s = int(input("Enter shift:"))
encrypt_text = encrypt(plain_text, s)
print("Encrypted text: {}".format(encrypt_text))
print("Decrypted text: {}".format(decrypt(encrypt_text, s)))

Sample Output:

Input the text you would like encrypted:Taj Mahal

Enter shift:3
Encrypted text: Wdm Pdkdo
Decrypted text: Taj Mahal
Anubhav Singh
  • 8,321
  • 4
  • 25
  • 43