reticulum_website/source/crypto_uk.md
2025-04-16 02:18:34 +02:00

27 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Криптографічні примітиви
Reticulum використовує простий набір ефективних, надійних і сучасних криптографічних примітивів, з широко доступними імплементаціями, які можна використовувати як на загальновживаних процесорах, так і на мікроконтролерах. Необхідні примітиви:
- Ed25519 для підписів
- X22519 для ECDH обміну ключами
- HKDF для виведення ключів
- AES-128 у режимі CBC
- AES-256 у режимі CBC
- HMAC-SHA256 для аутентифікації повідомлень
- SHA-256
- SHA-512
У стандартній конфігурації установки примітиви `X25519`, `Ed25519`, `AES-128-CBC` і `AES-256-CBC` надаються [OpenSSL](https://www.openssl.org/) (через пакет [PyCA/cryptography](https://github.com/pyca/cryptography)). Функції хешування `SHA-256` і `SHA-512` надаються стандартною бібліотекою Python [hashlib](https://docs.python.org/3/library/hashlib.html). Примітиви `HKDF`, `HMAC`, `Token`, а також функція паддінгу `PKCS7` завжди надаються наступними внутрішніми імплементаціями:
- [HKDF.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/HKDF.py)
- [HMAC.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/HMAC.py)
- [Token.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/Token.py)
- [PKCS7.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/PKCS7.py)
Reticulum також включає повну імплементацію всіх необхідних примітивів на чистому Python. Якщо OpenSSL і PyCA недоступні на системі під час запуску Reticulum, то замість них будуть використані внутрішні чисто-python примітиви. Легким наслідком цього є продуктивність, причому бекенд OpenSSL працює *набагато* швидше. Однак найважливіший наслідок полягає в потенційній втраті безпеки через використання примітивів, які не були піддані такій самій перевірці, тестуванню та огляду, як ті, що надаються OpenSSL.
Якщо ви хочете використовувати внутрішні чисто-python примітиви, **вкрай рекомендується** добре розуміти ризики, які вони несуть, і приймати обґрунтоване рішення щодо того, чи є ці ризики для вас прийнятними.
Reticulum — це відносно молода програма, і її слід розглядати саме як таку. Хоча вона була створена з урахуванням найкращих практик криптографії, вона е проходила_ зовнішнього аудиту безпеки, і цілком ймовірно, що існують помилки, які можуть зламати конфіденційність або безпеку. Якщо ви хочете допомогти або спонсорувати аудит, будь ласка, зв'яжіться з нами.
<p align="right"><a href="credits.html">Наступна тема: Подяки та кредити</a></p>