 |
 |
A Million Random Digits: with 100,000 Normal Deviates
null, The RAND Corporation. 1955 (Currently out of print). 600 pages.
Categories: Mathematics |
Just like the book says, this book contains one million random digits.
The book was anything but predictable. In fact, I didn't know how it was going to end
until the last page.
You may laugh, but this was a useful tool when the RAND corporation wrote this
book back in 1955. Randomness is central to cryptography (S box design, session key
generation, challenge/response algorithms, zero knowledge proofs, etc.) If you
can track this book down, you're going to pay a lot for it (or you can now download it for free).
|
|
|
 |
I occasionally review books here, not because they are predominantly cryptography oriented, but because they say something about cryptography that
other books do not. This book briefly discusses how cryptography (in the context of integrity shells) can stop computer viruses.
Since Fred Cohen was in the business of promoting his integrity shell, he of course demonstrates (with 2 pages of equations no less!) that
they are more cost effective than virus scanners, because in comparison, with virus scanners one incurs "the cost of cleanup for attacks
that monitors don’t detect." He summaries this argument with "Except under the most contrived circumstances, integrity shells are the most
cost effective of the anti-virus techniques currently available for untrusted systems, and this gap will widen with the passage of time." Yeah right.
Dr. Cohen is best know for "Cohen’s Result" -- a straightforward restatement of the Turing halting problem, where halting should occur if a
sequence belonging to a virus set is generated. This is obviously as impossible as predicting computational halting in the general case. Wish
I could have received a PhD for that.
|
|
|
 |
 |
Adventures in Group Theory: Rubik's Cube, Merlin's Machine, and Other Mathematical Toys
Joyner, David. 2002. 262 pages.
Categories: Mathematics, Top Picks |
If you want to understand cryptography, you’ll need some good background in group theory. You might as well learn how to solve permutation-based puzzles in the process. I slowly worked through ever page of this book and thoroughly enjoyed it. It also helps that I own all the puzzles discussed in the book (hockypuck, Rubik’s Domino, Masterball, Pyraminx, Rubik’s 2x2, Rubik’s 3x3, Skweb, Megaminx, Merlin’s Magic, Lights Out, Orbix, Rubik’s Clock, and the Rubicon). If you’re going to work through all the mathematics (highly recommended), then make sure you print out a copy of the errata page and keep it with the book.
|
|
|
 |
 |
Algorithmic Information Theory: Cambridge Tracts in Theoretical Computer Science 1
Chaitin, Gregory J. 1987. 175 pages.
Categories: Mathematics |
The only reason this doesn't get a "thumbs up" is because it is a less mature explanation
of his current work on Algorithmic Information Theory (AIT). But 14 years later, he brought
us three (most likely "thumbs up") books on AIT, entitled "The Unknowable", "The Limits
of Mathematics", and "Exploring Randomness" respectively. AIT is a blending of information
theory and complexity theory, which is perhaps the most promising new way to theoretically
formalize patterns and structures. This requires self-referential mathematics, for which
the author chooses LISP in all of his books.
|
|
|
 |
 |
Art of Computer Programming Volume 2, The: Seminumerical Algorithms
Knuth, Donald E. 1998, 3rd edition. 762 pages.
Categories: Mathematics, Programming, Reference |
Having been called the "father of algorithms", Knuth is well respected for formalizing much of computer science. The Art of Programming Volume 2 explores topics relevant to cryptography, such as randomness (193 pages!), modular arithmetic, the Chinese remainder theorem, the extended Euclidian algorithm, factoring, prime numbers, and much more.
The book is becoming dated, in that there have been many advances in the mathematical/algorithmic topic areas covered in this book, and most books don’t write their source code examples in assembly language these days. However, it is still a phenomenal work.
|
|
|
 |
 |
Chinese Remainder Theorem: Applications in Computing, Coding, Cryptography
Ding, C. / Pei, D. / Salomaa, A.. 1996. 213 pages.
Categories: Mathematics |
The book covers some fun stuff, like the Chinese using the CRT to compute the numbers of
different size blocks required for building the Great Wall of China, and of Chinese generals
that had their soldiers line up in group of which the general merely counted the
remainder to keep their true numbers secret. But on the whole, this book is not for
someone with a casual interest in the subject, and definitely requires background in
number theory, information theory, and abstract algebra. Not light reading.
|
|
|
 |
I include this book because compression is almost always an important step prior to
encryption for improved security and speed. Indeed, any modern crypto system that
produces compressible output should be considered suspect. Also, anyone wishing to
embark on stego will need to understand how their covers are compressed.
Although techy at points (i.e. Fourier stuff), the book should be consulted for concepts only, and not for
developing code (even thought the title indicates otherwise). It covers standard
coding theory, dictionaries, adaptive approaches, and wavelets, with respect to images,
audio, and video. A nice 40 page section in the back details important compression
related patents.
|
|
|
 |
