On Wednesday, March 3, 2004, at 07:18 PM, Richard Gaskin wrote:


For example, we hear about 128-bit encryption, but I couldn't find a primer dumbed-down enough to explain what that means in lay terms.
I need to see what controls there are for the "MDX" algorithm's passwords length before I can determine the bit level.

Doesn't enforcing password length get into the public key/private key setup?

Not an issue with the "MDX" algorithm. It looks like you can have as long of a password as you want with this. That just adds to the strength the longer it is.


Is there a way to provide stronger encryption with the simplicity of a single password?

Yes. I just added CBC and 16 random initialization vectors to the "MDX" algorithm.


Your description on cypher block chaining was excellent -- thank you.

Thank you for the excellent post. I learned more reading your one-pager than in an hour of prowling the 'Net.

-- Richard Gaskin

Here is more from the beach and I'll send the example as an attachment on to you:


-- all in all, this "MDX" algorithm is very interesting.
-- encrypt
local cbcVecText
put md5digest(pPassword) into tKeyString
put len(tKeyString) into tKeyStringLen
--
---- new for CBC ----
-- adds 16 random chars to pad the front of pData
put"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,1,2,3,4,5,6,7,8, 9,0" into xBx
put "" into zink
repeat with i = 1 to 16
put random(36) into dipc
put item dipc of xBx after zink
end repeat
put zink & pData into pData
---- new for CBC ----


    -- Apply it with Xor to the data one byte at a time:
    put 0 into i
    put empty into tCryptoText

    --- new ---
    put "a" into cbcVecText
    --- new ---
    repeat for each char k in pData
      add 1 to i
      if i > tKeyStringLen then put 1 into i
      put char i of tKeyString into tKeyChar

--- new ---
put numtochar( chartonum(k) bitxor chartonum(tKeyChar)) into bCrypt
put numtochar( chartonum(cbcVecText) bitxor chartonum(bCrypt)) after tCryptoText
put bCrypt into cbcVecText
--- new ---
end repeat


-- decrypt
    local cbcVecText
    put md5digest(pPassword) into tKeyString
    put len(tKeyString) into tKeyStringLen
    --
    -- Apply it with Xor to the data one byte at a time:
    put 0 into i
    put empty into tClearText

    --- new ---
    put "a" into cbcVecText
    --- new ---
    repeat for each char k in pData
      add 1 to i
      if i > tKeyStringLen then put 1 into i
      put char i of tKeyString into tKeyChar

--- new ---
put numtochar( chartonum(cbcVecText) bitxor chartonum(k)) into bCrypt
put bCrypt into cbcVecText
put numtochar( chartonum(cbcVecText) bitxor chartonum(tKeyChar)) after tClearText
--- new ---
end repeat
put tClearText into pData
--- new ---
-- delete char 1 to 16 of pData at some point
--- new ---


Hope you like this,
Mark

_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to