RSA is an algorithm for public-key cryptography that is based on the presumed difficulty of factoring large integers, the factoring problem