Factoring as a Service

The Factoring as a Service project is designed to allow anyone to factor 512-bit integers in as little as four hours using the Amazon EC2 platform for less than $100, with minimal setup.

Our paper describes the project in detail and surveys current use of 512-bit RSA.

Source code is available on Github for anyone to run from their own Amazon account or adapt to other cloud providers.

We use:

  • the CADO-NFS and Msieve implementations of the number field sieve factoring algorithm
  • Ansible to launch and configure EC2 instances
  • Slurm to handle job distribution.
Anecdotally, CADO-NFS or Msieve run out of the box can factor a 512-bit integer in less than a day on EC2; our scripts set up a nicely configured cluster, use modern tools to make the parallel computation more reliable, and make use of computational tradeoffs for larger cluster sizes.

An early version of this project was used in a proof of concept demonstration of the FREAK downgrade attack for TLS.

Project development and data analysis were done by Luke Valenta, Shaanan Cohney, Alex Liao, Joshua Fried, Satya Bodduluri, and Nadia Heninger at the University of Pennsylvania. This page updated October 15, 2015.