aegis-crypto 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aegis_crypto-1.0.0/LICENCE +32 -0
- aegis_crypto-1.0.0/PKG-INFO +48 -0
- aegis_crypto-1.0.0/README.md +32 -0
- aegis_crypto-1.0.0/aegis_crypto/__init__.py +5 -0
- aegis_crypto-1.0.0/aegis_crypto/cipher.py +33 -0
- aegis_crypto-1.0.0/aegis_crypto/hasher.py +15 -0
- aegis_crypto-1.0.0/aegis_crypto.egg-info/PKG-INFO +48 -0
- aegis_crypto-1.0.0/aegis_crypto.egg-info/SOURCES.txt +11 -0
- aegis_crypto-1.0.0/aegis_crypto.egg-info/dependency_links.txt +1 -0
- aegis_crypto-1.0.0/aegis_crypto.egg-info/requires.txt +1 -0
- aegis_crypto-1.0.0/aegis_crypto.egg-info/top_level.txt +1 -0
- aegis_crypto-1.0.0/pyproject.toml +23 -0
- aegis_crypto-1.0.0/setup.cfg +4 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
### 6. `LICENSE`
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
MIT No Attribution / Non-Resale Educational License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2026 Your Name
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, and publish derivative works of the Software,
|
|
14
|
+
subject to the following conditions:
|
|
15
|
+
|
|
16
|
+
1. ATTRIBUTION AND AUTHORSHIP:
|
|
17
|
+
The original copyright notice ("Copyright (c) 2026 Your Name") must be retained
|
|
18
|
+
in all copies or substantial portions of the Software. You may not claim
|
|
19
|
+
original authorship of this Software.
|
|
20
|
+
|
|
21
|
+
2. NON-COMMERCIAL / NO RESALE:
|
|
22
|
+
You may not sell, rent, lease, or sublicense the Software (or unmodified
|
|
23
|
+
distributions of it) as a standalone commercial product.
|
|
24
|
+
|
|
25
|
+
3. DISCLAIMER:
|
|
26
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
27
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
28
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
29
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
30
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
31
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
32
|
+
SOFTWARE.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: aegis-crypto
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Educational hybrid encryption library using custom SHA-1028 key stretching and ChaCha20-Poly1305
|
|
5
|
+
Author-email: Your Name <your.email@example.com>
|
|
6
|
+
License: MIT No Attribution / Non-Resale Educational License
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Classifier: Topic :: Security :: Cryptography
|
|
11
|
+
Requires-Python: >=3.8
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
License-File: LICENCE
|
|
14
|
+
Requires-Dist: cryptography>=41.0.0
|
|
15
|
+
Dynamic: license-file
|
|
16
|
+
|
|
17
|
+
\# Aegis-Crypto
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
An educational hybrid encryption module designed in Python that combines a custom \*\*SHA-1028\*\* key-stretching engine with standard \*\*ChaCha20-Poly1305\*\* authenticated encryption (AEAD).
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
> \*\*Disclaimer:\*\* This project is intended strictly for educational, research, and experimental purposes. Do not use custom cryptographic implementations in production environments.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
\## Features
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
\- \*\*SHA-1028 Engine:\*\* Hybrid key derivation mixing SHA-512 and SHA3-512 hashes.
|
|
34
|
+
|
|
35
|
+
\- \*\*AEAD Encryption:\*\* Industry-standard authenticated encryption via ChaCha20-Poly1305.
|
|
36
|
+
|
|
37
|
+
\- \*\*Tamper Protection:\*\* Built-in integrity verification prevents payload modification.
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
\## Installation
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
|
|
47
|
+
pip install aegis-crypto
|
|
48
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
\# Aegis-Crypto
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
An educational hybrid encryption module designed in Python that combines a custom \*\*SHA-1028\*\* key-stretching engine with standard \*\*ChaCha20-Poly1305\*\* authenticated encryption (AEAD).
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
> \*\*Disclaimer:\*\* This project is intended strictly for educational, research, and experimental purposes. Do not use custom cryptographic implementations in production environments.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
\## Features
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
\- \*\*SHA-1028 Engine:\*\* Hybrid key derivation mixing SHA-512 and SHA3-512 hashes.
|
|
18
|
+
|
|
19
|
+
\- \*\*AEAD Encryption:\*\* Industry-standard authenticated encryption via ChaCha20-Poly1305.
|
|
20
|
+
|
|
21
|
+
\- \*\*Tamper Protection:\*\* Built-in integrity verification prevents payload modification.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
\## Installation
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
|
|
31
|
+
pip install aegis-crypto
|
|
32
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import base64
|
|
2
|
+
import os
|
|
3
|
+
from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
|
|
4
|
+
from .hasher import ToySHA1028Engine
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Aegis1028Fortress:
|
|
8
|
+
|
|
9
|
+
@classmethod
|
|
10
|
+
def encrypt(cls, password: str, plaintext: str) -> str:
|
|
11
|
+
salt = os.urandom(16)
|
|
12
|
+
nonce = os.urandom(12)
|
|
13
|
+
key = ToySHA1028Engine.stretch_key(password, salt, iterations=50000)
|
|
14
|
+
|
|
15
|
+
cipher = ChaCha20Poly1305(key)
|
|
16
|
+
ciphertext = cipher.encrypt(nonce, plaintext.encode('utf-8'), None)
|
|
17
|
+
|
|
18
|
+
package = salt + nonce + ciphertext
|
|
19
|
+
return base64.b64encode(package).decode('utf-8')
|
|
20
|
+
|
|
21
|
+
@classmethod
|
|
22
|
+
def decrypt(cls, password: str, encrypted_package_b64: str) -> str:
|
|
23
|
+
package = base64.b64decode(encrypted_package_b64.encode('utf-8'))
|
|
24
|
+
|
|
25
|
+
salt = package[:16]
|
|
26
|
+
nonce = package[16:28]
|
|
27
|
+
ciphertext = package[28:]
|
|
28
|
+
|
|
29
|
+
key = ToySHA1028Engine.stretch_key(password, salt, iterations=50000)
|
|
30
|
+
|
|
31
|
+
cipher = ChaCha20Poly1305(key)
|
|
32
|
+
decrypted_bytes = cipher.decrypt(nonce, ciphertext, None)
|
|
33
|
+
return decrypted_bytes.decode('utf-8')
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import hashlib
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ToySHA1028Engine:
|
|
5
|
+
|
|
6
|
+
@staticmethod
|
|
7
|
+
def stretch_key(password: str, salt: bytes, iterations: int = 50000) -> bytes:
|
|
8
|
+
current = password.encode('utf-8') + salt
|
|
9
|
+
|
|
10
|
+
for _ in range(iterations):
|
|
11
|
+
h_sha2 = hashlib.sha512(current).digest()
|
|
12
|
+
h_sha3 = hashlib.sha3_512(current).digest()
|
|
13
|
+
current = h_sha2 + h_sha3 + salt
|
|
14
|
+
|
|
15
|
+
return hashlib.blake2b(current, digest_size=32).digest()
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: aegis-crypto
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Educational hybrid encryption library using custom SHA-1028 key stretching and ChaCha20-Poly1305
|
|
5
|
+
Author-email: Your Name <your.email@example.com>
|
|
6
|
+
License: MIT No Attribution / Non-Resale Educational License
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Classifier: Topic :: Security :: Cryptography
|
|
11
|
+
Requires-Python: >=3.8
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
License-File: LICENCE
|
|
14
|
+
Requires-Dist: cryptography>=41.0.0
|
|
15
|
+
Dynamic: license-file
|
|
16
|
+
|
|
17
|
+
\# Aegis-Crypto
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
An educational hybrid encryption module designed in Python that combines a custom \*\*SHA-1028\*\* key-stretching engine with standard \*\*ChaCha20-Poly1305\*\* authenticated encryption (AEAD).
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
> \*\*Disclaimer:\*\* This project is intended strictly for educational, research, and experimental purposes. Do not use custom cryptographic implementations in production environments.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
\## Features
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
\- \*\*SHA-1028 Engine:\*\* Hybrid key derivation mixing SHA-512 and SHA3-512 hashes.
|
|
34
|
+
|
|
35
|
+
\- \*\*AEAD Encryption:\*\* Industry-standard authenticated encryption via ChaCha20-Poly1305.
|
|
36
|
+
|
|
37
|
+
\- \*\*Tamper Protection:\*\* Built-in integrity verification prevents payload modification.
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
\## Installation
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
|
|
47
|
+
pip install aegis-crypto
|
|
48
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
LICENCE
|
|
2
|
+
README.md
|
|
3
|
+
pyproject.toml
|
|
4
|
+
aegis_crypto/__init__.py
|
|
5
|
+
aegis_crypto/cipher.py
|
|
6
|
+
aegis_crypto/hasher.py
|
|
7
|
+
aegis_crypto.egg-info/PKG-INFO
|
|
8
|
+
aegis_crypto.egg-info/SOURCES.txt
|
|
9
|
+
aegis_crypto.egg-info/dependency_links.txt
|
|
10
|
+
aegis_crypto.egg-info/requires.txt
|
|
11
|
+
aegis_crypto.egg-info/top_level.txt
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
cryptography>=41.0.0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
aegis_crypto
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "aegis-crypto"
|
|
7
|
+
version = "1.0.0"
|
|
8
|
+
description = "Educational hybrid encryption library using custom SHA-1028 key stretching and ChaCha20-Poly1305"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
authors = [
|
|
11
|
+
{ name = "Your Name", email = "your.email@example.com" }
|
|
12
|
+
]
|
|
13
|
+
license = { text = "MIT No Attribution / Non-Resale Educational License" }
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Programming Language :: Python :: 3",
|
|
16
|
+
"License :: OSI Approved :: MIT License",
|
|
17
|
+
"Operating System :: OS Independent",
|
|
18
|
+
"Topic :: Security :: Cryptography",
|
|
19
|
+
]
|
|
20
|
+
requires-python = ">=3.8"
|
|
21
|
+
dependencies = [
|
|
22
|
+
"cryptography>=41.0.0"
|
|
23
|
+
]
|