SHA2 Module

Started by kanen, December 25, 2012, 11:54:16 AM

Previous topic - Next topic

kanen

Has anyone written an SHA2 module or function that doesn't rely on libcrypto?



I have an MD5 hash function that works, but I'm worried about collisions.



Anyone?
. Kanen Flowers http://kanen.me[/url] .

Lutz

#1
You could do a smaller library using those two files:



http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-7/Source/sha2.c?txt">http://www.opensource.apple.com/source/ ... sha2.c?txt">http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-7/Source/sha2.c?txt

http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-7/Source/sha2Priv.h?txt">http://www.opensource.apple.com/source/ ... Priv.h?txt">http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-7/Source/sha2Priv.h?txt



gcc sha2.c -shared -o sha2.dylib



compiles without a problem on OSX to a sha2.dylib of about 29K

kanen

#2
I'm trying to do this in newLisp, so I don't ever have to rely on a an external library.


Quote from: "Lutz"You could do a smaller library using those two files:



http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-7/Source/sha2.c?txt">http://www.opensource.apple.com/source/ ... sha2.c?txt">http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-7/Source/sha2.c?txt

http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-7/Source/sha2Priv.h?txt">http://www.opensource.apple.com/source/ ... Priv.h?txt">http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-7/Source/sha2Priv.h?txt



gcc sha2.c -shared -o sha2.dylib



compiles without a problem on OSX to a sha2.dylib of about 29K
. Kanen Flowers http://kanen.me[/url] .

kanen

#3
I'm basically thinking of porting this link http://www.movable-type.co.uk/scripts/sha256.html">http://www.movable-type.co.uk/scripts/sha256.html to newLisp.



Unfortunately, I'm waist-deep in Android right now...
. Kanen Flowers http://kanen.me[/url] .

hilti

#4
Good idea doing a native newLISP SHA2.



Here's another version written in Common Lisp. Maybe it's another starting point.

http://common-lisp.net/project/clbuild/mirror/ironclad/sha256.lisp">//http://common-lisp.net/project/clbuild/mirror/ironclad/sha256.lisp
--()o Dragonfly web framework for newLISP

http://dragonfly.apptruck.de\">http://dragonfly.apptruck.de