CDN$ 80.73
  • List Price: CDN$ 93.57
  • You Save: CDN$ 12.84 (14%)
Only 1 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
Cryptography for Develope... has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Cryptography for Developers Paperback – Jan 1 2007

See all 2 formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 80.73
CDN$ 32.94 CDN$ 36.70

Save an Additional 10% on Textbooks When you Join Amazon Student

Special Offers and Product Promotions

  • Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your e-mail address or mobile phone number.

Product Details

  • Paperback: 400 pages
  • Publisher: Syngress; 1 edition (Jan. 1 2007)
  • Language: English
  • ISBN-10: 1597491047
  • ISBN-13: 978-1597491044
  • Product Dimensions: 18 x 3.3 x 22.7 cm
  • Shipping Weight: 880 g
  • Average Customer Review: Be the first to review this item
  • Amazon Bestsellers Rank: #2,818,849 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

About the Author

Tom St Denis is the author of the industry standard LibTom series of projects. Tom is a senior software developer and cryptographer for the Advanced Micro Devices Corporation. He has been engaged in various international development contracts and speaking engagements since 2004. He is at work on his next book, Cryptography for Developers.

Inside This Book

(Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Customer Reviews

There are no customer reviews yet on
5 star
4 star
3 star
2 star
1 star

Most Helpful Customer Reviews on (beta) HASH(0xa616b0b4) out of 5 stars 5 reviews
9 of 9 people found the following review helpful
HASH(0xa5db5b64) out of 5 stars Well written, targets the saavy developer Jan. 1 2007
By jose_monkey_org - Published on
Format: Paperback
A lot of people who have read "Applied Cryptography" by BRuce Schneier are themselves not cryptographers or developing cryptographic software. In fact, very few people actually develop cryptographic software because it's tough to get right and most crypto libraries provide everything you need. However, for those that wish to enter the field, it can be daunting to learn. If you'd like to be one of those few, Tom St Denis' "Cryptography for Developers" may be for you.

The book's writing is clear and focused, not surprising given that the author has written before. St Denis makes a good choice to focus on new material for this book, specifically pointing you at other books for a background in cryptography and "bignum" math (very, very large numbers, which require atypical methods to manipulate).

If you're a C code developer, you'll get the material very well. If you're C isn't very strong, or you need the code for another language, you'll probably have some difficulty in making use of it (depending on how skilled you are with C). However, the code is clear and well annotated, so you can make pretty good sense of it pretty quickly.

Chapter 2 starts off with a bang and covers ASN.1 encoding. This is not a very common topic, so this is one of the only places you may find this sort of thing covered well. Right away you can see what you're in for: very clear background info, good use of illustrations, well written code with lots of annotations, and very sharp focus.

Chapter 3 covers random numbers (specifically RNGs and PRNGs). While you'll want to complement this with something like the CRC Applied Crypto chapters on random numbers, you'll get a pretty good idea of how to gather and make use of random numbers. One probem I noticed here was that notes that Yarrow and Fortuna are RNGs but later (and, I believe, correctly) states that they are PRNG algorithms. Overall, though, a good treatment of the topic and a discussion of where to use random numbers, how to test them, the limits of the tests, and what pitfalls to watch out for.

Chapter 4 is really one of the meaty chapters and covers AES very in depth. Many of the concepts covered here are reused in other chapters, so make sure you get this one under your belt.

Chapters 5 and 6 cover hash functions and message authentication code algorithms, respectively. Again, great treatment of a limited subset of the algorithms out there and very good discussions about the myths, truths, and appropriate uses of the algorithms. Very good, useful insights all around.

Chapter 7 covers encryption and authentication modes, providing you with code that starts to really put it all together.

Chapter 8 covers large integer arithmatic, but also states that it's no replacement for St Denis' other book on BigNum math. Another very useful topic covered here somewhat looks at optimizations and how to make efficient code. Again, valuable insights that you can apple to other topics.

Chapter 9 covers public key algorithms, but sadly doesn't give much code. This is a disappointment and unexpected, given how much code is in the rest of the book. Perhaps it was a length consideration or by design, I don't know.

I'm not a cryptographer, so I can't attest to the veracity of the code. I didn't spot any obvious errors in the code design or use, however. Finally, this book wont replace Applied Crypto (either the Schneier or the CRC tomes), you'll want to use this book in tandem with those volumes. So few algorithms are covered that you'll really want to have studied those first before you can make full use of this volume.

Finally, one other thing that's missing is a unified set of links and references. He would have benefitted the reader had he done so, because so much material is covered and referenced.

St Denis has produced a clear, focused volume that's well organized. If you want to go from algorithm outlines to implementations, this is the book to work with. The quality of the writing and production is higher than many other Syngress books, and that's much appreciated.
0 of 2 people found the following review helpful
HASH(0xa5db5bb8) out of 5 stars learning the cryptography Jan. 21 2010
By Triolo Giuseppe - Published on
Format: Paperback Verified Purchase
This book is really good for who want to learn cryptography is ease to understand and there is the source code inside so you can understand how to implement it a crypto alghorithm i suggest this book for everyone want to lern how the crpto algo are working .
1 of 4 people found the following review helpful
HASH(0xa5db5e94) out of 5 stars Good Software Cryptography Book July 11 2007
By Dan McKinnon - Published on
Format: Paperback
With 'Cryptography for Developers' by Tom St Denis I am not even going to try and pretend that I am an expert in this field. Written with software developers in mind, this book is a complex look at how software cryptography algorithms are designed and developed. With 400 pages of material contained within and a solid look at the source content, this is a great book for a niche field/market. If you are interested in software cryptography or do it for a job, you will no doubt find this to be a fascinating read.

0 of 3 people found the following review helpful
HASH(0xa5dba3d8) out of 5 stars An excellent survey recommended for any college-level computer library. Feb. 3 2007
By Midwest Book Review - Published on
Format: Paperback
Cryptography for Developers deserves ongoing recommendation as a basic text - the only one written for software developers - probing the foundations of cryptography. Here are details covering message authentication codes, encryption models, public key cryptography, and more that discuss and provide examples of cryptographic goals and security measures. Any software developer serious about security must have this.
2 of 7 people found the following review helpful
HASH(0xa5dba3f0) out of 5 stars It's lacking in implementation April 9 2010
By A. Hughes - Published on
Format: Paperback
I picked up this book with the hopes of being able to understand the algorithms behind commonly used cryptography. Sadly this book alone is *not* enough, you will need other sources if you plan to understand the details.

- Gives very decent explanations of the concepts at a high level (and semi low level)
- Uses lots of "why would you want/need to do this" type of examples

- You will *see* source code snippets throughout the text. But alas they are just that. Why not provide complete code!?!?! Luckily you can download other peoples source code but it won't *sync up* with the snippets of the authors or align with his explanations.
- At first glance it *seems* like all the info is given, but it is not. Example, for the RSA key generation in Ch.9, he explains how to generate the public modulus, private exponent and so on, but *not* how to generate the public exponent. How completely USELESS IS THAT? It's like giving somebody a car without wheels. Again,you can find this by searching the web (but you shouldn't have to)

So it is a strange book to read in that *it seems* like it's leading you down the correct hallway, only to find the door locked at the end. For a book on cryptography (secrets/encryption) it's ironic that some important and basic information is left out.

So this book is a pretty good start, but it's not the final book you will buy (but it could have been).

What this book needs to do to be better is simple
** List complete source code at the end of the book (or online) that syncs up with the chapters explanations, in the manner that there should be a single file called "md5.c" or "" (i.e. perl) that is very wordy and has comments like "here we are exponentiating the message" as mentioned in section blah of chapter blah. The program(s) should be simply called like "md5 input.txt output.hex". Done and done!

I also think a chapter should be devoted to openssl, how to use it to generate keys and certificates. AND I'm talking about the actual commands from start to finish.

So to sum up this book in a single word: INCOMPLETE.