International Association for Cryptologic Research

International Association
for Cryptologic Research

Transactions on Symmetric Cryptology, Volume 2025

GPU Assisted Brute Force Cryptanalysis of GPRS, GSM, RFID, and TETRA


README

These CUDA Optimizations are used in the ToSC publication GPU Assisted Brute Force Cryptanalysis of GPRS, GSM, RFID, and TETRA - Brute Force Cryptanalysis of KASUMI, SPECK, and TEA3 by Cihangir Tezcan and Gregor Leander.

==== SETUP ====

CUDA_KASUMI

It measures how many seconds it takes for your GPU to perform 2^{41} key trials and this number can be modified inside the code.

Use −maxrregcount = 64 command while compiling to limit the register count to 64. Otherwise you would get too many resources requested for launch error at the run time.

Since our optimizations allow 2^{35.72} keys per second on an RTX 4090, it takes 10.35 years for a single RTX 4090 to break KASUMI-64. Or to break KASUMI-64 in a year, 11 RTX 4090 GPUs are enough.


CUDA_SPECK

It measures how many seconds it takes for your GPU to perform 2^{20 + n} key trials where n is a user input requested at runtime.

We represent k-bit keyed SPECK with r rounds as SPECK-k-r.

On an RTX 4090, we can perform 2^{36.20}, 2^{36.47}, 2^{36.72}, and 2^{35.30} keys/s for SPECK-64-22 SPECK-72-22 SPECK-96-26 SPECK-128-32, respectively.

Since a year has around 2^{24.91} seconds, one needs around 8 RTX 4090 GPUs to break SPECK-64-22 in a year. In order to break SPECK-72-22 in a year, one needs around 1575 RTX 4090 GPUs. And to break SPECK-96-26 in a year, one needs around 22 billion RTX 4090 GPUs. Note that SPECK-96-26 is included in the ISO/IEC 29167-22 RFID air interface standard. Although 22 billion GPUs are a lot, this number is going to reduce when new generation of GPUs like NVIDIA’s 5000 series are announced and produced in 2025. According to our estimates, we expect one would need around 17.5 billion RTX 5090 GPUs to break SPECK-96-26 in a year. Those numbers are by far exceeding today’s practical capabilities. However, they show that devices built today with SPECK-96-26 may not be secure around 2050. Moreover, GPUs are general purpose computing devices and our results also show that if built, dedicated devices can break SPECK-96-26 faster than GPUs and would consume significantly less energy compared to GPUs.


CUDA TEA3

It measures how many seconds it takes for your GPU to perform 2^{18 + n} key trials where n is a user input.

In our optimizations we combined both the straightforward implementation technique and the bitsliced implementation technique. We obtained the best results when we used 32-bit registers and achieved 2^{34.71} key trials per second on an RTX 4090. This is around 160 times faster than our straightforward implementation.

Our best optimizations show that 80-bit key search for TEA3 would require 1.36 million RTX 4090 GPUs to break it in a year.