lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Tue, 4 Mar 2014 18:02:56 -0500
From: Bill Cox <>
Subject: Re: [PHC] integer multiply was not always constant-time

On Tue, Mar 4, 2014 at 5:41 PM, Solar Designer <> wrote:
> BTW, let's not forget that even MUL/IMUL were not constant time on 486
> and prior (and it's similar on similarly old non-x86 archs).  So if we
> care about being timing-safe even on CPUs this old, we should probably
> avoid multiplication in the portion where we avoid cache timing leaks.
> Alexander

I think multiply speed remains data-dependent on ARM Thumb
architectures (I've not checked which).  On pretty much all of these
older machines, I think setting the number of multiplies per loop to
zero is probably the right thing to do.  Not only are the multiplies
not constant time, but they take a bunch more cycles, and there's no
multiple-issue instruction unit, so this is all in-line with the
runtime, and will significantly reduce the memory we can fill.  It's
probably best just to fill memory as rapidly as possible on these


Powered by blists - more mailing lists