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.


This package is available on Julia's Registry!

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


julia> ]add ChaoticEncryption

For developer installation or installation from source, refer here.


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.


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.


The documentation is available here -

The documentation can be built locally by executing -

julia docs/make.jl

The deployment will be visible on the webpage served at

More information on documentation is available here.


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


S.No.Original ImageImage DimensionsEncrypted ImageDecrypted ImagePRNG usedAlgorithm used
1image(225, 225)encrypteddecryptedLogistic 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.