# Криптографічні примітиви 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 — це відносно молода програма, і її слід розглядати саме як таку. Хоча вона була створена з урахуванням найкращих практик криптографії, вона _не проходила_ зовнішнього аудиту безпеки, і цілком ймовірно, що існують помилки, які можуть зламати конфіденційність або безпеку. Якщо ви хочете допомогти або спонсорувати аудит, будь ласка, зв'яжіться з нами.

Наступна тема: Подяки та кредити