mirror of
https://github.com/markqvist/reticulum_website.git
synced 2024-12-27 16:39:30 -05:00
27 lines
2.5 KiB
Markdown
27 lines
2.5 KiB
Markdown
|
# Prymitywy kryptograficzne
|
||
|
Reticulum wykorzystuje prosty zestaw wydajnych, silnych i nowoczesnych prymitywów kryptograficznych, z szeroko dostępnymi implementacjami, które mogą być używane zarówno na procesorach ogólnego przeznaczenia, jak i na mikrokontrolerach. Niezbędne prymitywy to:
|
||
|
|
||
|
- Ed25519 dla sygnatur
|
||
|
- X22519 dla wymiany kluczy ECDH
|
||
|
- HKDF dla wyodrębnienia klucza
|
||
|
- AES-128 w trybie CBC
|
||
|
- HMAC-SHA256 dla uwierzytelnienia wiadomości
|
||
|
- SHA-256
|
||
|
- SHA-512
|
||
|
|
||
|
W domyślnej konfiguracji instalacji, prymitywy `X25519`, `Ed25519` i `AES-128-CBC` są dostarczone przez [OpenSSL](https://www.openssl.org/) (przez pakiet [PyCA/cryptography](https://github.com/pyca/cryptography)). Funkcja hashu `SHA-256` i `SHA-512` są dostarczone przez standard Pythona [hashlib](https://docs.python.org/3/library/hashlib.html). Prymitywy `HKDF`, `HMAC`, `Fernet` i funkcja padding `PKCS7` są zawsze dostarczane przez następujące wewnętrzne implementacje:
|
||
|
|
||
|
- [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)
|
||
|
- [Fernet.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/Fernet.py)
|
||
|
- [PKCS7.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/PKCS7.py)
|
||
|
|
||
|
|
||
|
Reticulum zawiera również kompletną implementację wszystkich niezbędnych prymitywów w czystym Pythonie. Jeśli OpenSSL i PyCA nie są dostępne w systemie podczas uruchamiania Reticulum, Reticulum użyje wewnętrznych prymitywów w czystym Pythonie. Trywialną konsekwencją tego jest wydajność, backend OpenSSL jest *znacznie* szybszy. Najważniejszą konsekwencją jest jednak potencjalna utrata bezpieczeństwa poprzez użycie prymitywów, które nie zostały poddane takiej samej analizie, testom i przeglądom jak te z OpenSSL.
|
||
|
|
||
|
Jeśli chcesz używać wewnętrznych czystych prymitywów pythona, jest **bardzo wskazane**, abyś dobrze rozumiał ryzyko, jakie to stwarza, i podjął świadomą decyzję, czy to ryzyko jest dla ciebie do przyjęcia.
|
||
|
|
||
|
Reticulum jest stosunkowo młodym oprogramowaniem i powinno być traktowane jako takie. Chociaż zostało zbudowane z myślą o najlepszych praktykach kryptograficznych, _nie zostało_ poddane zewnętrznemu audytowi bezpieczeństwa i bardzo możliwe, że zawiera błędy naruszające prywatność lub bezpieczeństwo. Jeśli chcesz pomóc lub zasponsorować audyt, skontaktuj się ze mną.
|
||
|
|
||
|
<p align="right"><a href="credits_pl.html">Next Topic: Podziękowania & Zasługi</a></p>
|