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,""],link_established_callback:[3,1,1,""],load_private_key:[3,1,1,""],packet_callback:[3,1,1,""],proof_requested_callback:[3,1,1,""],set_default_app_data:[3,1,1,""],set_proof_strategy:[3,1,1,""],sign:[3,1,1,""]},"RNS.Identity":{KEYSIZE:[3,2,1,""],TRUNCATED_HASHLENGTH:[3,2,1,""],decrypt:[3,1,1,""],encrypt:[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,""],packet_callback:[3,1,1,""],resource_callback:[3,1,1,""],resource_concluded_callback:[3,1,1,""],resource_started_callback:[3,1,1,""],set_resource_strategy:[3,1,1,""],teardown:[3,1,1,""]},"RNS.Packet":{resend:[3,1,1,""],send:[3,1,1,""]},"RNS.PacketReceipt":{delivery_callback:[3,1,1,""],get_status:[3,1,1,""],rtt:[3,1,1,""],set_timeout:[3,1,1,""],timeout_callback:[3,1,1,""]},"RNS.Resource":{MAX_EFFICIENT_SIZE:[3,2,1,""],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":3,"000":5,"1":[3,4,5],"10":[3,4],"100":4,"1000":4,"1024":3,"12":4,"1200":4,"128":5,"15":[3,4],"16777216":3,"18":4,"180":[3,4],"2":4,"25":5,"256":[3,4],"270":4,"2a7ddfab5213f916dea":4,"3":[4,5],"34":4,"3e12fc71692f8ec47bc5":1,"4":4,"430":4,"5":4,"500":[4,5],"70":4,"80":[3,4],"868":4,"8th":4,"900":4,"abstract":4,"break":2,"byte":[3,4,5],"case":[1,4],"class":[2,5],"default":[3,4],"do":[1,2,4],"float":3,"function":[2,3,5],"import":[1,4],"long":4,"new":[3,4],"public":[2,3],"return":3,"short":4,"static":3,"switch":4,"throw":3,"true":3,"try":2,"while":[2,3,4],A:[0,3,4,5],As:[3,4,5],At:4,Be:3,But:4,By:4,For:[3,4],IN:3,If:[1,2,3,4,5],In:[0,1,4,5],It:[3,4,5],No:5,On:5,One:3,Or:4,That:4,The:[0,1,2,3,4,5],There:2,These:4,To:[2,4],Will:3,With:4,abl:[3,4],about:[0,3,4],abov:[1,4],accept:[3,4],accept_al:3,accept_app:3,accept_non:3,access:[3,4],accord:4,achiev:[3,4],acknowledg:[4,5],act:[3,4],activ:[3,4],actor:4,actual:[1,4],ad:[3,5],addit:[2,4],address:[3,4,5],adress:[3,5],advantag:3,advertis:3,advis:4,ae:5,after:4,again:[1,4],agent:4,agnost:4,agnostic:4,aim:[2,4],algorithm:4,aliv:[3,4],all:[2,3,4,5],allevi:4,alloc:4,allow:[0,3,4,5],almost:4,along:[3,4],alreadi:4,also:[3,4,5],alter:4,although:[4,5],alwai:[3,4],amateur:5,amount:[3,4,5],an:[0,1,2,3,4,5],ani:[0,1,3,4,5],announc:[2,3],announced_ident:3,anonym:4,anoth:[1,3,4],answer:4,anyon:[3,4],anyth:4,apart:4,api:[1,2,4,5],app:3,app_and_aspects_from_nam:3,app_data:3,app_nam:3,append:4,applic:[3,4],approxim:4,ar:[0,2,3,4,5],arbitrari:[3,4],arbritrari:5,area:5,argument:3,around:4,arriv:4,ask:3,aspect:[3,4],aspect_filt:3,assign:4,associ:[1,3,4],assum:4,asymmetr:[3,4,5],attached_interfac:3,attribut:3,audit:2,authent:[4,5],author:4,auto:3,auto_compress:3,autoconfigur:5,autom:4,automat:[3,4,5],autonom:4,avail:[4,5],averag:4,avoid:4,awai:4,awar:4,ax:5,back:[0,4,5],band:4,bandwidth:[4,5],bare:0,barrier:4,base:[2,4,5],basi:[3,5],basic:[0,1,2],baud:4,becaus:4,becom:4,been:[2,3,4,5],befor:[3,4],begin:3,begun:3,behaviour:4,behind:4,being:4,belief:4,below:1,best:[1,2,4],beta:2,between:[0,3,4],bgp:4,binari:2,bit:[3,4,5],blob:[0,4],both:[3,4,5],bp:4,briefli:4,broadcast:[2,3,4],bug:2,build:[0,4,5],built:[1,2,5],bunch:4,c:4,cabl:4,cach:4,cad:4,calcul:2,call:[3,4,5],callabl:3,callback:3,can:[0,1,2,3,4],cancel:3,capac:4,care:[3,5],carri:[3,4],carrier:5,caus:4,cbc:5,cd:1,censorship:4,central:4,certain:4,ch:4,challeng:4,chang:[1,2,4],channel:[4,5],chapter:[1,4],cheap:4,checksum:[3,5],ciphertext:3,clear:[3,4],clear_default_app_data:3,client:[0,1,3],clone:1,close:3,cluster:4,code:[0,4],com:[0,1],command:1,common:4,commun:[0,1,3,4,5],compat:4,complet:[1,5],compon:4,compress:3,comput:[1,4],concept:4,conclud:3,condit:4,confid:4,config:1,configdir:3,configur:[3,4,5],confirm:[4,5],congest:4,connect:[0,3,4,5],consid:[2,4],consist:4,constant:[3,4],constraint:3,construct:4,contact:4,contain:[3,4],context:3,contin:2,continu:4,control:[3,4],coordin:[3,4,5],core:[2,4],correct:4,correspond:4,cost:4,could:[2,3,4],count:4,cover:5,creat:[1,3,4],create_kei:3,create_receipt:3,creation:4,creator:4,critic:4,cross:2,cryptograph:[2,5],cryptographi:[1,2,3,4,5],cull:3,current:[3,4,5],curv:[3,4,5],custom:4,d:4,daemon:3,dai:4,data:[3,4,5],debian:4,debug:3,decai:4,decid:[3,4],decrypt:[3,4],dedic:4,default_timeout:3,defin:[3,4],delai:4,delet:4,deliv:3,deliveri:[3,5],delivery_callback:3,demand:3,demonstr:0,depend:1,deploi:4,deregist:3,deregister_announce_handl:3,describ:[3,4],design:[4,5],desir:4,destin:[0,1,2,5],destination_hash:3,detail:[3,4],determin:[3,4],develop:[2,4],devic:[2,3,4],dh:3,differ:[1,3,4,5],diffi:[4,5],digit:[4,5],direct:[3,4],directli:[3,4,5],disable_encrypt:3,disappear:3,discard:4,discov:4,discoveri:4,discuss:4,disk:3,distanc:4,distinct:4,distribut:[0,3,4],document:4,doe:[2,3,4],don:1,done:4,dot:4,downgrad:3,download:0,driver:5,drop:4,due:4,duplex:[4,5],each:4,earlier:4,eas:4,easi:[4,5],easier:4,easiest:[1,4],easili:[4,5],ec:3,echo:[1,2],effect:4,effici:[0,4,5],either:4,ellipt:[3,4,5],els:4,emploi:4,enabl:3,encapsul:5,encrypt:[0,1,3,4,5],encryptionless:3,end:[3,5],endpoint:[3,4],ensur:4,entir:4,entiti:4,entri:4,environ:4,ephemer:5,equip:4,error:[3,4],essenti:4,establish:[0,3,4],ethernet:[4,5],even:[3,4,5],everi:3,everyon:4,everyth:4,exact:4,exactli:3,exampl:[1,2,3,4,5],exceedingli:4,except:4,exchang:[3,4],execut:3,exhaust:4,exist:[4,5],exit:[1,3],expand:4,expect:4,expens:4,experi:[1,4],experiment:2,explain:3,explicit:3,explicitli:3,explor:[0,2,4],expos:3,extend:4,extern:[2,3],extrem:5,fact:[4,5],fail:[3,4],fals:3,far:4,farther:4,fast:2,featur:[2,4],fernet:5,fetch:4,few:5,file:[0,1,3,5],filetransf:[1,2,3],find:4,firmwar:4,first:[3,4],five:0,fix:4,flag:3,folder:1,follow:[4,5],forcibl:3,foremost:2,form:[3,4],format:2,forth:0,forward:[4,5],found:[0,1,4],free:5,frequenc:4,from:[0,1,3,4,5],from_fil:3,full:[3,4],full_hash:3,full_nam:3,fulli:[4,5],fundament:4,further:[1,2],furthermor:4,futur:[3,4],gener:[4,5],generalis:5,geograph:4,get:[2,3],get_private_kei:3,get_public_kei:3,get_random_hash:3,get_statu:3,gigabyt:[4,5],git:1,github:[0,1],give:4,given:4,global:5,go:[1,4],goal:2,got:4,govern:4,great:4,greater:4,group:[3,4,5],guid:[1,3,4],h:[1,4],ha:[2,3,4,5],had:4,half:[4,5],handheld:4,handl:[3,4,5],handler:3,hardwar:[3,4,5],has_path:3,hash:[1,3,4],hash_from_name_and_ident:3,have:[0,1,3,4],hazard:3,hazmat:3,hd:4,header_typ:3,hear:4,heard:[3,4],hellman:[4,5],help:[2,4],here:4,hide:4,high:[4,5],higher:[4,5],highli:4,hint:4,hmac:5,hoc:5,hold:[3,4],hoop:4,hop:[4,5],host:[4,5],how:[0,3,4,5],hr:4,hs:4,http:[0,1],huge:4,human:3,hungri:4,i:4,id:4,idea:4,ident:2,identif:5,identifi:4,ie:4,ignor:[3,4],immedi:1,implement:[0,2,4,5],implicit:[3,4],improv:4,inactive_for:3,inbound:3,includ:[0,3,4],incom:3,incompat:[3,4],indefinit:4,independ:3,independt:2,index:2,indic:3,indirectli:4,inevit:4,infer:4,info:[3,4],inform:[1,2,3,4],infrastructur:4,ingo:3,initi:4,initialis:[0,3],insert:4,instal:1,instanc:3,instanti:3,instead:4,integr:4,intend:4,intention:4,inter:3,interact:4,interest:4,interfac:[0,2,3,4],intermediari:4,intern:3,internet:[4,5],interv:3,introduc:4,introduct:2,intuit:5,invalid:3,ip:[4,5],ism:4,its:3,itself:[2,3,4],iv:5,jump:4,just:[4,5],kbp:4,keep:[3,4],keepal:3,kei:[2,3,5],kept:[3,4],kernel:5,keyerror:3,keysiz:3,kill:3,kilomet:4,kind:4,know:[3,4],knowledg:4,known:[3,4],lack:4,laid:4,larg:[3,4],last:[3,4],latenc:[4,5],later:4,latest:1,launch:1,lavg:4,layer:[4,5],lead:4,learn:[0,4],least:[4,5],ledger:4,left:4,length:[3,4],less:[4,5],let:[0,1,4],level:4,librari:1,licens:4,like:[1,3,4],limit:4,line:[0,1,4,5],link:[2,4,5],link_established_callback:3,linux:4,list:3,listen:4,littl:4,lk:4,ll:[1,5],ln:1,load:3,load_private_kei:3,load_public_kei:3,local:[3,4,5],locat:4,longer:4,look:[1,4],lookup:4,lora:[4,5],lorawan:4,lost:4,lot:4,low:[4,5],m:4,mac:4,machin:4,made:4,mai:4,maintain:4,make:[1,4],malici:4,manag:3,mani:[4,5],manipul:4,manual:[1,3,4],map:3,markqvist:[0,1],master:[0,3],match:4,max_efficient_s:3,maximum:[3,4],mcu:4,mean:4,mechan:4,medium:[4,5],memori:2,mesh:5,messag:[0,3,4],messeng:4,method:[3,4],methodolog:4,mhz:4,microcontrol:4,microwav:4,might:4,million:4,millisecond:4,mind:2,minim:[2,4],minimum:[0,4],minut:4,mode:[1,4,5],modem:[3,4,5],modul:[4,5],moment:[2,4],more:[3,4,5],most:[1,5],motiv:2,move:1,mtu:[4,5],much:4,multi:[4,5],multilater:4,multipl:4,multipoint:4,must:[3,4],must_compress:3,my:4,myusernam:4,name:3,nano:1,necessari:[1,3,4],necessarili:4,need:[2,4,5],neglig:4,network:[0,1,3,4,5],never:3,newer:4,newest:4,next:[1,4],nicknam:4,no_inbound_for:3,no_outbound_for:3,node:[2,5],nomad:1,non:[3,4],none:[3,4],notat:4,note:4,noth:5,notic:4,notif:[0,3],now:[1,4],number:[0,3,4],object:3,obtain:4,occur:[2,4],off:[4,5],offer:[2,4],often:4,old:4,onc:[4,5],one:[3,4,5],onli:[3,4],onlin:4,open:[3,4,5],openmodem:5,oper:[3,4,5],optic:5,option:1,orient:4,origin:4,original_hash:3,os:5,ospf:4,other:[3,4],otherwis:[3,4],our:4,out:[2,3,4],outbound:3,outgo:[3,4],outlin:[1,4],outward:4,over:[0,3,4,5],overal:4,overcom:4,overhead:4,overview:4,own:[0,1,3,4],owner:3,p:4,packet:[0,2,5],packet_callback:3,packet_receipt:3,packet_typ:3,packetreceipt:3,pad:5,page:2,pair:4,paramet:3,part:4,particip:2,pass:[0,3,4],path:[1,2,3],path_respons:3,pathfind:4,pattern:4,payload:3,peer:[3,4],peer_pub_byt:3,peopl:4,per:[4,5],perfect:5,period:4,person:4,philosophi:4,physic:4,pi:[3,4,5],piec:4,ping:1,pip3:1,pip:1,pkcs7:5,place:4,plain:[3,4],plaintext:[0,3,4],platform:4,pleas:2,plug:4,point:4,port:[4,5],pose:4,possess:4,possibl:[4,5],potenti:4,practic:[2,4,5],predict:4,prefer:4,presenc:3,pretend:4,pretti:4,previou:0,previous:[3,4],primari:4,primit:3,principl:[4,5],prioriti:4,prioritis:2,privaci:[2,4],privat:[3,4,5],probabl:[2,4],procedur:4,process:[1,3,4],product:3,program:[0,2,3,4],programm:4,progress:[3,5],progress_callback:3,proof:[3,4],proof_requested_callback:3,proof_strategi:3,propag:4,protocol:2,prove:4,prove_al:3,prove_app:3,prove_non:3,proven:[3,4],provid:[1,2,3,4,5],prv_byte:3,public_onli:3,purchas:[4,5],purg:3,purpos:[3,4],purposefulli:4,py:[0,1],pyseri:1,python3:1,python:[4,5],queue:4,quickli:4,r:4,radio:[3,4,5],radiu:4,rais:3,random:[3,4],rang:[4,5],rapid:4,rapidli:4,raspberri:[3,4,5],raspbian:4,re:3,reach:4,reachabl:3,read:[1,4],readabl:[3,4],readi:[0,1],readili:5,real:2,reason:3,recal:3,recall_app_data:3,recap:4,receipt:[2,4],receiv:[0,3,4],received_announc:3,recip:1,recipi:4,recommend:4,reconstruct:4,record:4,recreat:4,refer:[1,2],regard:3,regist:3,register_announce_handl:3,rel:[2,4,5],releas:4,relev:0,reli:4,reliabl:[4,5],rememb:4,remot:0,repeat:1,replac:[1,4],replic:4,repositori:1,repres:4,request:[3,4],request_path:3,requir:[0,4,5],research:2,resend:3,resili:5,resourc:[0,2],resource_callback:3,resource_concluded_callback:3,resource_started_callback:3,resource_strategi:3,respond:3,rest:5,reticulum:0,retransmiss:4,retransmit:4,retri:4,reveal:4,review:2,right:1,risk:4,rn:[1,3],rnode:5,roadmap:4,robot:4,rotat:4,round:[3,4],rout:[3,4,5],rsa:[3,5],rtt:3,rule:4,run:[1,3,4,5],runtim:4,s:[1,4,5],said:4,same:[1,3,4],satisfi:4,save:[3,4],scenario:[1,4],scheme:4,search:2,second:[3,4,5],secp256r1:[3,5],secreci:5,section:4,secur:[2,4],see:[3,4],seen:4,segment:4,segment_index:3,self:5,send:[3,4],sender:4,sensibl:1,sensor:4,sent:[3,4],sentiment:4,separ:4,sequenc:[3,5],serial:[4,5],serv:4,server:[0,1],session:4,set:[3,4,5],set_default_app_data:3,set_proof_strategi:3,set_resource_strategi:3,set_timeout:3,setup:[0,2],sever:[3,4],sha256:5,sha:[3,4],shall:4,share:4,shelf:[4,5],shortest:4,should:[2,3,4],should_allow_unencrypt:3,should_use_implicit_proof:3,side:5,sign:[3,4],signatur:[3,4,5],similar:5,simpl:[4,5],simplemesseng:4,simplest:4,simpli:[1,4],simplic:4,sinc:[3,4],singl:[3,4],singular:4,situat:4,size:[0,3],small:[3,4],so:[1,4,5],softwar:[2,4],some:[1,4],someth:[1,4],someus:4,soon:3,sort:4,sourc:[0,1,4,5],space:5,span:4,speak:4,special:4,specif:[2,3,5],specifi:3,spectrum:4,sponsor:2,stabl:[2,4,5],stack:[0,1,4,5],stage:4,stai:4,standard:4,start:[2,3,4],station:4,statu:[3,4],step:[1,4],still:4,stop:5,storag:4,store:4,strategi:3,stream:4,strength:5,stretch:4,string:3,subject:4,subsequ:4,successful:3,suffic:4,suit:[1,4],suitabl:4,suppli:[3,4],support:[2,4],symlink:1,symmetr:[3,4],system:[2,3,5],t:[1,4],tabl:4,take:[1,4,5],taken:4,tcp:[4,5],teardown:3,ten:4,term:4,termin:3,terminolog:4,test:4,text:4,than:4,thei:4,thereaft:4,therefor:[4,5],thi:[0,1,2,3,4],though:4,thourough:2,thousand:4,thread:2,three:4,through:[4,5],throughout:4,throughput:[4,5],thu:4,ti:4,time:[1,3,4],timeout:3,timeout_callback:3,timestamp:4,tnc:[3,5],to_fil:3,todai:4,too:4,tool:5,top:4,topic:4,topolog:4,total:4,touch:2,toward:4,tradeoff:4,tradit:4,traffic:[0,3,4],transceiv:[4,5],transfer:[3,5],transmiss:4,transmit:[0,4],transpar:4,transport:[2,5],transport_en:3,transport_id:3,transport_typ:3,travel:4,travers:4,treat:4,trip:[3,4],trivial:5,truli:4,truncat:[3,4],truncated_hash:3,truncated_hashlength:3,trust:4,trustless:[4,5],tunnel:[4,5],tupl:3,turn:4,two:[0,4],type:[2,3],typeerror:3,udp:[4,5],underli:5,understand:[1,2],unencrypt:[3,4],unequivoc:4,unforg:5,uniqu:[4,5],unknown:3,unless:[1,3,4],unlicens:4,unsupport:3,until:[3,4],up:[4,5],updat:[3,4],upon:[0,4],urandom:5,us:[0,2,3,4],usabl:4,usag:4,usb:[4,5],useabl:4,user:[3,4],userland:5,usernam:4,util:[1,4],utilis:[4,5],valid:[3,4],valu:4,valueerror:3,varieti:[4,5],variou:4,ve:1,veri:[2,3,4,5],verif:[3,4],verifi:4,versa:5,version:3,vhf:4,via:[1,4],vice:5,view:4,wa:[3,4,5],wai:[1,4],wait:4,want:[1,2,4],warrant:2,we:[1,4],websit:4,welcom:[2,4],well:[2,3,4,5],what:[1,2,3,4],whatev:4,when:[1,3,4],whenev:3,where:[2,3,4],whereupon:4,whether:[3,4],which:[1,3,4],who:4,whole:4,wide:[4,5],wifi:[4,5],wire:[2,4,5],wish:4,within:[3,4],work:[4,5],world:2,would:4,write:[0,3],written:4,x:4,year:4,yet:4,you:[0,1,2,3,4,5],your:[0,1,4,5],yourself:[4,5],zero:3},titles:["Examples","Getting Started Fast","Reticulum Network Stack Documentation","API Reference","Understanding Reticulum","What is Reticulum?"],titleterms:{"class":3,"function":4,"public":4,"try":1,announc:[0,4],api:3,base:1,basic:4,binari:4,broadcast:0,calcul:4,can:5,caveat:2,content:2,contin:4,cross:4,current:2,destin:[3,4],develop:1,devic:5,document:2,doe:5,echo:0,emptor:2,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],memori:4,minim:0,motiv:4,name:4,network:2,node:4,offer:5,packet:[3,4],particip:1,path:4,prioritis:4,program:1,protocol:4,receipt:3,refer:[3,4],resourc:[3,4],reticulum:[1,2,3,4,5],setup:4,specif:4,stack:2,start:1,statu:2,support:5,system:4,tabl:2,thread:4,transport:[3,4],type:[4,5],understand:4,us:[1,5],what:5,where:5}})