Lucas Clemente
86b4ffdaaf
use chacha20poly1305 instead of AES and include cert in key derivation
...
Unfortunately QUIC uses non-standard tag sizes with both AES-GCM and
Poly1305. Adopting AES-GCM seems much harder, so I changed it to
Chacha20Poly1305 and only made some slight changes to an existing algo.
This should probably be double-checked at some point.
2016-04-14 23:44:31 +02:00
Lucas Clemente
1760bc3227
add key derivation and change AEAD in session, not working right now :(
2016-04-14 20:39:51 +02:00
Lucas Clemente
3d767401d0
introduce PacketNumber type & protocol package
2016-04-14 10:29:21 +02:00
Lucas Clemente
8b7e2744da
implement AES-GCM as AEAD
2016-04-14 09:56:43 +02:00
Lucas Clemente
8b0d17828b
add curve25519 key exchange
2016-04-12 15:20:16 +02:00
Lucas Clemente
83d8cb003d
add test for RSA proof
2016-04-12 15:05:04 +02:00
Lucas Clemente
d3097ed82a
implement basic certificate compression
2016-04-12 12:17:03 +02:00
Lucas Clemente
97187c5a31
fix proof signature algorithm
2016-04-12 12:16:46 +02:00
Lucas Clemente
f634d2a577
add basic RSA server proof generation
2016-04-11 20:35:34 +02:00
Lucas Clemente
96ae3efa64
simplify AEAD.Seal
2016-04-10 20:33:24 +02:00
Lucas Clemente
893704e38f
implement sealing for NullAEAD
2016-04-10 20:23:51 +02:00
Lucas Clemente
7296d4e55e
change AEAD interface to return bytes.Reader instead of io.Reader
2016-04-08 10:22:52 +02:00
Lucas Clemente
990660ae3e
add NullAEAD implementation
2016-04-07 17:02:26 +02:00
Lucas Clemente
fc853a6e22
add AEAD interface
2016-04-07 17:02:07 +02:00
Lucas Clemente
dae7b3dc75
improve FNV implementation
2016-04-07 17:02:00 +02:00
Lucas Clemente
c495d80faa
add a very simplistic and slow FNV-128a implementation
2016-04-07 13:22:36 +02:00