ChaoticEncryption.jl

Fast image encryption and decryption algorithms in Julia!
Author Saransh-cpp
Popularity
30 Stars
Updated Last
4 Months Ago
Started In
February 2022

ChaoticEncryption.jl

Type Badge/Status
CI Build Status Coverage pkgeval
CD/Documentation Documentation Dev
Version made-with-julia version
Statistics Downloads GitHub Repo stars
Community Join the chat at https://gitter.im/ChaoticEncryption-jl/community All Contributors

Encrypt and decrypt image files using Pseudo-Random Number Generators and various encryption techniques! ChaoticEncryption.jl comes loaded with Pseudo-Random Number Generators and various encryption techniques, which can be used to encrypt and decrypt any image file. The package is under active development, but the existing API is stable and might not change significantly.

Installation

This package is available on Julia's Registry!

julia> using Pkg
julia> Pkg.add("ChaoticEncryption")

or

julia> ] add ChaoticEncryption

For developer installation or installation from source, refer here.

Examples

The example for a particular function is available in the function's docstring itself. These docstrings or the API documentation is also available here.

Other than the docstrings, comprehensive Jupyter notebooks displaying the features of ChaoticEncryption.jl are available in the examples directory.

Testing

To run the tests, execute the following in your Julia REPL -

julia> ] test ChaoticEncryption

More information on tests is available here.

To run calculate coverage while running tests, execute the following in your Julia REPL -

julia> using Pkg
julia> Pkg.add("Coverage")
julia> Pkg.test("ChaoticEncryption"; coverage=true)

More information on coverage is available here.

Documentation

The documentation is available here - https://saransh-cpp.github.io/ChaoticEncryption.jl/dev/

The documentation can be built locally by executing -

julia docs/make.jl

The deployment will be visible on the webpage served at http://127.0.0.1:8000.

More information on documentation is available here.

Infrastructure

A detailed guide on ChaoticEncryption.jl's infrastructure is available here.

Results

S.No. Original Image Image Dimensions Encrypted Image Decrypted Image PRNG used Algorithm used
1 image (225, 225) encrypted decrypted Logistic Map (logistic_key) Substitution (substitution_encryption, substitution_decryption)
2 image (512, 512) encrypted decrypted Logistic Map (logistic_key) Substitution (substitution_encryption, substitution_decryption)
3 image (300, 451) encrypted decrypted Logistic Map (logistic_key) Substitution (substitution_encryption, substitution_decryption)
4 image (512, 768) encrypted decrypted Logistic Map (logistic_key) Substitution (substitution_encryption, substitution_decryption)

Contributing to ChaoticEncryption.jl

All contributions to this repository are welcome. Please go through our contribution guidelines to make the whole process smoother.

Contributors โœจ

Thanks goes to these wonderful people (emoji key):


Saransh

๐Ÿ’ป ๐Ÿ› ๐ŸŽจ ๐Ÿ’ก ๐Ÿš‡ ๐Ÿšง ๐Ÿ‘€ โš ๏ธ ๐Ÿ“–

Muthukumar M

๐Ÿ“–

This project follows the all-contributors specification. Contributions of any kind welcome!

Used By Packages

No packages found.