Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jagoda11/cs50-problem-set-2

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
https://github.com/jagoda11/cs50-problem-set-2

arrays c cs50 cs50problemsets datastructures linked-list memory-allocation problem-solving trees

Last synced: 5 days ago
JSON representation

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

Awesome Lists containing this project

README

        

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