Skip to content

A RSA number factorizing program with random trial division.

Notifications You must be signed in to change notification settings

YijunYuan/RSAChallenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

#RSA Challenge ##What's it? This program tests RSA numbers with random trial division.

##Is it a joke? Maybe. I'm just boring. You have an extremely small possibility to find the factor of RSA number. However, it seems to be more meaningful to me than lottery.

##Usage This program doesn't provide any GUI, so you should run it from a terminal. Use RSAChallenge --help to see all the options. You must use --rsa=xxx or -r xxxto tell the program that which RSA number is going to be tested. For example, RSAChallenge --rsa=230 means that the program is going to test the RSA-230. If you want to turn on the multi-thread support, you can use --npos=xxx. For example, RSAChallenge --rsa=230 --npos=5 means to test RSA-230 with 5 computing threads. This option has a default value 1.

##Dependencies

  • boost::random
  • boost::program_options
  • boost::multiprecison
  • gmp
  • C++ 11 thread

##Some tips

  • The data of RSA numbers is read from the data folder, so do not change the relative location of the main executable program and all the file in the data folder.
  • You should notice that the actual number of threads of this program equals to the number of threads you provide by--npos=xxx plus one. The reason is that the main thread is not involved in the trial division. That is, if you use --npos=6, then the program will have 7 threads after a short period of time, in which we have 6 computing threads which will do the trial division and the left one to be waiting.

##TODO

  • Add more RSA numbers in the data folder.
  • Add user define number trial division.
  • Add more note in the code.

About

A RSA number factorizing program with random trial division.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages