mirror of
https://github.com/markqvist/Reticulum.git
synced 2025-05-02 06:36:14 -04:00
Updated documentation
This commit is contained in:
parent
94813d95b1
commit
57fc2b090b
20 changed files with 110 additions and 29 deletions
|
@ -13,6 +13,13 @@ If you simply want to try using a program built with Reticulum, you can take
|
|||
a look at `Nomad Network <https://github.com/markqvist/nomadnet>`_, which
|
||||
provides a basic encrypted communications suite built completely on Reticulum.
|
||||
|
||||
.. image:: screenshots/nomadnet3.png
|
||||
:target: _images/nomadnet3.png
|
||||
|
||||
`Nomad Network <https://github.com/markqvist/nomadnet>`_ is a user-facing client
|
||||
in the development for the messaging and information-sharing protocol
|
||||
`LXMF <https://github.com/markqvist/lxmf>`_, another project built with Reticulum.
|
||||
|
||||
Develop a Program with Reticulum
|
||||
===========================================
|
||||
If you want to develop programs that use Reticulum, the easiest way to get
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
******************************
|
||||
Reticulum Network Stack Manual
|
||||
******************************
|
||||
Welcome to the manual for Reticulum. This document aims to provide you
|
||||
with all the information you need to understand Reticulum, develop programs
|
||||
using it, or to participate in the development of Reticulum itself.
|
||||
This manual aims to provide you with all the information you need to
|
||||
understand Reticulum, develop programs using it, or to participate in
|
||||
the development of Reticulum itself.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
|
BIN
docs/source/screenshots/nomadnet1.png
Normal file
BIN
docs/source/screenshots/nomadnet1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 108 KiB |
BIN
docs/source/screenshots/nomadnet2.png
Normal file
BIN
docs/source/screenshots/nomadnet2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 118 KiB |
BIN
docs/source/screenshots/nomadnet3.png
Normal file
BIN
docs/source/screenshots/nomadnet3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 124 KiB |
|
@ -405,6 +405,11 @@ of hops, where information will be exchanged between two nodes.
|
|||
* | When a node in the network wants to establish verified connectivity with another node, it
|
||||
will randomly generate a new X25519 private/public key pair. It then creates a *link request*
|
||||
packet, and broadcast it.
|
||||
|
|
||||
| *It should be noted that the X25519 public/private keypair mentioned above is two separate keypairs:
|
||||
An encryption key pair, used for derivation of a shared symmetric key, and a signing key pair, used
|
||||
for signing and verifying messages on the link. They are sent together over the wire, and can be
|
||||
considered as single public key for simplicity in this explanation.*
|
||||
|
||||
* | The *link request* is addressed to the destination hash of the desired destination, and
|
||||
contains the following data: The newly generated X25519 public key *LKi*. The contents
|
||||
|
@ -438,6 +443,7 @@ of hops, where information will be exchanged between two nodes.
|
|||
*link proof* to perform it's own Diffie Hellman Key Exchange and derive the symmetric key
|
||||
that is used to encrypt the channel. Information can now be exchanged reliably and securely.
|
||||
|
||||
|
||||
It’s important to note that this methodology ensures that the source of the request does not need to
|
||||
reveal any identifying information about itself. The link initiator remains completely anonymous.
|
||||
|
||||
|
@ -634,4 +640,19 @@ Binary Packet Format
|
|||
| | | +------- Packet Type = DATA
|
||||
| | +--------- Destination Type = SINGLE
|
||||
| +----------- Propagation Type = BROADCAST
|
||||
+------------- Header Type = HEADER_1 (two byte header, one address field)
|
||||
+------------- Header Type = HEADER_1 (two byte header, one address field)
|
||||
|
||||
|
||||
Size examples of different packet types
|
||||
---------------------------------------
|
||||
|
||||
The following table lists example sizes of various
|
||||
packet types. The size listed are the complete on-
|
||||
wire size including all fields.
|
||||
|
||||
- Path Request : 33 bytes
|
||||
- Announce : 323 bytes
|
||||
- Link Request : 141 bytes
|
||||
- Link Proof : 205 bytes
|
||||
- Link RTT packet : 86 bytes
|
||||
- Link keepalive : 14 bytes
|
|
@ -16,7 +16,7 @@ Reticulum should currently be considered beta software. All core protocol featur
|
|||
|
||||
Caveat Emptor
|
||||
==============
|
||||
Reticulum is experimental software, and should be considered as such. While it has been built with cryptography best-practices very foremost in mind, it has not been externally security audited, and there could very well be privacy-breaking bugs. To be considered secure, Reticulum needs a very thourough security review by independt cryptographers and security researchers. If you want to help out, or help sponsor an audit, please do get in touch.
|
||||
Reticulum is an experimental networking stack, and should be considered as such. While it has been built with cryptography best-practices very foremost in mind, it has not been externally security audited, and there could very well be privacy-breaking bugs. To be considered even remotely secure, Reticulum needs a very thourough security review by independt cryptographers and security researchers. If you want to help out, or help sponsor an audit, please do get in touch.
|
||||
|
||||
|
||||
What does Reticulum Offer?
|
||||
|
@ -60,10 +60,10 @@ modems, LoRa radios, serial lines, AX.25 TNCs, amateur radio digital modes,
|
|||
ad-hoc WiFi, free-space optical links and similar systems are all examples
|
||||
of the types of interfaces Reticulum was designed for.
|
||||
|
||||
An open-source LoRa-based interface called RNode has been designed
|
||||
specifically for use with Reticulum. It is possible to build yourself, or it
|
||||
can be purchased as a complete transceiver that just needs a USB connection
|
||||
to the host.
|
||||
An open-source LoRa-based interface called `RNode <https://unsigned.io/rnode>`_
|
||||
has been designed specifically for use with Reticulum. It is possible to build
|
||||
yourself, or it can be purchased as a complete transceiver that just needs a
|
||||
USB connection to the host.
|
||||
|
||||
Reticulum can also be encapsulated over existing IP networks, so there's
|
||||
nothing stopping you from using it over wired ethernet or your local WiFi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue