Skip to content

Releases: Clats97/ClatSecure

ClatSecure GUI

06 Feb 11:17
8447f21

Choose a tag to compare

GUI version of ClatSecure.

ClatSecure(1.03)

24 Jan 01:49
7c46049

Choose a tag to compare

Changelog

  • Branding updated
  • Minor changes to look
  • No functional changes

ClatSecure(1.02)

23 Jan 01:56
d2ab157

Choose a tag to compare

Changelog

  • Changed the key derivation function from PBKDF2/HMAC to Argon2i
  • Changed the amount of rounds and memory / iterations used. The script is now slower, but produces more secure keys.

ClatSecure(1.01)

17 Jan 21:14
17e76cb

Choose a tag to compare

Changelog

  • Updated the scripts to include Clats97s branding
  • Changed repository name from ClatsCrypt to ClatSecure`

ClatsCrypt 1.00

07 Jan 23:33
e120516

Choose a tag to compare

Release: AES Key Generator & Encryption Framework v1.0.0

This release provides the initial implementation of a Python-based AES encryption framework. It includes functionality for secure key generation, key expansion, and encryption rounds, suitable for educational, testing, or cryptographic applications.


Key Features

1. Key Derivation

  • Secure AES-128 key generation from user-provided passwords.
  • Leverages PBKDF2/HMAC for password-based key derivation with the following properties:
    • Salt: Random 16-byte salt for each key.
    • Iterations: 2 cycles for computational hardness.
    • Memory: 100 MB for resistance against brute-force attacks.

2. Key Expansion

  • Implements AES key expansion for 128-bit keys, generating all round keys:
    • Includes Rcon and S-Box transformations.
    • Outputs expanded keys for use in encryption rounds.

3. Encryption Rounds

  • Performs AES encryption rounds:
    • SubBytes, ShiftRows, MixColumns, and AddRoundKey operations.
    • Includes the final round omitting MixColumns.

4. User Interaction

  • Prompts the user for a password to generate and encrypt 100 AES keys.
  • Displays the final encryption state for each key in hexadecimal format.

Improvements and Features in This Release

  • Cross-platform compatibility: Tested on Windows, macOS, and Linux.
  • Modular code: Each component is implemented as a reusable function.
  • High-security standards: Utilizes the argon2-cffi library for secure key derivation.
  • Educational focus: Simplified and commented code for ease of learning.

Installation

Prerequisites

  • Python 3.6+
  • Required Python libraries:
    • numpy
    • argon2-cffi

Install dependencies using:

pip install numpy argon2-cffi

Usage

Run the script directly to generate AES keys and simulate encryption:

python aes_key_generator.py
  • Input your password when prompted.
  • The script will output the final encryption state of 100 generated keys in hexadecimal format.

Known Limitations

  1. MixColumns Operation:
    • Simplified implementation not fully compliant with AES standard (lacks GF(2^8) math).
  2. Single AES Variant:
    • Only supports AES-128. AES-192 and AES-256 require modifications to key size and round count.

Future Enhancements

  • Improve MixColumns to comply with AES GF(2^8) standards.
  • Extend functionality to include decryption rounds.

License

This project is licensed under Apache 2.0.

Download this release and explore AES encryption with Python!

Here are 2 histograms of 100,000 outputs. The outputs are uniform.

histogram1
histogram2