On Sep 29, 2025, at 9:51 AM, Deb Cooley <debcool...@gmail.com> wrote:
> 
> If ISAAC is indeed quick enough, as it is basically just a different stream
> cipher (i.e. RC4)  than the one I suggested.  It has been asserted to be,
> but since there are no implementations, are you sure?  [the case you
> presented stated that AES256 was too slow, but apparently AES128 is not.]

  The ISAAC page says that it takes an average of 18.75 clock cycles per 32-bit 
number generated.
        https://www.burtleburtle.net/bob/rand/isaacafa.html

  The various stats I can find for AES-128 claim 1.3 clock cycles per byte for 
hardware implementations, and 180 cycles per byte for software.  Various papers 
using SIMD instructions show numbers in the 30-40 range.

  For AES-128, let's assume that that we can get 4 32-bit numbers from one 16 
byte block of AES-128 data.  Hardware hardware implementations are then ~5 
clock cycles per 32-bit number, and software implementations are 100-400 clock 
cycles per 32-bit number.

  But we're not using AES-128 for encryption here.  We're just using is as a 
CSPRNG.  So AES-128 is only a solution if we can guarantee that all 
implementations have hardware support for it.

  The attacks on BFD aren't about gaining access to secret data.  The BFD 
packet contents are public.  So securing BFD via some kind of encryption is not 
appropriate.

  We're left then with impersonation attacks.  And any impersonation attack is 
strongly mitigated by the fact that impersonating a BFD peer doesn't really 
allow the attacker to do anything.  A much better attack is to simply cut the 
wire, so that the entire connection goes down.  And no amount of security can 
protect from that.

> The only other sticking point is reuse of the Secret Key for both ISAAC and
> the key hashes.  Technically, this makes the keyed hashes less robust.
> Extraction of a Secret Key from ISAAC compromises the keyed hash versions.

  There should be text in the document forbidding the use of the ISAAC key with 
any other BFD authentication method.  If there isn't any, we can add some.

  The worst case would be someone using the ISAAC key with the BFD method of 
"send the password in clear text", which would bypass all security.

> If ISAAC is literally the only stream cipher that is quick enough, then I'm
> happy to help construct words to dissuade any other use of that algorithm
> for other purposes.

  It certainly looks that way.

  An alternative to ISAAC would be a fast hash that could authenticate the 
entire packet contents.  But there are few hashes which are both fast, and 
proven to be secure.

  Proposed text:

The suitability of ISAAC as a solution is due to the unique needs of BFD.  The 
ISAAC generator has had minimal security analysis, and is therefore not 
suitable for use in any protocol other then BFD.

  Alan DeKok.

Reply via email to