Git Product home page Git Product logo

entropic's Introduction

Entropic

License: GPL-3.0

Entropic

A Toy Viginere Cipher Implementation

By 1nfocalypse

What is it?

Entropic is a toy implementation of a Viginère Cipher. Viginère Ciphers are a polyalphabetic cipher dating back to the 1500s, and remained unbroken for approximately three centuries afterwards. They were broken via a method called Kasiski analysis, which utilized the characteristic of a repeated key over a large enough bit of ciphertext to find patterns, from which information could be further enumerated. More on Kasiski analysis can be found here. While these ciphers are vulnerable when used with a block key, they retain unbroken in the context of Vernam One Time Pads, which are randomly generated keys that stretch the entire length of the cleartext. Since the key is never repeated and is truly random, Kasiski analysis fails. A simulation of a Vernam One-Time Pad can be found implemented here, however, does not possess the same characteristics, as the string is pseudorandomly generated via a Mersenne Twister. Alternatively, if a user is sufficiently capable of producing a truly random string, then they could utilize it as a custom key within the program to obtain a legitimate One-Time Pad. However, this is not encouraged, as there are markedly superior ways of performing symmetric encryption in the modern era. For more information on Viginère Ciphers and other cryptographic schemes, please be sure to check out my writeup on mathematical cryptography, which can be found here.

Contributing

If you would like to submit a PR, please feel free to do so. There are very likely some bugs hiding in here that I didn't sniff out. If you choose to submit a PR, please explain your changes and I'll be happy to review it. Thank you!

Disclaimer

Viginère Ciphers are outdated, and this is an educational toy. While it has the capacity to encrypt and decrypt messages, it is not meant for serious use. Please consider alternative cryptosystems, such as AES, for contemporary needs. By using this software, you acknowledge that neither I nor any contributors are responsible for any losses or damage that may occur. For more information, please consult the license, which can be found here.

entropic's People

Contributors

1nfocalypse avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.