Passport for Linux On the Way
mrsam writes "PCWorld reports that
Microsoft comissioned
Ready-to-Run Software,
a small software vendor,
to port the Passport server software
to Solaris, Red Hat Linux, AIX, and HPUX. Oh, joy."
← Back to Stories (view on slashdot.org)
So, Microsoft uses this:
C = 983830091
for their ciphertext value in assigning variables.
They then change plaintext to integers via this method:
a -> 01, b -> 02, c -> 03, z -> 26
Then the Passport system uses simple RSA methods with the public key(e,N):
e = 7; N = 2651733127
Any old bloke can now decrypt the encrpted message to find the original plaintext, a string of English letters.
To decrypt, all you need to find is the private exponent d. This isn't incredibly hard to do; just factor it with any microcomputer:
N = 71593 * 37039 = p*q
Note that both of the factors are prime.
Then, M = phi(N) = (p-1) * (q-1) = 2651624496.
Now find d such that
e*d = 1 mod M.
That is,
7*d = 1 mod 2651624496
It's now just "a walk in the park" from here, something my six-year old child could deduce in a few minutes with a notepad and a Crayon(TM), perhaps:
gcd(7, 2651624496).
2651624496 = 7*378803499 + 3
7 = 3*2 + 1
3 = 1*3 + 0
1 = 7 - 2*3
= 7 - 2*(2651624496 - 7*378803499)
= 7*757606999 - 2*2651624496
7*757606999 - 2*2651624496 = 1
7*757606999 = 1 mod 2651624496
d = 757606999
C^d mod N = 983830091^757606999 mod 2651733127
The answer is 211911, but you probably figured that out in your head by now. Oh well, let me go check if there's any nitrous left for this afternoon.
Happy cracking!
Department of Physics and Atmospheric Science, Dalhousie University, Halifax, N.S., Canada, B3H 3J5