Description
Imagine it’s the fall of 1996, and a team at Bellcore has just announced
an attack that can break RSA keys.
To break an RSA key (n, e, d), they require a pair
(s, s'),
where s = m^d mod n is the correct signature of a message
m, and s' is a faulty signature of the same message,
resulting from a perturbed computation.
Following this announcement, Lenstra devised a similar attack
that only requires knowledge of (m, s'), without access to the
correct signature.
However, these attacks only work if the signature computation is accelerated using the Chinese Remainder Theorem (CRT).
Does avoiding the use of the CRT protect against all attacks that rely solely on the knowledge of a message and a faulty signature?
The documentation of the virtual machine is available on this page.
Files
- docker-compose.yml
-
ceci-n-est-pas-une-bellcore.py
2.24 KiB – 26d59c8a80f50daca0238387cd943de41840f2b0fb4b2d294567369ff87bd725 -
RSA_sign.asm
1.39 KiB – a40a13f20b3b9b810037ea47c0cf3de33d2d095ec2374bc1c2e0a646a490c89a -
assembly.py
20.84 KiB – db186ab7dfb5f5e7f4790f1afc951deda349a8a9565a57b6328da2ba89965525 -
crypto_accelerator.py
5.25 KiB – 1ebb35bacb5781a66565509022235f9a1e47f37273b1d35515af58523b632458 -
machine.py
20.20 KiB – 0d0792ae42774cc0252136201d247d93a8ccc77f66bc11a33269ed5ba530db42 -
machine_faulted.py
499 B – 69a8ec68c3b8c02fd84c56de685ef407c63e5d0c7759d6e2bfb729930f793b30
Author
Challenge Instructions
- First, download docker-compose.yml:
curl https://hackropole.fr/challenges/fcsc2026-hardware-ceci-n-est-pas-une-bellcore/docker-compose.public.yml -o docker-compose.yml - Launch the challenge by executing in the same folder:
docker compose up - Then, in another console, access the challenge with Netcat:
nc localhost 4000
In case you encounter problems, please consult the FAQ.
Flag
Submit your solution
You can submit your writeup for this challenge. Read the FAQ to learn how to proceed.
You need to be logged in to submit a writeup.
Writeups
There are no public solutions for this challenge yet, but you can submit yours after getting the flag.