Tobias Brunner
403acf8614
crypto: Add NULL IV generator
...
This does not actually allocate an IV and only accepts requests
for size == 0.
2015-11-09 11:08:22 +01:00
Martin Willi
9e110cc54c
crypter: Define a ChaCha20/Poly1305 AEAD algorithm identifier
2015-06-29 17:32:03 +02:00
Martin Willi
b756eea4f4
ivgen: Allow reusing the same message ID twice in sequential IV gen
...
We use the message ID and fragment number as IV generator. As IKEv2 uses
distinct message ID counters for actively and passively initiated exchanges,
each IV would be used twice. As we explicitly reject such message IDs since
d0ed1079 , original-responder initiated exchanges fail with counter mode ciphers.
This commit separates IV space in two halves for sequential IVs, and
automatically assigns once reused sequence numbers to the second half.
Fixes #980 .
2015-06-05 13:44:42 +02:00
Martin Willi
ef31254d34
iv-gen: Fail getting shorter IV values than the used counter size
...
While no algorithm actually uses such short IVs, we add a check here to ensure
we won't return just the lower bits of the counter.
2015-06-01 09:42:10 +02:00
Martin Willi
d0ed107910
iv-gen: Ensure external sequential IVs are actually sequential
...
We allow gaps in IVs, but ensure that an IV is never used more than once.
2015-06-01 09:42:10 +02:00
Martin Willi
a4549e5525
iv-gen: Add a generic constructor to create an IV gen from an algorithm
2015-04-13 15:06:15 +02:00
Tobias Brunner
0c6f6c4e34
iv_gen: Mask sequential IVs with a random salt
...
This makes it harder to attack a HA setup, even if the sequence numbers were
not fully in sync.
2013-10-11 15:55:40 +02:00
Tobias Brunner
e8229ad558
iv_gen: Provide external sequence number (IKE, ESP)
...
This prevents duplicate sequential IVs in case of a HA failover.
2013-10-11 15:55:40 +02:00
Tobias Brunner
b3e1eb2afe
iv_gen: Add IV generator that allocates IVs sequentially
2013-10-11 15:55:40 +02:00
Tobias Brunner
53d1f2dbfd
iv_gen: Add IV generator that allocates IVs randomly
...
Uses RNG_WEAK as the code currently does elsewhere to allocate IVs.
2013-10-11 15:55:40 +02:00
Tobias Brunner
403057aa5a
crypto: Add generic interface for IV generators
2013-10-11 15:55:40 +02:00