“Welcome to Galois Field F(2m) where elements are made up and carry doesn’t matter”

If this sounds familiar you should probably turn off TV sometimes (or youtube).


Nothing much was happening this week, I mostly spent it struggling with understanding and at later stage designing the ECDSA module. Man, that was quite a lot of algebra… and fun.

Because it’s not so popular topic (you know it when wikipedia starts to be insufficient) I had to dig through a lot of scientific papers and honestly, while I was doing it, I had only one thought: Most of the people who publish those papers either don’t actually understand it (I can say by copy-paste formulas, and a lot (I mean a LOT) of inconsistency) or it’s a part of a bigger conspiracy where they cut out the crucial pieces of their work so that no one can use their solutions. Either way it took me quite a while to start appreciate the beauty of finite field F(2m)

As I said, there is nothing really to share with yet. I came up with different idea for multiplication: it requires slightly more resources but is faster. Solution used in most of the examples I found uses m clock cycles per multiplication (where m=163,223…) while mine needs only as many as the position of most significant ‘1’ so for 0..011 = 3 it would take only 2 clock cycles. I have some doubts now though, it’s not an idea they couldn’t come up with so maybe they used the slower one on purpose. Question is whether I can afford those additional resources and whether faster design is better than predictable, constant m one.