Use a figure to introduce a block cipher instead of C = E(k, P)
dpawson opened this issue · 7 comments
OK , I'm old. I like the hand drawn figures!
Less so, when introducing new ideas, a simpler figure would (for me) improve
on a math function? E.g. see 6.1 - 6.2 provides the same information, without
the fear factor (for some) of maths?
Hi! Are you referring to the subsection A closer look at Rijndael? 6.1 and 6.2 proper don't appear to have a lot of math in them.
(Also re: issue names -- there are 317 of them now and it's important to keep them apart, because sometimes people report the same issue; please try to make issue names descriptive of the problem.)
You're right -- they do provide essentially the same information. If the bar is at C = E(k, P), that might be problematic. The goal there is to gradually introduce a little bit of inline notation, because without it, I'm not sure it's possible to meaningfully discuss things like predictable IV attacks on CBC, any attack that requires concatenating strings, any attack that requires XOR to cancel out (that means algebra) et cetera.
Thank you for your feedback. I'll consider this, but I'm afraid it'll just kick the can down the road. The target audience here is programmers at any skill level; so those put off by equals-signs-meaning-assignment will not be able to finish the book. I gave a few examples already; but to add another: Mersenne Twister (and inverting Mersenne Twister) are not things I can make simpler by adding diagrams. You really, really, really need a modicum of algebraic manipulation for that to make any sense. I can (and do!) teach that algebra, just like I teach just enough group theory to understand other topics in the book, but if the bar is at "use of an equals sign" I don't think reversible bitwise operation algebra is in the cards.
Fine - that being the case, perhaps review the crypto 101 title, from which I make assumptions about the level of the content?
"Crypto for programmers" perhaps?
The first fifteen words of the book are:
This book is intended as an introduction to cryptography for programmers of any skill level.
Given that I've invested a bunch of time and money in the name already (flights to give the talk, domain names, free support...) I don't think it would be reasonable to change the name.