"use strict";(self.webpackChunkvac_dev=self.webpackChunkvac_dev||[]).push([[3415],{94866:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>u});var r=n(87462),a=(n(67294),n(3905));const o={layout:"post",name:"Noise handshakes as key-exchange mechanism for Waku",title:"Noise handshakes as key-exchange mechanism for Waku",date:new Date("2022-05-17T10:00:00.000Z"),authors:"s1fr0",published:!0,slug:"wakuv2-noise",categories:"research",summary:null,image:"/img/noise/NM.png",discuss:"https://forum.vac.dev/t/discussion-noise-handshakes-as-key-exchange-mechanism-for-waku/137",_includes:["math"]},s=void 0,i={permalink:"/rlog/wakuv2-noise",source:"@site/rlog/2022-05-17-noise.mdx",title:"Noise handshakes as key-exchange mechanism for Waku",description:"We provide an overview of the Noise Protocol Framework as a tool to design efficient and secure key-exchange mechanisms in Waku2.",date:"2022-05-17T10:00:00.000Z",formattedDate:"May 17, 2022",tags:[],readingTime:21.115,hasTruncateMarker:!0,authors:[{name:"s1fr0",github:"s1fr0",key:"s1fr0"}],frontMatter:{layout:"post",name:"Noise handshakes as key-exchange mechanism for Waku",title:"Noise handshakes as key-exchange mechanism for Waku",date:"2022-05-17T10:00:00.000Z",authors:"s1fr0",published:!0,slug:"wakuv2-noise",categories:"research",summary:null,image:"/img/noise/NM.png",discuss:"https://forum.vac.dev/t/discussion-noise-handshakes-as-key-exchange-mechanism-for-waku/137",_includes:["math"]},prevItem:{title:"Waku Privacy and Anonymity Analysis Part I: Definitions and Waku Relay",permalink:"/rlog/wakuv2-relay-anon"},nextItem:{title:"Waku v2 Ambient Peer Discovery",permalink:"/rlog/wakuv2-apd"}},c={authorsImageUrls:[void 0]},u=[],l={toc:u};function m(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"We provide an overview of the Noise Protocol Framework as a tool to design efficient and secure key-exchange mechanisms in Waku2."))}m.isMDXComponent=!0},3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>f});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),u=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},l=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),p=u(n),f=a,h=p["".concat(c,".").concat(f)]||p[f]||m[f]||o;return n?r.createElement(h,s(s({ref:t},l),{},{components:n})):r.createElement(h,s({ref:t},l))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,s=new Array(o);s[0]=p;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:a,s[1]=i;for(var u=2;u<o;u++)s[u]=n[u];return r.createElement.apply(null,s)}return r.createElement.apply(null,n)}p.displayName="MDXCreateElement"}}]);