3
$\begingroup$

I was trying to understand the Bleichenbacher-attack. I went through the paper of Bleichenbacher to understand it bit more. However I tried to get some test vectors to simulate this attack locally but couldn't find it.

Can some please help me in getting smaller test vectors so that I can do some hands on?

$\endgroup$
  • 2
    $\begingroup$ At Crypto 2012 Bleichenbacher's attack was improved considerably, one of the authors published a tutorial of the (improved) attack at dsi.unive.it/~focardi/RSA-padding-oracle $\endgroup$ – j.p. Mar 17 at 7:33
3
$\begingroup$

As mentioned by j.p., the original attack has been (quite significantly) improved in 2012 and some great tutorials are available online, often demonstrated with example.

If you want a more exhaustive list of test vectors, I suggest you take a look at Project Wycheproof, a tool developed by members of Google Security Team, designed to find vulnerabilities in cryptographic libraries. The idea behind this project is to use a large database of test vectors allowing to verify primitives conformance and check if they are vulnerable to some well known attacks.

You can find test vectors for RSA PKCS#1v1.5 for different key size (2048, 3072, 4096).

One of the maintainer of this project is Daniel Bleichenbacher himself (also Thai Duong, Emilia Kasper and Quan Nguyen), so test vectors should be valid!

| improve this answer | |
$\endgroup$
2
$\begingroup$

Here is another possibility for learning purposes. You could use the free, open-source elearning program CrypTool 2. In the tab "Crypto Tutorials" there is a section "Attacks on PKCS#1". There you can e.g. perform three steps: generate your RSA key, generate the data block, and generate the signature. In the result, the parts of the structure 00 01 PS 00 HI HD and GG are colored differently so you can dynamically see what happens.

Adjusting the input you can generate your own test data.

Here are two screenshots showing the last two steps: generate the data block, generate the signature

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.