riv2
CS2:/usr/lib/cgi-bin/mcdaniel/cpp/riv2.cpp
input_string: p=2172197393&q=7014005681 return from parseString tst 2172197393 p = "2172197393"; q = "7014005681"; 10 digits in p 10 digits in q rn 1189286213 n = p*q n = 15235804854755389633 20 digits in n z = (p-1)*(q-1) z 15235804845569186560 20 digits in z d = rand() | greatest_common_divisor(z,d) == 1 d 75447595415686315541 e = a number | e*d % z == 1 e 7818456687722641981 d*e%z 1
msgst =2172197393 11 characters in msgst msg 61050049055050049057055051057051 z 15235804845569186560 n 15235804854755389633 emsg 12043727603766724064 decrypted msg as numbers = 2020368871215607476 decrypted msg = pg×_Ü