{"guid":"81530917-cfdd-4a08-bf29-9b71fafb1bc1","title":"The Noise Protocol Framework","subtitle":null,"slug":"34c3-9222-the_noise_protocol_framework","link":"https://fahrplan.events.ccc.de/congress/2017/Fahrplan/events/9222.html","description":"The \u003ca href=\"https://noiseprotocol.org\"\u003eNoise Protocol Framework\u003c/a\u003e is a toolkit for 2-party secure-channel protocols.  Noise is used by WhatsApp for client-server communication, by the WireGuard VPN protocol, and by the Lightning Network.  In this talk I'll describe the rationale behind such a framework, and how you can use it to build simple, efficient, and customized secure-channel protocols.\n\nNoise provides a simple pattern language and naming scheme for 2-party DH-based cryptographic handshakes, covering the different possibilities for client and/or server authentication, post/pre-specified peers, identity-hiding, and 0-RTT encryption.  These patterns are easily compiled into linear sequences of cryptographic operations using your favorite ECDH, hash, and cipher functions.  Extensions are in the works for additional cryptographic choices, e.g. post-quantum options for \"hybrid forward-secrecy\", as well as negotiation frameworks.","original_language":"eng","persons":["Trevor Perrin"],"tags":["34c3","9222","Security"],"view_count":1844,"promoted":false,"date":"2017-12-28T00:00:00.000+01:00","release_date":"2017-12-28T01:00:00.000+01:00","updated_at":"2026-03-19T17:15:06.411+01:00","length":1922,"duration":1922,"thumb_url":"https://static.media.ccc.de/media/congress/2017/9222-hd.jpg","poster_url":"https://static.media.ccc.de/media/congress/2017/9222-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/congress/2017/81530917-cfdd-4a08-bf29-9b71fafb1bc1-timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/congress/2017/81530917-cfdd-4a08-bf29-9b71fafb1bc1-thumbnails.vtt","frontend_link":"https://media.ccc.de/v/34c3-9222-the_noise_protocol_framework","url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_title":"34C3: TUWAT","conference_url":"https://api.media.ccc.de/public/conferences/34c3","related":[{"event_id":4763,"event_guid":"2ef3b60f-6e5c-4c23-a145-d263685ec13e","weight":41},{"event_id":4766,"event_guid":"19b7e5d7-bba7-46da-afbc-f16d43fe395f","weight":43},{"event_id":4767,"event_guid":"f2ca3661-30c8-476e-9d6b-920bb20b21eb","weight":23},{"event_id":4784,"event_guid":"65a25dfd-56dd-4e87-a910-334e2dc25a9c","weight":27},{"event_id":4791,"event_guid":"8d29d28d-a222-4731-bdfc-fde590385cae","weight":21},{"event_id":4794,"event_guid":"a2887b4a-0c9d-4220-a52f-c65c20ae25d7","weight":27},{"event_id":4795,"event_guid":"722ce759-9cde-4e3b-8db5-5a97aa9673d9","weight":32},{"event_id":4800,"event_guid":"a9ebf7e3-abc5-49d9-8efe-316b3bc52902","weight":29},{"event_id":4803,"event_guid":"23d59026-ab98-4f6c-a46d-0bb3e1788a67","weight":28},{"event_id":4806,"event_guid":"af131b56-3423-4f8a-87ff-79b9f21e0656","weight":36},{"event_id":4813,"event_guid":"d5d27820-0e97-4c19-bf57-b470cbbd97ef","weight":29},{"event_id":4821,"event_guid":"aed02b65-9a16-4a42-ac28-2883da680d0a","weight":31},{"event_id":4823,"event_guid":"bf924a39-2860-4e27-8741-b8fa0c010363","weight":33},{"event_id":4826,"event_guid":"16645200-2036-4a3c-a44d-a5ff44ac2991","weight":51},{"event_id":4828,"event_guid":"4cb7be14-bfbd-42a2-a556-9ef8e8bd6ba7","weight":20},{"event_id":4829,"event_guid":"6cccf75c-93a1-48df-b9fc-843da8359bd3","weight":31},{"event_id":4831,"event_guid":"f068c5df-f969-4206-befb-540326e3d053","weight":27},{"event_id":4832,"event_guid":"275f85de-d612-4440-8755-85dee5912f12","weight":38},{"event_id":4833,"event_guid":"e1a60f7b-6a56-4dce-ab3a-c686fa940aa8","weight":37},{"event_id":4840,"event_guid":"21127aeb-fe1f-4506-a3f0-d747e20419a5","weight":28},{"event_id":4842,"event_guid":"581ccbad-4bbf-47a2-8845-f52278d61061","weight":32},{"event_id":4846,"event_guid":"832b8fb8-beb1-4d92-93d0-ba3b7568905a","weight":13},{"event_id":4850,"event_guid":"949bee69-3be0-4cc8-915b-5f1167141dcc","weight":29},{"event_id":4852,"event_guid":"77aaf0be-d2a8-4531-be02-c91c19b1ca77","weight":27},{"event_id":4859,"event_guid":"95f6e79b-e6a5-4d93-b4ba-cb70470ed819","weight":28},{"event_id":4866,"event_guid":"117a52b4-f675-49dd-aafe-659c07b6bc9c","weight":41}],"recordings":[{"size":null,"length":null,"mime_type":"application/x-subrip","language":"eng","filename":"34c3-9222-eng-deu-The_Noise_Protocol_Framework.en.srt","state":"complete","folder":"","high_quality":true,"width":null,"height":null,"updated_at":"2021-02-21T17:46:24.922+01:00","recording_url":"https://cdn.media.ccc.de/congress/2017/34c3-9222-eng-deu-The_Noise_Protocol_Framework.en.srt","url":"https://api.media.ccc.de/public/recordings/44496","event_url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_url":"https://api.media.ccc.de/public/conferences/34c3"},{"size":168,"length":1922,"mime_type":"video/mp4","language":"eng","filename":"34c3-9222-eng-The_Noise_Protocol_Framework.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2017-12-28T22:47:44.598+01:00","recording_url":"https://cdn.media.ccc.de/congress/2017/h264-hd/34c3-9222-eng-The_Noise_Protocol_Framework.mp4","url":"https://api.media.ccc.de/public/recordings/21292","event_url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_url":"https://api.media.ccc.de/public/conferences/34c3"},{"size":169,"length":1922,"mime_type":"video/mp4","language":"deu","filename":"34c3-9222-deu-The_Noise_Protocol_Framework.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2017-12-28T22:47:57.468+01:00","recording_url":"https://cdn.media.ccc.de/congress/2017/h264-hd/34c3-9222-deu-The_Noise_Protocol_Framework.mp4","url":"https://api.media.ccc.de/public/recordings/21293","event_url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_url":"https://api.media.ccc.de/public/conferences/34c3"},{"size":245,"length":1922,"mime_type":"video/mp4","language":"eng-deu","filename":"34c3-9222-eng-deu-The_Noise_Protocol_Framework_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2017-12-28T22:48:06.122+01:00","recording_url":"https://cdn.media.ccc.de/congress/2017/h264-hd/34c3-9222-eng-deu-The_Noise_Protocol_Framework_hd.mp4","url":"https://api.media.ccc.de/public/recordings/21294","event_url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_url":"https://api.media.ccc.de/public/conferences/34c3"},{"size":106,"length":1922,"mime_type":"video/mp4","language":"eng-deu","filename":"34c3-9222-eng-deu-The_Noise_Protocol_Framework_hd-slides.mp4","state":"new","folder":"slides-h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2017-12-28T23:54:54.470+01:00","recording_url":"https://cdn.media.ccc.de/congress/2017/slides-h264-hd/34c3-9222-eng-deu-The_Noise_Protocol_Framework_hd-slides.mp4","url":"https://api.media.ccc.de/public/recordings/21323","event_url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_url":"https://api.media.ccc.de/public/conferences/34c3"},{"size":95,"length":1922,"mime_type":"video/mp4","language":"eng-deu","filename":"34c3-9222-eng-deu-The_Noise_Protocol_Framework_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2017-12-29T00:07:38.497+01:00","recording_url":"https://cdn.media.ccc.de/congress/2017/h264-sd/34c3-9222-eng-deu-The_Noise_Protocol_Framework_sd.mp4","url":"https://api.media.ccc.de/public/recordings/21345","event_url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_url":"https://api.media.ccc.de/public/conferences/34c3"},{"size":29,"length":1907,"mime_type":"audio/mpeg","language":"eng","filename":"34c3-9222-eng-The_Noise_Protocol_Framework.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2017-12-29T00:08:06.991+01:00","recording_url":"https://cdn.media.ccc.de/congress/2017/mp3/34c3-9222-eng-The_Noise_Protocol_Framework.mp3","url":"https://api.media.ccc.de/public/recordings/21346","event_url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_url":"https://api.media.ccc.de/public/conferences/34c3"},{"size":18,"length":1907,"mime_type":"audio/opus","language":"eng","filename":"34c3-9222-eng-The_Noise_Protocol_Framework.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2017-12-29T00:08:36.630+01:00","recording_url":"https://cdn.media.ccc.de/congress/2017/opus/34c3-9222-eng-The_Noise_Protocol_Framework.opus","url":"https://api.media.ccc.de/public/recordings/21347","event_url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_url":"https://api.media.ccc.de/public/conferences/34c3"},{"size":204,"length":1922,"mime_type":"video/webm","language":"eng-deu","filename":"34c3-9222-eng-deu-The_Noise_Protocol_Framework_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2017-12-29T00:11:38.545+01:00","recording_url":"https://cdn.media.ccc.de/congress/2017/webm-sd/34c3-9222-eng-deu-The_Noise_Protocol_Framework_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/21352","event_url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_url":"https://api.media.ccc.de/public/conferences/34c3"},{"size":281,"length":1922,"mime_type":"video/webm","language":"eng-deu","filename":"34c3-9222-eng-deu-The_Noise_Protocol_Framework_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2017-12-29T11:16:49.447+01:00","recording_url":"https://cdn.media.ccc.de/congress/2017/webm-hd/34c3-9222-eng-deu-The_Noise_Protocol_Framework_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/21464","event_url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_url":"https://api.media.ccc.de/public/conferences/34c3"},{"size":36,"length":1922,"mime_type":"video/mp4","language":"eng","filename":"34c3-9222-eng-The_Noise_Protocol_Framework_sd-slides.mp4","state":"new","folder":"slides-h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-01-02T15:51:57.401+01:00","recording_url":"https://cdn.media.ccc.de/congress/2017/slides-h264-sd/34c3-9222-eng-The_Noise_Protocol_Framework_sd-slides.mp4","url":"https://api.media.ccc.de/public/recordings/22320","event_url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_url":"https://api.media.ccc.de/public/conferences/34c3"},{"size":0,"length":null,"mime_type":"application/pdf","language":"eng","filename":"34c3-9222-the_noise_protocol_framework.pdf","state":"new","folder":"slides-pdf","high_quality":true,"width":null,"height":null,"updated_at":"2018-01-08T19:01:09.366+01:00","recording_url":"https://cdn.media.ccc.de/congress/2017/slides-pdf/34c3-9222-the_noise_protocol_framework.pdf","url":"https://api.media.ccc.de/public/recordings/22468","event_url":"https://api.media.ccc.de/public/events/81530917-cfdd-4a08-bf29-9b71fafb1bc1","conference_url":"https://api.media.ccc.de/public/conferences/34c3"}]}