[Cryptography] Exotic Operations in Primitive Construction

Jonathan Thornburg jthorn4242 at gmail.com
Thu Oct 1 20:15:48 EDT 2020

John Denker <jsd at av8n.com> writes:
> It is hard to imagine a subtle bug in shift or rotate.  (There are
> ways of misusing the instructions, but they're not subtle.)

On Thu, Oct 01, 2020 at 10:21:32AM -0700, Nemo wrote:
> Ever try left-shifting an int by 32 on x86? (Hint: x86 only uses the low
> 5 bits of the shift count.)

Another example: the Digital J-11 (a PDP-11 implementation used in
the PDP-11/73 and PDP-11/83 systems) had a microcode bug in the
arithmetic-shift instructions which caused a "left-shift by 31 bits"
instruction to actually execute a right-shift.  See
for details.

-- "Jonathan Thornburg [remove -animal to reply]" <jthorn at astro.indiana-zebra.edu>
   Dept of Astronomy & IUCSS, Indiana University, Bloomington, Indiana, USA
   currently on the west coast of Canada
   Q: What's the differnece between a function and a subroutine?
   A: Functions are integers you can call; Subroutines are arrays
      that return to main. -- student in an introductory C/Fortran course

More information about the cryptography mailing list