{"id":25135443,"url":"https://github.com/clats97/clatsecure","last_synced_at":"2025-06-28T11:06:37.035Z","repository":{"id":271874744,"uuid":"913555278","full_name":"Clats97/ClatSecure","owner":"Clats97","description":"Clats Encryption Standard (CES) key generator. It includes 3 AES-type key generation algorithms used with python. You can generate cryptographically secure encryption keys in 128, 192, and 256 bit key sizes.  This project was peer reviewed by a CompTIA Security+ certified person.","archived":false,"fork":false,"pushed_at":"2025-04-11T08:01:39.000Z","size":97,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-24T01:36:58.046Z","etag":null,"topics":["aes","aes-128","aes-192","aes-256","aes-encryption","cryptography","cryptography-algorithms","encryption","encryption-algorithms","keygen","keygeneration"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Clats97.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-07T23:04:54.000Z","updated_at":"2025-04-11T08:01:42.000Z","dependencies_parsed_at":"2025-02-06T12:24:45.246Z","dependency_job_id":"c37cba5c-f2d8-4782-a48f-4444acc95e70","html_url":"https://github.com/Clats97/ClatSecure","commit_stats":null,"previous_names":["clats97/clatscrypt","clats97/clatsecure"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Clats97/ClatSecure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clats97%2FClatSecure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clats97%2FClatSecure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clats97%2FClatSecure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clats97%2FClatSecure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Clats97","download_url":"https://codeload.github.com/Clats97/ClatSecure/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clats97%2FClatSecure/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262419807,"owners_count":23308100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes","aes-128","aes-192","aes-256","aes-encryption","cryptography","cryptography-algorithms","encryption","encryption-algorithms","keygen","keygeneration"],"created_at":"2025-02-08T16:32:55.784Z","updated_at":"2025-06-28T11:06:37.029Z","avatar_url":"https://github.com/Clats97.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"**ClatSecure Encryption Key Generator**\n\n## Overview\nThis project implements AES key generation and encryption utilities in Python, including:\n- **128-bit, 192-bit \u0026 256-bit AES encryption key generation** using Argon2i for key derivation.\n- AES key expansion and encryption round functionality with S-Box, Rcon, and XOR operations.\n\n### Key Features\n- Generates secure AES keys with **high entropy**.\n- Supports encryption rounds compliant with AES.\n- Provides functionality for **key expansion**, **round transformations**, and **state operations**.\n\n## Installation\n\n### Required Python Libraries\nThe following libraries are needed to run the script:\n1. **os**: For generating secure random salts.\n2. **numpy**: For efficient matrix manipulations and transformations.\n3. **argon2-cffi**: For cryptographic key derivation using Argon2.\n4. **pystyle** for branding\n\nInstall the dependencies using pip:\n\npip install numpy argon2-cffi pystyle\n\n## How It Works\n\n### 1. Key Derivation\nKeys are derived from a password using Argon2i with a randomly generated 16-byte salt.\nThis ensures secure and reproducible keys, ideal for cryptographic purposes.\n\n### 2. AES Key Expansion\nThe generated key undergoes an **expansion process** to create round keys used during encryption:\n- **Rcon** and **S-Box** operations are applied for non-linear transformations.\n- Intermediate keys are XORed to create the expanded keys for each round.\n\n### 3. Encryption Rounds\nThe state matrix is transformed in the following sequence:\n1. **SubBytes**: Substitutes bytes using the AES S-Box.\n2. **ShiftRows**: Rotates rows of the state matrix.\n3. **MixColumns**: Combines columns (simplified in this implementation).\n4. **AddRoundKey**: XORs the state with the current round key.\n\n### 4. Final Round\nThe final round omits the **MixColumns** step:\n1. **SubBytes**\n2. **ShiftRows**\n3. **AddRoundKey**\n\n## Usage\n\n### Running the Script\n1. Enter a password (for key deriviation) when prompted. The script will generate 100 AES keys, apply the encryption rounds, and display the final state in hexadecimal format.\n2. Open the python file.\n\n### Example Output\nEnter password: mypassword\nFinal state (hexadecimal):\nC0A1B2C3D4E5F60789AB12CD34EF5678\n\n\n## Limitations\n- **MixColumns**: This implementation uses a simplified version, not the GF(2^8) operations defined in the AES standard.\n\n## Applications\n- Encrypting sensitive data using AES encryption.\n- Secure password-derived key generation for cryptographic use.\n- Testing and learning cryptographic algorithms.\n\n## License\nThis project is open-source under the Apache 2.0 License.\n\n\n## Contributing\nContributions are welcome! Feel free to open issues or submit pull requests to improve functionality or compliance with AES standards.\n\nHistograms of outputs:\n\n![histogram1](https://github.com/user-attachments/assets/6dab58b4-ec22-49ea-b6a5-8729ae4c398e)\n\n\n![histogram2](https://github.com/user-attachments/assets/842ed410-c6d5-48bc-a733-cbf568d981b4)\n\n**Author**\n\nJoshua M Clatney (Clats97)\n\nEthical Pentesting Enthusiast\n\nCopyright 2024-2025 Joshua M Clatney (Clats97) All Rights Reserved\n\n**DISCLAIMER: This project comes with no warranty, express or implied. The author is not responsible for abuse, misuse, or vulnerabilities. Please use responsibly and ethically in accordance with relevant laws, regulations, legislation and best practices.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclats97%2Fclatsecure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclats97%2Fclatsecure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclats97%2Fclatsecure/lists"}