From e8ca88377aba78646bd484abf6c9ea13d652005a Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Thu, 20 May 2021 18:37:12 +0200 Subject: [PATCH] Updated documentation --- RNS/Transport.py | 2 - docs/Reticulum Manual.pdf | Bin 437610 -> 441665 bytes docs/manual/_sources/understanding.rst.txt | 241 +++++++++++--------- docs/manual/index.html | 1 + docs/manual/objects.inv | Bin 1462 -> 1487 bytes docs/manual/reference.html | 20 +- docs/manual/searchindex.js | 2 +- docs/manual/understanding.html | 248 +++++++++++---------- docs/source/understanding.rst | 241 +++++++++++--------- 9 files changed, 412 insertions(+), 343 deletions(-) diff --git a/RNS/Transport.py b/RNS/Transport.py index 398d09a..c5cb665 100755 --- a/RNS/Transport.py +++ b/RNS/Transport.py @@ -22,8 +22,6 @@ class Transport: APP_NAME = "rnstransport" - # TODO: Document the addition of random windows - # and max local rebroadcasts. PATHFINDER_M = 18 # Max hops PATHFINDER_C = 2.0 # Decay constant PATHFINDER_R = 1 # Retransmit retries diff --git a/docs/Reticulum Manual.pdf b/docs/Reticulum Manual.pdf index e61e007fc62e48cf9a8c228659e496652678c470..3cc83c025239a044d2ccdaa95870ee86e5d31c1f 100644 GIT binary patch delta 185089 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 z zB5o;={xM-ynw6uCD&-61=xKg&KOEbgs5x!m`p9h%^H4kNk(m5BP2Rkz&~NcIZBOh5 zs9N><|J`Al7(*Ml@`%&9?t?&}I9qu |74HcNb!5D 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 delta 181066 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
  • Reticulum Transport diff --git a/docs/manual/objects.inv b/docs/manual/objects.inv index 53019aaa2ed31d324354598088790947fb28a102..a5eb8ea3bebd03d65ea9dca9e425c93a3407e3f5 100644 GIT binary patch delta 1367 zcmV-d1*rPA3(pIXiGS)i6o&Wx6_I8%JCJ63HzV3Yi&_{2bVm1XA`=^8HL)|c(_a4l z94EHPSHXt6Y8$`L>yI3tW2fuoX8cH`q6{g@SyUXqB^i=3`ZE$_PXu8J8K)}Ge)~Nd z-L2c|VRF<%JJ^5`VvLud*Dg6xDaU>TKt&NFhGQfPk|-JP1%J^%`tnX4zHibRa4&1pP4648>C<(`%U1i>+Qa z#e^xUg1gT+!nX`x!t8I25$%yt_8!ACw9BYW362w#WjmC-Ut?AP2S0AI5S;I0LH;YD z;nv|)UQ!8I<9|c=3eyAgVdjkpxR9`{bo}tP{%5KIq?Dk$QV|cR-_dY>bGi=yGX1`p z{|N4OyM9|fOt#a<_<6E3kB6w z7geuOY%S!mbWS@&4KLkE*tNhQJy5tkir9Y4fwLCF84*F_*4KTgu__Iteo^P<3hXri zRDaMBZhX~}3V+Mc4)(=pK;O9JR;2rcaUQeB(2CKY4KC<)fvvPTqL+p=S%jZqPkcWP*$E(Mst*% zCl|ntT*BqH9)EeG z^#Zm!LZV`A+C_JB!0nLlL3tmC{xk|ui)>+}ov`EJ@B>|@T9faR>1 z=#S`LdqlIQNvD@aF<>aSt8%`R=6}CMmKF51sSNXz9VZj$`%<*aKMAwd^ z%x6STTGwGs@uS4YVD7{nmv?fsA(Ml|$7@x65{q8Q(S=WicAWcZXwc0staGmPN4(w< zVbF5n#2uHq)b6>+k@E1lhaeC~TXbg?)^k*;&zh|XN>V*R2!hrzrei0#;!p|C^nc>$ zo+e(e!!XgtLLF0=t>h6-ce&SSZPMG+$cCu0=-JjM3cu+aZO7w_BgGdUwltg$7@sMu ZVyigTPwI^MFZ>=svm^hy`ybe3fGVWKs4@Tm delta 1342 zcmV-E1;P5y3$_c8iGS-T6o&Wx6_#c+yF{Ap-Hg&UX`?ooC`o5@@5UmA#HcoS0Jk^) zehxMee>H*RuG*USc{yM>2i)~?GkzpeQHB)dEGmxQk_<^1{TT_eCxWnqj8m0ozx^JK z?$&MfFgfa>9c;h|F~&>KYnPm;lw-dDP*KE);TXw+Bud76!GH6Zp*+|q$p{iLCVNz7 zD%Q3bDHQA?2vQ_|Cr25IVv>ksp+Yfey$0KtS$5St9f*nxK|jneL-7>J^cv>$Vyo9p zF=2|T;O;Yy@Gap>82znlM0;eEy~pqj?J_D;g5v~b*$yS|*O(Q+!H=6P1n2u$kpD_( zxHX*0ODX|#e18a^VR~Rb%)GGzE+i}~9Y4IS|Cwq4DJAHxRKx@7cQl;eoUX&aOuujD zKZ3j6uHTjqlkM~|ex7WeU#H8b?Q^I{KuU2;Kt6FywKsQ1MPxX(rx^*ObmsC+BaXTv zZME4Fc4~4JDj;FOK!ZcRCRcUf>w*?UZ~rThpp@v?(0?62Ry=&wC;_Jnq*Gh)d-y;Z zg+Y1s_X>I4BO_^9P&TT7$LVbH_PUL?^TqV_C2!O;!On{^_+eR@H2K?5SEfo-QBO-&eYBE*{@JSGz%1uao)m3ak_1 z@J2DJ0dh?eLJLm=D{lF~n;;DP&*nHx-V4xAUl%{6f;*}}SemMo;cR_E&mfP8W6-+p z+bEh7$PzcfK_RToj`EmkD;;2lmygqRc!Xi56n~W@B*1Zkpe+kR;978ig)03ZMUyfs zbFY~&+9B$zxv;{ng-m&w;TYZ-|BOp!su;mRL0gwnl9=WN9Koo$6@}SAT4l1}LP0gv zMb#^ct%W?M&S{6J;i)?byA~Lv2MV`G5!;VBaMoftBO)knecgu|tI{y)7j>7Gu3WN_9nIu`^_6Tu-v^m5ucJp3>jIN^GUb;ZJm2gLXBG|iRl-36knOcW-45BuUE8GgDAFxqrS1RfB_poX2JjrNjFxs*6<%%F1)fXpXY; z#G)2iNLFghlb$x3n!lWMVAb|UZbKVH zQ~f;J)D6*0zok=;hHi9rDl1E(KDl_;C{+FhVkJyR&hbFJ#c^aCYL^AaC0uUn$bTEH z7qHb45*2IHZgn>UZZG*x4v=s%PttZ*^|M;NsoPiRKGaY_*$m}2_Vb-I|9P>j zps!73n4j!8ndP`Ig-W|ydeF!O--8` z*$`D0J=?nO`wib{J04#Y{x3Xi0zVxCK2w;*Rtc-0)Oqb+_&tJVNB(v9KmF!kj4;}f A(*OVf diff --git a/docs/manual/reference.html b/docs/manual/reference.html index 3b5fc86..982dfb2 100644 --- a/docs/manual/reference.html +++ b/docs/manual/reference.html @@ -16,8 +16,8 @@ - - + +
  • - next |
  • - previous |
  • @@ -1020,11 +1020,11 @@ will announce it.

    Previous topic

    -

    Examples

    -

    Next topic

    Understanding Reticulum

    + title="previous chapter">Understanding Reticulum

    +

    Next topic

    +

    Examples

    This Page

      @@ -1053,10 +1053,10 @@ will announce it.

      index
    • - next |
    • - previous |
    • diff --git a/docs/manual/searchindex.js b/docs/manual/searchindex.js index 07b2761..3205bf9 100644 --- a/docs/manual/searchindex.js +++ b/docs/manual/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["examples","gettingstartedfast","index","reference","understanding","whatis"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["examples.rst","gettingstartedfast.rst","index.rst","reference.rst","understanding.rst","whatis.rst"],objects:{"RNS.Destination":{announce:[3,1,1,""],app_and_aspects_from_name:[3,1,1,""],clear_default_app_data:[3,1,1,""],create_keys:[3,1,1,""],decrypt:[3,1,1,""],encrypt:[3,1,1,""],full_name:[3,1,1,""],get_private_key:[3,1,1,""],hash:[3,1,1,""],hash_from_name_and_identity:[3,1,1,""],load_private_key:[3,1,1,""],set_default_app_data:[3,1,1,""],set_link_established_callback:[3,1,1,""],set_packet_callback:[3,1,1,""],set_proof_requested_callback:[3,1,1,""],set_proof_strategy:[3,1,1,""],sign:[3,1,1,""]},"RNS.Identity":{CURVE:[3,2,1,""],KEYSIZE:[3,2,1,""],TRUNCATED_HASHLENGTH:[3,2,1,""],decrypt:[3,1,1,""],encrypt:[3,1,1,""],from_bytes:[3,1,1,""],from_file:[3,1,1,""],full_hash:[3,1,1,""],get_private_key:[3,1,1,""],get_public_key:[3,1,1,""],get_random_hash:[3,1,1,""],load_private_key:[3,1,1,""],load_public_key:[3,1,1,""],recall:[3,1,1,""],recall_app_data:[3,1,1,""],sign:[3,1,1,""],to_file:[3,1,1,""],truncated_hash:[3,1,1,""],validate:[3,1,1,""]},"RNS.Link":{CURVE:[3,2,1,""],DEFAULT_TIMEOUT:[3,2,1,""],KEEPALIVE:[3,2,1,""],disable_encryption:[3,1,1,""],inactive_for:[3,1,1,""],no_inbound_for:[3,1,1,""],no_outbound_for:[3,1,1,""],set_packet_callback:[3,1,1,""],set_resource_callback:[3,1,1,""],set_resource_concluded_callback:[3,1,1,""],set_resource_started_callback:[3,1,1,""],set_resource_strategy:[3,1,1,""],teardown:[3,1,1,""]},"RNS.Packet":{ENCRYPTED_MDU:[3,2,1,""],PLAIN_MDU:[3,2,1,""],resend:[3,1,1,""],send:[3,1,1,""]},"RNS.PacketReceipt":{get_rtt:[3,1,1,""],get_status:[3,1,1,""],set_delivery_callback:[3,1,1,""],set_timeout:[3,1,1,""],set_timeout_callback:[3,1,1,""]},"RNS.Resource":{advertise:[3,1,1,""],cancel:[3,1,1,""],progress:[3,1,1,""]},"RNS.Reticulum":{should_allow_unencrypted:[3,1,1,""],should_use_implicit_proof:[3,1,1,""],transport_enabled:[3,1,1,""]},"RNS.Transport":{deregister_announce_handler:[3,1,1,""],has_path:[3,1,1,""],register_announce_handler:[3,1,1,""],request_path:[3,1,1,""]},RNS:{Destination:[3,0,1,""],Identity:[3,0,1,""],Link:[3,0,1,""],Packet:[3,0,1,""],PacketReceipt:[3,0,1,""],Resource:[3,0,1,""],Reticulum:[3,0,1,""],Transport:[3,0,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","attribute","Python attribute"]},objtypes:{"0":"py:class","1":"py:method","2":"py:attribute"},terms:{"0":[0,3,4,5],"00":4,"000":[4,5],"00000000":4,"00000100":4,"00000111":4,"01":4,"01010000":4,"05":0,"1":[0,3,4,5],"10":[0,4],"100":[0,4],"1000":[0,4],"1024":[0,4],"11":4,"1200":4,"128":[4,5],"14":4,"141":4,"15":[3,4],"151":4,"18":4,"180":[3,4],"182":4,"2":[0,4],"20":[0,4],"205":[],"25":[0,5],"256":[3,4],"270":4,"2f":0,"3":[0,4,5],"323":[],"33":4,"34":4,"3600":0,"383":3,"3e12fc71692f8ec47bc5":1,"4":4,"409":[4,5],"430":4,"45":0,"477":[3,4],"5":[0,4],"500":[4,5],"512":3,"60":0,"62":[4,5],"7":4,"8":0,"80":[3,4],"80e29bf7cccaf31431b3":4,"86":4,"868":4,"900":4,"95":4,"abstract":4,"break":[4,5],"byte":[0,3,4,5],"case":[1,4],"class":[0,2,5],"default":[0,3,4],"do":[0,1,4,5],"float":[0,3],"function":[0,2,3,5],"import":[0,1,4],"int":0,"long":[0,4],"new":[0,3,4],"public":[0,2,3],"return":[0,3],"short":4,"static":3,"throw":3,"true":[0,3],"try":[0,2],"while":[0,3,4,5],A:[0,3,4,5],And:0,As:[3,4,5],At:4,Be:3,But:4,By:[0,4],For:[3,4],IN:[0,3],If:[0,1,3,4,5],In:[0,1,4,5],It:[0,3,4,5],No:[4,5],One:3,Or:4,That:4,The:[0,1,3,4,5],There:[4,5],These:4,To:[0,4,5],Will:3,With:4,_:4,__:4,______:4,_______:4,________:4,________________:4,__init__:0,__main__:0,__name__:0,_exit:0,ab:0,abl:[0,3,4],about:[0,3,4],abov:[1,4],accept:[3,4],accept_al:[0,3],accept_app:3,accept_non:3,access:[3,4],accord:4,accordingli:0,acheiv:4,achiev:[3,4],acknowledg:5,act:[3,4],action:0,activ:[0,3,4],actor:4,actual:[0,1,4],ad:[0,3,4,5],add:0,add_argu:0,addit:[4,5],addr1:4,addr2:4,address:[0,3,4,5],adress:[0,3,5],advantag:3,advertis:[0,3],advis:4,ae:[4,5],after:[0,4],again:[1,4],agent:4,agnost:4,agnostic:4,aim:[2,4],aliv:[3,4],all:[0,2,3,4,5],allow:[0,3,4,5],almost:4,along:[3,4],alreadi:[0,4],also:[0,3,4,5],alter:4,altern:0,although:5,alwai:[3,4],amateur:5,amount:[3,4,5],an:[0,1,3,4,5],ani:[0,1,3,4,5],announc:[2,3],announce_handl:0,announced_ident:[0,3],announceloop:0,announcesampl:0,anonym:4,anoth:[1,3,4],answer:4,anyon:[0,3,4],anyth:4,anywher:0,apart:4,api:[1,2,4,5],app:[0,3,4],app_and_aspects_from_nam:3,app_data:[0,3],app_nam:[0,3],app_timeout:0,append:[0,4],appli:4,applic:[0,3,4],approv:4,approxim:4,ar:[0,3,4,5],arbitrari:[3,4],arbritrari:5,area:5,arg:0,argon:0,argpars:0,argument:[0,3],argumentpars:0,around:4,arriv:[0,4],ask:[0,3],aspect:[0,3,4],aspect_filt:[0,3],assign:4,associ:[1,3,4],assum:4,asymmetr:5,attached_interfac:3,attribut:3,audit:5,authent:[4,5],author:4,auto:[3,4],auto_compress:3,autoconfigur:5,autom:4,automat:[0,3,4,5],autonom:4,autoomat:0,avail:[0,4,5],averag:4,avoid:4,awai:4,awar:4,ax:5,b:0,back:[0,4,5],band:4,bandwidth:[4,5],bare:0,barrier:4,base:[2,4,5],basi:[3,4,5],basic:[0,1,2],baud:4,becaus:4,becom:0,been:[0,3,4,5],befor:[0,3,4],begin:[0,3],begun:3,behind:4,being:4,belief:4,below:1,best:[1,4,5],beta:5,between:[0,3,4],bgp:4,bi:4,bidirect:4,binari:[0,2],bit:[3,4,5],blob:[0,4],both:[3,4,5],bp:4,briefli:4,broadcast:[2,3,4],broadcast_destin:0,broadcastloop:0,bug:5,build:[0,4,5],built:[1,4,5],bundl:0,c:[0,4],cad:4,calcul:4,call:[0,3,4,5],callabl:3,callback:[0,3],can:[0,1,2,3,4],cancel:3,cannot:0,capac:4,carambola:0,care:[3,4,5],carri:[3,4],carrier:5,caveat:2,cb:4,cbc:5,cd:1,censor:4,censorship:4,central:4,certain:[0,4],challeng:4,chang:[0,1,4,5],channel:[0,4,5],channelarg:0,chapter:[1,4],charact:0,characterist:4,cheap:4,check:0,checksum:[3,5],choos:0,chose:4,chunk:0,ciphertext:3,ciphertext_token:3,cl:0,clear:[0,3,4],clear_default_app_data:3,clear_screen:0,client:[0,1,3],client_connect:0,client_disconnect:0,client_loop:0,client_packet_receiv:0,client_request:0,clone:1,close:[0,3],cluster:4,code:[0,4],com:[0,1],come:4,command:[0,1],common:4,commun:[0,1,3,4,5],compat:4,complet:[0,1,3,4,5],compon:4,compos:4,compress:[0,3,4],comput:[1,4],concaten:3,concept:4,conclud:[0,3],concurr:4,condit:4,config:[0,1],configarg:0,configdir:3,configpath:0,configur:[0,3,4,5],confirm:[4,5],connect:[0,3,4,5],consequ:4,consid:[4,5],consist:4,constant:[3,4],construct:4,contact:4,contain:[0,3,4],content:4,context:[3,4],control:[0,3,4],conveni:0,convent:0,coordin:[3,4,5],core:[4,5],correct:[0,4],correctli:0,correspond:4,cost:[4,5],could:[0,3,4,5],count:4,counter:0,cover:5,cpu:0,creat:[0,1,3,4],create_kei:3,create_receipt:[0,3],creation:4,creator:4,critic:4,cryptograph:5,cryptographi:[1,4,5],ctrl:0,cull:3,current:[0,2,3,4],current_download:0,current_filenam:0,curv:[3,4,5],curve25519:[3,4,5],custom:4,d:4,daemon:3,dai:4,data:[0,3,4,5],date:0,debian:4,debug:3,decai:4,decid:[3,4],decod:0,decrypt:[3,4],dedic:4,def:0,default_timeout:3,defin:[0,4],definit:4,delai:4,deliv:[0,3],deliveri:[0,3,5],demand:3,demonstr:0,depend:1,deploi:4,deregist:3,deregister_announce_handl:3,deriv:[4,5],describ:[3,4],descript:0,design:[4,5],desir:[0,4],destin:[0,1,2],destination_1:0,destination_2:0,destination_clos:0,destination_hash:[0,3],destination_hexhash:0,detail:[0,3],detect:0,determin:[3,4],develop:[2,4],devic:[2,3,4],dh:3,did:0,differ:[0,1,3,4,5],diffi:[4,5],digit:[4,5],dir:0,direct:[0,3,4],directli:[3,4,5],directori:0,disable_encrypt:3,disappear:3,discard:4,disconnect:0,discoveri:4,discuss:4,disk:[0,3],displai:4,distanc:4,distinct:4,distribut:[0,3,4],divmod:0,document:4,doe:[0,2,3,4],don:[0,1],done:[0,4],dot:4,down:0,downgrad:3,download:0,download_began:0,download_conclud:0,download_finish:0,download_start:0,download_tim:0,driver:5,drop:4,duplex:[4,5],e:0,each:[0,4],earlier:4,eas:4,easi:[4,5],easiest:[1,4],easili:[4,5],ecdh:[4,5],echo:[1,2],echo_destin:0,echo_request:0,ed25519:5,effici:[0,4,5],ei:0,either:4,elif:0,ellipt:[3,4,5],els:[0,4],emploi:4,emptor:2,enabl:3,enable_transport:4,encapsul:5,encod:0,encrypt:[0,1,3,4,5],encrypted_mdu:3,encryptionless:3,end:[0,3,4,5],endpoint:[0,3,4],engin:4,ensur:4,enter:0,entir:4,entiti:4,entri:[0,4],enumer:0,environ:4,environment:4,environmentlogg:4,ephemer:[3,4,5],equal:4,equip:4,error:[0,3],essenti:4,establish:[0,3,5],ethernet:[4,5],even:[4,5],everi:[0,3,4],everyon:4,everyth:[0,4],exactli:[3,4],exampl:[1,2,3,4,5],example_util:0,exampleannouncehandl:0,exce:0,except:[0,4],exchang:[3,4,5],execut:[0,3],exhaust:4,exist:[0,4,5],exit:[0,1,3],exit_handl:0,expand:4,expect:[0,4],experi:[1,4],experiment:5,explain:3,explan:4,explicit:3,explicitli:3,explor:[0,4,5],expos:3,extend:[0,4],extern:[3,5],extrem:5,fa7ddfab5213f916dea:4,face:1,fact:[4,5],fail:[0,3],fals:[0,3],far:4,fast:2,featur:[4,5],feed:3,feedback:0,fernet:5,few:[4,5],field:4,file:[0,1,3,4,5],file_resourc:0,file_s:0,filelist:0,filelist_data:0,filelist_receiv:0,filelist_timeout_job:0,filenam:0,filetransf:[1,2,3],filter:[0,4],find:4,firmwar:4,first:[0,3,4],fit:0,five:0,fix:4,flag:[3,4],flush:0,folder:1,follow:[0,4,5],forcibl:3,foremost:5,form:[3,4],format:[0,2,5],forth:0,forward:[3,4,5],found:[0,1,4],free:5,frequenc:4,from:[0,1,3,4,5],from_byt:3,from_fil:3,fromhex:0,fruit:0,full:[3,4],full_hash:3,full_nam:3,fulli:[4,5],fundament:4,further:[1,2],futur:[3,4],g:0,ga:0,gatekeep:4,gener:[0,3,4,5],generalis:5,get:[0,2,3,5],get_private_kei:3,get_public_kei:3,get_random_hash:[0,3],get_rtt:[0,3],get_statu:3,gi:0,gigabyt:5,git:1,github:[0,1],give:4,given:4,global:[0,5],go:[0,1,4],goal:2,good:4,got:0,govern:4,grape:0,great:4,greater:4,group:[3,4],guarante:4,guid:[1,3,4],h:[1,4],ha:[0,3,4,5],had:4,half:[4,5],hand:0,handheld:4,handl:[0,3,4,5],handler:[0,3],happen:0,hardwar:[3,4,5],has_path:[0,3],hasattr:0,hash:[0,1,3,4],hash_from_name_and_ident:3,hashmap:0,have:[0,1,3,4],hazard:3,header:4,header_1:4,header_2:4,header_typ:3,hear:4,heard:[3,4],helium:0,hellman:[4,5],help:[0,4,5],here:[0,4],hexadecim:[0,4],high:[4,5],higher:[4,5],highli:4,hint:0,hit:0,hmac:5,hoc:5,hold:[3,4],hop:[4,5],host:[0,4,5],hour:0,how:[0,4,5],howev:4,http:[0,1],human:[0,3],i:0,id:4,idea:4,ident:[0,2],identif:5,identifi:4,identify:4,ie:4,ignor:[3,4],immedi:1,implement:[0,4,5],implicit:[3,4],inactive_for:3,inbound:3,includ:[0,3,4],incom:[0,3],incompat:[3,4],indefinit:4,independ:3,independt:5,index:[0,2],indirectli:4,individu:4,inevit:4,infer:4,info:[3,4],inform:[0,1,2,3,4],infrastructur:4,ingo:3,initi:4,initialis:[0,3],input:0,insert:4,instal:1,instanc:[0,3],instanti:3,instead:[0,4],integr:4,intend:4,intention:4,inter:3,interact:[0,4],interest:4,interfac:[0,2,3,4],intern:[3,4],internet:[4,5],interv:3,introduc:4,introduct:2,intuit:5,invalid:[0,3],investig:4,ip:[4,5],isdir:0,isfil:0,ism:4,its:[3,4],itself:[2,3,4],iv:5,job:0,join:[0,4],just:[0,4,5],k:0,kbp:4,keep:[0,3,4,5],keepal:[3,4],kei:[0,2,3,5],kept:[3,4],kernel:5,keyboardinterrupt:0,keyerror:3,keypair:4,keysiz:3,ki:0,kill:3,kilomet:4,kind:4,know:[0,3,4],knowledg:4,known:[0,3,4],krypton:0,lack:4,laid:4,larg:[0,4],larger:4,last:[0,3],last_unit:0,latenc:[4,5],later:[0,4],latest:[0,1],latest_client_link:0,launch:1,lavg:4,layer:[4,5],lead:4,learn:[0,4],least:[4,5],leav:4,ledger:4,left:4,len:0,length:[0,3],less:[4,5],let:[0,4],level:4,librari:1,licens:4,light:4,like:[1,3,4],limit:4,line:[0,1,4,5],link:[2,5],link_clos:0,link_establish:0,linkexampl:0,linux:4,list:[0,3,4],list_deliv:0,list_fil:0,list_packet:0,list_receipt:0,list_timeout:0,listdir:0,listen:[0,4],littl:4,lki:4,lkr:4,ll:[0,1,5],ln:1,load:[0,3],load_private_kei:3,load_public_kei:3,local:[0,3,4,5],locat:4,log:0,log_error:0,log_info:0,loglevel:0,longer:[0,4],look:[1,4],loop:0,lora:[4,5],lorawan:4,lot:4,low:[4,5],lxmf:1,m:[0,4],mac:4,machin:4,made:4,mai:4,main:0,maintain:4,make:[1,4],malici:4,manag:3,mani:[0,4,5],manipul:4,manual:[0,1,3],mark:4,markqvist:[0,1],master:[0,3],match:0,maximum:[3,4],mcu:4,mdu:0,mean:4,measur:4,mechan:4,medium:[4,5],memori:4,mention:4,menu:0,menu_mod:0,mesh:5,messag:[0,1,3,4],messeng:4,metavar:0,method:[0,3,4],methodolog:4,mhz:4,mi:0,microcontrol:4,microwav:4,might:4,millisecond:0,mind:5,minim:[2,4],minimalsampl:0,minimum:[0,4],minut:[0,4],mode:[0,1,4,5],modem:[3,4,5],modul:[0,4,5],moment:[4,5],monitor:4,more:[3,4,5],most:[1,4,5],motiv:2,move:1,mtu:[4,5],much:4,multi:[4,5],multilater:4,multipl:[0,4],multipoint:4,must:[0,3,4],my:4,n:0,name:[0,3],namespac:0,nano:1,narg:0,necessari:[1,3,4],necessarili:4,need:[0,2,4,5],neglig:4,neither:4,neon:0,network:[0,1,3,4,5],never:3,newer:4,newest:4,newli:4,next:[1,4],nicknam:4,no_inbound_for:3,no_outbound_for:3,nobl:0,noble_ga:0,noble_gas:0,node:[2,5],nomad:1,non:[3,4],none:[0,3,4],normal:0,notat:4,note:[0,4],noth:5,notic:4,notif:[0,3],now:[0,1,4],nt:0,num:0,number:[0,3,4],object:3,obtain:4,occur:5,off:[4,5],offer:[2,3,4],often:4,oganesson:0,old:4,onc:[4,5],one:[0,3,4,5],onli:[0,3,4,5],onlin:4,open:[0,3,4,5],openmodem:5,oper:[3,4,5],optic:5,option:[0,1],orient:4,origin:4,original_hash:3,os:[0,4,5],ospf:4,other:[3,4],otherwis:[3,4],our:[0,4],out:[0,3,4,5],outbound:3,outgo:[0,3,4],outlin:[1,4],outward:4,over:[0,3,4,5],overal:4,overcom:4,overhead:4,overrid:0,overview:4,own:[0,1,3,4],owner:3,p:[0,4],pack:0,packb:0,packet:[0,2,5],packet_callback:0,packet_deliv:0,packet_receipt:[0,3],packet_timed_out:0,packet_typ:3,packetreceipt:[0,3],pad:5,page:[2,4],pair:4,palm:0,paramet:3,pars:0,parse_arg:0,parser:0,part:[0,4],particip:[2,4],pass:[0,3,4],path:[0,1,3,4],path_respons:3,pattern:4,payload:[3,4],peach:0,peer:[3,4],peer_pub_byt:3,peer_sig_pub_byt:3,peopl:4,per:[4,5],percent:0,perfect:4,perform:4,period:4,persecut:4,person:4,philosophi:4,physic:4,pi:[0,4,5],piec:4,ping:1,pip3:1,pip:1,pkcs7:5,place:4,plain:[0,3,4],plain_mdu:3,plaintext:[0,3],platform:4,pleas:[0,5],pmr:4,point:4,pomelo:0,port:[4,5],possess:4,possibl:[4,5],potenti:[0,4],practic:[4,5],pre:[3,4],predict:4,prefer:4,prepar:0,presenc:3,press:0,pretend:4,pretti:4,prettyhexrep:0,previou:0,previous:[3,4],primari:4,principl:[4,5],print:0,print_filelist:0,print_help:0,print_menu:0,prioriti:4,prioritis:2,privaci:5,privat:[3,4,5],probabl:[0,4,5],procedur:4,process:[1,3,4],product:3,program:[0,2,3,4],program_setup:0,programm:4,programmat:4,progress:[0,3,5],progress_callback:3,project:1,prompt:0,proof:[0,3,4],proof_requested_callback:3,proof_strategi:3,propag:4,protocol:[1,2,5],prove:[0,4],prove_al:[0,3],prove_app:3,prove_non:3,proven:3,provid:[0,1,2,3,4,5],prv_byte:3,pub_byt:3,public_inform:0,purchas:[4,5],purg:3,purpos:[3,4],purposefulli:4,put:0,py:[0,1],pyseri:1,python3:1,python:[4,5],q:0,queri:0,queue:4,quinc:0,quit:0,r:[0,4],radio:[3,4,5],radiu:4,radon:0,rais:[0,3],randint:0,random:[0,3,4],randomli:[0,4],rang:[0,4,5],raspberri:[4,5],rate:0,rb:0,re:[0,3,4],reach:2,reachabl:[0,3,4],read:[0,1,4],readabl:[0,3,4],readi:[0,1],readili:5,real:5,reason:4,reassembl:4,recal:[0,3],recall_app_data:3,recap:4,receipt:[0,2,4],receiv:[0,3,4],received_announc:[0,3],recip:1,recipi:4,recommend:[0,4],reconstruct:4,record:4,recreat:4,refer:[0,1,2],regard:4,regist:[0,3],register_announce_handl:[0,3],rel:[4,5],releas:[1,4],relev:[0,3],reli:4,reliabl:[4,5],rem:0,remain:4,rememb:4,remot:[0,5],remotesensor:4,repeat:1,replac:[1,4],repli:0,replic:4,reply_data:0,reply_text:0,repositori:1,repres:4,represent:[0,4],request:[0,3,4],request_destin:0,request_packet:0,request_path:[0,3],requir:[0,4,5],research:5,resend:3,reserv:4,resili:5,resourc:[0,2],resource_callback:3,resource_sending_conclud:0,resource_strategi:3,respond:[0,3],rest:5,result:0,reticulum:0,retransmiss:4,retransmit:4,retri:4,reveal:4,review:5,right:[],rn:[0,1,3],rnode:[4,5],robot:4,rotat:4,round:[0,3],rout:[3,4,5],rprogress:0,rsa:4,rtt:[0,4],rttstring:0,rule:4,run:[0,1,3,4,5],runtim:4,s:[0,1,4,5],said:4,same:[1,3,4],satisfi:4,save:[3,4],save_error:0,saved_filenam:0,scenario:[1,4],screen:0,search:2,second:[0,3,4,5],secreci:[3,4,5],section:4,secur:[4,5],see:[0,3,4],seen:4,segment_index:3,select:0,self:[0,5],send:[0,3,4],sender:[0,4],sensibl:1,sensor:4,sent:[0,3,4],sentiment:4,separ:4,sequenc:[0,3,4,5],serial:[4,5],serv:[0,4],serve_path:0,server:[0,1],server_callback:0,server_destin:0,server_fil:0,server_ident:0,server_link:0,server_loop:0,server_packet_receiv:0,session:4,set:[0,3,4,5],set_default_app_data:3,set_delivery_callback:[0,3],set_link_closed_callback:0,set_link_established_callback:[0,3],set_packet_callback:[0,3],set_proof_requested_callback:3,set_proof_strategi:[0,3],set_resource_callback:3,set_resource_concluded_callback:[0,3],set_resource_started_callback:[0,3],set_resource_strategi:[0,3],set_timeout:[0,3],set_timeout_callback:3,setdaemon:0,setup:[0,2],sever:3,sha256:5,sha:[3,4],shall:4,share:[1,3,4],shelf:[4,5],shortest:4,should:[0,3,4,5],should_allow_unencrypt:3,should_quit:0,should_use_implicit_proof:3,shown:0,side:5,sign:[3,4],signatur:[3,4,5],similar:5,simpl:[0,4,5],simplest:4,simpli:[0,1,4],simplic:4,sinc:[0,3,4],singl:[0,3,4],singular:4,situat:4,size:[0,3,4],size_str:0,sleep:0,slice:0,slow:[0,4],small:[0,4],so:[0,1,4,5],softwar:[4,5],some:[0,1,4],someth:4,somethign:0,soon:3,sort:4,sourc:[0,1,4,5],space:[0,5],span:4,special:4,specif:[0,2,3,5],specifi:[0,3],spectrum:4,split:0,sponsor:5,stabl:[4,5],stack:[0,1,4,5],stage:4,standard:4,start:[0,2,3,4],startup:0,state:0,station:4,statist:0,statu:[0,2,3,4],stdout:0,step:1,still:[0,4],stop:5,store:[0,4],store_tru:0,str:0,strategi:3,stream:4,strength:5,strictli:4,string:[0,3],structur:4,subject:4,subsequ:4,successful:3,successfulli:0,sucessfulli:4,suffic:4,suffici:4,suffix:0,suit:[1,4],suitabl:[0,4],suppli:[3,4],support:[0,2,4],sy:0,symlink:1,symmetr:[3,4],system:[0,2,3,5],t:[0,1,4],tabl:4,take:[0,1,4,5],taken:[0,4],tangerin:0,target:0,tcp:[4,5],tdata:0,teardown:[0,3],teardown_reason:0,teffect:0,tell:0,temperatur:4,ten:4,term:4,termin:3,terminolog:4,test:4,text:[0,4],tfile:0,than:[0,4],thei:[0,3,4],them:[0,4],thereaft:4,therefor:[4,5],thi:[0,1,2,3,4],though:4,thourough:5,thread:0,three:4,through:[4,5],throughout:4,throughput:[4,5],thu:4,ti:[0,4],time:[0,1,3,4],timeout:[0,3],timeout_callback:0,timeoutarg:0,timestr:0,tnc:[3,5],to_fil:3,todai:4,todo:4,togeth:4,token:[3,4],too:[0,4],tool:5,top:4,topic:4,topolog:4,total:[4,5],total_s:0,touch:5,toward:[0,4],traffic:[0,3,4],tramsit:4,transceiv:[4,5],transfer:[0,3,4,5],transfer_s:0,transmiss:4,transmit:[0,4],transpar:4,transport:[0,2,5],transport_en:3,transport_id:3,transport_typ:3,travers:4,treat:4,tri:0,trip:[0,3],trivial:5,truli:4,truncat:[3,4],truncated_hash:3,truncated_hashlength:3,trust:4,trustless:[4,5],ttime:0,ttransfer:0,tunnel:[4,5],tupl:3,two:[0,4],type:[0,2,3],typeerror:3,udp:[4,5],umsgpack:0,uncencrypt:0,underli:5,understand:[1,2],unencrypt:[0,3,4],unequivoc:4,unforg:5,uninterest:0,uniqu:[4,5],unit:0,unknown:[0,3,4],unless:[1,3,4],unlicens:4,unpack:0,unpackb:0,unsupport:3,until:[0,3,4],unwant:4,up:[0,4,5],updat:[0,3],upon:[0,4],urandom:5,us:[0,2,3,4],usabl:4,usag:4,usb:[4,5],useabl:4,user:[0,1,3,4],user_input:0,userland:5,utf:0,util:[0,1,4],utilis:[4,5],valid:[0,3,4],valu:4,valueerror:[0,3],variabl:0,varieti:[4,5],variou:[0,4],ve:1,vendor:0,veri:[3,4,5],verif:[3,4],verifi:[0,4],versa:5,version:3,vhf:4,via:[1,4],vice:5,view:4,visibl:0,wa:[0,3,4,5],wai:[0,1,4],wait:[0,4],want:[0,1,4,5],warrant:5,wb:0,we:[0,4],well:[3,4,5],went:0,what:[0,1,2,3,4],whatev:4,when:[0,1,3,4],whenev:3,where:[2,3,4],whereupon:4,whether:[0,3,4],which:[0,1,3,4],who:4,wide:[4,5],wifi:[4,5],wildcard:0,wire:[4,5],wish:4,within:[0,3,4],won:0,work:[4,5],world:5,would:4,write:[0,3,4],written:4,wrong:0,x25519:[3,4,5],x:4,xenon:0,y:0,ye:4,year:4,yet:[0,4],yi:0,you:[0,1,2,3,4,5],your:[0,1,4,5],yourself:[4,5],z:0,zero:3,zi:0},titles:["Examples","Getting Started Fast","Reticulum Network Stack Manual","API Reference","Understanding Reticulum","What is Reticulum?"],titleterms:{"1":[],"2":[],"class":3,"function":4,"public":4,"try":1,announc:[0,4],api:3,base:1,basic:4,binari:4,broadcast:0,can:5,caveat:5,current:5,deliveri:4,destin:[3,4],detail:4,develop:1,devic:5,doe:5,echo:0,emptor:5,establish:4,exampl:0,fast:1,filetransf:0,format:4,further:4,get:[1,4],goal:4,ident:[3,4],indic:2,interfac:5,introduct:4,kei:4,link:[0,3,4],manual:2,minim:0,motiv:4,name:4,network:2,node:4,offer:5,packet:[3,4],particip:1,pathfind:4,prioritis:4,program:1,protocol:4,proven:4,reach:4,receipt:3,refer:[3,4],resourc:[3,4],reticulum:[1,2,3,4,5],setup:4,specif:4,stack:2,start:1,statu:5,step:[],support:5,system:4,tabl:2,transport:[3,4],type:[4,5],understand:4,us:[1,5],what:5,where:5}}) \ No newline at end of file +Search.setIndex({docnames:["examples","gettingstartedfast","index","reference","understanding","whatis"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["examples.rst","gettingstartedfast.rst","index.rst","reference.rst","understanding.rst","whatis.rst"],objects:{"RNS.Destination":{announce:[3,1,1,""],app_and_aspects_from_name:[3,1,1,""],clear_default_app_data:[3,1,1,""],create_keys:[3,1,1,""],decrypt:[3,1,1,""],encrypt:[3,1,1,""],full_name:[3,1,1,""],get_private_key:[3,1,1,""],hash:[3,1,1,""],hash_from_name_and_identity:[3,1,1,""],load_private_key:[3,1,1,""],set_default_app_data:[3,1,1,""],set_link_established_callback:[3,1,1,""],set_packet_callback:[3,1,1,""],set_proof_requested_callback:[3,1,1,""],set_proof_strategy:[3,1,1,""],sign:[3,1,1,""]},"RNS.Identity":{CURVE:[3,2,1,""],KEYSIZE:[3,2,1,""],TRUNCATED_HASHLENGTH:[3,2,1,""],decrypt:[3,1,1,""],encrypt:[3,1,1,""],from_bytes:[3,1,1,""],from_file:[3,1,1,""],full_hash:[3,1,1,""],get_private_key:[3,1,1,""],get_public_key:[3,1,1,""],get_random_hash:[3,1,1,""],load_private_key:[3,1,1,""],load_public_key:[3,1,1,""],recall:[3,1,1,""],recall_app_data:[3,1,1,""],sign:[3,1,1,""],to_file:[3,1,1,""],truncated_hash:[3,1,1,""],validate:[3,1,1,""]},"RNS.Link":{CURVE:[3,2,1,""],DEFAULT_TIMEOUT:[3,2,1,""],KEEPALIVE:[3,2,1,""],disable_encryption:[3,1,1,""],inactive_for:[3,1,1,""],no_inbound_for:[3,1,1,""],no_outbound_for:[3,1,1,""],set_packet_callback:[3,1,1,""],set_resource_callback:[3,1,1,""],set_resource_concluded_callback:[3,1,1,""],set_resource_started_callback:[3,1,1,""],set_resource_strategy:[3,1,1,""],teardown:[3,1,1,""]},"RNS.Packet":{ENCRYPTED_MDU:[3,2,1,""],PLAIN_MDU:[3,2,1,""],resend:[3,1,1,""],send:[3,1,1,""]},"RNS.PacketReceipt":{get_rtt:[3,1,1,""],get_status:[3,1,1,""],set_delivery_callback:[3,1,1,""],set_timeout:[3,1,1,""],set_timeout_callback:[3,1,1,""]},"RNS.Resource":{advertise:[3,1,1,""],cancel:[3,1,1,""],progress:[3,1,1,""]},"RNS.Reticulum":{should_allow_unencrypted:[3,1,1,""],should_use_implicit_proof:[3,1,1,""],transport_enabled:[3,1,1,""]},"RNS.Transport":{deregister_announce_handler:[3,1,1,""],has_path:[3,1,1,""],register_announce_handler:[3,1,1,""],request_path:[3,1,1,""]},RNS:{Destination:[3,0,1,""],Identity:[3,0,1,""],Link:[3,0,1,""],Packet:[3,0,1,""],PacketReceipt:[3,0,1,""],Resource:[3,0,1,""],Reticulum:[3,0,1,""],Transport:[3,0,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","attribute","Python attribute"]},objtypes:{"0":"py:class","1":"py:method","2":"py:attribute"},terms:{"0":[0,3,4,5],"00":4,"000":[4,5],"00000000":4,"00000100":4,"00000111":4,"01":4,"01010000":4,"05":0,"1":[0,3,4,5],"10":[0,4],"100":[0,4],"1000":[0,4],"1024":0,"11":4,"1200":4,"128":[4,5],"14":4,"141":4,"15":[3,4],"151":4,"18":4,"180":[3,4],"182":4,"2":[0,4],"20":[0,4],"205":[],"25":[0,5],"256":[3,4],"270":4,"2f":0,"3":[0,4,5],"323":[],"33":4,"34":4,"3600":0,"383":3,"3e12fc71692f8ec47bc5":1,"4":4,"409":[4,5],"430":4,"45":0,"477":[3,4],"5":[0,4],"500":[4,5],"512":3,"60":0,"62":[4,5],"7":4,"8":0,"80":[3,4],"80e29bf7cccaf31431b3":4,"86":4,"868":4,"900":4,"95":4,"abstract":4,"break":[4,5],"byte":[0,3,4,5],"case":[1,4],"class":[0,2,5],"default":[0,3,4],"do":[0,1,4,5],"float":[0,3],"function":[0,2,3,5],"import":[0,1,4],"int":0,"long":[0,4],"new":[0,3,4],"public":[0,2,3],"return":[0,3],"short":4,"static":3,"throw":3,"true":[0,3],"try":[0,2],"while":[0,3,4,5],A:[0,3,4,5],And:0,As:[3,4,5],At:4,Be:3,But:4,By:[0,4],For:[3,4],IN:[0,3],If:[0,1,3,4,5],In:[0,1,4,5],It:[0,3,4,5],No:[4,5],One:3,Or:4,That:4,The:[0,1,2,3,5],There:[4,5],These:4,To:[0,4,5],Will:3,With:4,_:4,__:4,______:4,_______:4,________:4,________________:4,__init__:0,__main__:0,__name__:0,_exit:0,ab:0,abl:[0,3,4],about:[0,3,4],abov:[1,4],accept:[3,4],accept_al:[0,3],accept_app:3,accept_non:3,access:[3,4],accord:4,accordingli:0,acheiv:4,achiev:[3,4],acknowledg:5,act:[3,4],action:0,activ:[0,3,4],actor:4,actual:[0,1,4],ad:[0,3,4,5],add:0,add_argu:0,addit:[4,5],addr1:4,addr2:4,address:[0,3,4,5],adress:[0,3,5],advantag:3,advertis:[0,3],advis:4,ae:[4,5],after:[0,4],again:[1,4],against:4,agent:4,agnost:4,agnostic:4,aim:[2,4],aliv:[3,4],all:[0,2,3,4,5],allow:[0,3,4,5],almost:4,along:[3,4],alreadi:[0,4],also:[0,3,4,5],alter:4,altern:0,although:5,alwai:[3,4],amateur:5,amount:[3,4,5],an:[0,1,3,4,5],ani:[0,1,3,4,5],announc:[2,3],announce_handl:0,announced_ident:[0,3],announceloop:0,announcesampl:0,anonym:4,anoth:[1,3,4],answer:4,anyon:[0,3,4],anyth:4,anywher:0,apart:4,api:[1,2,4,5],app:[0,3,4],app_and_aspects_from_nam:3,app_data:[0,3],app_nam:[0,3],app_timeout:0,append:[0,4],appli:4,applic:[0,3,4],approv:4,approxim:4,ar:[0,3,4,5],arbitrari:[3,4],arbritrari:5,area:5,arg:0,argon:0,argpars:0,argument:[0,3],argumentpars:0,around:4,arriv:[0,4],ask:[0,3],aspect:[0,3,4],aspect_filt:[0,3],assign:4,associ:[1,3,4],assum:4,asymmetr:5,attached_interfac:3,attribut:3,audit:5,authent:[4,5],author:4,auto:[3,4],auto_compress:3,autoconfigur:5,autom:4,automat:[0,3,4,5],autonom:4,autoomat:0,avail:[0,4,5],averag:4,avoid:4,awai:4,awar:4,ax:5,b:0,back:[0,4,5],band:4,bandwidth:[4,5],bare:0,barrier:4,base:[2,4,5],basi:[3,4,5],basic:[0,1,2],baud:4,becaus:4,becom:0,been:[0,3,4,5],befor:[0,3,4],begin:[0,3],begun:3,behind:4,being:4,belief:4,below:1,best:[1,4,5],beta:5,between:[0,3,4],bgp:4,bi:4,bidirect:4,binari:[0,2],bit:[3,4,5],blob:[0,4],both:[3,4,5],bp:4,briefli:4,broadcast:[2,3,4],broadcast_destin:0,broadcastloop:0,bug:5,build:[0,4,5],built:[1,4,5],bundl:0,c:[0,4],cad:4,calcul:4,call:[0,3,4,5],callabl:3,callback:[0,3],can:[0,1,2,3,4],cancel:3,cannot:0,capac:4,carambola:0,care:[3,4,5],carri:[3,4],carrier:5,caveat:2,cb:4,cbc:5,cd:1,censor:4,censorship:4,central:4,certain:[0,4],challeng:4,chang:[0,1,4,5],channel:[0,4,5],channelarg:0,chapter:[1,4],charact:0,characterist:4,cheap:4,check:0,checksum:[3,5],choos:0,chose:4,chunk:0,ciphertext:3,ciphertext_token:3,cl:0,clear:[0,3,4],clear_default_app_data:3,clear_screen:0,client:[0,1,3],client_connect:0,client_disconnect:0,client_loop:0,client_packet_receiv:0,client_request:0,clone:1,close:[0,3],closer:4,cluster:4,code:[0,4],com:[0,1],combin:4,come:4,command:[0,1],common:4,commun:[0,1,3,4,5],compat:4,complet:[0,1,3,4,5],compon:4,compos:4,compress:[0,3,4],comput:[1,4],concaten:3,concept:4,conclud:[0,3],concurr:4,condit:4,config:[0,1],configarg:0,configdir:3,configpath:0,configur:[0,3,4,5],confirm:[4,5],connect:[0,3,4,5],consequ:4,consid:[4,5],consist:4,constant:[3,4],construct:4,contact:4,contain:[0,3,4],content:[],context:[3,4],control:[0,3,4],conveni:0,convent:0,coordin:[3,4,5],core:[4,5],correct:[0,4],correctli:0,correspond:4,cost:[4,5],could:[0,3,4,5],count:4,counter:0,cover:5,cpu:0,creat:[0,1,3,4],create_kei:3,create_receipt:[0,3],creation:4,creator:4,critic:4,cryptograph:5,cryptographi:[1,4,5],ctrl:0,cull:3,current:[0,2,3,4],current_download:0,current_filenam:0,curv:[3,4,5],curve25519:[3,4,5],custom:4,d:4,daemon:3,dai:4,data:[0,3,4,5],date:0,debian:4,debug:3,decai:4,decid:[3,4],decod:0,decrypt:[3,4],dedic:4,def:0,default_timeout:3,defin:[0,4],definit:4,delai:4,deliv:[0,3],deliveri:[0,3,5],demand:3,demonstr:0,depend:1,deploi:4,deregist:3,deregister_announce_handl:3,deriv:[4,5],describ:[3,4],descript:0,design:[4,5],desir:[0,4],destin:[0,1,2],destination_1:0,destination_2:0,destination_clos:0,destination_hash:[0,3],destination_hexhash:0,detail:[0,2,3],detect:0,determin:[3,4],develop:[2,4],devic:[2,3,4],dh:3,did:0,differ:[0,1,3,4,5],diffi:[4,5],digit:[4,5],dir:0,direct:[0,3,4],directli:[3,4,5],directori:0,disable_encrypt:3,disappear:3,discard:4,disconnect:0,discoveri:4,discuss:4,disk:[0,3],displai:4,distanc:4,distinct:4,distribut:[0,3,4],divmod:0,document:4,doe:[0,2,3,4],don:[0,1],done:[0,4],dot:4,down:0,downgrad:3,download:0,download_began:0,download_conclud:0,download_finish:0,download_start:0,download_tim:0,driver:5,drop:4,duplex:[4,5],e:0,each:[0,4],earlier:4,eas:4,easi:[4,5],easiest:[1,4],easili:[4,5],ecdh:[4,5],echo:[1,2],echo_destin:0,echo_request:0,ed25519:[4,5],effici:[0,4,5],ei:0,either:4,elif:0,ellipt:[3,4,5],els:[0,4],emploi:4,emptor:2,enabl:3,enable_transport:4,encapsul:5,encod:0,encrypt:[0,1,3,4,5],encrypted_mdu:3,encryptionless:3,end:[0,3,4,5],endpoint:[0,3,4],engin:4,ensur:4,enter:0,entir:4,entiti:4,entri:[0,4],enumer:0,environ:4,environment:4,environmentlogg:4,ephemer:[3,4,5],equal:4,equip:4,equl:[],error:[0,3],essenti:4,establish:[0,3,5],ethernet:[4,5],even:[4,5],everi:[0,3,4],everyon:4,everyth:[0,4],exact:4,exactli:[3,4],exampl:[1,2,3,4,5],example_util:0,exampleannouncehandl:0,exce:0,except:[0,4],exchang:[3,4,5],execut:[0,3],exhaust:4,exist:[0,4,5],exit:[0,1,3],exit_handl:0,expand:4,expect:[0,4],experi:[1,4],experiment:5,explain:3,explan:4,explicit:3,explicitli:3,explor:[0,4,5],expos:3,extend:[0,4],extern:[3,5],extrem:5,fa7ddfab5213f916dea:4,face:1,fact:[4,5],fail:[0,3],fals:[0,3],far:4,fast:2,featur:[4,5],feed:3,feedback:0,fernet:5,few:[4,5],field:4,file:[0,1,3,4,5],file_resourc:0,file_s:0,filelist:0,filelist_data:0,filelist_receiv:0,filelist_timeout_job:0,filenam:0,filetransf:[1,2,3],filter:[0,4],find:4,firmwar:4,first:[0,3,4],fit:0,five:0,fix:4,flag:[3,4],flush:0,folder:1,follow:[0,4,5],forcibl:3,foremost:5,form:[3,4],format:[0,2,5],forth:0,forward:[3,4,5],found:[0,1,4],free:5,frequenc:4,from:[0,1,3,4,5],from_byt:3,from_fil:3,fromhex:0,fruit:0,full:[3,4],full_hash:3,full_nam:3,fulli:[4,5],fundament:4,further:[1,2],futur:[3,4],g:0,ga:0,gatekeep:4,gener:[0,3,4,5],generalis:5,get:[0,2,3,5],get_private_kei:3,get_public_kei:3,get_random_hash:[0,3],get_rtt:[0,3],get_statu:3,gi:0,gigabyt:5,git:1,github:[0,1],give:4,given:4,global:[0,5],go:[0,1,4],goal:2,good:4,got:0,govern:4,grape:0,great:4,greater:4,group:[3,4],guarante:4,guid:[1,3,4],h:[1,4],ha:[0,3,4,5],had:4,half:[4,5],hand:0,handheld:4,handl:[0,3,4,5],handler:[0,3],happen:0,hardwar:[3,4,5],has_path:[0,3],hasattr:0,hash:[0,1,3,4],hash_from_name_and_ident:3,hashmap:0,have:[0,1,3,4],hazard:3,header:4,header_1:4,header_2:4,header_typ:3,hear:4,heard:[3,4],helium:0,hellman:[4,5],help:[0,4,5],here:[0,4],hexadecim:[0,4],high:[4,5],higher:[4,5],highli:4,hint:0,hit:0,hmac:5,hoc:5,hold:[3,4],hop:[4,5],host:[0,4,5],hour:0,how:[0,4,5],howev:4,http:[0,1],human:[0,3],i:0,id:4,idea:4,ident:[0,2],identif:5,identifi:4,identify:4,ie:[],ignor:[3,4],immedi:1,impact:4,implement:[0,4,5],implicit:[3,4],inactive_for:3,inbound:3,includ:[0,3,4],incom:[0,3],incompat:[3,4],indefinit:4,independ:3,independt:5,index:[0,2],indirectli:4,individu:4,inevit:4,infer:4,info:[3,4],inform:[0,1,2,3,4],infrastructur:4,ingo:3,initi:4,initialis:[0,3],input:0,insert:4,instal:1,instanc:[0,3],instanti:3,instead:[0,4],integr:4,intend:4,intention:4,inter:3,interact:[0,4],interest:4,interfac:[0,2,3,4],intern:[3,4],internet:[4,5],interv:3,introduc:4,introduct:2,intuit:5,invalid:[0,3],investig:4,ip:[4,5],isdir:0,isfil:0,ism:4,its:[3,4],itself:[2,3,4],iv:5,job:0,join:[0,4],just:[0,4,5],k:0,kbp:4,keep:[0,3,4,5],keepal:[3,4],kei:[0,2,3,5],kept:[3,4],kernel:5,keyboardinterrupt:0,keyerror:3,keypair:4,keysiz:3,ki:0,kill:3,kilomet:4,kind:4,know:[0,3,4],knowledg:4,known:[0,3,4],krypton:0,lack:4,laid:4,larg:[0,4],larger:4,last:[0,3],last_unit:0,latenc:[4,5],later:0,latest:[0,1],latest_client_link:0,launch:1,lavg:4,layer:[4,5],lead:4,learn:[0,4],least:[4,5],leav:4,ledger:4,left:4,len:0,length:[0,3],less:[4,5],let:[0,4],level:4,librari:1,licens:4,light:4,like:[1,3,4],limit:4,line:[0,1,4,5],link:[2,5],link_clos:0,link_establish:0,linkexampl:0,linux:4,list:[0,3,4],list_deliv:0,list_fil:0,list_packet:0,list_receipt:0,list_timeout:0,listdir:0,listen:[0,4],littl:4,lki:4,lkr:4,ll:[0,1,5],ln:1,load:[0,3],load_private_kei:3,load_public_kei:3,local:[0,3,4,5],locat:4,log:0,log_error:0,log_info:0,loglevel:0,longer:[0,4],look:[1,4],loop:0,lora:[4,5],lorawan:4,lot:4,low:[4,5],lxmf:1,m:[0,4],mac:4,machin:4,made:4,mai:4,main:0,maintain:4,make:[1,4],malici:4,manag:3,mani:[0,4,5],manipul:4,manual:[0,1,3],mark:4,markqvist:[0,1],master:[0,3],match:0,maximum:[3,4],mcu:4,mdu:0,mean:4,measur:4,mechan:2,medium:[4,5],memori:4,mention:4,menu:0,menu_mod:0,mesh:5,messag:[0,1,3,4],messeng:4,metavar:0,method:[0,3,4],methodolog:4,mhz:4,mi:0,microcontrol:4,microwav:4,might:4,millisecond:0,mind:5,minim:[2,4],minimalsampl:0,minimum:[0,4],minut:[0,4],mode:[0,1,4,5],modem:[3,4,5],modul:[0,4,5],moment:[4,5],monitor:4,more:[3,4,5],most:[1,4,5],motiv:2,move:1,mtu:[4,5],much:4,multi:[4,5],multilater:4,multipl:[0,4],multipoint:4,must:[0,3,4],my:4,n:0,name:[0,3],namespac:0,nano:1,narg:0,necessari:[1,3,4],necessarili:4,need:[0,2,4,5],neglig:4,neither:4,neon:0,network:[0,1,3,4,5],never:3,newer:4,newest:4,newli:4,next:[1,4],nicknam:4,no_inbound_for:3,no_outbound_for:3,nobl:0,noble_ga:0,noble_gas:0,node:[2,5],nomad:1,non:[3,4],none:[0,3,4],normal:0,notat:4,note:[0,4],noth:5,notic:4,notif:[0,3],now:[0,1,4],nt:0,num:0,number:[0,3,4],object:3,obtain:4,occur:5,off:[4,5],offer:[2,3,4],often:4,oganesson:0,old:4,onc:[4,5],one:[0,3,4,5],onli:[0,3,4,5],onlin:4,open:[0,3,4,5],openmodem:5,oper:[3,4,5],opt:4,optic:5,option:[0,1],orient:4,origin:4,original_hash:3,os:[0,4,5],ospf:4,other:[3,4],otherwis:[3,4],our:[0,4],out:[0,3,4,5],outbound:3,outgo:[0,3,4],outlin:[1,4],outward:4,over:[0,3,4,5],overal:4,overcom:4,overhead:4,overrid:0,overview:4,own:[0,1,3,4],owner:3,p:[0,4],pack:0,packb:0,packet:[0,2,5],packet_callback:0,packet_deliv:0,packet_receipt:[0,3],packet_timed_out:0,packet_typ:3,packetreceipt:[0,3],pad:5,page:[2,4],pair:4,palm:0,paramet:3,pars:0,parse_arg:0,parser:0,part:[0,4],particip:[2,4],pass:[0,3,4],path:[0,1,3,4],path_respons:3,pathfind:[],pattern:4,payload:[3,4],peach:0,peer:[3,4],peer_pub_byt:3,peer_sig_pub_byt:3,peopl:4,per:[4,5],percent:0,perfect:4,perform:4,period:4,persecut:4,person:4,philosophi:4,physic:4,pi:[0,4,5],piec:4,ping:1,pip3:1,pip:1,pkcs7:5,place:4,plain:[0,3,4],plain_mdu:3,plaintext:[0,3],platform:4,pleas:[0,5],plenti:4,plu:4,pmr:4,point:4,pomelo:0,port:[4,5],possess:4,possibl:[4,5],potenti:[0,4],practic:[4,5],pre:[3,4],predict:4,prefer:4,prepar:0,presenc:3,press:0,pretend:4,pretti:4,prettyhexrep:0,previou:0,previous:[3,4],primari:4,principl:[4,5],print:0,print_filelist:0,print_help:0,print_menu:0,prioriti:4,prioritis:2,privaci:5,privat:[3,4,5],probabl:[0,4,5],procedur:4,process:[1,3,4],product:3,program:[0,2,3,4],program_setup:0,programm:4,programmat:4,progress:[0,3,5],progress_callback:3,project:1,prompt:0,proof:[0,3,4],proof_requested_callback:3,proof_strategi:3,propag:4,protocol:[1,2,5],prove:[0,4],prove_al:[0,3],prove_app:3,prove_non:3,proven:[3,4],provid:[0,1,2,3,4,5],prv_byte:3,pub_byt:3,public_inform:0,purchas:[4,5],purg:3,purpos:[3,4],purposefulli:4,put:0,py:[0,1],pyseri:1,python3:1,python:[4,5],q:0,queri:0,queue:4,quinc:0,quit:0,r:[0,4],radio:[3,4,5],radiu:4,radon:0,rais:[0,3],rand:4,randint:0,random:[0,3,4],randomli:[0,4],rang:[0,4,5],raspberri:[4,5],rate:0,rb:0,re:[0,3,4],reach:2,reachabl:[0,3,4],read:[0,1,4],readabl:[0,3,4],readi:[0,1],readili:5,real:5,reason:4,reassembl:4,recal:[0,3],recall_app_data:3,recap:4,receipt:[0,2,4],receiv:[0,3,4],received_announc:[0,3],recip:1,recipi:4,recommend:[0,4],reconstruct:4,record:4,recreat:4,refer:[0,1,2],regard:4,regist:[0,3],register_announce_handl:[0,3],rel:[4,5],releas:[1,4],relev:[0,3],reli:4,reliabl:[4,5],rem:0,remain:4,rememb:4,remot:[0,5],remotesensor:4,repeat:1,replac:[1,4],repli:0,replic:4,reply_data:0,reply_text:0,repositori:1,repres:4,represent:[0,4],request:[0,3,4],request_destin:0,request_packet:0,request_path:[0,3],requir:[0,4,5],research:5,resend:3,reserv:4,resili:5,resourc:[0,2],resource_callback:3,resource_sending_conclud:0,resource_strategi:3,respond:[0,3],rest:5,result:[0,4],reticulum:0,retransmiss:4,retransmit:4,retri:4,reveal:4,review:5,right:[],rn:[0,1,3],rnode:[4,5],robot:4,rotat:4,round:[0,3],rout:[3,4,5],rprogress:0,rsa:[],rtt:[0,4],rttstring:0,rule:4,run:[0,1,3,4,5],runtim:4,rw:4,s:[0,1,4,5],said:4,same:[1,3,4],satisfi:4,save:[3,4],save_error:0,saved_filenam:0,scenario:[1,4],screen:0,search:2,second:[0,3,4,5],secreci:[3,4,5],section:4,secur:[4,5],see:[0,3,4],seen:4,segment_index:3,select:0,self:[0,5],send:[0,3,4],sender:[0,4],sensibl:1,sensor:4,sent:[0,3,4],sentiment:4,separ:4,sequenc:[0,3,4,5],serial:[4,5],serv:[0,4],serve_path:0,server:[0,1],server_callback:0,server_destin:0,server_fil:0,server_ident:0,server_link:0,server_loop:0,server_packet_receiv:0,session:4,set:[0,3,4,5],set_default_app_data:3,set_delivery_callback:[0,3],set_link_closed_callback:0,set_link_established_callback:[0,3],set_packet_callback:[0,3],set_proof_requested_callback:3,set_proof_strategi:[0,3],set_resource_callback:3,set_resource_concluded_callback:[0,3],set_resource_started_callback:[0,3],set_resource_strategi:[0,3],set_timeout:[0,3],set_timeout_callback:3,setdaemon:0,setup:[0,2],sever:3,sha256:5,sha:[3,4],shall:4,share:[1,3,4],shelf:[4,5],shortest:4,should:[0,3,4,5],should_allow_unencrypt:3,should_quit:0,should_use_implicit_proof:3,shown:0,side:5,sign:[3,4],signatur:[3,4,5],similar:5,simpl:[0,4,5],simplest:4,simpli:[0,1,4],simplic:4,sinc:[0,3,4],singl:[0,3,4],singular:4,situat:4,size:[0,3,4],size_str:0,sleep:0,slice:0,slow:[0,4],small:[0,4],so:[0,1,4,5],softwar:[4,5],some:[0,1,4],someth:4,somethign:0,soon:3,sort:4,sourc:[0,1,4,5],space:[0,5],span:4,special:4,specif:[0,2,3,5],specifi:[0,3],spectrum:4,split:0,sponsor:5,stabl:[4,5],stack:[0,1,4,5],stage:4,standard:4,start:[0,2,3,4],startup:0,state:0,station:4,statist:0,statu:[0,2,3,4],stdout:0,step:1,still:[0,4],stop:5,store:[0,4],store_tru:0,str:0,strategi:3,stream:4,strength:5,strictli:4,string:[0,3],structur:4,subject:4,subsequ:4,successful:3,successfulli:0,sucessfulli:4,suffic:4,suffici:4,suffix:0,suit:[1,4],suitabl:[0,4],suppli:[3,4],support:[0,2,4],sy:0,symlink:1,symmetr:[3,4],system:[0,2,3,5],t:[0,1,4],tabl:4,take:[0,1,4,5],taken:[0,4],tangerin:0,target:0,tcp:[4,5],tdata:0,teardown:[0,3],teardown_reason:0,teffect:0,tell:0,temperatur:4,ten:4,term:4,termin:3,terminolog:4,test:4,text:[0,4],tfile:0,than:[0,4],thei:[0,3,4],them:[0,4],thereaft:4,therefor:[4,5],thi:[0,1,2,3,4],though:4,thourough:5,thread:0,three:4,through:[4,5],throughout:4,throughput:[4,5],thu:4,ti:[0,4],time:[0,1,3,4],timeout:[0,3],timeout_callback:0,timeoutarg:0,timestr:0,tnc:[3,5],to_fil:3,todai:4,todo:[],togeth:4,token:[3,4],too:[0,4],tool:5,top:4,topic:4,topolog:4,total:[4,5],total_s:0,touch:5,toward:[0,4],traffic:[0,3,4],tramsit:[],transceiv:[4,5],transfer:[0,3,4,5],transfer_s:0,transmiss:4,transmit:[0,4],transpar:4,transport:[0,2,5],transport_en:3,transport_id:3,transport_typ:3,travers:4,treat:4,tri:0,trip:[0,3],trivial:5,truli:4,truncat:[3,4],truncated_hash:3,truncated_hashlength:3,trust:4,trustless:[4,5],ttime:0,ttransfer:0,tunnel:[4,5],tupl:3,two:[0,4],type:[0,2,3],typeerror:3,udp:[4,5],umsgpack:0,uncencrypt:0,underli:5,understand:[1,2],unencrypt:[0,3,4],unequivoc:4,unforg:5,uninterest:0,uniqu:[4,5],unit:0,unknown:[0,3,4],unless:[1,3,4],unlicens:4,unpack:0,unpackb:0,unsupport:3,until:[0,3,4],unwant:4,up:[0,4,5],updat:[0,3],upon:[0,4],urandom:5,us:[0,2,3,4],usabl:4,usag:[],usb:[4,5],useabl:4,user:[0,1,3,4],user_input:0,userland:5,utf:0,util:[0,1,4],utilis:[4,5],valid:[0,3,4],valu:4,valueerror:[0,3],variabl:0,varieti:[4,5],variou:[0,4],ve:1,vendor:0,veri:[3,4,5],verif:[3,4],verifi:[0,4],versa:5,version:3,vhf:4,via:[1,4],vice:5,view:4,visibl:0,wa:[0,3,4,5],wai:[0,1,4],wait:[0,4],want:[0,1,4,5],warrant:5,wb:0,we:[0,4],well:[3,4,5],went:0,what:[0,1,2,3,4],whatev:4,when:[0,1,3,4],whenev:3,where:[2,3,4],whereupon:4,whether:[0,3,4],which:[0,1,3,4],who:4,wide:[4,5],wifi:[4,5],wildcard:0,window:4,wire:[4,5],wish:4,within:[0,3,4],won:0,work:[4,5],world:5,would:4,write:[0,3],written:4,wrong:0,x25519:[3,4,5],x:4,xenon:0,y:0,ye:4,year:4,yet:[0,4],yi:0,you:[0,1,2,3,4,5],your:[0,1,4,5],yourself:[4,5],z:0,zero:3,zi:0},titles:["Examples","Getting Started Fast","Reticulum Network Stack Manual","API Reference","Understanding Reticulum","What is Reticulum?"],titleterms:{"1":[],"2":[],"class":3,"function":4,"public":4,"try":1,The:4,announc:[0,4],api:3,base:1,basic:4,binari:4,broadcast:0,can:5,caveat:5,current:5,deliveri:[],destin:[3,4],detail:4,develop:1,devic:5,doe:5,echo:0,emptor:5,establish:4,exampl:0,fast:1,filetransf:0,format:4,further:4,get:[1,4],goal:4,ident:[3,4],indic:2,interfac:5,introduct:4,kei:4,link:[0,3,4],manual:2,mechan:4,minim:0,motiv:4,name:4,network:2,node:4,offer:5,packet:[3,4],particip:1,pathfind:[],prioritis:4,program:1,protocol:4,proven:[],reach:4,receipt:3,refer:[3,4],resourc:[3,4],reticulum:[1,2,3,4,5],setup:4,specif:4,stack:2,start:1,statu:5,step:[],support:5,system:4,tabl:2,transport:[3,4],type:[4,5],understand:4,us:[1,5],what:5,where:5}}) \ No newline at end of file diff --git a/docs/manual/understanding.html b/docs/manual/understanding.html index 7bc4a5f..e1fb947 100644 --- a/docs/manual/understanding.html +++ b/docs/manual/understanding.html @@ -205,12 +205,14 @@ when a node is directly reachable.

    Destination Naming

    -

    Destinations are created and named in an easy to understand dotted notation of aspects , and +

    Destinations are created and named in an easy to understand dotted notation of aspects, and represented on the network as a hash of this value. The hash is a SHA-256 truncated to 80 bits. The top level aspect should always be a unique identifier for the application using the destination. -The next levels of aspects can be defined in any way by the creator of the application. For example, -a destination for a environmental monitoring application could be made up of the application name, a -device type and measurement type, like this:

    +The next levels of aspects can be defined in any way by the creator of the application.

    +

    Aspects can be as long and as plentiful as required, and a resulting long destination name will not +impact efficiency, as names are always represented as truncated SHA-256 hashes on the network.

    +

    As an example, a destination for a environmental monitoring application could be made up of the +application name, a device type and measurement type, like this:

    app name  : environmentlogger
     aspects   : remotesensor, temperature
     
    @@ -246,9 +248,8 @@ receives.

  • -
    Group

    When private communication between two or more endpoints is needed. More efficient in -data usage than single destinations. Supports multiple hops indirectly, but must first be -established through a single destination.

    +
    Group

    When private communication between two or more endpoints is needed. Supports multiple hops +indirectly, but must first be established through a single destination.

  • @@ -264,9 +265,9 @@ nodes aware of your destinations public key, called the announce. It is an unknown public key from the network, as all participating nodes serve as a distributed ledger of public keys.

    Note that public key information can be shared and verified in many other ways than using the -built-in methodology, and that it is therefore not required to use the announce/request functionality. -It is by far the easiest though, and should definitely be used if there is not a good reason for -doing it differently.

    +built-in announce functionality, and that it is therefore not required to use the announce/request +functionality to obtain public keys. It is by far the easiest though, and should definitely be used +if there is not a good reason for doing it differently.

    @@ -282,7 +283,7 @@ contain the following information:

  • The announcers public key

  • Application specific data, in this case the users nickname and availability status

  • A random blob, making each new announce unique

  • -
  • A signature of the above information, verifying authenticity

  • +
  • An Ed25519 signature of the above information, verifying authenticity

  • With this information, any Reticulum node that receives it will be able to reconstruct an outgoing destination to securely communicate with that destination. You might have noticed that there is one @@ -290,8 +291,9 @@ piece of information lacking to reconstruct full knowledge of the announced dest the aspect names of the destination. These are intentionally left out to save bandwidth, since they will be implicit in almost all cases. If a destination name is not entirely implicit, information can be included in the application specific data part that will allow the receiver to infer the naming.

    -

    It is important to note that announcements will be forwarded throughout the network according to a -certain pattern. This will be detailed later.

    +

    It is important to note that announces will be forwarded throughout the network according to a +certain pattern. This will be detailed in the section +The Announce Mechanism in Detail.

    Seeing how single destinations are always tied to a private/public key pair leads us to the next topic.

    @@ -308,16 +310,16 @@ automatically. This may be desirable in some situations, but often you will prob the identity first, and then link it to created destinations.

    Building upon the simple messenger example, we could use an identity to represent the user of the application. Destinations created will then be linked to this identity to allow communication to -reach the user. In such a case it is of great importance to store the user’s identity securely and -privately.

    +reach the user. In all cases it is of great importance to store the private keys associated with any +Reticulum Identity securely and privately.

    Getting Further

    The above functions and principles form the core of Reticulum, and would suffice to create functional networked applications in local clusters, for example over radio links where all interested nodes can directly hear each other. But to be truly useful, we need a way to direct traffic over multiple -hops in the network. In the next sections, two concepts that allow this will be introduced, paths and -links.

    +hops in the network.

    +

    In the following sections, two concepts that allow this will be introduced, paths and links.

    @@ -331,7 +333,70 @@ very limited. Existing routing protocols like BGP or OSPF carry too much overhea useable over bandwidth-limited, high-latency links.

    To overcome such challenges, Reticulum’s Transport system uses public-key cryptography to implement the concept of paths that allow discovery of how to get information to a certain -destination, and resources that help make reliable data transfer more efficient.

    +destination. It is important to note that no single node in a Reticulum network knows the complete +path to a destination. Every Transport node participating in a Reticulum network will only +know what the most direct way to get a packet one hop closer to it’s destination is.

    +
    +

    The Announce Mechanism in Detail

    +

    When an announce is transmitted by a node, it will be forwarded by any node receiving it, but +according to some specific rules:

    +
      +
    • +
      If this exact announce has already been received before, ignore it.
      +
      +
    • +
    • +
      If not, record into a table which node the announce was received from, and how many times in +total it has been retransmitted to get here.
      +
      +
    • +
    • +
      If the announce has been retransmitted m+1 times, it will not be forwarded. By default, m is +set to 18.
      +
      +
    • +
    • +
      The announce will be assigned a delay d = ch seconds, where c is a decay constant, and h is the amount of times this packet has already been forwarded.
      +
      +
    • +
    • +
      The packet will be given a priority p = 1/d.
      +
      +
    • +
    • +
      If at least d seconds has passed since the announce was received, and no other packets with a +priority higher than p are waiting in the queue (see Packet Prioritisation), and the channel is +not utilized by other traffic, the announce will be forwarded.
      +
      +
    • +
    • +
      If no other nodes are heard retransmitting the announce with a greater hop count than when +it left this node, transmitting it will be retried r times. By default, r is set to 1. Retries +follow same rules as above, with the exception that it must wait for at least d = ch+1 + +t + rand(0, rw) seconds. This amount of time is equal to the amount of time it would take the next +node to retransmit the packet, plus a random window. By default, t is set to 10 seconds, and the +random window rw is set to 10 seconds.
      +
      +
    • +
    • +
      If a newer announce from the same destination arrives, while an identical one is already in +the queue, the newest announce is discarded. If the newest announce contains different +application specific data, it will replace the old announce, but will use d and p of the old +announce.
      +
      +
    • +
    +

    Once an announce has reached a node in the network, any other node in direct contact with that +node will be able to reach the destination the announce originated from, simply by sending a packet +addressed to that destination. Any node with knowledge of the announce will be able to direct the +packet towards the destination by looking up the next node with the shortest amount of hops to the +destination.

    +

    According to these rules and default constants, an announce will propagate throughout the network +in a predictable way. In an example network utilising the default constants, and with an average link +distance of Lavg = 15 kilometers, an announce will be able to propagate outwards to a radius of 180 +kilometers in 34 minutes, and a maximum announce radius of 270 kilometers in approximately 3 +days.

    +

    Reaching the Destination

    In networks with changing topology and trustless connectivity, nodes need a way to establish @@ -341,27 +406,46 @@ expect. Reticulum offers two ways to do this.

    For exchanges of small amounts of information, Reticulum offers the Packet API, which works exactly like you would expect - on a per packet level. The following process is employed when sending a packet:

    • -
      A packet is always created with an associated destination and some payload data. When the packet is sent to a single destination type, Reticulum will automatically create an ephemeral encryption key, perform an ECDH key exchange with the destinations public key, and encrypt the information.
      +
      A packet is always created with an associated destination and some payload data. When the packet is sent +to a single destination type, Reticulum will automatically create an ephemeral encryption key, perform +an ECDH key exchange with the destinations public key, and encrypt the information.
    • -
      It is important to note that this key exchange does not require any network traffic. The sender already knows the public key of the destination from an earlier received announce, and can thus perform the ECDH key exchange locally.
      +
      It is important to note that this key exchange does not require any network traffic. The sender already +knows the public key of the destination from an earlier received announce, and can thus perform the ECDH +key exchange locally, before sending the packet.
    • -
      The public key part of the newly generated ephemeral key is included with the encrypted token, and sent along with the encrypted payload data in the packet.
      +
      The public part of the newly generated ephemeral key-pair is included with the encrypted token, and sent +along with the encrypted payload data in the packet.
    • -
      When the destination receives the packet, it can itself perform an ECDH key exchange and decrypt the packet.
      +
      When the destination receives the packet, it can itself perform an ECDH key exchange and decrypt the +packet.
    • -
      A new ephemeral key is used for every packet sent in this way, and forward secrecy is guaranteed on a per packet level.
      +
      A new ephemeral key is used for every packet sent in this way, and forward secrecy is guaranteed on a +per packet level.
    • -
      In case the packet is addressed to a group destination type, the packet will be encrypted with the pre-shared AES-128 key associated with the destination. In case the packet is addressed to a plain destination type, the payload data will not be encrypted. Neither of these two destination types offer forward secrecy. In general, it is recommended to always use the single destination type, unless it is strictly necessary to use one of the others.
      +
      Once the packet has been received and decrypted by the addressed destination, that destination can opt +to prove its receipt of the packet. It does this by calculating the SHA-256 hash of the received packet, +and signing this hash with it’s Ed25519 signing key. Transport nodes in the network can then direct this +proof back to the packets origin, where the signature can be verified against the destinations known +public signing key.
      +
      +
    • +
    • +
      In case the packet is addressed to a group destination type, the packet will be encrypted with the +pre-shared AES-128 key associated with the destination. In case the packet is addressed to a plain +destination type, the payload data will not be encrypted. Neither of these two destination types offer +forward secrecy. In general, it is recommended to always use the single destination type, unless it is +strictly necessary to use one of the others.
    @@ -387,16 +471,15 @@ remember the link , and it can subsequently be used by referring to a h
  • As a part of the link request , a Diffie-Hellman key exchange takes place, that sets up an -efficient symmetrically encrypted tunnel between the two nodes, using elliptic curve -cryptography. As such, this mode of communication is preferred, even for situations when -nodes can directly communicate, when the amount of data to be exchanged numbers in the -tens of packets.
    +efficiently encrypted tunnel between the two nodes, using elliptic curve cryptography. As such, +this mode of communication is preferred, even for situations when nodes can directly communicate, +when the amount of data to be exchanged numbers in the tens of packets.
  • -
    When a link has been set up, it automatically provides message receipt functionality, so the -sending node can obtain verified confirmation that the information reached the intended -recipient.
    +
    When a link has been set up, it automatically provides message receipt functionality, through +the same proof mechanism discussed before, so the sending node can obtain verified confirmation +that the information reached the intended recipient.
  • @@ -407,76 +490,18 @@ At the same time we establish an efficient encrypted channel. The setup of this terms of bandwidth, so it can be used just for a short exchange, and then recreated as needed, which will also rotate encryption keys. The link can also be kept alive for longer periods of time, if this is more suitable to the application. The procedure also inserts the link id , a hash calculated from the link request packet, into the memory of forwarding nodes, which means that the communicating nodes can thereafter reach each other simply by referring to this link id.

    -

    The total bandwidth cost of setting up a link is 409 bytes (more info in the Binary Packet Format section). The amount of bandwidth used on keeping a link open is practically negligible, at 0.62 bits per second. Even on a slow 1200 bits per second packet radio channel, 100 concurrent links will still leave 95% channel capacity for actual data.

    -
    -

    Pathfinding in Detail

    -

    The pathfinding method builds on the announce functionality discussed earlier. When an announce -is sent out by a node, it will be forwarded by any node receiving it, but according to some specific -rules:

    -
      -
    • -
      If this announce has already been received before, ignore it.
      -
      -
    • -
    • -
      Record into a table which node the announce was received from, and how many times in -total it has been retransmitted to get here.
      -
      -
    • -
    • -
      If the announce has been retransmitted m+1 times, it will not be forwarded. By default, m is -set to 18.
      -
      -
    • -
    • -
      The announce will be assigned a delay d = ch seconds, where c is a decay constant, by -default 2, and h is the amount of times this packet has already been forwarded.
      -
      -
    • -
    • -
      The packet will be given a priority p = 1/d.
      -
      -
    • -
    • -
      If at least d seconds has passed since the announce was received, and no other packets with a -priority higher than p are waiting in the queue (see Packet Prioritisation), and the channel is -not utilized by other traffic, the announce will be forwarded.
      -
      -
    • -
    • -
      If no other nodes are heard retransmitting the announce with a greater hop count than when -it left this node, transmitting it will be retried r times. By default, r is set to 2. Retries follow -same rules as above, with the exception that it must wait for at least d = ch+1 + t seconds, ie., -the amount of time it would take the next node to retransmit the packet. By default, t is set to -10.
      -
      -
    • -
    • -
      If a newer announce from the same destination arrives, while an identical one is already in -the queue, the newest announce is discarded. If the newest announce contains different -application specific data, it will replace the old announce, but will use d and p of the old -announce.
      -
      -
    • -
    -

    Once an announce has reached a node in the network, any other node in direct contact with that -node will be able to reach the destination the announce originated from, simply by sending a packet -addressed to that destination. Any node with knowledge of the announce will be able to direct the -packet towards the destination by looking up the next node with the shortest amount of hops to the -destination.

    -

    According to these rules and default constants, an announce will propagate throughout the network -in a predictable way. In an example network utilising the default constants, and with an average link -distance of Lavg = 15 kilometers, an announce will be able to propagate outwards to a radius of 180 -kilometers in 34 minutes, and a maximum announce radius of 270 kilometers in approximately 3 -days.

    -
    +

    The combined bandwidth cost of setting up a link is 3 packets totalling 409 bytes (more info in the +Binary Packet Format section). The amount of bandwidth used on keeping +a link open is practically negligible, at 0.62 bits per second. Even on a slow 1200 bits per second packet +radio channel, 100 concurrent links will still leave 95% channel capacity for actual data.

  • @@ -503,21 +527,22 @@ previously.
  • Any node that forwards the link request will store a link id in it’s link table , along with the amount of hops the packet had taken when received. The link id is a hash of the entire link -request packet. If the path is not proven within some set amount of time, the entry will be -dropped from the link table again.
    +request packet. If the link request packet is not proven by the addressed destination within some +set amount of time, the entry will be dropped from the link table again.
  • -
    When the destination receives the link request packet, it will decrypt it and decide whether to -accept the request. If it is accepted, the destination will also generate a new X25519 private/public -key pair, and perform a Diffie Hellman Key Exchange, deriving a new symmetric key that will be used -to encrypt the channel, once it has been established.
    +
    When the destination receives the link request packet, it will decide whether to accept the request. +If it is accepted, the destination will also generate a new X25519 private/public key pair, and +perform a Diffie Hellman Key Exchange, deriving a new symmetric key that will be used to encrypt the +channel, once it has been established.
  • A link proof packet is now constructed and transmitted over the network. This packet is addressed to the link id of the link. It contains the following data: The newly generated X25519 -public key LKr and an RSA-1024 signature of the link id and LKr.
    +public key LKr and an Ed25519 signature of the link id and LKr made by the signing key of +the addressed destination.
  • @@ -541,10 +566,6 @@ reveal any identifying information about itself. The link initiator remains comp

    When using links, Reticulum will automatically verify all data sent over the link, and can also automate retransmissions if Resources are used.

    -
    -

    Proven Delivery

    -

    TODO: Write

    -

    Resources

    @@ -774,10 +795,9 @@ proof 11
  • Reticulum Transport
      +
    • The Announce Mechanism in Detail
    • Reaching the Destination
    • Resources
    • diff --git a/docs/source/understanding.rst b/docs/source/understanding.rst index 7c711e6..ecc106f 100644 --- a/docs/source/understanding.rst +++ b/docs/source/understanding.rst @@ -157,12 +157,16 @@ destinations. Reticulum uses three different basic destination types, and one sp Destination Naming ^^^^^^^^^^^^^^^^^^ -Destinations are created and named in an easy to understand dotted notation of *aspects* , and +Destinations are created and named in an easy to understand dotted notation of *aspects*, and represented on the network as a hash of this value. The hash is a SHA-256 truncated to 80 bits. The top level aspect should always be a unique identifier for the application using the destination. -The next levels of aspects can be defined in any way by the creator of the application. For example, -a destination for a environmental monitoring application could be made up of the application name, a -device type and measurement type, like this: +The next levels of aspects can be defined in any way by the creator of the application. + +Aspects can be as long and as plentiful as required, and a resulting long destination name will not +impact efficiency, as names are always represented as truncated SHA-256 hashes on the network. + +As an example, a destination for a environmental monitoring application could be made up of the +application name, a device type and measurement type, like this: .. code-block:: text @@ -201,9 +205,8 @@ To recap, the different destination types should be used in the following situat * **Single** When private communication between two endpoints is needed. Supports multiple hops. * **Group** - When private communication between two or more endpoints is needed. More efficient in - data usage than *single* destinations. Supports multiple hops indirectly, but must first be - established through a *single* destination. + When private communication between two or more endpoints is needed. Supports multiple hops + indirectly, but must first be established through a *single* destination. * **Plain** When plain-text communication is desirable, for example when broadcasting information. @@ -214,9 +217,9 @@ an unknown public key from the network, as all participating nodes serve as a di of public keys. Note that public key information can be shared and verified in many other ways than using the -built-in methodology, and that it is therefore not required to use the announce/request functionality. -It is by far the easiest though, and should definitely be used if there is not a good reason for -doing it differently. +built-in *announce* functionality, and that it is therefore not required to use the announce/request +functionality to obtain public keys. It is by far the easiest though, and should definitely be used +if there is not a good reason for doing it differently. .. _understanding-keyannouncements: @@ -235,7 +238,7 @@ contain the following information: * The announcers public key * Application specific data, in this case the users nickname and availability status * A random blob, making each new announce unique -* A signature of the above information, verifying authenticity +* An Ed25519 signature of the above information, verifying authenticity With this information, any Reticulum node that receives it will be able to reconstruct an outgoing destination to securely communicate with that destination. You might have noticed that there is one @@ -244,8 +247,9 @@ the aspect names of the destination. These are intentionally left out to save ba will be implicit in almost all cases. If a destination name is not entirely implicit, information can be included in the application specific data part that will allow the receiver to infer the naming. -It is important to note that announcements will be forwarded throughout the network according to a -certain pattern. This will be detailed later. +It is important to note that announces will be forwarded throughout the network according to a +certain pattern. This will be detailed in the section +:ref:`The Announce Mechanism in Detail`. Seeing how *single* destinations are always tied to a private/public key pair leads us to the next topic. @@ -268,8 +272,8 @@ the identity first, and then link it to created destinations. Building upon the simple messenger example, we could use an identity to represent the user of the application. Destinations created will then be linked to this identity to allow communication to -reach the user. In such a case it is of great importance to store the user’s identity securely and -privately. +reach the user. In all cases it is of great importance to store the private keys associated with any +Reticulum Identity securely and privately. .. _understanding-gettingfurther: @@ -279,8 +283,9 @@ Getting Further The above functions and principles form the core of Reticulum, and would suffice to create functional networked applications in local clusters, for example over radio links where all interested nodes can directly hear each other. But to be truly useful, we need a way to direct traffic over multiple -hops in the network. In the next sections, two concepts that allow this will be introduced, *paths* and -*links*. +hops in the network. + +In the following sections, two concepts that allow this will be introduced, *paths* and *links*. .. _understanding-transport: @@ -298,85 +303,28 @@ useable over bandwidth-limited, high-latency links. To overcome such challenges, Reticulum’s *Transport* system uses public-key cryptography to implement the concept of *paths* that allow discovery of how to get information to a certain -destination, and *resources* that help make reliable data transfer more efficient. +destination. It is important to note that no single node in a Reticulum network knows the complete +path to a destination. Every Transport node participating in a Reticulum network will only +know what the most direct way to get a packet one hop closer to it's destination is. -.. _understanding-paths: +.. _understanding-announce: -Reaching the Destination ------------------------- +The Announce Mechanism in Detail +-------------------------------- -In networks with changing topology and trustless connectivity, nodes need a way to establish -*verified connectivity* with each other. Since the network is assumed to be trustless, Reticulum -must provide a way to guarantee that the peer you are communicating with is actually who you -expect. Reticulum offers two ways to do this. - -For exchanges of small amounts of information, Reticulum offers the *Packet* API, which works exactly like you would expect - on a per packet level. The following process is employed when sending a packet: - -* | A packet is always created with an associated destination and some payload data. When the packet is sent to a *single* destination type, Reticulum will automatically create an ephemeral encryption key, perform an ECDH key exchange with the destinations public key, and encrypt the information. - -* | It is important to note that this key exchange does not require any network traffic. The sender already knows the public key of the destination from an earlier received *announce*, and can thus perform the ECDH key exchange locally. - -* | The public key part of the newly generated ephemeral key is included with the encrypted token, and sent along with the encrypted payload data in the packet. - -* | When the destination receives the packet, it can itself perform an ECDH key exchange and decrypt the packet. - -* | A new ephemeral key is used for every packet sent in this way, and forward secrecy is guaranteed on a per packet level. - -* | In case the packet is addressed to a *group* destination type, the packet will be encrypted with the pre-shared AES-128 key associated with the destination. In case the packet is addressed to a *plain* destination type, the payload data will not be encrypted. Neither of these two destination types offer forward secrecy. In general, it is recommended to always use the *single* destination type, unless it is strictly necessary to use one of the others. +When an *announce* is transmitted by a node, it will be forwarded by any node receiving it, but +according to some specific rules: -For exchanges of larger amounts of data, or when longer sessions of bidirectional communication is desired, Reticulum offers the *Link* API. To establish a *link*, the following process is employed: +* | If this exact announce has already been received before, ignore it. -* | First, the node that wishes to establish a link will send out a special packet, that - traverses the network and locates the desired destination. Along the way, the nodes that - forward the packet will take note of this *link request*. - -* | Second, if the destination accepts the *link request* , it will send back a packet that proves the - authenticity of it’s identity (and the receipt of the link request) to the initiating node. All - nodes that initially forwarded the packet will also be able to verify this proof, and thus - accept the validity of the *link* throughout the network. - -* | When the validity of the *link* has been accepted by forwarding nodes, these nodes will - remember the *link* , and it can subsequently be used by referring to a hash representing it. - -* | As a part of the *link request* , a Diffie-Hellman key exchange takes place, that sets up an - efficient symmetrically encrypted tunnel between the two nodes, using elliptic curve - cryptography. As such, this mode of communication is preferred, even for situations when - nodes can directly communicate, when the amount of data to be exchanged numbers in the - tens of packets. - -* | When a *link* has been set up, it automatically provides message receipt functionality, so the - sending node can obtain verified confirmation that the information reached the intended - recipient. - -In a moment, we will discuss the details of how this methodology is implemented, but let’s first -recap what purposes this methodology serves. We first ensure that the node answering our request -is actually the one we want to communicate with, and not a malicious actor pretending to be so. -At the same time we establish an efficient encrypted channel. The setup of this is relatively cheap in -terms of bandwidth, so it can be used just for a short exchange, and then recreated as needed, which will -also rotate encryption keys. The link can also be kept alive for longer periods of time, if this is -more suitable to the application. The procedure also inserts the *link id* , a hash calculated from the link request packet, into the memory of forwarding nodes, which means that the communicating nodes can thereafter reach each other simply by referring to this *link id*. - -The total bandwidth cost of setting up a link is 409 bytes (more info in the :ref:`Binary Packet Format` section). The amount of bandwidth used on keeping a link open is practically negligible, at 0.62 bits per second. Even on a slow 1200 bits per second packet radio channel, 100 concurrent links will still leave 95% channel capacity for actual data. - -Pathfinding in Detail -^^^^^^^^^^^^^^^^^^^^^ - -The pathfinding method builds on the *announce* functionality discussed earlier. When an announce -is sent out by a node, it will be forwarded by any node receiving it, but according to some specific -rules: - - -* | If this announce has already been received before, ignore it. - -* | Record into a table which node the announce was received from, and how many times in +* | If not, record into a table which node the announce was received from, and how many times in total it has been retransmitted to get here. * | If the announce has been retransmitted *m+1* times, it will not be forwarded. By default, *m* is set to 18. -* | The announce will be assigned a delay *d* = c\ :sup:`h` seconds, where *c* is a decay constant, by - default 2, and *h* is the amount of times this packet has already been forwarded. +* | The announce will be assigned a delay *d* = c\ :sup:`h` seconds, where *c* is a decay constant, and *h* is the amount of times this packet has already been forwarded. * | The packet will be given a priority *p = 1/d*. @@ -385,10 +333,11 @@ rules: not utilized by other traffic, the announce will be forwarded. * | If no other nodes are heard retransmitting the announce with a greater hop count than when - it left this node, transmitting it will be retried *r* times. By default, *r* is set to 2. Retries follow - same rules as above, with the exception that it must wait for at least *d* = c\ :sup:`h+1` + t seconds, ie., - the amount of time it would take the next node to retransmit the packet. By default, *t* is set to - 10. + it left this node, transmitting it will be retried *r* times. By default, *r* is set to 1. Retries + follow same rules as above, with the exception that it must wait for at least *d* = c\ :sup:`h+1` + + t + rand(0, rw) seconds. This amount of time is equal to the amount of time it would take the next + node to retransmit the packet, plus a random window. By default, *t* is set to 10 seconds, and the + random window *rw* is set to 10 seconds. * | If a newer announce from the same destination arrives, while an identical one is already in the queue, the newest announce is discarded. If the newest announce contains different @@ -407,14 +356,95 @@ distance of *Lavg =* 15 kilometers, an announce will be able to propagate outwar kilometers in 34 minutes, and a *maximum announce radius* of 270 kilometers in approximately 3 days. +.. _understanding-paths: + +Reaching the Destination +------------------------ + +In networks with changing topology and trustless connectivity, nodes need a way to establish +*verified connectivity* with each other. Since the network is assumed to be trustless, Reticulum +must provide a way to guarantee that the peer you are communicating with is actually who you +expect. Reticulum offers two ways to do this. + +For exchanges of small amounts of information, Reticulum offers the *Packet* API, which works exactly like you would expect - on a per packet level. The following process is employed when sending a packet: + +* | A packet is always created with an associated destination and some payload data. When the packet is sent + to a *single* destination type, Reticulum will automatically create an ephemeral encryption key, perform + an ECDH key exchange with the destinations public key, and encrypt the information. + +* | It is important to note that this key exchange does not require any network traffic. The sender already + knows the public key of the destination from an earlier received *announce*, and can thus perform the ECDH + key exchange locally, before sending the packet. + +* | The public part of the newly generated ephemeral key-pair is included with the encrypted token, and sent + along with the encrypted payload data in the packet. + +* | When the destination receives the packet, it can itself perform an ECDH key exchange and decrypt the + packet. + +* | A new ephemeral key is used for every packet sent in this way, and forward secrecy is guaranteed on a + per packet level. + +* | Once the packet has been received and decrypted by the addressed destination, that destination can opt + to *prove* its receipt of the packet. It does this by calculating the SHA-256 hash of the received packet, + and signing this hash with it's Ed25519 signing key. Transport nodes in the network can then direct this + *proof* back to the packets origin, where the signature can be verified against the destinations known + public signing key. + +* | In case the packet is addressed to a *group* destination type, the packet will be encrypted with the + pre-shared AES-128 key associated with the destination. In case the packet is addressed to a *plain* + destination type, the payload data will not be encrypted. Neither of these two destination types offer + forward secrecy. In general, it is recommended to always use the *single* destination type, unless it is + strictly necessary to use one of the others. + + +For exchanges of larger amounts of data, or when longer sessions of bidirectional communication is desired, Reticulum offers the *Link* API. To establish a *link*, the following process is employed: + +* | First, the node that wishes to establish a link will send out a special packet, that + traverses the network and locates the desired destination. Along the way, the nodes that + forward the packet will take note of this *link request*. + +* | Second, if the destination accepts the *link request* , it will send back a packet that proves the + authenticity of it’s identity (and the receipt of the link request) to the initiating node. All + nodes that initially forwarded the packet will also be able to verify this proof, and thus + accept the validity of the *link* throughout the network. + +* | When the validity of the *link* has been accepted by forwarding nodes, these nodes will + remember the *link* , and it can subsequently be used by referring to a hash representing it. + +* | As a part of the *link request* , a Diffie-Hellman key exchange takes place, that sets up an + efficiently encrypted tunnel between the two nodes, using elliptic curve cryptography. As such, + this mode of communication is preferred, even for situations when nodes can directly communicate, + when the amount of data to be exchanged numbers in the tens of packets. + +* | When a *link* has been set up, it automatically provides message receipt functionality, through + the same *proof* mechanism discussed before, so the sending node can obtain verified confirmation + that the information reached the intended recipient. + +In a moment, we will discuss the details of how this methodology is implemented, but let’s first +recap what purposes this methodology serves. We first ensure that the node answering our request +is actually the one we want to communicate with, and not a malicious actor pretending to be so. +At the same time we establish an efficient encrypted channel. The setup of this is relatively cheap in +terms of bandwidth, so it can be used just for a short exchange, and then recreated as needed, which will +also rotate encryption keys. The link can also be kept alive for longer periods of time, if this is +more suitable to the application. The procedure also inserts the *link id* , a hash calculated from the link request packet, into the memory of forwarding nodes, which means that the communicating nodes can thereafter reach each other simply by referring to this *link id*. + +The combined bandwidth cost of setting up a link is 3 packets totalling 409 bytes (more info in the +:ref:`Binary Packet Format` section). The amount of bandwidth used on keeping +a link open is practically negligible, at 0.62 bits per second. Even on a slow 1200 bits per second packet +radio channel, 100 concurrent links will still leave 95% channel capacity for actual data. + + Link Establishment in Detail ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -After seeing how the conditions for finding a path through the network are created, we will now -explore how two nodes can establish reliable communications over multiple hops. The *link* in -Reticulum terminology should not be viewed as a direct node-to-node link on the physical layer, but -as an abstract channel, that can be open for any amount of time, and can span an arbitrary number -of hops, where information will be exchanged between two nodes. +After exploring the basics of the announce mechanism, finding a path through the network, and an overview +of the link establishment procedure, this section will go into greater detail about the Reticulum link +establishment process. + +The *link* in Reticulum terminology should not be viewed as a direct node-to-node link on the +physical layer, but as an abstract channel, that can be open for any amount of time, and can span +an arbitrary number 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 @@ -427,25 +457,25 @@ of hops, where information will be exchanged between two nodes. 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 - are encrypted with the RSA public key of the destination and tramsitted over the network. + contains the following data: The newly generated X25519 public key *LKi*. * | The broadcasted packet will be directed through the network according to the rules laid out previously. * | Any node that forwards the link request will store a *link id* in it’s *link table* , along with the amount of hops the packet had taken when received. The link id is a hash of the entire link - request packet. If the path is not *proven* within some set amount of time, the entry will be - dropped from the *link table* again. + request packet. If the link request packet is not *proven* by the addressed destination within some + set amount of time, the entry will be dropped from the *link table* again. -* | When the destination receives the link request packet, it will decrypt it and decide whether to - accept the request. If it is accepted, the destination will also generate a new X25519 private/public - key pair, and perform a Diffie Hellman Key Exchange, deriving a new symmetric key that will be used - to encrypt the channel, once it has been established. +* | When the destination receives the link request packet, it will decide whether to accept the request. + If it is accepted, the destination will also generate a new X25519 private/public key pair, and + perform a Diffie Hellman Key Exchange, deriving a new symmetric key that will be used to encrypt the + channel, once it has been established. * | A *link proof* packet is now constructed and transmitted over the network. This packet is addressed to the *link id* of the *link*. It contains the following data: The newly generated X25519 - public key *LKr* and an RSA-1024 signature of the *link id* and *LKr*. + public key *LKr* and an Ed25519 signature of the *link id* and *LKr* made by the signing key of + the addressed destination. * | By verifying this *link proof* packet, all nodes that originally transported the *link request* packet to the destination from the originator can now verify that the intended destination received @@ -465,11 +495,6 @@ reveal any identifying information about itself. The link initiator remains comp When using *links*, Reticulum will automatically verify all data sent over the link, and can also automate retransmissions if *Resources* are used. -Proven Delivery -^^^^^^^^^^^^^^^ - -TODO: Write - .. _understanding-resources: Resources
  • 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%0Dbs7O~H6xS7R?c*Z*}*Fv1`|Xvq31s% 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 diff --git a/docs/manual/_sources/understanding.rst.txt b/docs/manual/_sources/understanding.rst.txt index 7c711e6..ecc106f 100644 --- a/docs/manual/_sources/understanding.rst.txt +++ b/docs/manual/_sources/understanding.rst.txt @@ -157,12 +157,16 @@ destinations. Reticulum uses three different basic destination types, and one sp Destination Naming ^^^^^^^^^^^^^^^^^^ -Destinations are created and named in an easy to understand dotted notation of *aspects* , and +Destinations are created and named in an easy to understand dotted notation of *aspects*, and represented on the network as a hash of this value. The hash is a SHA-256 truncated to 80 bits. The top level aspect should always be a unique identifier for the application using the destination. -The next levels of aspects can be defined in any way by the creator of the application. For example, -a destination for a environmental monitoring application could be made up of the application name, a -device type and measurement type, like this: +The next levels of aspects can be defined in any way by the creator of the application. + +Aspects can be as long and as plentiful as required, and a resulting long destination name will not +impact efficiency, as names are always represented as truncated SHA-256 hashes on the network. + +As an example, a destination for a environmental monitoring application could be made up of the +application name, a device type and measurement type, like this: .. code-block:: text @@ -201,9 +205,8 @@ To recap, the different destination types should be used in the following situat * **Single** When private communication between two endpoints is needed. Supports multiple hops. * **Group** - When private communication between two or more endpoints is needed. More efficient in - data usage than *single* destinations. Supports multiple hops indirectly, but must first be - established through a *single* destination. + When private communication between two or more endpoints is needed. Supports multiple hops + indirectly, but must first be established through a *single* destination. * **Plain** When plain-text communication is desirable, for example when broadcasting information. @@ -214,9 +217,9 @@ an unknown public key from the network, as all participating nodes serve as a di of public keys. Note that public key information can be shared and verified in many other ways than using the -built-in methodology, and that it is therefore not required to use the announce/request functionality. -It is by far the easiest though, and should definitely be used if there is not a good reason for -doing it differently. +built-in *announce* functionality, and that it is therefore not required to use the announce/request +functionality to obtain public keys. It is by far the easiest though, and should definitely be used +if there is not a good reason for doing it differently. .. _understanding-keyannouncements: @@ -235,7 +238,7 @@ contain the following information: * The announcers public key * Application specific data, in this case the users nickname and availability status * A random blob, making each new announce unique -* A signature of the above information, verifying authenticity +* An Ed25519 signature of the above information, verifying authenticity With this information, any Reticulum node that receives it will be able to reconstruct an outgoing destination to securely communicate with that destination. You might have noticed that there is one @@ -244,8 +247,9 @@ the aspect names of the destination. These are intentionally left out to save ba will be implicit in almost all cases. If a destination name is not entirely implicit, information can be included in the application specific data part that will allow the receiver to infer the naming. -It is important to note that announcements will be forwarded throughout the network according to a -certain pattern. This will be detailed later. +It is important to note that announces will be forwarded throughout the network according to a +certain pattern. This will be detailed in the section +:ref:`The Announce Mechanism in Detail`. Seeing how *single* destinations are always tied to a private/public key pair leads us to the next topic. @@ -268,8 +272,8 @@ the identity first, and then link it to created destinations. Building upon the simple messenger example, we could use an identity to represent the user of the application. Destinations created will then be linked to this identity to allow communication to -reach the user. In such a case it is of great importance to store the user’s identity securely and -privately. +reach the user. In all cases it is of great importance to store the private keys associated with any +Reticulum Identity securely and privately. .. _understanding-gettingfurther: @@ -279,8 +283,9 @@ Getting Further The above functions and principles form the core of Reticulum, and would suffice to create functional networked applications in local clusters, for example over radio links where all interested nodes can directly hear each other. But to be truly useful, we need a way to direct traffic over multiple -hops in the network. In the next sections, two concepts that allow this will be introduced, *paths* and -*links*. +hops in the network. + +In the following sections, two concepts that allow this will be introduced, *paths* and *links*. .. _understanding-transport: @@ -298,85 +303,28 @@ useable over bandwidth-limited, high-latency links. To overcome such challenges, Reticulum’s *Transport* system uses public-key cryptography to implement the concept of *paths* that allow discovery of how to get information to a certain -destination, and *resources* that help make reliable data transfer more efficient. +destination. It is important to note that no single node in a Reticulum network knows the complete +path to a destination. Every Transport node participating in a Reticulum network will only +know what the most direct way to get a packet one hop closer to it's destination is. -.. _understanding-paths: +.. _understanding-announce: -Reaching the Destination ------------------------- +The Announce Mechanism in Detail +-------------------------------- -In networks with changing topology and trustless connectivity, nodes need a way to establish -*verified connectivity* with each other. Since the network is assumed to be trustless, Reticulum -must provide a way to guarantee that the peer you are communicating with is actually who you -expect. Reticulum offers two ways to do this. - -For exchanges of small amounts of information, Reticulum offers the *Packet* API, which works exactly like you would expect - on a per packet level. The following process is employed when sending a packet: - -* | A packet is always created with an associated destination and some payload data. When the packet is sent to a *single* destination type, Reticulum will automatically create an ephemeral encryption key, perform an ECDH key exchange with the destinations public key, and encrypt the information. - -* | It is important to note that this key exchange does not require any network traffic. The sender already knows the public key of the destination from an earlier received *announce*, and can thus perform the ECDH key exchange locally. - -* | The public key part of the newly generated ephemeral key is included with the encrypted token, and sent along with the encrypted payload data in the packet. - -* | When the destination receives the packet, it can itself perform an ECDH key exchange and decrypt the packet. - -* | A new ephemeral key is used for every packet sent in this way, and forward secrecy is guaranteed on a per packet level. - -* | In case the packet is addressed to a *group* destination type, the packet will be encrypted with the pre-shared AES-128 key associated with the destination. In case the packet is addressed to a *plain* destination type, the payload data will not be encrypted. Neither of these two destination types offer forward secrecy. In general, it is recommended to always use the *single* destination type, unless it is strictly necessary to use one of the others. +When an *announce* is transmitted by a node, it will be forwarded by any node receiving it, but +according to some specific rules: -For exchanges of larger amounts of data, or when longer sessions of bidirectional communication is desired, Reticulum offers the *Link* API. To establish a *link*, the following process is employed: +* | If this exact announce has already been received before, ignore it. -* | First, the node that wishes to establish a link will send out a special packet, that - traverses the network and locates the desired destination. Along the way, the nodes that - forward the packet will take note of this *link request*. - -* | Second, if the destination accepts the *link request* , it will send back a packet that proves the - authenticity of it’s identity (and the receipt of the link request) to the initiating node. All - nodes that initially forwarded the packet will also be able to verify this proof, and thus - accept the validity of the *link* throughout the network. - -* | When the validity of the *link* has been accepted by forwarding nodes, these nodes will - remember the *link* , and it can subsequently be used by referring to a hash representing it. - -* | As a part of the *link request* , a Diffie-Hellman key exchange takes place, that sets up an - efficient symmetrically encrypted tunnel between the two nodes, using elliptic curve - cryptography. As such, this mode of communication is preferred, even for situations when - nodes can directly communicate, when the amount of data to be exchanged numbers in the - tens of packets. - -* | When a *link* has been set up, it automatically provides message receipt functionality, so the - sending node can obtain verified confirmation that the information reached the intended - recipient. - -In a moment, we will discuss the details of how this methodology is implemented, but let’s first -recap what purposes this methodology serves. We first ensure that the node answering our request -is actually the one we want to communicate with, and not a malicious actor pretending to be so. -At the same time we establish an efficient encrypted channel. The setup of this is relatively cheap in -terms of bandwidth, so it can be used just for a short exchange, and then recreated as needed, which will -also rotate encryption keys. The link can also be kept alive for longer periods of time, if this is -more suitable to the application. The procedure also inserts the *link id* , a hash calculated from the link request packet, into the memory of forwarding nodes, which means that the communicating nodes can thereafter reach each other simply by referring to this *link id*. - -The total bandwidth cost of setting up a link is 409 bytes (more info in the :ref:`Binary Packet Format` section). The amount of bandwidth used on keeping a link open is practically negligible, at 0.62 bits per second. Even on a slow 1200 bits per second packet radio channel, 100 concurrent links will still leave 95% channel capacity for actual data. - -Pathfinding in Detail -^^^^^^^^^^^^^^^^^^^^^ - -The pathfinding method builds on the *announce* functionality discussed earlier. When an announce -is sent out by a node, it will be forwarded by any node receiving it, but according to some specific -rules: - - -* | If this announce has already been received before, ignore it. - -* | Record into a table which node the announce was received from, and how many times in +* | If not, record into a table which node the announce was received from, and how many times in total it has been retransmitted to get here. * | If the announce has been retransmitted *m+1* times, it will not be forwarded. By default, *m* is set to 18. -* | The announce will be assigned a delay *d* = c\ :sup:`h` seconds, where *c* is a decay constant, by - default 2, and *h* is the amount of times this packet has already been forwarded. +* | The announce will be assigned a delay *d* = c\ :sup:`h` seconds, where *c* is a decay constant, and *h* is the amount of times this packet has already been forwarded. * | The packet will be given a priority *p = 1/d*. @@ -385,10 +333,11 @@ rules: not utilized by other traffic, the announce will be forwarded. * | If no other nodes are heard retransmitting the announce with a greater hop count than when - it left this node, transmitting it will be retried *r* times. By default, *r* is set to 2. Retries follow - same rules as above, with the exception that it must wait for at least *d* = c\ :sup:`h+1` + t seconds, ie., - the amount of time it would take the next node to retransmit the packet. By default, *t* is set to - 10. + it left this node, transmitting it will be retried *r* times. By default, *r* is set to 1. Retries + follow same rules as above, with the exception that it must wait for at least *d* = c\ :sup:`h+1` + + t + rand(0, rw) seconds. This amount of time is equal to the amount of time it would take the next + node to retransmit the packet, plus a random window. By default, *t* is set to 10 seconds, and the + random window *rw* is set to 10 seconds. * | If a newer announce from the same destination arrives, while an identical one is already in the queue, the newest announce is discarded. If the newest announce contains different @@ -407,14 +356,95 @@ distance of *Lavg =* 15 kilometers, an announce will be able to propagate outwar kilometers in 34 minutes, and a *maximum announce radius* of 270 kilometers in approximately 3 days. +.. _understanding-paths: + +Reaching the Destination +------------------------ + +In networks with changing topology and trustless connectivity, nodes need a way to establish +*verified connectivity* with each other. Since the network is assumed to be trustless, Reticulum +must provide a way to guarantee that the peer you are communicating with is actually who you +expect. Reticulum offers two ways to do this. + +For exchanges of small amounts of information, Reticulum offers the *Packet* API, which works exactly like you would expect - on a per packet level. The following process is employed when sending a packet: + +* | A packet is always created with an associated destination and some payload data. When the packet is sent + to a *single* destination type, Reticulum will automatically create an ephemeral encryption key, perform + an ECDH key exchange with the destinations public key, and encrypt the information. + +* | It is important to note that this key exchange does not require any network traffic. The sender already + knows the public key of the destination from an earlier received *announce*, and can thus perform the ECDH + key exchange locally, before sending the packet. + +* | The public part of the newly generated ephemeral key-pair is included with the encrypted token, and sent + along with the encrypted payload data in the packet. + +* | When the destination receives the packet, it can itself perform an ECDH key exchange and decrypt the + packet. + +* | A new ephemeral key is used for every packet sent in this way, and forward secrecy is guaranteed on a + per packet level. + +* | Once the packet has been received and decrypted by the addressed destination, that destination can opt + to *prove* its receipt of the packet. It does this by calculating the SHA-256 hash of the received packet, + and signing this hash with it's Ed25519 signing key. Transport nodes in the network can then direct this + *proof* back to the packets origin, where the signature can be verified against the destinations known + public signing key. + +* | In case the packet is addressed to a *group* destination type, the packet will be encrypted with the + pre-shared AES-128 key associated with the destination. In case the packet is addressed to a *plain* + destination type, the payload data will not be encrypted. Neither of these two destination types offer + forward secrecy. In general, it is recommended to always use the *single* destination type, unless it is + strictly necessary to use one of the others. + + +For exchanges of larger amounts of data, or when longer sessions of bidirectional communication is desired, Reticulum offers the *Link* API. To establish a *link*, the following process is employed: + +* | First, the node that wishes to establish a link will send out a special packet, that + traverses the network and locates the desired destination. Along the way, the nodes that + forward the packet will take note of this *link request*. + +* | Second, if the destination accepts the *link request* , it will send back a packet that proves the + authenticity of it’s identity (and the receipt of the link request) to the initiating node. All + nodes that initially forwarded the packet will also be able to verify this proof, and thus + accept the validity of the *link* throughout the network. + +* | When the validity of the *link* has been accepted by forwarding nodes, these nodes will + remember the *link* , and it can subsequently be used by referring to a hash representing it. + +* | As a part of the *link request* , a Diffie-Hellman key exchange takes place, that sets up an + efficiently encrypted tunnel between the two nodes, using elliptic curve cryptography. As such, + this mode of communication is preferred, even for situations when nodes can directly communicate, + when the amount of data to be exchanged numbers in the tens of packets. + +* | When a *link* has been set up, it automatically provides message receipt functionality, through + the same *proof* mechanism discussed before, so the sending node can obtain verified confirmation + that the information reached the intended recipient. + +In a moment, we will discuss the details of how this methodology is implemented, but let’s first +recap what purposes this methodology serves. We first ensure that the node answering our request +is actually the one we want to communicate with, and not a malicious actor pretending to be so. +At the same time we establish an efficient encrypted channel. The setup of this is relatively cheap in +terms of bandwidth, so it can be used just for a short exchange, and then recreated as needed, which will +also rotate encryption keys. The link can also be kept alive for longer periods of time, if this is +more suitable to the application. The procedure also inserts the *link id* , a hash calculated from the link request packet, into the memory of forwarding nodes, which means that the communicating nodes can thereafter reach each other simply by referring to this *link id*. + +The combined bandwidth cost of setting up a link is 3 packets totalling 409 bytes (more info in the +:ref:`Binary Packet Format` section). The amount of bandwidth used on keeping +a link open is practically negligible, at 0.62 bits per second. Even on a slow 1200 bits per second packet +radio channel, 100 concurrent links will still leave 95% channel capacity for actual data. + + Link Establishment in Detail ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -After seeing how the conditions for finding a path through the network are created, we will now -explore how two nodes can establish reliable communications over multiple hops. The *link* in -Reticulum terminology should not be viewed as a direct node-to-node link on the physical layer, but -as an abstract channel, that can be open for any amount of time, and can span an arbitrary number -of hops, where information will be exchanged between two nodes. +After exploring the basics of the announce mechanism, finding a path through the network, and an overview +of the link establishment procedure, this section will go into greater detail about the Reticulum link +establishment process. + +The *link* in Reticulum terminology should not be viewed as a direct node-to-node link on the +physical layer, but as an abstract channel, that can be open for any amount of time, and can span +an arbitrary number 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 @@ -427,25 +457,25 @@ of hops, where information will be exchanged between two nodes. 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 - are encrypted with the RSA public key of the destination and tramsitted over the network. + contains the following data: The newly generated X25519 public key *LKi*. * | The broadcasted packet will be directed through the network according to the rules laid out previously. * | Any node that forwards the link request will store a *link id* in it’s *link table* , along with the amount of hops the packet had taken when received. The link id is a hash of the entire link - request packet. If the path is not *proven* within some set amount of time, the entry will be - dropped from the *link table* again. + request packet. If the link request packet is not *proven* by the addressed destination within some + set amount of time, the entry will be dropped from the *link table* again. -* | When the destination receives the link request packet, it will decrypt it and decide whether to - accept the request. If it is accepted, the destination will also generate a new X25519 private/public - key pair, and perform a Diffie Hellman Key Exchange, deriving a new symmetric key that will be used - to encrypt the channel, once it has been established. +* | When the destination receives the link request packet, it will decide whether to accept the request. + If it is accepted, the destination will also generate a new X25519 private/public key pair, and + perform a Diffie Hellman Key Exchange, deriving a new symmetric key that will be used to encrypt the + channel, once it has been established. * | A *link proof* packet is now constructed and transmitted over the network. This packet is addressed to the *link id* of the *link*. It contains the following data: The newly generated X25519 - public key *LKr* and an RSA-1024 signature of the *link id* and *LKr*. + public key *LKr* and an Ed25519 signature of the *link id* and *LKr* made by the signing key of + the addressed destination. * | By verifying this *link proof* packet, all nodes that originally transported the *link request* packet to the destination from the originator can now verify that the intended destination received @@ -465,11 +495,6 @@ reveal any identifying information about itself. The link initiator remains comp When using *links*, Reticulum will automatically verify all data sent over the link, and can also automate retransmissions if *Resources* are used. -Proven Delivery -^^^^^^^^^^^^^^^ - -TODO: Write - .. _understanding-resources: Resources diff --git a/docs/manual/index.html b/docs/manual/index.html index 7d74524..4591372 100644 --- a/docs/manual/index.html +++ b/docs/manual/index.html @@ -69,6 +69,7 @@ the development of Reticulum itself.