Welcome to my CS50 Problem Set 2 repository! This set dives into the world of cryptography, featuring two classic ciphers implemented in C. Let's encrypt and decrypt messages in style! π
- Filename:
caesar.c
- Description: This program encrypts messages using the Caesar cipher, one of the simplest and most widely known encryption techniques. It shifts each letter by a fixed number of positions in the alphabet, wrapping around as necessary. π
- Filename:
vigenere.c
- Description: Taking a step further into the realm of cryptography, the VigenΓ¨re cipher uses a keyword to shift each letter in the plaintext, offering a more secure encryption method. Unlike Caesar's fixed shift, VigenΓ¨re's shift varies, making it a polyalphabetic cipher. ποΈ
To run these encryption programs, clone the repository and compile each program using clang
or make
. Provide a key as a command-line argument when executing the program, and then enter the plaintext you wish to encrypt.
Example for Caesar: ./caesar 13
Example for Vigenère: ./vigenere keyword
These programs offer a hands-on experience with basic cryptography concepts. By exploring these ciphers, you'll gain insights into historical encryption methods and their modern significance.
Feel free to explore Happy Coding! π»