We use asymmetric encryption mainly to safely send the symmetric key from one person to another. Once both sides have the same symmetric key, they switch to faster symmetric encryption to send actual data.
RSA is a method for encrypting data using two keys: one to lock (encrypt) and another to unlock (decrypt) it, relying on the difficulty of factoring large number.
RSA is based on the mathematically difficult problem of factoring a large number. Multiplying two large prime numbers is a straightforward operation; however, finding the factors of a huge number takes much more computing power.
It’s simple to multiply two prime numbers together even on paper, say 113 × 127 = 14351. Even for larger prime numbers, it would still be a feasible job, even by hand. Consider the following numeric example:
You need to know the main variables for RSA in CTFs: p, q, m, n, e, d, and c. As per our numerical example: