|
| Login | Sign up | Settings | My Wish List |
![]() | BigNum Math: Implementing Cryptographic Multiple Precision Arithmetic by Tom St Denis ISBN-10: 9781597491129 ISBN-10: 1-59749-112-8 ISBN-13: 9781597491129 ISBN-13: 978-1-59749-112-9 Paperback 2006-06-30 Syngress Find Lowest Price | |
Editorials | ||
Product Description Bignum math is the backbone of modern computer security algorithms. It is the ability to work with hundred-digit numbers efficiently using techniques that are both elegant and occasionally bizarre. This book introduces the reader to the concept of bignum algorithms and proceeds to build an entire library of functionality from the ground up. Through the use of theory, pseudo-code and actual fielded C source code the book explains each and every algorithm that goes into a modern bignum library. Excellent for the student as a learning tool and practitioner as a reference alike BigNum Math is for anyone with a background in computer science who has taken introductory level mathematic courses. The text is for students learning mathematics and cryptography as well as the practioner who needs a reference for any of the algorithms documented within. | ||
Reviews | ||
A good overview As the author of this book is correct when he says that multiple-precision arithmetic is essential for cryptography, and of course this book would not have been written if this were not the case. The languages of usual choice for cryptography, namely Java and C, support only single precision arithmetic and integer values too small for effective encryption. To obtain larger values that are necessary for cryptography, one must use special data structures, and the author has developed these and put them in the public domain. The trick to using his approach, along with those developed by other researchers is to design the algorithms and data structures so as to optimize memory, as the latter can be very restricted, especially in embedded systems. The C data structure that the author constructs and uses throughout the book is called `mp_int' and consists of a dynamically allocated array of digits representing the multiple-precision integer. This data structure also elements that denote how many digits of the array contain the digits used to represent the integer at hand. The author gives the pseudocode and the explicit algorithm for initializing and deallocating mp_int. In fact, throughout the book the author writes down the explicit C code for every algorithm he discusses. This reviewer did not attempt to run any of the code and so cannot speak to its efficacy in real applications or devices. The book was therefore read attentively but not with the intent of using any of the algorithms in the book. The book however has much more than just C code, as the author discusses many of the details behind each algorithm, many of these taken for granted even by professional cryptographers and professional applied mathematicians, who sometimes forget about some of the difficulties in actual implementation. The standard operations of mathematics, and also modular arithmetic are discussed in detail, with the author putting particular emphasis on the features of his approach that depart from some familiar algorithms, such as the algorithm for adding two multiple-precision integers. Of particular interest, and of enormous practical interest, is the discussion on fast multiplication, such as the Comba method, and Karatsuba multiplication. | ||
Wow, who thought you would need math after school I am a coder and to be honest I am somewhat afraid of crypto becasue of the heavy math needed. I have used LibTomCrypt so I thought a book by the same guy could no be bad. The book progressed at a perfect pace for following along if you are not a math genius and even provide code sample tests that allow you to apply what you have learned. I would suggest this book to anyone who wants to know more but doesn't have time for college classes. | ||