Skip to content

CS50-Problem-Set-2 πŸš€ delves into data structures πŸ“Š and memory allocation πŸ’Ύ, key components of efficient programming. This set challenges students πŸ§‘β€πŸŽ“ to understand and implement various data structures like arrays, linked lists, and trees 🌳, and manage memory effectively 🧠, enhancing their problem-solving skills

Notifications You must be signed in to change notification settings

Jagoda11/CS50-Problem-Set-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CS50 Problem Set 2 πŸš€

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! πŸŽ‰

Caesar Cipher πŸ”

  • 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. πŸ”„

VigenΓ¨re Cipher πŸ“œ

  • 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. πŸ—οΈ

Getting Started 🏁

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

Dive into Cryptography 🀿

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! πŸ’»

About

CS50-Problem-Set-2 πŸš€ delves into data structures πŸ“Š and memory allocation πŸ’Ύ, key components of efficient programming. This set challenges students πŸ§‘β€πŸŽ“ to understand and implement various data structures like arrays, linked lists, and trees 🌳, and manage memory effectively 🧠, enhancing their problem-solving skills

Topics

Resources

Stars

Watchers

Forks

Sponsor this project

 

Languages