- CodeCraft by Dr. Christine Lee
- Posts
- Crack the Code
Crack the Code
Mastering Caesar Cipher with Python!
Welcome to an exciting journey into the world of cryptography with Python! Today, we’re diving into the Caesar Cipher, one of the simplest and most widely known encryption techniques. By the end of this post, you'll not only understand how the Caesar Cipher works but also how to implement it using Python. Let’s break down this fascinating encryption method line by line, leveraging functions, lists, and iterations for a fun and educational coding experience.
What is a Caesar Cipher?
The Caesar Cipher is a type of substitution cipher where each letter in the plaintext is shifted a certain number of places down or up the alphabet. For example, with a shift of 1, 'A' would be replaced by 'B', 'B' would become 'C', and so on.
Python Program to Implement Caesar Cipher
Here’s a simple Python program that uses a function to encrypt a message using the Caesar Cipher technique. We'll go through each part of the code to ensure you grasp every detail.
Step 1: Define the Cipher Function
First, we create a function called caesar_cipher
that takes two parameters: the text to be encrypted and the shift number.
def caesar_cipher(text, shift):
encrypted_text = [] # List to hold the encrypted text
Step 2: Iterate Over Each Character
We use a for
loop to go through each character in the input text. If the character is a letter, we'll shift it; otherwise, we'll add it to the list as is.
for char in text:
if char.isalpha(): # Check if the character is a letter
# Shift character based on its case (uppercase or lowercase)
shifted = ord(char) + shift
Step 3: Handle Wrap-around
The Caesar Cipher needs to wrap around the alphabet, e.g., 'Z' should shift to 'A'. We handle this by adjusting the ASCII value of the characters.
if char.islower():
if shifted > ord('z'):
shifted -= 26
elif shifted > ord('Z'):
shifted -= 26
encrypted_text.append(chr(shifted)) # Convert back to char and add to list
else:
encrypted_text.append(char) # Non-alphabet characters go unchanged
Step 4: Return the Result
Finally, we convert our list of characters back into a string and return it.
return ''.join(encrypted_text)
Example Usage
Here's how you can use the function to encrypt a message:
message = "Hello, World!"
shift = 4
encrypted = caesar_cipher(message, shift)
print("Encrypted message:", encrypted)
Output:
Encrypted message: Lipps, Asvph!
Caesar Cipher in Python Code
Conclusion
You've just learned how to implement a Caesar Cipher in Python! This simple encryption technique is not only a great way to understand basic cryptography but also a fun way to enhance your Python skills with functions, lists, and loops.
Recommendation
|
Ready to Become a Python Codebreaker?
Subscribe to our newsletter now and get a free Python cheat sheet! Dive deeper into Python programming and explore more exciting features and projects.
🌟 Subscribe and Download Your Free Python Cheat Sheet!
Join us on this thrilling coding adventure and unlock the secrets of Python!