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

  • 4h 30m
  • Marius Iulian Mihailescu, Stefania Loredana Nita
  • Apress
  • 2021

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.

About the Authors

Marius Iulian Mihailescu, PhD is CEO at Dapyx Solution Ltd., a company based in Bucharest, Romania and involved in information security- and cryptography-related research projects. He is a lead guest editor for applied cryptography journals and a reviewer for multiple publications with information security and cryptography profiles. He authored and co-authored more than 30 articles in conference proceedings, 25 articles in journals, and three books. For more than six years he has served as a lecturer at well-known national and international universities (University of Bucharest, “Titu Maiorescu” University, Kadir Has University in, Istanbul, Turkey). He has taught courses on programming languages (C#, Java, C++, Haskell), and object-oriented system analysis and design with UML, graphs, databases, cryptography and information security. He served for three years as IT officer at Royal Caribbean Cruises Ltd. where he dealt with IT infrastructure, data security, and satellite communications systems. He received his PhD in 2014 and his thesis was on applied cryptography over biometrics data. He holds two MSc in information security and software engineering.

Stefania Loredana Nita, PhD is a software developer at the Institute of Computer Science of the Romanian Academy and a PhD with her thesis on advanced cryptographic schemes using searchable encryption and homomorphic encryption. She has served more than two years as an assistant lecturer at the University of Bucharest where she taught courses on subjects such as advanced programming techniques, simulation methods, and operating systems. She has authored and co-authored more than 15 workpapers at conferences and journals, and has authored two books on he Haskell programming language. She is a lead guest editor for special issues on information security and cryptography such as Advanced Cryptography and Its Future: Searchable and Homomorphic Encryption. She holds an MSc in software engineering and two BSc in computer science and mathematics.

In this Book

  • Getting Started in Cryptography and Cryptanalysis
  • Cryptography Fundamentals
  • Mathematical Background and Its Applicability
  • Large Integer Arithmetic
  • Floating-Point Arithmetic
  • New Features in C++20
  • Secure Coding Guidelines
  • Cryptography Libraries in C/C++20
  • Elliptic-Curve Cryptography
  • Lattice-Based Cryptography
  • Searchable Encryption
  • Homomorphic Encryption
  • Ring Learning with Errors Cryptography
  • Chaos-Based Cryptography
  • Big Data Cryptography
  • Cloud Computing Cryptography
  • Getting Started with Cryptanalysis
  • Cryptanalysis Attacks and Techniques
  • Linear and Differential Cryptanalysis
  • Integral Cryptanalysis
  • Brute Force and Buffer Overflow Attacks
  • Text Characterization
  • Implementation and Practical Approach of Cryptanalysis Methods