Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Reticulum — La pile réseau basée sur la cryptographie pour construire des réseaux imparables avec LoRa, Packet Radio, WiFi et tout ce qui se trouve entre les deux. | Kitploit
Outils/GitHubGitHub/markqvist/reticulum
Outils de Chiffrement/DéchiffrementSécurité RéseauSécurité Sans FilCryptographieProtection de la Vie PrivéeUtilitaires et FrameworksAuthentification
GitHubmarkqvist/reticulum

Reticulum

La pile réseau basée sur la cryptographie pour construire des réseaux imparables avec LoRa, Packet Radio, WiFi et tout ce qui se trouve entre les deux.

Voir le dépôt
6.7k49054il y a 20 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web
Reticulum Network Stack <img align="right" src="https://static.pepy.tech/personalized-badge/rns?period=month&amp;units=international_system&amp;left_color=grey&amp;right_color=blue&amp;left_text=Installs/month" style="padding-left:10px"/><a href="https://github.com/markqvist/Reticulum/actions/workflows/build.yml"><img align="right" src="https://github.com/markqvist/Reticulum/actions/workflows/build.yml/badge.svg"/></a>
==========

> [!WARNING]  
> Un nombre important de contrefaçons d'implémentations Reticulum, de « documentation », de « guides » et d'applications destinées aux utilisateurs, lancées à la hâte, incorrectes, douteuses, directement nuisibles et, dans la plupart des cas, entièrement générées par des LLM, sont actuellement commercialisées sous des allégations soignées, mais en fin de compte trompeuses ou carrément mensongères.
>
> Pour plus d'informations détaillées, consultez les sections pertinentes du chapitre [Brandolini's Reference](https://reticulum.network/manual/brandolinis.html) du manuel. Les implémentations communautaires reconnues comme fiables sont répertoriées dans la section [Community Implementations](#community-implementations) de ce readme. Pour les logiciels et projets reconnus par la communauté Reticulum, consultez le chapitre [Programs Using Reticulum](https://reticulum.network/manual/software.html) du manuel.
>
> Le contenu généré par machine dérivé du code source ou de la documentation de RNS (comme les « implémentations », les « guides » à vendre, etc.), dans plusieurs cas bien documentés, viole les licences open source qui ont accordé les droits de copie et de distribution.
>
> Toute assertion revendiquée de droit d'auteur ou toute concession de licence (Apache, GPL, etc.) que de tels projets émettent sont des [concessions nulles](https://reticulum.network/manual/brandolinis.html#void-grants-legal-foundations-of-machine-generated-code). Tant les contrevenants eux-mêmes que tous les projets en aval utilisant les dérivés contrefaisants sont **directement** et personnellement responsables des conséquences juridiques.
>
> N'utilisez **pas** ces « projets », ils constituent un danger pour tout l'écosystème que nous construisons soigneusement depuis dix ans.

<p align="center"><img width="200" src="https://assets.kitploit.com/production/public/readmes/10927/035f499a1619cfb6d2da2ca99539e9e9d122bb18addf2ab83d3413592e7662f9.png"></p>

*Ce dépôt est [un miroir public](https://github.com/markqvist/reticulum/blob/master/MIRROR.md). Tout le développement se déroule ailleurs.*

Pour comprendre la philosophie fondamentale et les objectifs de ce système, lisez le [Zen of Reticulum](https://github.com/markqvist/reticulum/blob/master/Zen%20of%20Reticulum.md).

Reticulum est la pile réseau fondée sur la cryptographie permettant de construire des réseaux locaux et étendus avec du matériel facilement disponible. Il peut fonctionner même avec une latence très élevée et une bande passante extrêmement faible. Reticulum vous permet de construire des réseaux étendus avec des outils du commerce, et offre un chiffrement et une connectivité de bout en bout, l'anonymat de l'initiateur, un transport multi-sauts auto-configuré et soutenu cryptographiquement, un adressage efficace, des accusés de réception de livraison infalsifiables, et bien plus encore.

La vision de Reticulum est de permettre à quiconque d'être son propre opérateur réseau, et de rendre peu coûteux et facile la couverture de vastes zones avec une myriade de réseaux indépendants, interconnectables et autonomes. Reticulum **n'est pas** *un* réseau. C'est **un outil** pour construire *des milliers de réseaux*. Des réseaux sans interrupteurs d'arrêt, sans surveillance, sans censure et sans contrôle. Des réseaux qui peuvent librement interopérer, s'associer et se dissocier les uns des autres, et qui ne nécessitent aucune supervision centrale. Des réseaux pour les êtres humains. *Des réseaux pour le peuple*.

Reticulum est une pile réseau complète, et ne repose pas sur IP ou des couches supérieures, mais il est possible d'utiliser IP comme support sous-jacent pour Reticulum. Il est donc trivial de tunnelliser Reticulum sur Internet ou sur des réseaux IP privés.

Le fait de n'avoir aucune dépendance envers les piles réseau traditionnelles libère la surcharge qui a été utilisée pour implémenter une pile réseau construite directement sur des principes cryptographiques, permettant résilience et fonctionnalité stable, même dans des réseaux ouverts et sans confiance.

Aucun module noyau ni pilote n'est requis. Reticulum s'exécute entièrement en espace utilisateur, et peut fonctionner sur pratiquement n'importe quel système exécutant Python 3.

## Lire le manuel
La documentation complète de Reticulum est disponible sur [markqvist.github.io/Reticulum/manual/](https://markqvist.github.io/Reticulum/manual/).

Vous pouvez également télécharger le [manuel Reticulum au format PDF](https://github.com/markqvist/Reticulum/releases/latest/download/Reticulum.Manual.pdf) ou [au format e-book EPUB](https://github.com/markqvist/Reticulum/releases/latest/download/Reticulum.Manual.epub).

Pour plus d'informations, consultez [reticulum.network](https://reticulum.network/) et [la section FAQ du wiki](https://github.com/markqvist/Reticulum/wiki/Frequently-Asked-Questions).

## Caractéristiques notables
- Adressage et identification globalement uniques sans coordination
- Routage multi-sauts entièrement auto-configuré sur des supports hétérogènes
- Évolutivité flexible sur des topologies hétérogènes
  - Reticulum peut transporter des données sur n'importe quel mélange de supports physiques et de topologies
  - Les réseaux à faible bande passante peuvent coexister et interopérer avec de grands réseaux à haut débit
- Anonymat de l'initiateur, communiquez sans révéler votre identité
  - Reticulum n'inclut pas d'adresses source sur les paquets
- Chiffrement asymétrique X25519 et signatures Ed25519 comme base de toute communication
  - Les clés d'identité fondamentales de Reticulum sont des jeux de clés à courbe elliptique de 512 bits
- La confidentialité persistante (Forward Secrecy) est disponible pour tous les types de communication, tant pour les paquets uniques que sur les liens
- Reticulum utilise le format suivant pour les jetons chiffrés :
  - Clés éphémères par paquet et par lien, dérivées d'un échange de clés ECDH sur Curve25519
  - AES-256 en mode CBC avec remplissage PKCS7
  - HMAC utilisant SHA256 pour l'authentification
  - Les IV sont générés via os.urandom()
- Confirmations de livraison de paquets infalsifiables
- Système d'interfaces flexible et extensible
  - Reticulum inclut une grande variété de types d'interfaces intégrés
  - Capacité de charger et d'utiliser des types d'interfaces personnalisés fournis par l'utilisateur ou la communauté
  - Créez facilement vos propres interfaces personnalisées pour communiquer sur n'importe quoi
- Authentification et segmentation de réseau virtuel sur tous les types d'interfaces pris en charge
- Une API intuitive et facile à utiliser
  - Plus simple et plus facile à utiliser que les API de sockets, mais plus puissante
  - Rend la construction d'applications distribuées et décentralisées beaucoup plus simple
- Transfert fiable et efficace de quantités arbitraires de données
  - Reticulum peut gérer quelques octets de données ou des fichiers de plusieurs gigaoctets
  - Le séquencement, la compression, la coordination des transferts et le calcul de sommes de contrôle sont automatiques
  - L'API est très facile à utiliser et fournit la progression du transfert
- Mécanisme Requête/Réponse léger, flexible et extensible
- Établissement de lien efficace
  - Le coût total de l'établissement d'un lien chiffré et vérifié n'est que de 3 paquets, soit 297 octets au total
  - Le coût de maintien des liens ouverts n'est que de 0,44 bit par seconde
- Livraison séquentielle fiable avec les mécanismes Channel et Buffer

## Ressources communautaires

Les références listées ici ne sont ni gérées, ni administrées, ni modérées par le projet Reticulum ou son mainteneur. Elles sont fournies par des bénévoles dévoués et indépendants de la communauté, au bénéfice de toute personne souhaitant en apprendre davantage sur Reticulum.

- [Reticulum Community Wiki](https://reticulum.miraheze.org/wiki)
- [RNS Recipes](https://rns.recipes/)
- [RNS Moscow](https://rns.moscow/)
- [RMAP.world](https://rmap.world/)

Si vous trouvez quelque chose qui n'est plus exact, incorrect ou simplement pas tout à fait à jour, n'exigez rien et ne vous plaignez pas auprès des mainteneurs de ces ressources. Prenez plutôt la tâche à votre compte pour aider et améliorer les choses en travaillant sur les contributions que vous aimeriez voir, et en les offrant, comme les créateurs de ce qui précède l'ont fait eux-mêmes.

## Implémentation de référence

Le code Python dans ce dépôt est l'implémentation de référence de Reticulum. Le protocole Reticulum est défini entièrement et de manière faisant autorité par cette implémentation de référence, et son manuel associé. Il est maintenu par Mark Qvist, identifié par l'identité Reticulum `<bc7291552be7a58f361522990465165c>`.

Aucun dérivé de spécification de protocole de second ordre n'existe actuellement, ni n'existera jamais. Vous ne pouvez pas obtenir une meilleure spécification qu'une spécification exécutable, fonctionnelle, testable, déployée et fonctionnant 24h/24 et 7j/7 à travers la planète.

Il n'y a pas, et il n'y aura jamais de « spécification formelle », de « RFC » ou quoi que ce soit de similaire, distinct et dérivé, pour Reticulum :

**L'implémentation de référence *est* la spécification finale et faisant autorité.**

La compatibilité avec le protocole Reticulum est définie comme ayant une interopérabilité complète, et une parité fonctionnelle suffisante avec cette implémentation de référence. Toute implémentation spécifique du protocole qui y parvient est Reticulum. Toute implémentation qui n'y parvient pas n'est pas Reticulum.

L'implémentation de référence est sous licence Reticulum License.

Le protocole Reticulum a été dédié au domaine public en 2016.

## Implémentations communautaires

Les implémentations listées ici ont démontré une compatibilité au niveau du protocole, une parité fonctionnelle suffisante, des pratiques de sécurité et de développement sensées, un engagement à long terme et un souci de la qualité d'implémentation. De plus, elles ont un historique d'au moins 18 mois de développement actif.

Plus important encore, leurs développeurs et mainteneurs sont reconnus par la communauté comme sachant réellement ce qu'ils font, et comme étant engagés à améliorer l'écosystème Reticulum dans son ensemble.

- [microReticulum](https://github.com/attermann/microReticulum/) de [Chad Atterman](https://github.com/attermann) est une implémentation C++ ciblant les microcontrôleurs 32 bits.
- [Reticulum-Go](https://reticulum-go.quad4.io/) de [Quad4](https://quad4.io/) est une implémentation Go ciblant à la fois les systèmes de bureau, mobiles et embarqués.

*Si vous êtes le mainteneur d'une implémentation non listée ci-dessus, et que vous estimez qu'elle mérite d'être incluse en suivant les mêmes normes de rigueur et d'engagement, votre proposition sera la bienvenue.*

---

**Attention !** Un nombre important de contrefaçons d'implémentations Reticulum (et d'applications destinées aux utilisateurs), lancées à la hâte, incorrectes, douteuses, directement nuisibles et, dans la plupart des cas, entièrement générées par des LLM, sont actuellement commercialisées et promues sous des allégations soignées, mais en fin de compte trompeuses ou carrément mensongères. La plupart d'entre elles sont soit des tentatives rapides d'attirer l'attention ou de l'argent, complètement non révisées, incompatibles, sans maintenance ni supervision humaine, cherchant activement à fragmenter la communauté, soit une combinaison de tout cela.

---

Pour des informations plus approfondies sur ce sujet, lisez le chapitre [Brandolini's Reference](https://reticulum.network/manual/brandolinis.html) du manuel (pour les fondements juridiques, voir spécifiquement [Void Grants](https://reticulum.network/manual/brandolinis.html#void-grants-legal-foundations-of-machine-generated-code)). Le chapitre est très long, très détaillé, et constitue l'analyse polie et mesurée, conçue comme une référence évolutive et sectionnée sur ces questions.

Si vous préférez simplement la version courte, non filtrée et assez en colère, qui consiste en une réponse mise en œuvre à une manifestation particulière du phénomène dans son ensemble, utilisée comme exemple, vous pouvez lire [Yes, I am Angry](https://github.com/markqvist/reticulum/blob/master/docs/history/2026_09_18_Yes_I_am_Angry.md). Cela fait passer le même message, dans un langage très différent, si vous pouvez supporter ce genre de communication.

Les mainteneurs et développeurs principaux de Reticulum **déconseillent fortement l'utilisation de toute telle « implémentation »**. Le [comportement trompeur et intéressé](https://reticulum.network/manual/brandolinis.html#a-persistent-but-fragile-triad) d'un petit nombre d'individus mal intentionnés, en quête d'attention ou incompétents a causé des [dommages et des pertes de temps et de ressources](https://reticulum.network/manual/brandolinis.html#intent-consequence) considérables tant pour les développeurs, les opérateurs de nœuds, les utilisateurs que pour la communauté et le projet Reticulum dans son ensemble.

Nous demandons gentiment, mais instamment, à tous les utilisateurs de faire preuve de prudence, de bon sens et de scepticisme sain lorsqu'ils [évaluent](https://reticulum.network/manual/brandolinis.html#evaluating-a-reticulum-implementation) l'utilisation potentielle de toute implémentation non listée ci-dessus ; et d'accepter que **choisir de le faire malgré tout transfère la responsabilité des dommages potentiels d'un individu irresponsable ou malveillant sur vous-même**.

## Exemples d'applications Reticulum
Si vous voulez vous faire rapidement une idée de ce que Reticulum peut faire, jetez un œil à la section [Programs Using Reticulum](https://reticulum.network/manual/software.html) du manuel, ou aux ressources suivantes :

- [LXMF](https://github.com/markqvist/lxmf) est un protocole de transfert de messages distribué, tolérant aux délais et aux perturbations, construit sur Reticulum
- Le protocole et framework [LXST](https://github.com/markqvist/lxst) fournit un transport audio et de signaux en temps réel sur Reticulum. Il inclut des primitives et des utilitaires pour construire des applications vocales et des appareils matériels, tels que le programme `rnphone`, qui peut être utilisé pour construire des téléphones matériels.
- Pour une plateforme de communication maillée hors réseau, chiffrée et résiliente, voir [Nomad Network](https://github.com/markqvist/NomadNet)
- L'application Android, Linux, macOS et Windows [Sideband](https://github.com/markqvist/Sideband) dispose d'une interface graphique et de nombreuses fonctionnalités avancées, telles que le transfert de fichiers, les messages image et vocaux, les appels vocaux en temps réel, un système de télémétrie distribué, des capacités de cartographie et une extensibilité complète par plugins.
- [MeshChatX](https://git.quad4.io/RNS-Things/MeshChatX) est un client LXMF complet avec de nombreux outils et fonctionnalités intégrés, qui prend également en charge les messages image et vocaux, le transfert de fichiers et les appels vocaux. Il inclut aussi un navigateur de pages intégré pour parcourir les nœuds Nomad Network.
- Vous pouvez utiliser le programme [rnsh](https://reticulum.network/manual/using.html#the-rnsh-utility) inclus pour établir des sessions shell distantes sur Reticulum.
- Le système [rngit](https://reticulum.network/manual/git.html) inclus fournit une solution complète pour gérer, héberger, collaborer et interagir avec des dépôts Git sur Reticulum.

## Où Reticulum peut-il être utilisé ?
Sur pratiquement n'importe quel support pouvant prendre en charge au moins un canal half-duplex avec un débit supérieur à 5 bits par seconde, et une MTU de 500 octets. Les radios de données, les modems, les radios LoRa, les lignes série, les TNC AX.25, les modes numériques radioamateur, les appareils WiFi et Ethernet, les liaisons optiques en espace libre, et systèmes similaires sont tous des exemples des types d'appareils physiques que Reticulum peut utiliser.

Une interface open source basée sur LoRa appelée [RNode](https://markqvist.github.io/Reticulum/manual/hardware.html#rnode) a été conçue spécifiquement pour être utilisée avec Reticulum. Il est possible de la construire soi-même, ou elle peut être achetée comme un émetteur-récepteur complet qui n'a besoin que d'une connexion USB, WiFi ou Bluetooth à l'hôte.

Reticulum peut également être encapsulé sur des réseaux IP existants, donc rien ne vous empêche de l'utiliser sur Ethernet filaire, votre réseau WiFi local ou Internet, où il fonctionnera tout aussi bien. En fait, l'une des forces de Reticulum est la facilité avec laquelle il vous permet de connecter différents supports en un maillage auto-configuré, résilient et chiffré, en utilisant n'importe quel mélange d'infrastructure disponible.

Par exemple, il est possible de configurer un Raspberry Pi connecté à la fois à une radio LoRa, un TNC radio à paquets et un réseau WiFi. Une fois les interfaces configurées, Reticulum s'occupera du reste, et tout appareil sur le réseau WiFi pourra communiquer avec les nœuds des côtés LoRa et radio à paquets du réseau, et vice versa.

## Comment démarrer ?
La meilleure façon de démarrer avec la pile réseau Reticulum dépend de ce que vous voulez faire. Pour tous les détails et exemples, consultez la section [Getting Started Fast](https://markqvist.github.io/Reticulum/manual/gettingstartedfast.html) du [Reticulum Manual](https://markqvist.github.io/Reticulum/manual/).

Pour simplement installer Reticulum et les utilitaires associés sur votre système, le plus simple est via `pip`. Vous pouvez ensuite démarrer n'importe quel programme utilisant Reticulum, ou démarrer Reticulum en tant que service système avec [l'utilitaire rnsd](https://markqvist.github.io/Reticulum/manual/using.html#the-rnsd-utility).```bash
pip install rns
```
Si vous utilisez un système d'exploitation qui bloque l'installation normale de paquets utilisateur via `pip`, vous pouvez rétablir le comportement normal de `pip` en modifiant le fichier `~/.config/pip/pip.conf` et en ajoutant la directive suivante dans la section `[global]` :```text
[global]
break-system-packages = true
```
Alternativement, vous pouvez utiliser l'outil `pipx` pour installer Reticulum dans un environnement isolé :```bash
pipx install rns
```
Lors du premier démarrage, Reticulum créera un fichier de configuration par défaut, offrant une connectivité de base aux autres pairs Reticulum qui pourraient être accessibles localement. Le fichier de configuration par défaut contient quelques exemples et des références pour créer une configuration plus complexe.

Si vous avez une ancienne version de `pip` sur votre système, vous devrez peut-être d'abord la mettre à niveau avec `pip install pip --upgrade`. Si vous n'avez pas encore `pip` installé, vous pouvez l'installer en utilisant le gestionnaire de paquets de votre système avec `sudo apt install python3-pip` ou similaire.

Pour des exemples plus détaillés sur la façon d'étendre la communication sur de nombreux supports tels que la radio paquet ou LoRa, les ports série, ou sur des liens IP rapides et Internet en utilisant les interfaces UDP et TCP, consultez la section [Supported Interfaces](https://markqvist.github.io/Reticulum/manual/interfaces.html) du [Reticulum Manual](https://markqvist.github.io/Reticulum/manual/).

## Included Utilities
Reticulum inclut une gamme d'utilitaires utiles pour gérer vos réseaux, consulter l'état et les informations, et d'autres tâches. Vous pouvez en savoir plus sur ces programmes dans la section [Included Utility Programs](https://markqvist.github.io/Reticulum/manual/using.html#included-utility-programs) du [Reticulum Manual](https://markqvist.github.io/Reticulum/manual/).

- Le démon système `rnsd` pour exécuter Reticulum en tant que service toujours disponible
- Un utilitaire d'état des interfaces appelé `rnstatus`, qui affiche des informations sur les interfaces
- L'outil de recherche et de gestion de chemins `rnpath` vous permettant de consulter et de modifier les tables de chemins
- Un outil de diagnostic appelé `rnprobe` pour vérifier la connectivité aux destinations
- Un programme simple de transfert de fichiers appelé `rncp` facilitant le transfert de fichiers entre systèmes
- L'utilitaire de gestion d'identité et de chiffrement `rnid` vous permet de gérer les identités et de chiffrer/déchiffrer des fichiers
- Le programme `rnsh` vous permet d'établir une session shell entièrement interactive avec des systèmes distants
- Le programme d'exécution de commandes à distance `rnx` vous permet d'exécuter des commandes et des programmes simples et de récupérer la sortie depuis des systèmes distants
- Le programme `rngit` fournit un nœud Git multi-dépôts complet pour servir des dépôts sur Reticulum
- L'assistant `git-remote-rns` inclus vous permet d'interagir avec des dépôts Git sur Reticulum

Tous les outils, y compris `rnx` et `rncp`, fonctionnent de manière fiable et efficace même sur des liens à très faible bande passante comme LoRa ou la radio paquet. Pour des shells distants complets sur Reticulum, jetez également un œil au programme [rnsh](https://github.com/acehoss/rnsh).

## Supported interface types and devices

Reticulum implémente une gamme de types d'interfaces généralisés qui couvre la plupart du matériel de communication sur lequel Reticulum peut fonctionner. Si votre matériel n'est pas pris en charge, il est [simple d'implémenter un module d'interface personnalisé](https://markqvist.github.io/Reticulum/manual/interfaces.html#custom-interfaces).

Les contributions d'interfaces personnalisées sont acceptées avec gratitude, à condition qu'elles soient généralement utiles et bien testées en usage réel.

Actuellement, les interfaces intégrées suivantes sont prises en charge :

- Tout périphérique Ethernet
- LoRa en utilisant [RNode](https://unsigned.io/rnode/)
- TNC de radio paquet (avec ou sans AX.25)
- Modems matériels et logiciels compatibles KISS
- Tout périphérique disposant d'un port série
- TCP sur réseaux IP
- UDP sur réseaux IP
- Programmes externes via stdio ou pipes
- Matériel personnalisé via stdio ou pipes

## Performance
*Tous les chiffres de performance ici supposent que `rnsd` fonctionne en mode Python entièrement interprété, limité à un seul cœur CPU.*

Reticulum vise une enveloppe de performance utilisable *très* large, mais priorise la fonctionnalité et la performance sur les supports à faible bande passante. L'objectif est de fournir une enveloppe de performance dynamique allant de 100 bits par seconde à 10 gigabits par seconde sur du matériel normal.

Actuellement, l'enveloppe de performance utilisable sur le réseau est d'environ 150 bits par seconde à 1 gigabit par seconde sur du matériel modeste. La performance réelle variera considérablement selon la vitesse de votre système, la disponibilité de l'accélération matérielle cryptographique et d'autres facteurs.

Le débit de routage brut pour un nœud de transport hébergé sur un Raspberry Pi 5 est d'environ 5 gigabits par seconde. Les systèmes dotés d'une accélération matérielle cryptographique moderne peuvent atteindre un débit de transport de 15 gigabits par seconde et plus.

Bien que l'implémentation de référence soit parfaitement capable d'atteindre 100+ Gbps, en utilisant plusieurs cœurs CPU et un transport vectorisé, la performance au-delà du niveau actuel n'est pas hautement priorisée, car RNS est déjà capable de saturer la bande passante du support physique disponible dans presque toutes les situations réelles.

Les objectifs principaux de RNS sont la *fiabilité*, la *justesse*, la *sécurité*, la *gestion appropriée du trafic* et une *performance réellement pratique*, et non des « benchmarks » creux sur papier n'ayant que peu ou pas de rapport avec l'utilisabilité réelle.

Tous les mainteneurs d'implémentations alternatives sont *vivement* encouragés à adopter une approche similaire, et en particulier à se concentrer sur le bon fonctionnement et la fiabilité de leurs implémentations avant de publier des affirmations de performance empiriquement douteuses ou factuellement erronées.

## Current Status
Toutes les fonctionnalités du protocole de base sont implémentées et fonctionnelles, mais des ajouts se produiront probablement au fur et à mesure que l'usage réel est exploré et compris. L'API et le format de transmission peuvent être considérés comme stables.

## Dependencies
L'installation du paquet `rns` par défaut ne nécessite que deux dépendances externes, listées ci-dessous. Presque tous les systèmes et distributions disposent de paquets facilement disponibles pour ces dépendances, et lorsque le paquet `rns` est installé avec `pip`, elles seront également téléchargées et installées.

- [PyCA/cryptography](https://github.com/pyca/cryptography)
- [pyserial](https://github.com/pyserial/pyserial)

Sur des systèmes plus inhabituels, et dans certains cas rares, il peut être impossible d'installer ou même de compiler un ou plusieurs des modules ci-dessus. Dans de telles situations, vous pouvez utiliser le paquet `rnspure` à la place, qui ne nécessite aucune dépendance externe pour l'installation. Veuillez noter que le contenu des paquets `rns` et `rnspure` est *identique*. La seule différence est que le paquet `rnspure` ne liste aucune dépendance requise pour l'installation.

Peu importe comment Reticulum est installé et démarré, il ne chargera les dépendances externes que si elles sont *nécessaires* et *disponibles*. Si par exemple vous souhaitez utiliser Reticulum sur un système qui ne peut pas prendre en charge [pyserial](https://github.com/pyserial/pyserial), il est parfaitement possible de le faire en utilisant le paquet `rnspure`, mais Reticulum ne pourra pas utiliser les interfaces basées sur le port série. Tous les autres modules disponibles seront toujours chargés lorsque nécessaire.

**Veuillez noter !** Si vous utilisez le paquet `rnspure` pour exécuter Reticulum sur des systèmes qui ne prennent pas en charge [PyCA/cryptography](https://github.com/pyca/cryptography), il est important que vous lisiez et compreniez la section [Cryptographic Primitives](#cryptographic-primitives) de ce document.

## Bootstrapping Connectivity

Reticulum n'est pas un service auquel vous vous abonnez, ni un réseau mondial unique que vous « rejoignez ». Reticulum fournit des fonctionnalités pour découvrir les interfaces publiques disponibles sur le réseau lui-même, et la communauté au sens large a fourni divers annuaires de points d'entrée publiquement disponibles pour amorcer la connectivité.

Pour apprendre comment établir une connectivité initiale sur Reticulum, lisez la section [Bootstrapping Connectivity](https://reticulum.network/manual/gettingstartedfast.html#bootstrapping-connectivity) du manuel.

Si vous avez déjà une idée générale du fonctionnement, vous pouvez utiliser des sites gérés par la communauté tels que [directory.rns.recipes](https://directory.rns.recipes/) et [rmap.world](https://rmap.world) pour trouver des définitions d'interfaces pour une connectivité initiale à l'épine dorsale distribuée mondiale de Reticulum.

## Public Testnet
***Important !** Historiquement, un testnet destiné aux développeurs a été mis à disposition par le projet Reticulum lui-même. Comme le nombre de nœuds et de points d'entrée Reticulum mondiaux a atteint une quantité substantielle, ce testnet public, y compris le point d'entrée Amsterdam Testnet, a maintenant été mis hors service. Si vous avez encore des instances qui dépendaient de ce point d'entrée pour la connectivité, transitionnez vers l'utilisation de l'épine dorsale distribuée à la place. Reticulum inclut désormais un système complet de découverte d'interfaces sur le réseau et d'amorçage de connectivité. Lisez la section [Bootstrapping Connectivity](https://reticulum.network/manual/gettingstartedfast.html#bootstrapping-connectivity) du manuel pour des indications.*

## Support Reticulum
Pour que cela soit possible, j'ai besoin de votre aide. Veuillez soutenir le développement continu de systèmes de communication ouverts, libres et privés en faisant un don via l'un des canaux suivants :

- Monero :  ```
  84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5w
  ```
- Bitcoin  ```
  bc1pgqgu8h8xvj4jtafslq396v7ju7hkgymyrzyqft4llfslz5vp99psqfk3a6
  ```
- Ethereum  ```
  0x91C421DdfB8a30a49A71d63447ddb54cEBe3465E
  ```
- Liberapay : https://liberapay.com/Reticulum/

- Ko-Fi : https://ko-fi.com/markqvist

## Primitives cryptographiques
Reticulum utilise une suite simple de primitives cryptographiques efficaces, robustes et bien testées, avec des implémentations largement disponibles pouvant être utilisées à la fois sur des processeurs à usage général et sur des microcontrôleurs.

L'une des considérations principales pour le choix de cet ensemble particulier de primitives est qu'elles peuvent être implémentées *en toute sécurité* avec relativement peu de pièges, sur pratiquement toutes les plateformes informatiques actuelles.

Les primitives listées ici **font autorité**. Tout ce qui prétend être Reticulum, mais qui n'utilise pas exactement ces primitives **n'est pas** Reticulum, et possiblement un clone intentionnellement compromis ou affaibli. Les primitives utilisées sont :

- Les clés d'identité Reticulum sont des jeux de clés Curve25519 de 512 bits
  - Une clé Ed25519 de 256 bits pour les signatures
  - Une clé X22519 de 256 bits pour les échanges de clés ECDH
- HKDF pour la dérivation de clés
- Les jetons chiffrés sont basés sur la [spécification Fernet](https://github.com/fernet/spec/)
  - Clés éphémères dérivées d'un échange de clés ECDH sur Curve25519
  - HMAC utilisant SHA256 pour l'authentification des messages
  - Les IV doivent être générés via `os.urandom()` ou mieux
  - AES-256 en mode CBC avec remplissage PKCS7
  - Pas de champs de métadonnées de version et d'horodatage Fernet
- SHA-256
- SHA-512

Dans la configuration d'installation par défaut, les primitives `X25519`, `Ed25519` et `AES-256-CBC` sont fournies par [OpenSSL](https://www.openssl.org/) (via le paquet [PyCA/cryptography](https://github.com/pyca/cryptography)). Les fonctions de hachage `SHA-256` et `SHA-512` sont fournies par le module standard Python [hashlib](https://docs.python.org/3/library/hashlib.html). Les primitives `HKDF`, `HMAC`, `Token`, et la fonction de remplissage `PKCS7` sont toujours fournies par les implémentations internes suivantes :

- [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 inclut également une implémentation complète de toutes les primitives nécessaires en Python pur. Si OpenSSL et PyCA ne sont pas disponibles sur le système au démarrage de Reticulum, Reticulum utilisera à la place les primitives internes en Python pur. Une conséquence triviale de cela est la performance, le backend OpenSSL étant *beaucoup* plus rapide. La conséquence la plus importante cependant, est la perte potentielle de sécurité en utilisant des primitives qui n'ont pas fait l'objet du même niveau d'examen, de tests et de revue que celles d'OpenSSL.

---

[Read more](https://github.com/markqvist/reticulum)
Télécharger l’outil