چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Pro Cryptography and Cryptanalysis with C++20 : Creating and Programming Advanced Algorithms

Oliver Sacks، Marius Iulian Mihailescu,Stefania Loredana Nita (auth.)

قیمت نهایی

۴۹٬۰۰۰ تومان

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

سال انتشار
۲۰۲۱
فرمت
PDF
زبان
انگلیسی
حجم فایل
۱۳ مگابایت
شابک
9780330537179، 0330537172، 9781484265857، 9781484265864، 9781484265871، 1484265858، 1484265866، 1484265874

دربارهٔ کتاب

Develop strong skills and a passion for writing cryptography algorithms and security schemes/modules using C++ 20 and its new features. You will find the right methods of writing advanced cryptographic algorithms (such as, elliptic curve cryptography algorithms, lattice-based cryptography, searchable encryption, and homomorphic encryption), examine internal cryptographic mechanisms, and discover common ways in which the algorithms could be implemented and used correctly in practice. The authors avoid the complexities of the mathematical background by explaining its mathematical basis in terms that a programmer can easily understand. They show how "bad" cryptography creeps in during implementation and what "good" cryptography should look like. They do so by showing and comparing the advantages and disadvantages based on processing time, execution time, and reliability. What You Will Learn Understand where and why cryptography is used and how it gets misused Discover what modern cryptography algorithms and methods are used for Design and implement advanced cryptographic mechanisms See how C++20 and its new features are impacting the future of implementing cryptographic algorithms Practice the basics of public key cryptography, including ECDSA signatures and more Find out how most of the algorithms can be broken Who This Book Is For Professional programmers, developers, and software engineers who are developing cryptography algorithms and security schemes/modules in C++. Prior C++ programming and IDE experience and some basic experience of cryptography concepts (symmetric and asymmetric) highly recommended. Table of Contents 5 About the Authors 13 About the Technical Reviewer 14 Acknowledgments 15 Part I: Foundations 16 Chapter 1: Getting Started in Cryptography and Cryptanalysis 17 Cryptography and Cryptanalysis 18 Book Structure 19 Internet Resources 23 Forums and Newsgroups 24 Standards 25 Conclusion 26 References 27 Chapter 2: Cryptography Fundamentals 29 Information Security and Cryptography 30 Cryptography Goals 33 Cryptographic Primitives 34 Background of Mathematical Functions 36 Functions: One-to-One, One-Way, Trapdoor One-Way 36 One-to-One Functions 38 One-Way Functions 40 Trapdoor One-Way Functions 41 Permutations 42 Involutions 42 Concepts and Basic Terminology 43 Domains and Codomains Used for Encryption 43 Encryption and Decryption Transformations 44 The Participants in the Communication Process 45 Digital Signatures 46 Signing Process 47 Verification Process 47 Public-Key Cryptography 47 Hash Functions 50 Case Studies 67 Caesar Cipher Implementation in C++20 67 Vigenére Cipher Implementation in C++20 69 Conclusions 72 References 72 Chapter 3: Mathematical Background and Its Applicability 78 Preliminaries 79 Conditional Probability 80 Random Variables 81 Birthday Problem 82 Information Theory 83 Entropy 83 Number Theory 84 Integers 84 Algorithms in Z 85 The Integer Modulo n 87 Algorithms Zm 88 The Legendre and Jacobi Symbols 89 Finite Fields 91 Basic Notions 91 Polynomials and the Euclidean Algorithm 92 Case Study 1: Computing the Probability of an Event Taking Place 93 Case Study 2: Computing the Probability Distribution 95 Case Study 3: Computing the Mean of the Probability Distribution 97 Case Study 4: Computing the Variance 98 Case Study 5: Computing the Standard Deviation 100 Case Study 6: Birthday Paradox 102 Case Study 7: (Extended) Euclidean Algorithm 104 Case Study 8: Computing the Multiplicative Inverse Under Modulo q 106 Case Study 9: Chinese Remainder Theorem 109 Case Study 10: The Legendre Symbol 111 Conclusion 114 References 115 Chapter 4: Large Integer Arithmetic 117 Big Integers 118 Big Integer Libraries 124 Conclusion 126 References 126 Chapter 5: Floating-Point Arithmetic 128 Why Floating-Point Arithmetic? 128 Displaying Floating Point Numbers 129 The Range of Floating Point Numbers 130 Floating Point Precision 130 Next Level for Floating-Point Arithmetic 133 Conclusions 134 References 134 Chapter 6: New Features in C++20 136 Feature Testing 136 carries_dependency 136 no_unique_address 138 New Headers in C++20 139 Header 139 Core Language Concepts 139 std::floating_point 140 std::destructible 140 std::integral, std::signed_integral, std::unsigned_integral 140 Comparison Concepts 141 Object Concepts 141 Callable Concepts 141 Header 142 Header 143 Conclusion 144 References 144 Chapter 7: Secure Coding Guidelines 146 Secure Coding Checklist 147 CERT Coding Standards 151 Identifiers 152 Noncompliant Code Examples and Compliant Solutions 152 Exceptions 152 Risk Assessment 153 Automated Detection 154 Related Guidelines 154 Rules 155 Rule 1 - Declarations and Initializations (DCL) 155 Rule 2 - Expressions (EXP) 156 Rule 3 - Integers (INT) 157 Rule 5 - Characters and Strings (STR) 157 Rule 6 - Memory Management (MEM) 158 Rule 7 - Input/Output (FIO) 159 Conclusion 159 References 160 Chapter 8: Cryptography Libraries in C/C++20 162 Overview of Cryptography Libraries 162 Hash Functions 163 MD5 Hash Function Overview 164 Public Key Cryptography 164 Elliptic-Curve Cryptography (ECC) 166 Creating ECDH Keys 167 OpenSSL 169 Configuration and Installing OpenSSL 169 Installing OpenSSL on Windows 32/64 169 Installing OpenSSL on Linux – Ubuntu Flavor 179 Botan 188 CrypTool 188 Conclusion 196 References 197 Part II: Pro Cryptography 198 Chapter 9: Elliptic-Curve Cryptography 199 Theoretical Fundamentals 200 Weierstrass Equation 202 Group Law 204 Practical Implementation 205 Conclusion 232 References 233 Chapter 10: Lattice-Based Cryptography 234 Mathematical Background 234 Example 236 Conclusion 246 References 246 Chapter 11: Searchable Encryption 247 Components 248 Entities 248 Types 249 Security Characteristics 251 An Example 252 Conclusion 263 References 264 Chapter 12: Homomorphic Encryption 267 Fully Homomorphic Encryption 269 Practical Example of Using FHE 271 Conclusion 291 References 291 Chapter 13: Ring Learning with Errors Cryptography 295 Mathematical Background 296 Learning with Errors 296 Ring Learning With Errors 298 Practical Implementation 299 Conclusion 307 References 307 Chapter 14: Chaos-Based Cryptography 310 Security Analysis 313 Chaotic Maps for Plaintexts and Images Encryption 314 Rössler Attractor 315 Complex Numbers – Short Overview 316 Practical Implementation 317 Secure Random Number Generator Using a Chaos Rössler Attractor 319 Cipher Using Chaos and Fractals 326 Conclusion 341 References 341 Chapter 15: Big Data Cryptography 344 Verifiable Computation 348 Conclusion 355 References 356 Chapter 16: Cloud Computing Cryptography 359 A Practical Example 360 Conclusion 366 References 367 Part III: Pro Cryptanalysis 368 Chapter 17: Getting Started with Cryptanalysis 369 Third Part Structure 371 Cryptanalysis Terms 371 A Little Bit of Cryptanalysis History 373 Penetration Tools and Frameworks 375 Conclusion 377 References 378 Chapter 18: Cryptanalysis Attacks and Techniques 380 Standards 380 FIPS 140-2, FIPS 140-3, and ISO 15408 381 Validation of Cryptographic Systems 381 Cryptanalysis Operations 383 Classification of Cryptanalytics Attacks 384 Attacks on Cipher Algorithms 384 Attacks on Cryptographic Keys 386 Attacks on Authentication Protocols 387 Conclusion 388 References 388 Chapter 19: Linear and Differential Cryptanalysis 390 Differential Cryptanalysis 391 Linear Cryptanalysis 399 Performing Linear Cryptanalysis 399 S-Boxes 400 Linear Approximation of S-Box 402 Concatenation of Linear Approximations 402 Assembling Two Variables 402 Conclusion 411 References 411 Chapter 20: Integral Cryptanalysis 413 Basic Notions 413 Practical Approach 415 Conclusion 424 Reference 424 Chapter 21: Brute Force and Buffer Overflow Attacks 425 Brute Force Attack 426 Buffer Overflow Attack 434 Conclusion 436 References 436 Chapter 22: Text Characterization 437 The Chi-Squared Statistic 437 Cryptanalysis Using Monogram, Bigram, and Trigram Frequency Counts 441 Counting Monograms 441 Counting Bigrams 442 Counting Trigrams 445 Conclusion 448 References 448 Chapter 23: Implementation and Practical Approach of Cryptanalysis Methods 449 Ciphertext-Only Attack 452 Known-Plaintext Attack 452 Chosen-Plaintext Attack 453 Chosen-Ciphertext Attack 461 Conclusion 462 References 463 Index 464 Develop strong skills and a passion for writing cryptography algorithms and security schemes/modules using C 20 and its new features. You will find the right methods of writing advanced cryptographic algorithms (such as, elliptic curve cryptography algorithms, lattice-based cryptography, searchable encryption, and homomorphic encryption), examine internal cryptographic mechanisms, and discover common ways in which the algorithms could be implemented and used correctly in practice. The authors avoid the complexities of the mathematical background by explaining its mathematical basis in terms that a programmer can easily understand. They show how “bad” cryptography creeps in during implementation and what “good” cryptography should look like. They do so by showing and comparing the advantages and disadvantages based on processing time, execution time, and reliability. What You Will Learn Understand where and why cryptography is used and how it gets misused Discover what modern cryptography algorithms and methods are used for Design and implement advanced cryptographic mechanisms See how C 20 and its new features are impacting the future of implementing cryptographic algorithms Practice the basics of public key cryptography, including ECDSA signatures and more Find out how most of the algorithms can be broken Who This Book Is For Professional programmers, developers, and software engineers who are developing cryptography algorithms and security schemes/modules in C . Prior C programming and IDE experience and some basic experience of cryptography concepts (symmetric and asymmetric) highly recommended.

قیمت نهایی

۴۹٬۰۰۰ تومان