Pro Cryptography and Cryptanalysis with C++23: Creating and Programming Advanced Algorithms 2nd edition by Marius Iulian Mihailescu, Stefania Loredana Nita – Ebook PDF Instant Download/DeliveryISBN: 1484294491, 978-1484294499
Full download Pro Cryptography and Cryptanalysis with C++23: Creating and Programming Advanced Algorithms 2nd edition after payment.
Product details:
ISBN-10 : 1484294491
ISBN-13 : 978-1484294499
Author: Marius Iulian Mihailescu, Stefania Loredana Nita
Develop strong skills for writing cryptographic algorithms and security schemes/modules using C++23 and its new features. This book will teach you the right methods for writing advanced cryptographic algorithms, such as elliptic curve cryptography algorithms, lattice-based cryptography, searchable encryption, and homomorphic encryption. You’ll also examine internal cryptographic mechanisms and discover common ways in which the algorithms can be implemented and used correctly in practice.
Pro Cryptography and Cryptanalysis with C++23: Creating and Programming Advanced Algorithms 2nd Table of contents:
Part I: Foundations
Chapter 1: Getting Started in Cryptography and Cryptanalysis
Cryptography and Cryptanalysis
Book Structure
Internet Resources
Forums and Newsgroups
Security Protocols and Standards
Cryptography Tools and Resources
Conclusion
References
Chapter 2: Cryptography Fundamentals
Information Security and Cryptography
Cryptography Goals
Cryptographic Primitives
Background of Mathematical Functions
One-to-One, One-Way, and Trapdoor One-Way Functions
One-to-One Functions
One-Way Functions
Trapdoor One-Way Functions
Permutations
Inclusion
Concepts and Basic Terminology
Domains and Codomains Used for Encryption
Encryption and Decryption Transformations
The Participants in the Communication Process
Digital Signatures
Signing Process
Verification Process
Public-Key Cryptography
Hash Functions
Case Studies
Caesar Cipher Implementation in C++23
Vigenére Cipher Implementation in C++23
Conclusion
References
Chapter 3: Mathematical Background and Its Applicability
Probabilities
Conditional Probability
Random Variables
Birthday Problem
Information Theory
Entropy
Number Theory
Integers
Algorithms inℤ
Integers Modulo n
Algorithms ℤm
The Legendre and Jacobi Symbols
Finite Fields
Basic Notions
Polynomials and the Euclidean Algorithm
Case Study 1: Computing the Probability of an Event That Takes Place
Case Study 2: Computing the Probability Distribution
Case Study 3: Computing the Mean of the Probability Distribution
Case Study 4: Computing the Variance
Case Study 5: Computing the Standard Deviation
Case Study 6: Birthday Paradox
Case Study 7: (Extended) Euclidean Algorithm
Case Study 8: Computing the Multiplicative Inverse Under Modulo q
Case Study 9: Chinese Remainder Theorem
Case Study 10: The Legendre Symbol
Conclusion
References
Chapter 4: Large Integer Arithmetic
A Bit of History
What About Cryptography?
Algorithms Used for Large Integer Arithmetic
Subtraction (Subtraction Modulo)
Multiplication
Big Integers
Review of Large Integer Libraries
Conclusion
References
Chapter 5: Floating-Point Arithmetic
Why Floating-Point Arithmetic?
Displaying Floating-Point Numbers
The Range of Floating Points
Floating-Point Precision
Next Level for Floating-Point Arithmetic
Conclusion
References
Chapter 6: New Features in C++23
Headers
The Header
The Header
The Header
Conclusion
References
Chapter 7: Secure Coding Guidelines
Secure Coding Checklist
CERT Coding Standards
Identifiers
Noncompliant Code Examples and Compliant Solutions
Exceptions
Risk Assessment
Automated Detection
Related Guidelines
Rules
Rule 01. Declarations and Initializations (DCL)
Rule 02. Expressions (EXP)
Rule 03. Integers (INT)
Rule 05. Characters and Strings (STR)
Rule 06. Memory Management (MEM)
Rule 07. Input/Output (FIO)
Conclusion
References
Chapter 8: Cryptography Libraries in C/C++23
Overview of Cryptography Libraries
Hash Functions
MD5 Hash Function Overview
Public-Key Cryptography
Elliptic-Curve Cryptography (ECC)
Creating ECDH Keys
OpenSSL
Configuration and Installing OpenSSL
Installing OpenSSL on Windows 32/64
Installing OpenSSL on Linux: Ubuntu Flavor
Botan
CrypTool
Conclusion
References
Part II: Pro Cryptography
Chapter 9: Elliptic-Curve Cryptography
Theoretical Fundamentals
Weierstrass Equation
Group Law
Practical Implementation
Conclusion
References
Chapter 10: Lattice-based Cryptography
Advantages and Disadvantages of Lattice-based Cryptography
Applications of Lattice-based Cryptography
Security of Lattice-based Cryptography
Lattice-based Cryptography and Quantum Computing
Mathematical Background
Example
Conclusion
References
Chapter 11: Searchable Encryption
Components
Entities
Types
Security Characteristics
An Example
Conclusion
References
Chapter 12: Homomorphic Encryption
Full Homomorphic Encryption
A Practical Example of Using FHE
Conclusion
References
Chapter 13: Ring Learning with Errors Cryptography
Mathematical Background
Learning with Errors (LWE)
LWE Search
LWE Decision
Ring Learning with Errors (RLWE)
RLWE Search
RLWE Decision
Practical Implementation
Conclusion
References
Chapter 14: Chaos-based Cryptography
Security Analysis
Chaotic Maps for Plaintexts and Image Encryption
Rössler Attractor
Complex Numbers: A Short Overview
Practical Implementation
Secure Random Number Generator Using Chaos Rössler Attractor
Encrypt and Decrypt Using Chaos and Fractals
Conclusion
References
Chapter 15: Big Data Cryptography
Verifiable Computation
Conclusion
References
Chapter 16: Cloud Computing Cryptography
A Practical Example
Conclusion
References
Part III: Pro Cryptanalysis
Chapter 17: Starting with Cryptanalysis
Part III: Structure
Cryptanalysis Terms
A Bit of Cryptanalysis History
Understanding Cryptanalysis Techniques
Analyzing Cryptographic Algorithms
Cracking Cryptographic Systems
Understanding Cryptographic Systems
Understanding Cryptographic Keys
Understanding Cryptographic Weaknesses
Analyzing Cryptographic Keys
Penetration Tools and Frameworks
Conclusion
References
Chapter 18: Cryptanalysis Attacks and Techniques
Standards
FIPS 140-2, FIPS 140-3, and ISO 15408
Validation of Cryptographic Systems
Cryptanalysis Operations
Classification of Cryptanalytics Attacks
Attacks on Cipher Algorithms
Attacks on Cryptographic Keys
Attacks on Authentication Protocols
Conclusion
References
Chapter 19: Differential and Linear Cryptanalysis
Differential Cryptanalysis
Linear Cryptanalysis
Performing Linear Cryptanalysis
Conclusion
References
Chapter 20: Integral Cryptanalysis
Basic Notions
Theorem 20-1 [1, Theorem 1, p. 114]Theorem 20-2 [1, Theorem 2, p. 114]Practical Approach
Conclusion
References
Chapter 21: Brute-Force and Buffer Overflow Attacks
Brute-Force Attack
Buffer Overflow Attack
Conclusion
References
Chapter 22: Text Characterization
Chi-Squared Statistic
Cryptanalysis Using Monogram, Bigram, and Trigram Frequency Counts
Counting Monograms
Counting Bigrams
Counting Trigrams
Conclusion
References
Chapter 23: Implementation and Practical Approach of Cryptanalysis Methods
Step 1
Step 2
Step 3
Step 4
Ciphertext-Only Attack (COA)
Known-Plaintext Attack (KPA)
Chosen-Plaintext Attack (CPA)
Chosen-Ciphertext Attack (CCA)
Conclusion
References
Index
People also search for Pro Cryptography and Cryptanalysis with C++23: Creating and Programming Advanced Algorithms 2nd:
creating and programming advanced algorithms
r advanced
is advanced algorithms hard
advanced algorithms mit
mastering algorithms with c pdf
Tags:
Marius Iulian Mihailescu,Stefania Loredana Nita,cryptography,cryptanalysis,programming,algorithms