وبلاگ بلیان

Cryptography for Developers

معرفی کتاب «Cryptography for Developers» نوشتهٔ Tom St Denis, Simon Johnson، منتشرشده توسط نشر Syngress Publishing در سال 2007. این کتاب در 8 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «Cryptography for Developers» در دستهٔ بدون دسته‌بندی قرار دارد.

Developers tasked with security problems are often not cryptographers themselves. They are bright people who, with careful guidance, can implement secure cryptosystems. This book will guide developers in their journey towards solving cryptographic problems. If you have ever asked yourself "just how do I setup AES?" then this text is for you.# ASN.1 Encoding The chapter on ASN.1 encoding delivers a treatment of the Abstract Syntax Notation One (ASN.1) encoding rules for data elements such as strings, binary strings, integers, dates and times, and sets and sequences.# Random Number Generation This chapter discusses the design and construction of standard random number generators (RNGs) such as those specified by NIST.# Advanced Encryption Standard This chapter discusses the AES block cipher design, implementation trade-offs, side channel hazards, and modes of use. It concentrates on the key design elements important to implementers and how to exploit them in various trade-off conditions.# Hash Functions This chapter discusses collision resistance, provides examples of exploits, and concludes with known incorrect usage patterns.# Message Authentication Code Algorithms This chapter discusses the HMAC and CMAC Message Authentication Code (MAC) algorithms, which are constructed from hash and cipher functions.# Encrypt and Authenticate Modes This chapter discusses the IEEE and NIST encrypt and authenticate modes GCM and CCM. Both modes introduce new concepts to cryptographic functions. Focus is given to the concept of replay attacks, and initialization techniques are explored in depth.# Large Integer Arithmetic This chapter discusses the techniques behind manipulating large integers such as those used in public key algorithms.# Public Key Algorithms This chapter introduces public key cryptography, including the RSA algorithm and its related PKCS #1 padding schemes. It also introduces new math in the form of various elliptic curve point multipliers. Implementing cryptography requires integers of significant magnitude to resist cryptanalytic attacks. Modern programming languages only provide support for integers which are relatively small and single precision. The purpose of this text is to instruct the reader regarding how to implement efficient multiple precision algorithms.

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.

* Complete coverage of Karatsuba Multiplication, the Barrett Algorithm, Toom-Cook 3-Way Multiplication, and More

* Tom St Denis is the developer of the industry standard cryptographic suite of tools called LibTom.

* This book provides step-by-step exercises to enforce concepts Implementing cryptography requires integers of significant magnitude to resist cryptanalytic attacks. Modern programming languages only provide support for integers which are relatively small and single precision. The purpose of this text is to instruct the reader regarding how to implement efficient multiple precision algorithms. 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 practitioner who needs a reference for any of the algorithms documented within. * Complete coverage of Karatsuba Multiplication, the Barrett Algorithm, Toom-Cook 3-Way Multiplication, and More * Tom St Denis is the developer of the industry standard cryptographic suite of tools called LibTom. * This book provides step-by-step exercises to enforce concepts Cover 1 Contents 10 Preface 20 Chapter 1 Introduction 24 Introduction 25 Threat Models 26 What Is Cryptography? 27 Asset Management 34 Common Wisdom 36 Developer Tools 38 Chapter 2 ASN.1 Encoding 44 Overview of ASN.1 45 ASN.1 Syntax 46 ASN.1 Data Types 51 Implementation 65 Putting It All Together 106 Chapter 3 Random Number Generation 114 Introduction 115 Measuring Entropy 117 How Bad Can It Be? 121 RNG Design 121 PRNG Algorithms 138 Putting It All Together 154 Chapter 4 Advanced Encryption Standard 162 Introduction 163 Implementation 179 Practical Attacks 204 Chaining Modes 209 Putting It All Together 216 Chapter 5 Hash Functions 226 Introduction 227 Designs of SHS and Implementation 230 PKCS #5 Key Derivation 259 Putting It All Together 261 Chapter 6 Message - Authentication Code Algorithms 274 Introduction 275 Security Guidelines 276 Standards 277 Cipher Message Authentication Code 278 Hash Message Authentication Code 290 Putting It All Together 298 Chapter 7 Encrypt and Authenticate Modes 320 Introduction 321 Design and Implementation 322 Putting It All Together 361 Chapter 8 Large Integer Arithmetic 372 Introduction 373 What Are BigNums? 373 The Algorithms 374 Putting It All Together 397 Chapter 9 Public Key Algorithms 402 Introduction 403 Goals of Public Key Cryptography 403 RSA Public Key Cryptography 405 Elliptic Curve Cryptography 414 Putting It All Together 425 Index 432 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.

* 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 This is 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. The author is the developer of the industry standard cryptographic suite of tools called LibTom and is 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 The only guide for software developers who must learn and implement cryptography safely and cost effectively. Cryptography for Developers 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. 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 Implementing cryptography requires integers of significant magnitude to resist cryptanalytic attacks. Modern programming languages only provide support for integers which are relatively small. Introducing the reader to the concept of bignum algorithms, this book shows how efficient multiple precision algorithms can be implemented.
دانلود کتاب Cryptography for Developers