Skip to content

Collection of '30' cryptography ciphers coded in JavaScript and an interface coded in HTML styled with CSS.

License

Notifications You must be signed in to change notification settings

maitreyeepaliwal/Cryptography-Ciphers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cryptography-Ciphers 🗝️

A web interface for '30' cryptography ciphers coded in JavaScript

Explore easy, quick and interesting ways of encrypting your messages in ‘30’ different ways!!!


Don't films 🎬 like 'The Imitation Game' and ‘Enigma’, Novels 📚 of ‘Dan Brown’ and Sherlock Holmes‘s 🕵️‍♂️ series, comics and books interest you to explore the magical world of cryptography & ciphers and understand the ways to ensure a safe secure communication 🤩 ???


🔖 The word **Cryptography** is derived from Ancient Greek words: *kryptos* (meaning hidden or secret) + *graphein* (meaning to write). It is an indispensable tool for protecting information in computer systems.
🔖 And ciphers being the corner stone of cryptography allow two parties who have a shared key to communicate securely when a powerful adversary eavesdrops or/and tamper with the traffic.

With the book 'The Codebreakers: The Comprehensive History of Secret Communication from Ancient Times to the Internet' as the prime motivation and the base for most of the information and several other resources, this project presents functionality of a total 30 ciphers. It covers implementation of simple and complex, ancient and modern, easy to break and very secure, unpopular and most popular ciphers.

🔐 Aim:

  • This project aims at designing and implementing the functionality of various cryptography ciphers while maintaining uniformity in the functions used with changes in the encryption and decryption functions algorithm alone mostly.
  • The objective is to implement the core functionality of all the ciphers in JavaScript. This would allow users to take their own plaintext message and keys to obtain the ciphertext, or ciphertext and keys to obtain the plaintext
  • This provides a practical approach to the ciphers by developing a simple and appealing user interface.
  • The interface developed provides users information about the cipher and also instructions to use the particular cipher with examples of keys (keyword, n X n keysquare, period, number of rails, etc.)

🔐 Motivation:

  • Cryptography in the digital world protects information and data from attempted theft, theft or an unauthorised use of your data and possible fraud. With many digital crimes like these at surge in the current world, cryptography and ciphers become essential technologies to be considered whenever a secure communication of sensitive data is needed.
  • Ciphers have been used since age long, but there are different kinds of ciphers with different capabilities and limitations. The internet is a huge source of information on these, but also gives conflicting information many times.
  • Several films, novels, series, comics and books based on crypto concepts have contributed to the general public an interest in the field of cryptography and understanding the ways to ensure a safe secure communication.


For the code, I acknowledge to have used some Github repos and other resources for understanding of the algorithms and getting information about them. The objective behind implementing this project was to provide an attractive interface to a wide range of ciphers.

🎄 ISSUES, PULL REQUESTS AND FORKS ARE ALWAYS WELCOME.

⭐ Please consider leaving a star on this repo if you like this work.


The UI for this project was done by Rishita Reddy Chilla