Prev: sphlib-2.1
Next: Keys Made Easier
From: Aditya Kumar on 24 Jun 2010 00:05 Hi, I used to frequent this forum extensively back in 2005, until in 2007 sci.crypt got spammed pretty heavily. Then, my nature of work and job kept me away from the subject for a while and here I am, trying to start to learn again this subject, on my own. My objective is to learn cryptographic algorithms through programming (in C). I am a Java programmer by profession so doing this in C should be interesting. I have not done C programming (I just know the basics) so learning to do this using gcc is also on the objective list. It will be great if someone here can point me to the right direction on how to go about doing this. Thanks, Aditya
From: Dave -Turner on 24 Jun 2010 00:36 Bruce Schneier's 'Applied Cryptography' has a lot of source in C both throughout the book, and with full source code to algorithms at the end
From: Bryan on 24 Jun 2010 07:29 Aditya Kumar wrote: > My objective is to learn cryptographic algorithms through programming > (in C). I am a Java programmer by profession so doing this in C should > be interesting. I have not done C programming (I just know the basics) > so learning to do this using gcc is also on the objective list. > > It will be great if someone here can point me to the right direction > on how to go about doing this. The direction I'd suggest is to prototype the algorithms in Java, the language you know, before implementing them in C. Tackling both C and cryptographic algorithms at once is likely to multiply the difficulties. Furthermore, Java is much better than C at catching mistakes. Avoiding security holes in C is notoriously difficult. The language standard constantly punts to undefined behavior, which means it might do anything. In many real-world cases, C programs have turned control of the running process over to an attacker who devised some malicious input. I think I know C and C++ pretty well, but when I'm faced with an algorithm that's new to me, I prototype in a friendlier language. My choice is Python, and quite a few other cryptographers join me in that. Java is a reasonable choice if you already know it and are set up to efficiently build Java programs, and you might want to look at Jython which merges Java and Python. Down the road, when you think you know C (and/or C++), check out Gimpel Software's "Bug of the Month". http://www.gimpel.com/html/bugs.htm -- --Bryan Olson
|
Pages: 1 Prev: sphlib-2.1 Next: Keys Made Easier |