Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saransh-cpp/chaoticencryption.jl
Fast image encryption and decryption algorithms in Julia!
https://github.com/saransh-cpp/chaoticencryption.jl
encryption-decryption julia julia-package pseudo-random-generator
Last synced: 9 days ago
JSON representation
Fast image encryption and decryption algorithms in Julia!
- Host: GitHub
- URL: https://github.com/saransh-cpp/chaoticencryption.jl
- Owner: Saransh-cpp
- License: mit
- Created: 2022-02-15T14:58:41.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-02T10:31:44.000Z (7 months ago)
- Last Synced: 2024-10-16T13:27:39.246Z (21 days ago)
- Topics: encryption-decryption, julia, julia-package, pseudo-random-generator
- Language: Julia
- Homepage: https://saransh-cpp.github.io/ChaoticEncryption.jl/
- Size: 4.9 MB
- Stars: 29
- Watchers: 1
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# ChaoticEncryption.jl
|Type|Badge/Status|
|-|-|
|CI|[![Build Status](https://github.com/Saransh-cpp/ChaoticEncryption.jl/actions/workflows/CI.yml/badge.svg?branch=master)](https://github.com/Saransh-cpp/ChaoticEncryption.jl/actions/workflows/CI.yml?query=branch%3Amaster) [![Coverage](https://codecov.io/gh/Saransh-cpp/ChaoticEncryption.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/Saransh-cpp/ChaoticEncryption.jl) [![pkgeval](https://juliahub.com/docs/ChaoticEncryption/pkgeval.svg)](https://juliahub.com/ui/Packages/ChaoticEncryption/dtMkN)|
|CD/Documentation|[![Documentation](https://github.com/Saransh-cpp/ChaoticEncryption.jl/actions/workflows/documentation.yml/badge.svg)](https://github.com/Saransh-cpp/ChaoticEncryption.jl/actions/workflows/documentation.yml) [![Dev](https://img.shields.io/badge/Docs-Dev-brightgreen)](https://saransh-cpp.github.io/ChaoticEncryption.jl/dev/)|
|Version|[![made-with-julia](https://img.shields.io/badge/Made%20with-Julia-ff69bf.svg)](https://julialang.org) [![version](https://juliahub.com/docs/ChaoticEncryption/version.svg)](https://juliahub.com/ui/Packages/ChaoticEncryption/dtMkN)|
|Statistics|[![Downloads](https://shields.io/endpoint?url=https://pkgs.genieframework.com/api/v1/badge/ChaoticEncryption)](https://pkgs.genieframework.com?packages=ChaoticEncryption) ![GitHub Repo stars](https://img.shields.io/github/stars/Saransh-cpp/ChaoticEncryption.jl)|
|Community|[![Join the chat at https://gitter.im/ChaoticEncryption-jl/community](https://badges.gitter.im/ChaoticEncryption-jl/community.svg)](https://gitter.im/ChaoticEncryption-jl/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#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
julia> using Pkg
julia> Pkg.add("ChaoticEncryption")
```
or
```julia
julia> ] add ChaoticEncryption
```For developer installation or installation from source, refer [here](https://github.com/Saransh-cpp/ChaoticEncryption.jl/blob/master/CONTRIBUTING.md#local-installation).
## 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](https://saransh-cpp.github.io/ChaoticEncryption.jl/dev/).
Other than the docstrings, comprehensive `Jupyter` notebooks displaying the features of `ChaoticEncryption.jl` are available in the [`examples`](https://github.com/Saransh-cpp/ChaoticEncryption.jl/tree/master/examples) directory.
## Testing
To run the tests, execute the following in your `Julia REPL` -
```julia
julia> ] test ChaoticEncryption
```More information on tests is available [here](https://github.com/Saransh-cpp/ChaoticEncryption.jl/blob/master/CONTRIBUTING.md#testing).
To run calculate coverage while running tests, execute the following in your `Julia REPL` -
```julia
julia> using Pkg
julia> Pkg.add("Coverage")
julia> Pkg.test("ChaoticEncryption"; coverage=true)
```More information on coverage is available [here](https://github.com/Saransh-cpp/ChaoticEncryption.jl/blob/master/CONTRIBUTING.md#coverage).
## 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](https://github.com/Saransh-cpp/ChaoticEncryption.jl/blob/master/CONTRIBUTING.md#documentation).
## Infrastructure
A detailed guide on `ChaoticEncryption.jl`'s infrastructure is available [here](https://github.com/Saransh-cpp/ChaoticEncryption.jl/blob/master/CONTRIBUTING.md#infrastructure).
## Results
|S.No. | Original Image | Image Dimensions | Encrypted Image | Decrypted Image | PRNG used | Algorithm used |
|:----:|:--------------:|:----------------:|:---------------:|:---------------:|:---------:|:--------------:|
|1|![image](https://user-images.githubusercontent.com/74055102/154138746-cd49b7a7-bdf2-47c2-8260-35a90084c60a.png)| (225, 225) | ![encrypted](https://user-images.githubusercontent.com/74055102/154138976-5e60fe23-3644-4299-bc39-7d6b637cc744.png) | ![decrypted](https://user-images.githubusercontent.com/74055102/154139009-bd2a1de0-03a7-432e-bc34-2647f8c42425.png) | Logistic Map (`logistic_key`) | Substitution (`substitution_encryption, substitution_decryption`)|
|2|![image](https://github.com/Saransh-cpp/ChaoticEncryption.jl/assets/83298237/a4d8ab01-cf3b-4d87-8e6e-f559f1fab475)| (512, 512) | ![encrypted](https://user-images.githubusercontent.com/74055102/154138976-5e60fe23-3644-4299-bc39-7d6b637cc744.png) | ![decrypted](https://github.com/Saransh-cpp/ChaoticEncryption.jl/assets/83298237/24963f96-a50d-44af-b6d9-65f34c6b04fe) | Logistic Map (`logistic_key`) | Substitution (`substitution_encryption, substitution_decryption`)|
|3|![image](https://github.com/Saransh-cpp/ChaoticEncryption.jl/assets/83298237/a5515ec0-ca5d-4a7b-84d3-dbadc5bfe799)| (300, 451) | ![encrypted](https://github.com/Saransh-cpp/ChaoticEncryption.jl/assets/83298237/b05b422a-ff5f-402b-8868-5f8826537360) | ![decrypted](https://github.com/Saransh-cpp/ChaoticEncryption.jl/assets/83298237/2ffa0677-ed75-43fc-9c7a-2b38a35c0a16) | Logistic Map (`logistic_key`) | Substitution (`substitution_encryption, substitution_decryption`)|
|4|![image](https://github.com/Saransh-cpp/ChaoticEncryption.jl/assets/83298237/0d82e63b-e223-4e6b-84be-6519fa1f13dd)| (512, 768) | ![encrypted](https://github.com/Saransh-cpp/ChaoticEncryption.jl/assets/83298237/f1488f13-f58d-42e4-a4a9-72a49afe5c51) | ![decrypted](https://github.com/Saransh-cpp/ChaoticEncryption.jl/assets/83298237/cf49b39f-abe5-4467-9279-b0a0732ea47a) | 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](https://github.com/Saransh-cpp/ChaoticEncryption.jl/blob/master/CONTRIBUTING.md) to make the whole process smoother.
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Saransh
💻 🐛 🎨 💡 🚇 🚧 👀 ⚠️ 📖
Muthukumar M
📖
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!