This 90-page chapter covers the basic theory behind lattices in a lightweight fashion. The theory is accompanied with lots of practical examples, SageMath code, and cryptographic challenges. The input data of the challenges is bundled in text files in chal_i_helper.zip.
This 90-page chapter covers a practical introduction how to write CUDA programs on Linux and Windows. It explains what are the concepts, how to overcome problems (threads, shared memory, debugging) and how to deal with trade-offs. The theory is accompanied with practical examples, and two complete stand-alone GPU tools for automatically decrypting ciphertexts (ciphertext-only attack) are implemented. These tools target ciphertexts encrypted by monoalphabetic substitution (MAS) or by single-columnar transposition ciphers.
In this free, 500+ pages book delivered with the CrypTool applications you will find predominantly mathematically oriented information on learning, using and experimenting cryptographic procedures. The 12th edition is a major update of the book.
- The first chapter explains the principles of symmetric and asymmetric encryption, and describes shortly the current decryption records of modern symmetric algorithms. It introduces definitions for their resistibility, and shortly explains the importance of cryptology.
- Because of didactic reasons, the second chapter gives an exhaustive overview about paper and pencil encryption methods.
- Chapter three is dedicated to the fascinating topic of prime numbers.
- In chapter 4, modular arithmetic and elementary number theory are introduced, and applied in many examples including the RSA procedure.
- By reading chapter 5 you will gain an insight into the mathematical ideas and concepts behind modern cryptography.
- Chapter 6 gives an overview about the status of attacks against modern hash algorithms and is then shortly devoted to digital signatures, which are an essential component of e-business applications.
- Chapter 7 describes elliptic curves: Compared to RSA, they provide a very efficient alternative for the hardware based generation of digital signatures.
- Chapter 8 introduces Boolean algebra, which is the foundation for most modern, symmetric encryption algorithms as these operate on bit streams and bit groups. Principal construction methods are described and implemented in SageMath.
- Chapter 9 describes homomorphic crypto functions which got special attention in the course of cloud computing.
- Chapter 10 provides a broad picture and comparison about the currently best algorithms for (a) computing discrete logarithms in various groups, for (b) the status of the factorization problem, and for (c) elliptic curves. This survey was put together as a reaction to a provocative talk at the Black Hat Conference 2013 which caused some uncertainty by incorrectly extrapolating progress at finite fields of small characteristics to the fields used in real world.
- Chapter 11 discusses the threats for existing cryptographic methods and introduces alternative research approaches (post-quantum crypto) to achieve long-term security of cryptographic schemes.
Additionally the appendix contains a list of movies and novels where cryptography plays a role. The appendix also offers a quick overview about the cryptographic functions delivered by the different CrypTool variants.
For many algorithms there are small and executable code samples in Python, SageMath, OpenSSL, or they are further explained with one of the CrypTool variants. You can download the SageMath scripts here. You can download the OpenSSL scripts here.
SageTeX and PythonTeX were used to create the CrypTool book. SageTeX is briefly described in the CTB itself in the appendix to SageMath. For PythonTeX we have described our experiences with many examples in the document PythonTex-by-Examples.pdf (about 60 pages). Both tools can be used to nicely automate calculations in LaTeX documents.