Skip to main content

CryptoLayer Mini

PyPI version Python versions License: MIT

Мини-версия 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 байт
Подпись верна.
Расшифровано: Привет, Боб! Это секретное сообщение.

Как это работает

  1. Алиса и Боб создают по два ключа: для подписи и для обмена.
  2. Обмениваются публичными ключами обмена и выводят общий секрет через ECDH + HKDF.
  3. Алиса шифрует сообщение общим ключом (AES-256-GCM) и подписывает своим приватным ключом (ECDSA).
  4. Шифротекст и подпись упаковываются в один пакет и «отправляются».
  5. Боб распаковывает, расшифровывает и проверяет подпись Алисы.

Структура проекта

cryptolayer_mini/
    __init__.py      — что экспортируется
    crypto.py        — шифрование, подписи, обмен ключами
    transport.py     — имитация транспорта
demo.py              — пример использования
pyproject.toml       — описание пакета
LICENSE              — MIT

Лицензия

MIT — делай что хочешь, только укажи автора.

Release files for cryptolayer-mini 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cryptolayer-mini 0.1.1
File Size Uploaded
cryptolayer_mini-0.1.1.tar.gz 6.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cryptolayer-mini 0.1.1
File Interpreter ABI Platform
cryptolayer_mini-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 12.4 kB

Release files / cryptolayer_mini-0.1.1.tar.gz

Download URL cryptolayer_mini-0.1.1.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e7042e0341b55aebe8d2c02ecbff56a039f1cbb5d3653c23cb9c97f6e0ad889e
BLAKE2b-256 checksum
How to use checksums
c44d850784fe4764345c72bb30ec8314af34e274f9fd900212468235c7b8b22e
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.1-py3-none-any.whl

Download URL cryptolayer_mini-0.1.1-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8e1a18850504a91ea765f88250f63e9a03ee5900780e59c265674b482b9fd3d1
BLAKE2b-256 checksum
How to use checksums
b8b623e1b266fdd0bbcd32d9ac9b05d569e983978b46fb113c843d00ffc4de59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page