GPU Assisted Brute Force Cryptanalysis of GPRS, GSM, RFID, and TETRA
Konu özeti
-
Course Title: GPU Assisted Brute Force Cryptanalysis of GPRS, GSM, RFID, and TETRA
Language: English
Workload: 3 hours total
Topic: Cryptography
Overview: This course explains GPU optimizations of KASUMI, SPECK, and TEA3 ciphers on GPUs. Since these ciphers use short keys, this course shows that it is practical to break any GSM/GPRS (2G) and TETRA communications.
This course first provides the theory of block ciphers and stream ciphers. The three common techniques to implement a symmetric encryption algorithm are as follows: Straightforward, table-based, and bitsliced. This course teaches how to implement KASUMI block cipher (used in 2G and 3G), TEA3 stream cipher (used in TETRA), and SPECK block cipher (part of ISO standard for RFID communication) using the C and CUDA languages. Then it teaches how to optimize these ciphers on GPUs to perform exhaustive key search attacks on them.
Course Description: This course explains GPU optimizations of KASUMI, SPECK, and TEA3 ciphers on GPUs. Since these ciphers use short keys, this course shows that it is practical to break any GSM/GPRS (2G) and TETRA communications by performing brute-force (exhaustive key search) attacks.
Course Contents: Block Ciphers, Stream Ciphers, GPU Optimization
Course Overview
Block and Stream Ciphers
- Lesson 1: Introduction to Block Ciphers (17 minutes)
- Lesson 2: Introduction to Stream Ciphers (13 minutes)
- Lesson 3: KASUMI Block Cipher (11 minutes)
- Lesson 4: SPECK Block Cipher (7 minutes)
- Lesson 5: TEA Stream Ciphers (8 minutes)
CUDA Optimizations of KASUMI, SPECK, and TEA3
- Lesson 6: CUDA Implementation Techniques for Ciphers (21 minutes)
- Lesson 7: CUDA Optimization of KASUMI (13 minutes)
- Lesson 8: CUDA Optimization of SPECK (9 minutes)
- Lesson 9: CUDA Optimization of TEA3 (10 minutes)
- Lesson 10: Summary of GPU Performance of Ciphers (11 minutes)
Who Should Enroll: Anyone who wishes to understand the basic principles of block and stream ciphers and their GPU optimizations.
Prerequisites:
- General understanding of cryptography concepts and principles
- Basic programming skills in C and CUDA
Learning Objectives: By participating in this course, you will learn:
- Fundamental Concepts in Symmetric Cryptography
- Implementation of Cryptographic Algorithms
- Performance Optimization of Block and Stream Ciphers on GPUs
About the instructor: Assoc. Prof. Cihangir Tezcan received his BSc degree in Mathematics and MSc and PhD degrees in Cryptography from Middle East Technical University (METU). He is currently the head of Department of Cyber Security and the director of Cyber Defense and Security Research Center in METU. Before joining METU, he was a teaching assistant at École Polytechnique Fédérale de Lausanne (EPFL) during his PhD studies and post-doctoral researcher at Ruhr-Universität Bochum (RUB).
https://avesis.metu.edu.tr/cihangir
- Lesson 1: Introduction to Block Ciphers (17 minutes)
-
1. What is the main difference between block ciphers and stream ciphers? Block ciphers use a fixed transformation. Stream ciphers have an internal state that results in time-varying transformation.
2. What is the key length that is used in 2G communications? 64-bit
3. What are the three common techniques to implement block ciphers on GPU? Straightforward, table-based, and bitsliced.