I believe that I have solved the hard version of cipher 5. It took me
awhile to factor n but I finally did so using PARI/GP. I then used the RSA
Java Tools program by Thomas Long to find d and I used the CAP program to
convert the ASCII code to characters. Hopefully I am one of the first
solvers.
---------------------------
I used the factor tool provide, to calculate p and q. Then I used the RSA
JAVA tool to decrypt, then used a javascript tool, to convert to printable
ascii. (http://www.vortex.prodigynet.co.uk/misc/ascii_conv.html)
---------------------------
I used the Java Pollard's rho file, but it ran for 12 hours and never
stopped, so in frustration, I found a Java applet on the internet
that factored the number in 5 minutes. Then I used the program
provided to do the decryption of the enrypted values, and then
wrote a short c++ program to turn the numbers into letters
---------------------------
I used ggnfs on my 1.6 GHz laptop and it took
about 45 hours. Once I had the factors, I used Michael Gurski's RSA
program to decrypt the ciphertext.
----------------------------
I wrote a program to translate the
result to ascii, as the one used by a student in the student
responses section didn't work too well for me.
Here is the code:
/*************
* translate.c
* Compile: gcc translate.c -o translate
* Usage: translate < >
*************/
#include
int main(int argc, char *argv[]) {
char ch, curChar = 0;
while(ch != EOF) {
ch = getchar();
if(ch >= '0' && ch <= '9') {
curChar *= 10;
curChar += ch - '0';
}
if(curChar * 10 > 127) { /* If the number will be non-standard
English, do not print it */
printf("%c", curChar);
curChar = 0;
}
}
return 0;
----------------------------------------------
Used Maple and found it to be too slow.
I then used PARI/GP (a Unix math program) and it factored N very quickly.
---------------------------------------------
I used msieve to factor n, resulting in:xxxx
and taking 5 hours, 6 minutes to complete.
-----------------------------------------------
I used an 2.4 GHz Core 2 Duo iMac with 1 GB of RAM. It only ran on one core
though, I assume it's a single-threaded program. (msieve)
-----------------------------------------------
I discovered msieve Thurs. night when I googled "Open source magma." I
couldn't figure out how to get it to run until Sat. though because I'm
very computer illiterate.
I used "RSA.java" to find M. This is the program you provided with the
link "RSA Java Tools."
To convert the big body of numbers to ASCII characters I used this website:
http://www.vortex.prodigynet.co.uk/misc/ascii_conv.html
-----------------------------------------------------------------
Used a math program called magma which uses the general number field
sieve to factor.
-----------------------------------------------------------------
Time Spent: 13hr+ (not sure... around 7pm 4/7 til 855am 4/8 )
method:
Use msieve from the second link. After the long long time the log file
will tell the p and q. Then, use the RSA.java to decryp the cipher. The
output is ACSII code. I wrote the program to convert all ACSII to text
again.
I attach the acs2 converter and the msieve.log with this email.
Tools:
http://www.cs.umbc.edu/~stephens/crypto/CIPHERS/RSA.java
http://www.boo.net/~jasonp/qs.html
-------------------------------------------------------------