## CrypTool Book

## Current book version:

"Learning and Experiencing Cryptography with CrypTool and SageMath", Artech House, Jan 2024

## Contents:

1 Ciphers and Attacks against Them

2 P&P and Pre-Computer Ciphers

3 Historical Cryptology

4 Prime Numbers

5 Introduction to Elementary Number Theory with Examples

6 The Mathematical Ideas behind Modern (Asymmetric) Cryptography

7 Hash Functions, Digital Signatures, and PKIs

8 Elliptic-Curve Cryptography (ECC)

9 Foundations of Modern Symmetric Encryption

10 Homomorphic Ciphers

11 Lightweight Introduction to Lattices

12 Solving Discrete Logarithms and Factoring

13 Future Use of Cryptography

APPENDIX A: Software

APPENDIX B: Movies and Fictional Literature with Relation to Cryptography

## BibTeX

```
@book{esslinger-artech-2024,
author = {Bernhard Esslinger},
title = {{Learning and Experiencing Cryptography with CrypTool and SageMath}},
publisher = {{Artech House, Norwood}},
year = {2024},
note = {\url{https://us.artechhouse.com/Learning-and-Experiencing-Cryptography-with-CrypTool-and-SageMath-P2378.aspx}}
}
```

Additional free appendices are:

The book contains many samples. These are written in Python, SageMath, OpenSSL, or they are further explained with one of the CrypTool variants. You can download the SageMath scripts, the OpenSSL scripts, and the text files for the riddles in the lattice chapter.

SageTeX and PythonTeX were used to create the CrypTool book. SageTeX is briefly described in the CTB appendix about 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.

The chapters one and three of the book are available for free (as open access):

Â

There is another chapter, which is offered freely here:

Chapter 14: CUDA Tutorial â€“ Cryptanalysis of Classical Ciphers Using Modern GPUs and CUDA, April 2021

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.