So I was looking back on a list of project ideas I had in relation to programming and noticed the one I had titled " USB Encryption". Yes , I know that I'm able to get tools that can encrypt my USB for me and require user authentication in order to gain access to the information. But I just thought it would be cool and a good learning experience to program this myself ( if its possible that is ). So here are a few questions I have for all of you veteran programmers and those that might be knowledgeable in this area . Where do I start ? What language do I need to use ? How complicated is this ? what resources do I need ?
C++ pointers, references and Dynamic Memory... oh my :(
Siten0308 - Jul 31 2018 02:08 PM
Recent Blog Entries
Recent Status Updates
- Managed C++
- Visual Basic 4 / 5 / 6
- linked list
- hello world
Posted 13 July 2013 - 06:46 PM
Well, language... whichever you command could do the trick, first question would be: How will your implementation be? meaning, you will encrypt files over existing filesystem or are you going to format the drive your own unknown way?
After that, I would check truecrypt, see how it works, learn the names of the current efficient hashing and encrypting algos, like AES, Serpent, Twofish, etc
then work them out and start trying cascading them... it's not a short list and I'm no expert, but I can help with starting concepts if you want me to.
Posted 13 July 2013 - 09:14 PM
Sure, that would be great. but how advance would you say this task is ?
Posted 14 July 2013 - 02:05 AM
It depends on the degree of focus you are going to give to the application.
If you will to learn and understand everything there's to master about encryption algorithms I will say it's a pretty advanced task, and that it will reward you with beautiful knowledge.
If you are in a hurry to make the software you stated and you will just find out what you need to copy/paste and only learn the minimum about the matter... well it keeps being advanced since you will need to know what to look for but... losing the focus in the specifics of cryptography, in my point of view, reduces a lot both complexity and reward level.
Posted 14 July 2013 - 07:49 AM
Understanding exactly how modern cryptographic algorithms works is going to be difficult.
Implementing cryptographic algorithms is not an easy task either, is very easy to make mistakes if you don't have enough experience with this. Using well known cryptographic libraries, such as libgcrypt, cryptographic routines from OpenSSL, nettle, ... is your best bet.
If you don't know abut cryptography, read this book before thinking to use cryptography in you code:
Edited by xyv123, 14 July 2013 - 07:58 AM.