Published at: 10:10 pm - Tuesday October 30 2018
This article is a continuation of the recent mega-puzzler concerning the experiment. This variant will reduce the equations. We will omit printing the input matrix, for brevity. And so: ;; Register bitness. (defconstant +bitness+ 32) (defun flatten (l) "Flatten a tree." (cond ((null l) nil) ((atom l) (list l)) (t (mapcan #’flatten l)))) […]
Published at: 04:10 pm - Tuesday October 30 2018
This article is a byproduct of the recent mega-puzzler concerning the Serpent cipher’s key expansion procedure. Behold: ;; Register bitness. (defconstant +bitness+ 32) (defun make-reg (reg-name bitness) "Make algebraic representation of a register (bits in descending majority)" (loop for i from (1- bitness) downto 0 collect (make-symbol (format nil "~A~A" reg-name i)))) (defun […]
Published at: 09:10 pm - Saturday October 27 2018
This article is a continuation of “Can the Serpent Cipher fit in the ICE40 FPGA?”. Below is a revision of the forward S-box of Serpent from the previous article, with all of the S-Box equations rewritten in the same form, i.e. using strictly AND, OR, and NOT operations, with none having more than six subclauses, […]
Published at: 12:10 pm - Saturday October 27 2018
Current Table of Contents: The question of whether the Serpent cipher could fit in a ICE40 FPGA was posed recently, and my first thought was: why not bake what appears to be the heaviest moving part, and see how many gates it requires? Then it will be possible to estimate whether the entire thing is […]