Description

The only guide for software developers who must learn and implement cryptography safely and cost effectively. The book begins with a chapter that introduces the subject of cryptography to the reader. The second chapter discusses how to implement large integer arithmetic as required by RSA and ECC public key algorithms The subsequent chapters discuss the implementation of symmetric ciphers, one-way hashes, message authentication codes, combined authentication and encryption modes, public key cryptography and finally portable coding practices. Each chapter includes in-depth discussion on memory/size/speed performance trade-offs as well as what cryptographic problems are solved with the specific topics at hand.

Key Features

* The author is the developer of the industry standard cryptographic suite of tools called LibTom * A regular expert speaker at industry conferences and events on this development * The book has a companion Web site with over 300-pages of text on implementing multiple precision arithmetic

Readership

Cryptographers, Computer Scientists working in government and industry, Software developers and programmers

Table of Contents

Acknowledgments

Lead Author

Technical Editor and Coauthor

Preface

Chapter 1: Introduction

Introduction

Threat Models

What Is Cryptography?

Asset Management

Common Wisdom

Developer Tools

Summary

Organization

Chapter 2: ASN.1 Encoding

Overview of ASN.1

ASN.1 Syntax

ASN.1 Data Types

Implementation

Putting It All Together

Chapter 3: Random Number Generation

Introduction

Measuring Entropy

How Bad Can It Be?

RNG Design

PRNG Algorithms

Putting It All Together

Chapter 4: Advanced Encryption Standard

Introduction

Implementation

Practical Attacks

Chaining Modes

Putting It All Together

Chapter 5: Hash Functions

Introduction

Designs of SHS and Implementation

PKCS #5 Key Derivation

Putting It All Together

PKCS #5 Example

Chapter 6: Message - Authentication Code Algorithms

Introduction

Security Guidelines

Standards

Cipher Message Authentication Code

Hash Message Authentication Code

Putting It All Together

Chapter 7: Encrypt and Authenticate Modes

Introduction

Design and Implementation

Putting It All Together

Chapter 8: Large Integer Arithmetic

Introduction

What Are BigNums?

The Algorithms

Putting It All Together

Chapter 9: Public Key Algorithms

Introduction

Goals of Public Key Cryptography

RSA Public Key Cryptography

Elliptic Curve Cryptography

Putting It All Together

Index

Details

No. of pages:
400
Language:
English
Copyright:
© 2006
Published:
Imprint:
Syngress
Print ISBN:
9781597491044
Electronic ISBN:
9780080503455