Giter Site home page Giter Site logo

tobiasbriones / ep-hill-cipher-mat26 Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 73 KB

Example project for a Hill Cipher algorithm with a Matrix under the Z26 field implementation.

Home Page: https://tobiasbriones.github.io/ep-hill-cipher-mat26/

License: MIT License

C 3.18% C++ 96.82%
example-project encryption-decryption hill-cipher cpp matrix integers-mod26 cipher-text

ep-hill-cipher-mat26's Introduction

Example Project: Hill Cipher Mat26

Project   GitHub Repository

GitHub Project License

Example project for a Hill Cipher algorithm with a Matrix under the Z26 field implementation.

In short:

  • You can check out the test file to understand the concepts implemented into this source files.

  • There is an implementation of a SquareMatrix which is a normal square matrix with common operations, and a subclass of this matrix which is a SquareMatrix26 which works under the field Z26.

  • The Alphabet26 struct helps the algorithm to be computed by providing the English alphabet of 26 characters (A-Z). As you know, the character "A" in ASCII has the decimal value of 65 so that this struct is a representation of the integers modulo 26 (Z26).

  • Finally, there is the HillCipher implementation made possible by the aforementioned tools.

The program is executed and reads the text file (dec.txt) which contains a message that can be encrypted, and saved into the other file (enc.txt), then it reads the other file (enc.txt), decrypts the secret message and saves it into the dec.txt file. Also, notice that the key is set to the algorithm prior to proceeding to encrypt or decrypt.

More work that can be done on this program is to add more operator overloading and tests to verify if everything is working fine.

Additionally, I got this project ep-cryptosystems implemented in Go for computing classical cryptosystem algorithms.

Contact

This project: Repository

Tobias Briones: GitHub

Example Project: App

About

Example Project: Hill Cipher Mat26

Example project for a Hill Cipher algorithm with a Matrix under the Z26 field implementation.

Copyright © 2021 Tobias Briones. All rights reserved.

License

This project is licensed under the MIT License.

ep-hill-cipher-mat26's People

Contributors

tobiasbriones avatar

Watchers

 avatar  avatar  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.