As "Cryptography Decrypted" is a great "from the ground up" tutorial in cryptography for the non-technical, so "Cryptography Demystified" is for those with a computer science or math degree. The author crafts notions of cryptographic security, then leads you down less-than traditional, but highly illuminating paths to get there. This book is very unconventional and refreshing original – certainly not another rehash of introductory cryptography topics. You’ll find yourself carefully reading every page. While a math background in statistics, calculus, linear algebra, and automata theory is not required to absorb this book cover to cover, it does help you complete the exercises. 58 pages contain the detailed solutions to the chapter questions. Go get this book.
|
|
|
 |
 |
Excursions in Number Theory
Ogilvy, C. Stanley / Anderson, John T. 1988. 168 pages.
Categories: Mathematics |
Very simple introduction to basic concepts in number theory. Good treatment of congruence (modular) arithmetic. Costs (at time of reviewing) $6. Can be easily read in a few hours at most.
|
|
|
 |
 |
Explorations in Quantum Computing
Williams, Colin P. / Clearwater, Scott H. 1997. 256 pages.
Categories: Mathematics, Quantum |
Explorations in Quantum Computing was the first book of its kind (I was lucky enough to get
a copy before it hit the stores). Thinking on quantum computation/computers has evolved greatly since the publication of this book, but it's full of lots of timeless foundational kinda stuff. This book has simplified
lots of nasty details without compromising content. While not primarily an encryption
book, a large portion of the text deals with how quantum computers can quickly break
asymmetric key encryption systems, such as RSA. Some background
in linear algebra is required, and previous exposure to quantum mechanics is helpful but not required.
|
|
|
 |
 |
Exploring Randomness
Chaitin, Gregory J. 2001. 164 pages.
Categories: Mathematics |
Algorithmic Information Theory (AIT) is what you get when you mix Turing's computation theory with
Shannon's information theory. AIT demonstrates that randomness arises naturally in pure
mathematics, and can be equated with incompressibility. You'll recall that long ago, Russell
and Whitehead attempted to develop all of mathematics from a few clearly stated axioms and rules
of inference in pure logic. But AIT claims that "The classical logical effort to concentrate
axioms into a minimal irredundant set was an attempt to achieve incompressibility and therefore
randomness".
Instead of using self referential mathematics (like Gödel), the author uses LISP. One of
the interesting results of AIT is that you can prove that you can never determine the lower
bound of a computer program size complexity.
Annoying parts of the book include the author's insistence that he should be credited with
formulating what is known to everyone else as Kolmogrov complexity. Additionally, the author
would like AIT to impress beyond it's abilities with statements like "AIT will lead to the
major breakthrough of 21st century mathematics, which will be information-theoretic and
complexity based characterizations and analyses of what is life, what is mind, what is
intelligence, what is consciousness, of why life has to appear spontaneously and then to evolve."
|
|
|
 |
 |
Handbook of Theoretical Computer Science Volume A: Algorithms and Complexity
Leeuwen, J. van (Editor). 1994. 996 pages.
Categories: Mathematics, Programming, Reference |
Extensive coverage of complexity theory, number theory, and a good deal of crypto to
boot. In my opinion, volumes A and B are far more useful,
and up to date than the three book series "The Art of Computer Programming" by Knuth,
at least a far as crypto is concerned. Ronald Rivest wrote the crypto section.
|
|
|
 |
 |
Information Hiding: Steganography and Watermarking - Attacks and Countermeasures (Advances in Information Security, Volume 1)
Johnson, Neil F. / Duric, Zoran / Jajodia, Sushil G. 2001. 160 pages.
Categories: Cryptanalysis, Mathematics, Steganography |
Gets a thumbs up even though it is expensive for size (137 pages), and its choice of stego tools were out of date even when the book was published. However, it redeems itself with its gentle introduction to stego and its analysis of signatures left by particular stego tools (steganalysis). Very few books deal with steganalysis, and information on this topic has been traditionally hard to find (no thanks to Fravia hiding all the juicy details).
|
|
|
 |
 |
Mathematical Cryptology for Computer Scientists and Mathematicians
Patterson, Wayne. 1987. 312 pages.
Categories: Mathematics, Programming |
This was undoubtedly a top notch math-oriented introduction to cryptography back in 1987, but
today it is of course dated. Has the predilections typical of 80s crypto books -- namely
an emphasis on DES and in breaking Knapsacks. The author offers enough original ways
of looking at timeless topics so that the book often tends to nicely round out one's collection. All
of the code examples are in pascal. This is a book that should be updated and republished.
|
|
|
 |
 |
Mathematical Theory of Communication, The
Shannon, Claude / Weaver, Warren. 1949. 117 pages.
Categories: Mathematics |
The security of most crypto systems depend on information entropy - a concept
frequently misrepresented in many security texts. Shannon's work on Information Theory
defined and formalized entropy, redundancy, compressibility, and channel capacity. Instead
of buying the book, you can get a free download from Bell Labs.
|
|
|
 |
