The Serpent Cipher’s Key Schedule Transform is Injective.

This article is a continuation of the previous, and concludes the series. Let’s try this somewhat different variant of the program, which represents recurring bits of the expansion symbolically (and in a slightly more readable form) : ;; Register bitness. (defconstant +bitness+ 32)   (defun make-reg (reg-name bitness) "Make algebraic representation of a register (bits […]

The Serpent Cipher's Key Schedule Equation System, in Graphical Form.

This article is a continuation of the dig into the key schedule of the Serpent cipher. For clarity, we will omit the routines already given in the previous article. Let’s visualize the Serpent key schedule as a graphic: ;; 256bit(key)+1(const) x 4224(132*32) matrix, last column for constant subterms (defvar *matrix* (make-array ‘(257 4224) :element-type ‘(mod […]

Serpent Cipher’s Key Schedule in Algebraic Form: with Reduction.

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))))   […]

Terms -8...8 of the Serpent Cipher's Key Schedule in Algebraic Form.

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 […]

Linux. (1991 - 2018)

Linux. ( 1991 — 2018. ) No disrespect is intended for Stepan Mitrofanovich Gudimov (1913 – 1941), died heroically in aerial ramming maneuver… whose beautiful tomb I stole here. But IMHO a dead project of Linux’s stature deserves a tomb, even if only an imaginary and stolen one. Especially a stolen project…

The Google H1 Fritz Chip.

Edit (January 2023): This machine is long out of print, but NSA lackeys continue to spread “squid ink” regarding the supposed harmlessness of its Fritz chip. So, for the thick: Yes, it’s a backdoor. The CR50 bypasses any user-installed OS, and can extract arbitrary secrets from disk and memory (or silently implant “incriminating” info) via […]

The secret of the "Debug Accessory Mode" Adapter.

The exact internals of Google’s proprietary “Suzy-Q” debugging device are, at the time of this writing, unknown. However, I have found how to make an apparently-compatible device: We connect the USB-C “business end” into a Asus C101PA machine; the USB-B end into a reasonable Linux PC, where we then: echo 18d1 5014 > /sys/bus/usb-serial/drivers/generic/new_id …and […]

Open Problem: "Debug Accessory Mode" on the Asus C101PA

Edit #2: Aaaand it’s solved: echo 18d1 5014 > /sys/bus/usb-serial/drivers/generic/new_id triggers creation of /dev/ttyUSB0 … 5 , several of which spew console log… Example spew on boot. (Looks like RK’s UART..?) Edit: apparently they’re USB lines! When connected as D-/D+ through a USB B-connector, to a Linux box, we get a device that enumerates with […]

Open Problem: Forcing MaskROM Mode on the Asus C101PA

The Asus C101PA is based on a Rockchip RK3399. These have a “maskrom mode”, where if the SPI EEPROM is disabled, the chip will attempt to boot from other devices: first, NAND flash, then microSD, and then finally a USB debug mode where you can attach a A-A cable and use the rkflashtool utility to […]

Wanted: Write-Once MicroSD Card !

Allegedly these exist! — though I have only been able to find them offered for sale by the railroad car. For certain applications, nothing else will really suffice. If any of my readers know of (or wish to become) a vendor offering, in (for starters) mid-three-digit quantities: a) One Time Programmable MicroSD card b) MicroSD […]