Skip to main content

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

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

  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.0

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.0
File Size Uploaded
cryptolayer_mini-0.1.0.tar.gz 5.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cryptolayer-mini 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

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