CryptoLayer Mini
Мини-версия CryptoLayer: криптографический слой поверх мессенджеров.
⚠️ Это учебный проект. Он написан для изучения криптографии, а не для защиты реальных секретов. Не используйте его в серьёзных задачах — в нём есть упрощения и нет защиты от многих атак (replay, MITM, компрометация ключей и т.д.).
Автор: Богдан, 12 лет.
Что умеет
- AES-256-GCM — шифрование сообщений (с проверкой целостности)
- ECDSA (SECP256R1) — цифровые подписи
- ECDH (SECP256R1) + HKDF — обмен ключами между пользователями
- pack_message / unpack_message — упаковка шифротекста и подписи
- ConsoleTransport — транспорт-заглушка (имитация отправки через мессенджер)
Установка
pip install -e .
Пример
python demo.py
Пример вывода:
Алиса и Боб сгенерировали ключи.
ECDH: общий ключ успешно выведен.
[Мессенджер] отправлено 168 байт:
0047304502201577f2bfb214603b6538db1552242907343438c2e45c420b4d1fd919a5769d130221...
[Мессенджер] получено 168 байт
Подпись верна.
Расшифровано: Привет, Боб! Это секретное сообщение.
Как это работает
- Алиса и Боб создают по два ключа: для подписи и для обмена.
- Обмениваются публичными ключами обмена и выводят общий секрет через ECDH + HKDF.
- Алиса шифрует сообщение общим ключом (AES-256-GCM) и подписывает своим приватным ключом (ECDSA).
- Шифротекст и подпись упаковываются в один пакет и «отправляются».
- Боб распаковывает, расшифровывает и проверяет подпись Алисы.
Структура проекта
cryptolayer_mini/
__init__.py — что экспортируется
crypto.py — шифрование, подписи, обмен ключами
transport.py — имитация транспорта
demo.py — пример использования
pyproject.toml — описание пакета
LICENSE — MIT
Лицензия
MIT — делай что хочешь, только укажи автора.
Release files for cryptolayer-mini 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cryptolayer_mini-0.1.0.tar.gz | 5.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cryptolayer_mini-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.8 kB
Release files / cryptolayer_mini-0.1.0.tar.gz
| Download URL | cryptolayer_mini-0.1.0.tar.gz |
|---|---|
| Size | 5.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ceabaf9688cca337aca896894b154fc97069ed868a06a9930cadeb9ffb31235b
|
|
BLAKE2b-256 checksum How to use checksums |
d64b6b1c432add1a99c3493bda9c34d8b35ed2b8fc0b3b001ce66987fbd27dcc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|
Release files / cryptolayer_mini-0.1.0-py3-none-any.whl
| Download URL | cryptolayer_mini-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d3f91512d1c9ffe828a060e01fc336c2429ad6a41fe31d24bddfb6e2bab44f84
|
|
BLAKE2b-256 checksum How to use checksums |
300f60e8564630f2564d2c320014e53c6227455ac95625293a803b0e0f5c11f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|