3 ms·
The point is: if you are combining asymmetric and symmetric encryption primitives by hand, there are lots of different ways to do it, and it is easy to make the
by skissane 2y ago
The point is: if you are combining asymmetric and symmetric encryption primitives by hand, there are lots of different ways to do it, and it is easy to make the wrong choices and introduce security weaknesses as a result. So the idea is you should give developers a precooked solution that already does that. And that exists - e.g. in NaCl and libsodium, and BouncyCastle has some similar Java APIs. The problem is that different libraries do it in mutually incompatible ways. So the point of HPKE is to define a standard way of doing that which any library can implement, so if one end of the communication wants to use libsodium in C or C++ and the other end wants to use BouncyCastle in Java, it will just work (once the respective libraries implement HPKE, etc)
- tptacek 2y agoI don't think anyone has any illusions that WireGuard is going to adopt this. :)
- skissane 2y agoWireGuard is something sufficiently high profile that if there is a weakness it is likely to be found. The real benefit of this is the long tail of obscure applications whose weaknesses no one is looking at - until eventually, some bad actor does.