<div dir="auto"><br><br><div class="gmail_quote" dir="auto"><div dir="ltr">Den mån 21 jan. 2019 18:31 skrev Ttttabcd via cryptography <<a href="mailto:cryptography@metzdowd.com">cryptography@metzdowd.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"># Foreword<br>
<br>
Encryption based on shared secrets<br>
<br>
Symmetric encryption is based on shared keys, asymmetric encryption is based on shared public keys, and HTTPS is based on the browser's built-in CA root certificate.<br>
<br>
There have been rumors that IPv6 can implement end-to-end encryption of all the Internet based on IPsec, but this is impossible.<br>
<br>
IPsec is also based on passwords or certificates, and also requires shared secrets.<br>
<br>
The problem is that there is no shared secret between us and strangers. Without the secret of sharing, we can't authenticate each other. If this problem is not solved, Internet end-to-end encryption is impossible.<br>
<br>
But Cryptographically Generated Address (CGA) solves this problem because CGA turns the IPv6 address itself into a "shared secret."<br>
<br>
# Cryptographically Generated Address<br>
<br>
Detailed CGA information can be found in RFC 3972, I will briefly explain here.<br>
<br>
CGA is used to implement Secure Neighbor Discovery, which resolves authentication without CA.<br>
<br>
The CGA divides the IPv6 address into three parts, the first 64-bit subnet prefix, the middle 3 bits of computational difficulty, and the last 59 bits of the hash address generated based on the public key.<br></blockquote></div><div dir="auto"><br></div><div dir="auto">I would suggest CJDNS instead. It's a different implementation of the same idea. It uses the private network prefix, and thus sacrifice much fewer bits of the 128 bits available. </div><div dir="auto"><br></div><div dir="auto"><a href="https://github.com/cjdelisle/cjdns">https://github.com/cjdelisle/cjdns</a><br></div><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div>