tags: cryptography

There were many attempts to attack RSA but many of them deemed infeasible:

1. Brute-force attack

Is done by trying every number of d, but d is usually very large number (512, 2048 bits, etc..), so brute-force was deemed infeasible

2. Mathematical attack

It consists of two ways:

  1. calculating which is also infeasible due to n being a really large number and even if Miller Rabin was used to get p and q, false positives can occur due to large number of trials.(maybe)
  2. factoring n to p and q, there were many algorithms used, but we got few recommendations that help benefit the security of the algorithm.

3. Timing Attack

According to the reference, in page 288, the attacker knows which calculations take time, so he observes this iteration if it takes time, then this bit is a 1 else 0.(maybe) The third point is blinding and is found in the reference at page 289.

RSA OAEB Scheme

To protect against chosen cipher text attack, it is better to change M, by padding it with the hash of a random parameters and after the padding the whole block with 0s to get a desired length for the message, this causes the message to have a constant size which also helps in timing attacks. The block is then masked with a mask generation function that generates a mask from a seed, and lastly the seed is masked also but with the masked data block, lastly all of them are added together to an encoded message block and is encrypted. EM includes the padded message, masked by the seed, and the seed, masked by the masked DB. The EM is then encrypted using RSA. According to the DR there is a control part that includes details about the OAEB.