Perhaps the best book from which a programmer could learn number theory on his own time. 425 pages of
theory with code examples of nearly everything discussed (included on CD in back). Most
of the number theory is directly applicable to modern cryptography. This is a "best of it's kind" book.
It looks like it may have gone out of print already, so track down a used copy soon.
|
|
|
 |
 |
Number Theory in Science and Communication: With Applications in Cryptography, Physics, Digital Information, Computing, and Self-Similarity
Schroeder, Manfred. 1997, 3rd edition. 420 pages.
Categories: Mathematics, Top Picks |
Number Theory in Science and Communication is now in its third edition (97), and has kept up with advances
since its original publication in 1984.
While not primarily a cryptography book, it is a great primer for anyone who wants to understand
the mathematics behind crypto (such as residues, Galois fields,
primitive roots, indexes, the Chinese Remainder Theorem, etc).
|
|
|
 |
 |
Pleasures of Counting, The
Korner, T. W. 1997. 534 pages.
Categories: History, Mathematics |
This survey of math and math history is a gem. I wish I had come across it in my mid-teens, as it makes some of the lower hanging mathematics fun and relevant. The book’s aim is to help the mathematically-minded pre-university or freshman year student broaden his/her mathematical interests, without using calculus (except for apologetically in one little section). There are interesting problems to work in every topic area. The book is reviewed here because it offers 72 pages on the mathematics and history of WWII cryptography, and 20 pages on complexity theory and information theory, all with interesting exercises. Keep this in mind for high school graduation gifts.
|
 |
 |
A Course On Group Theory
Rose, John S. 1978. 310 pages.
Categories: Mathematics |
Haven't finished reading this book yet.
|
|
|
 |
Haven't finished reading this book yet.
|
|
|
 |
 |
A Course in Number Theory and Cryptography: Graduate Texts in Mathematics, No 114
Koblitz, Neal. 1994, 2nd edition. 235 pages.
Categories: Mathematics |
Haven't finished reading this book yet.
|
|
|
 |
 |
A First Course in Abstract Algebra
Fraleigh, John B. 2000, 6th edition. 536 pages.
Categories: Mathematics |
Haven't finished reading this book yet.
|
|
|
 |
 |
Algebraic Aspects of Cryptography: Algorithms and Computation in Mathematics, Vol 3
Koblitz, Neal. 1998. 224 pages.
Categories: Mathematics |
Haven't finished reading this book yet.
|
|
|
 |
 |
An Introduction to Information Theory: Symbols, Signals and Noise
Pierce, John Robinson. 1980. 305 pages.
Categories: Mathematics |
Haven't finished reading this book yet.
|
|
|
 |
 |
An Introduction to Kolmogorov Complexity and Its Applications
Li, Ming / Vitanyi, Paul M. 1997, 2nd edition. 637 pages.
Categories: Mathematics |
Haven't finished reading this book yet.
|
|
|
 |
 |
Claude Elwood Shannon: Collected Papers
Shannon, Claude Elwood / Sloane, Neil J. A. (Editor) / Wyner, Aaron D. (Editor). 1993. 924 pages.
Categories: Mathematics, Reference |
Haven't finished reading this book yet.
|
|
|
 |
Haven't finished reading this book yet.
Even so, it appears that despite the title (an emphasis on "Cryptanalysis"), it seems to only contains 22 pages on how one might actually attack cryptosystems.
|
|
|
 |
Haven't finished reading this book yet.
|
|
|
 |
 |
Groups and Symmetry
Armstrong, M. A. 1988, 2nd edition. 324 pages.
Categories: Mathematics |
Haven't finished reading this book yet.
|
|
|
 |
 |
Introduction to Coding and Information Theory
Roman, Steven. 1996. 323 pages.
Categories: Mathematics |
Haven't finished reading this book yet.
|
|
|
 |
 |
Limits of Mathematics, The
Chaitin, Gregory J. 1997. 160 pages.
Categories: Mathematics |
Haven't finished reading this book yet.
|
|
|
 |
 |
Mathematics of Ciphers, The: Number Theory and RSA Cryptography
Coutinho, S. C. 1999. 235 pages.
Categories: Mathematics |
Haven't finished reading this book yet.
|
|
|
 |
Haven't finished reading this book yet.
|
|
|
 |
 |
Permutation Groups
Dixon, John D. / Mortimer, Brian. 1996. 346 pages.
Categories: Mathematics |
Haven't finished reading this book yet.
|
|
|
 |
 |
Prime Numbers: A Computational Perspective
Crandall, Richard / Pomerance, Carl. 2001. 545 pages.
Categories: Mathematics, Programming |
Haven't finished reading this book yet.
|
|
|
 |
 |
Unknowable, The
Chaitin, Gregory J. 1999. 122 pages.
Categories: Mathematics |
Haven't finished reading this book yet.
|