LMAO! Hilarious!!! Your nips got hard! OMG, I broke out laughing when I read
that. You definitely have some mad awesome going on Den. 

Thanks for the laugh and thanks for playing with this (you too Leigh), I'm
out of ideas and it’s a bit beyond my comfort zone..

FYI, the original author of that Delphi component is nowhere to be found...

Brook


-----Original Message-----
From: denstar [mailto:valliants...@gmail.com] 
Sent: March-18-11 2:34 PM
To: cf-talk
Subject: Re: Old School CFX (TextCrypt) and RSA Encryption


On Thu, Mar 17, 2011 at 11:52 PM, Leigh wrote:
>
> Cool. I was trying to play around with it, but did not get that far 
> ;-)
>
>> So that is a hex representation of the 512 bit RSA public key.  
>> Theoretically.
>
> Could you print the modulus and exponent parts of the public key
separately? That is what is needed for cf/java.
>
> I am still trying to figure out how they arrived at that original string,
which is supposedly base64 encoded. Maybe seeing the modulus and exponent
parts will help.

I'm thinking you are right in guessing that the base64 routine isn't a
"normal" base64 routine.

The raw data seems to work:

var exponent =
createObject("java","java.math.BigInteger").init("00000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000C355",16);
var modulus =
createObject("java","java.math.BigInteger").init("00000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000BFDF38C9703C07CB68
77A41C4B05F5E03EAFC6579F2263CF686289C13B96CCFE9587F5C9FF2D8787A784D0DD8EE1B7
9CD96BB969611E0E42603EB6E4A23CBE3D",16);
var pubKeySpec = createObject("java",
"java.security.spec.RSAPublicKeySpec").init(modulus,exponent);
var factory =
createObject("java","java.security.KeyFactory").getInstance("RSA");
var keyInstance = factory.generatePublic(pubKeySpec);

But no matter how I played around with it, converting the original "base64"
encoded string didn't come anywhere near that--

OMG!  I had a thought while typing this, and I think I had a revelation.
Remember how the docs mention things being a byte shorter to "speed things
up"?  Yeah.

I just tried dumping the b64 stuff using sun.misc.BASE64Decoder, as a bit of
a sanity check, and I'll be damned if the string wasn't almost what it
should be.  My nips got hard.  By adding a 0, both CF and Sun reported the
same results!

Ex:
<cfdump var="#binaryEncode(binaryDecode('++11Ik','base64'),'base64')#"
label="orig">
string  ++11Ig==
<cfdump var="#binaryEncode(binaryDecode('++11Ik0','base64'),'base64')#"
label="wazero">
string  ++11Ik0=

Closer, neh?

I can freaking smell victory!  I gotta switch gears, but I figured I'd toss
this out there, even though it pains me to be so close
(theoretically) and not to be able to say "SOLVED!".

If I was a selfish person, I'd wait till I figured it out myself, and post
the solution.  I'm a team player though.  The goal isn't personal
awesomeness, or whatever.  Plus, I'm mad awesome already...  ;)

:Den

--
Sin is geographical.
Bertrand Russel



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:343126
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to