Skip to content

cumaduran/encryption-algorithm-demo

Repository files navigation

An Image Encryption Algorithm Based on Chaotic Selection of Robust Cryptographic Primitives

Introduction

This project involves the implementation of an encryption algorithm. The main purpose of the encryption algorithm is image encryption, but it can be successfully encrypted in the text with the same algorithm.

In order to provide easy understanding of the encryption algorithm, the algorithm has been designed to be tested on a website. Within the scope of the project, the S-Box structures of the AES algorithm and DES algorithm are used in addition to the SHA3 algorithm.

  • For more details, you can review the IEEE Page

Also you can look at Documentation of Algorithm Codes

Example Input and Output

Project Interfaces

Image Encryption

  • Supported Mime Types
    • image/jpeg
    • image/png
    • image/tiff
    • image/webp

Text Encryption

IMAGE ENCRYPTION

Gallery

IMAGE ENCRYPTION

Getting Started

If you just want to look at the algorithm codes, you can examine the lib folder.

Prerequisites

  • The project was created using Node.js.
  • A NodeJS and NPM must be installed on your local computer to start the project.

Example Installation for Ubuntu and Debian.

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_13.x | bash -
apt-get install -y nodejs

If you are using other platforms, you can use this link. NodeJS Download

Installing

Install the dependencies.

# Clone the repo
$ git clone https://github.com/0xcmdr/encryption-algorithm-demo.git

# Install required node modules
$ yarn install

# OR 
$ npm install

Deployment

Initalize Project Files and Launch Development Server

$ yarn dev

# OR

$ npm run dev

After this process, you can access the website via http://localhost:3000

Built With

  • NodeJS - The Progressive JavaScript Framework
  • VueJS - The Progressive JavaScript Framework
  • NuxtJS - Universal Vue.js Application built with Nuxt.js
  • ExpressJS - Fast, unopinionated, minimalist web framework for node.
  • NumJS - Like NumPy, in JavaScript

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Roadmap

  • v0.1.0 (Completed)

    • Des/Aes Shifting S-Box (Completed)
    • Random Number Generator (Completed)
    • Zigzag Matrix Traversal (Completed)
    • Algorithm Code (Completed)
    • Image Cipher (Completed)
    • Text Cipher (Completed)
  • v0.1.1 (Ongoing)

    • CKG Function
    • Row-Wise Matrix Traversal
    • Column-Wise Matrix Traversal
    • Spiral Order Traversal of a Matrix
    • Array Speed Optimizations
  • v0.1.2 (Pending)

    • Image Decryption
    • Text Decryption
  • Also Online Demo is Coming Soon

License

MIT

Acknowledgments

Thanks to Fatih Özkaynak, for his contribution.

About

An Image Encryption Algorithm Based on Chaotic Selection of Robust Cryptographic Primitives

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors