Updated github build

This commit is contained in:
Mark Qvist 2025-04-16 01:11:55 +02:00
parent ff35bb5604
commit a745140a4a
20 changed files with 46 additions and 20 deletions

View file

@ -1,10 +1,15 @@
# Cryptographic Primitives
Reticulum uses a simple suite of efficient, strong and modern cryptographic primitives, with widely available implementations that can be used both on general-purpose CPUs and on microcontrollers. The necessary primitives are:
Reticulum uses a simple suite of efficient, strong and well-tested cryptographic primitives, with widely available implementations that can be used both on general-purpose CPUs and on microcontrollers.
One of the primary considerations for choosing this particular set of primitives is that they can be implemented *safely* with relatively few pitfalls, on practically all current computing platforms.
The primitives listed here **are authoritative**. Anything claiming to be Reticulum, but not using these exact primitives **is not** Reticulum, and possibly an intentionally compromised or weakened clone. The utilised primitives are:
- Ed25519 for signatures
- X22519 for ECDH key exchanges
- HKDF for key derivation
- AES-128 in CBC mode
- AES-256 in CBC mode
- HMAC-SHA256 for message authentication
- SHA-256
- SHA-512

View file

@ -5,11 +5,12 @@ Reticulum verwendet eine einfache Reihe von effizienten, starken und modernen kr
- X22519 für ECDH Schlüsselaustausch
- HKDF für die Schlüsselableitung
- AES-128 im CBC modus
- AES-256 im CBC modus
- HMAC-SHA256 für die Nachrichtenauthentifizierung
- SHA-256
- SHA-512
In der Standard-Installationskonfiguration werden die Primitive `X25519`, `Ed25519` und `AES-128-CBC` von [OpenSSL](https://www.openssl.org/) (mit dem [PyCA/cryptography](https://github.com/pyca/cryptography) Packet mitgebracht). Die Hashing-Funktionen `SHA-256` und `SHA-512` werden vom Standard-Python bereitgestellt [hashlib](https://docs.python.org/3/library/hashlib.html). Die `HKDF`, `HMAC`, `Fernet` Primitive, und die `PKCS7` Auffüllfunktion werden immer von den folgenden internen Implementierungen bereitgestellt:
In der Standard-Installationskonfiguration werden die Primitive `X25519`, `Ed25519`, `AES-128-CBC` und `AES-256-CBC` von [OpenSSL](https://www.openssl.org/) (mit dem [PyCA/cryptography](https://github.com/pyca/cryptography) Packet mitgebracht). Die Hashing-Funktionen `SHA-256` und `SHA-512` werden vom Standard-Python bereitgestellt [hashlib](https://docs.python.org/3/library/hashlib.html). Die `HKDF`, `HMAC`, `Fernet` Primitive, und die `PKCS7` Auffüllfunktion werden immer von den folgenden internen Implementierungen bereitgestellt:
- [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)

View file

@ -5,11 +5,12 @@ Reticulum utiliza un conjunto sencillo de primitivas criptográficas eficientes,
- X22519 para cambios de llaves ECDH
- HKDF para derivación de llaves
- AES-128 en modo CBC
- AES-256 en modo CBC
- HMAC-SHA256 para autenticación de mensajes
- SHA-256
- SHA-512
En la configuración de la instalación por defecto, las primitivas `X25519`, `Ed25519` y `AES-128-CBC` son proporcionadas por [OpenSSL](https://www.openssl.org/) (a través del paquete [PyCA/cryptography](https://github.com/pyca/cryptography)). Las funciones hash `SHA-256` y `SHA-512` las proporciona el paquete estándar de Python [hashlib](https://docs.python.org/3/library/hashlib.html). Las primitivas `HKDF`, `HMAC`, `Fernet` y la función de *padding* `PKCS7` son siempre proporcionadas por las siguientes implementaciones internas:
En la configuración de la instalación por defecto, las primitivas `X25519`, `Ed25519`, `AES-128-CBC` y `AES-256-CBC` son proporcionadas por [OpenSSL](https://www.openssl.org/) (a través del paquete [PyCA/cryptography](https://github.com/pyca/cryptography)). Las funciones hash `SHA-256` y `SHA-512` las proporciona el paquete estándar de Python [hashlib](https://docs.python.org/3/library/hashlib.html). Las primitivas `HKDF`, `HMAC`, `Fernet` y la función de *padding* `PKCS7` son siempre proporcionadas por las siguientes implementaciones internas:
- [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)

View file

@ -5,11 +5,12 @@ Reticulumは、効率的で強力かつ現代的な暗号プリミティブの
- ECDH鍵交換用のX22519
- 鍵導出用のHKDF
- CBCモードでのAES-128
- CBCモードでのAES-256
- メッセージ認証用のHMAC-SHA256
- SHA-256
- SHA-512
デフォルトのインストール構成では、`X25519``Ed25519`および`AES-128-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``Fernet`プリミティブ、および`PKCS7`パディング関数は、常に次の内部実装によって提供されます:
デフォルトのインストール構成では、`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``Fernet`プリミティブ、および`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)

View file

@ -5,11 +5,12 @@ Reticulum maakt gebruik van een eenvoudige reeks efficiënte, sterke en moderne
- X22519 voor ECDH-sleuteluitwisselingen
- HKDF voor sleutelafleiding
- AES-128 in CBC-modus
- AES-256 in CBC-modus
- HMAC-SHA256 voor berichtauthenticatie
- SHA-256
- SHA-512
In de standaard installatieconfiguratie worden de primitieven `X25519`, `Ed25519` en `AES-128-CBC` geleverd door [OpenSSL](https://www.openssl.org/) (via het [PyCA/cryptography](https://github.com/pyca/cryptography) pakket). De hashfuncties `SHA-256` and `SHA-512` worden geleverd door de standaard Python [hashlib](https://docs.python.org/3/library/hashlib.html). De `HKDF`, `HMAC`, `Fernet` primitieven en de `PKCS7` opvullingsfunctie worden altijd geleverd door de volgende interne implementaties:
In de standaard installatieconfiguratie worden de primitieven `X25519`, `Ed25519`, `AES-256-CBC` en `AES-128-CBC` geleverd door [OpenSSL](https://www.openssl.org/) (via het [PyCA/cryptography](https://github.com/pyca/cryptography) pakket). De hashfuncties `SHA-256` and `SHA-512` worden geleverd door de standaard Python [hashlib](https://docs.python.org/3/library/hashlib.html). De `HKDF`, `HMAC`, `Fernet` primitieven en de `PKCS7` opvullingsfunctie worden altijd geleverd door de volgende interne implementaties:
- [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)

View file

@ -5,11 +5,12 @@ Reticulum wykorzystuje prosty zestaw wydajnych, silnych i nowoczesnych prymityw
- X22519 dla wymiany kluczy ECDH
- HKDF dla wyodrębnienia klucza
- AES-128 w trybie CBC
- AES-256 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:
W domyślnej konfiguracji instalacji, prymitywy `X25519`, `Ed25519`, `AES-128-CBC` i `AES-256-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)

View file

@ -5,11 +5,12 @@ Reticulum utiliza uma suíte simples de primitivos criptográficos modernos, for
- X22519 para trocas de chave ECDH
- HKDF para derivação de chaves
- AES-128 em modo CBC
- AES-256 em modo CBC
- HMAC-SHA256 para autenticação de mensagem
- SHA-256
- SHA-512
Na configuração de instalação padrão, os primitivos `X25519`, `Ed25519` e `AES_128-CBC` são fornecidos pela [OpenSSL](https://www.openssl.org/) (pelo pacote [PyCA/cryptography](https://github.com/pyca/cryptography) ). As funções de hash `SHA-256` e `SHA-512` são fornecidas pela biblioteca Python [hashlib](https://docs.python.org/3/library/hashlib.html). Os primitivos `HKDF`, `HMAC`, `Fernet`, e a função de preenchimento `PKCS7` são sempre fornecidas pelas seguintes implementações internas:
Na configuração de instalação padrão, os primitivos `X25519`, `Ed25519`, `AES-128-CBC` e `AES-256-CBC` são fornecidos pela [OpenSSL](https://www.openssl.org/) (pelo pacote [PyCA/cryptography](https://github.com/pyca/cryptography) ). As funções de hash `SHA-256` e `SHA-512` são fornecidas pela biblioteca Python [hashlib](https://docs.python.org/3/library/hashlib.html). Os primitivos `HKDF`, `HMAC`, `Fernet`, e a função de preenchimento `PKCS7` são sempre fornecidas pelas seguintes implementações internas:
- [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)

View file

@ -5,11 +5,12 @@ Reticulum, genel amaçlı CPU'lerde ve mikrodenetleyicilerde kullanılabilen yay
- ECDH anahtar değişimleri için X22519
- Anahtar oluşturmak için HKDF
- CBC modunda AES-128
- CBC modunda AES-256
- Mesaj doğrulama için HMAC-SHA256
- SHA-256
- SHA-512
Varsayılan kurulum yapılandırmasında, `X25519`, `Ed25519` ve `AES-128-CBC` temel öğeleri, [OpenSSL](https://www.openssl.org/) (aracılığıyla [PyCA/cryptography](https://github.com/pyca/cryptography) paketi üzerinden) tarafından sağlanır. Karma fonksiyonları `SHA-256` ve `SHA-512`, standart Python [hashlib](https://docs.python.org/3/library/hashlib.html) tarafından sağlanır. `HKDF`, `HMAC`, `Fernet` temel öğeleri ve `PKCS7` dolgu fonksiyonu her zaman şu içsel uygulamalar tarafından sağlanır:
Varsayılan kurulum yapılandırmasında, `X25519`, `Ed25519`, `AES-128-CBC` ve `AES-256-CBC` temel öğeleri, [OpenSSL](https://www.openssl.org/) (aracılığıyla [PyCA/cryptography](https://github.com/pyca/cryptography) paketi üzerinden) tarafından sağlanır. Karma fonksiyonları `SHA-256` ve `SHA-512`, standart Python [hashlib](https://docs.python.org/3/library/hashlib.html) tarafından sağlanır. `HKDF`, `HMAC`, `Fernet` temel öğeleri ve `PKCS7` dolgu fonksiyonu her zaman şu içsel uygulamalar tarafından sağlanır:
- [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)

View file

@ -5,11 +5,12 @@ Reticulum використовує простий набір ефективни
- X22519 для ECDH обміну ключами
- HKDF для виведення ключів
- AES-128 у режимі CBC
- AES-256 у режимі CBC
- HMAC-SHA256 для аутентифікації повідомлень
- SHA-256
- SHA-512
У стандартній конфігурації установки примітиви `X25519`, `Ed25519` і `AES-128-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`, `Fernet`, а також функція паддінгу `PKCS7` завжди надаються наступними внутрішніми імплементаціями:
У стандартній конфігурації установки примітиви `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`, `Fernet`, а також функція паддінгу `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)

View file

@ -5,11 +5,12 @@ Reticulum 使用了一系列高效、健壮、现代的密码学原语(cryptogra
- X22519 用于 ECDH 密钥交换
- HKDF 用于密钥派生
- AES-128 CBC 模式
- AES-256 CBC 模式
- HMAC-SHA256 用于消息认证
- SHA-256
- SHA-512
在默认安装下,`X25519``Ed25519``AES-128-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``Fernet` 原语与 `PKCS7` 填充函数总是由以下内部实现提供:
在默认安装下,`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``Fernet` 原语与 `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)