Three-and-a-half stars. This is a very readable book for what it is, and code in particular is very clear, but the explanations of the mathematics did not live up to its claims, in my opinion. I severely doubt that you could understand the math in this book with nothing more than "high-school algebra" as is claimed in the introduction. I suspect the problem is largely that once you understand this sort of math, the process you went through to learn it is forgotten, and you really have no idea of what is hard or easy any more. (Things are not helped by the wretched forms of notation loved by mathematicians: reading the code is often more helpful than looking at the equations simply because C doesn't have subscripts, Greek letters or prime marks!) I have no trouble believing that the math is much more thoroughly explained than in math textbooks, but that's a very low bar to shoot for indeed. Fortunately, the code is very readable, even if it was a rather FORTRAN-like style of C.
It is worth noting that in the time since its publication this book has become a little out of date: SHA-1 is no longer recommended, the predictions of available computing power to crack encryption were optimistically low, and the looming potential threat of Shor's algorithm is not even mentioned, never mind discussed.