CUDA Tutorial -- Cryptanalysis of Classical Ciphers Using Modern GPUs and CUDA
Miroslav Dimitrov, Bernhard Esslinger

TL;DR
This tutorial introduces CUDA GPU programming for cryptanalysis, demonstrating how to build tools for attacking classical ciphers with optimized parallel routines and metaheuristics.
Contribution
It provides a comprehensive, interactive guide to developing GPU-based cryptanalysis tools, including implementation, optimization, and design strategies.
Findings
GPU acceleration significantly speeds up cryptanalysis routines
Metaheuristics are crucial for effective cipher attacks
Practical implementation of ciphertext-only attack tools on GPUs
Abstract
CUDA (formerly an abbreviation of Compute Unified Device Architecture) is a parallel computing platform and API model created by Nvidia allowing software developers to use a CUDA-enabled graphics processing unit (GPU) for general purpose processing. This 90-pages tutorial introduces the CUDA concepts in an easy-to-grasp and interactive way with ready-to-run code samples tested on Windows and Linux. Starting from scratch, a complete stand-alone GPU tool is implemented which automatically performs a ciphertext-only attack on ciphertexts encrypted by monoalphabetic substitution and columnar transposition. Throughout this process, you will learn how to architect the tool, what optimizations could significantly accelerate the routines, why the choice of an adequate metaheuristic is critical, and how to draw sketches to enlighten the design process. This tutorial will be incorporated in the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsIntelligence, Security, War Strategy · Cryptographic Implementations and Security
