I enrolled for the online
Cryptography I course at
https://www.coursera.org/course/crypto - provided by Stanford University with Prof. Dan Boneh being the lecturer. It started on Monday, but I haven't had the time to go through the videos yet, which I'll have to do tomorrow - Sunday.
I think enrollments are still open, but perhaps not for very long still...
Crypto is very interesting, challenging and a very broad subject, especially if you're going into PKI (public-key infrastructure) like I'm doing software development in.
Most of the fairly new stream cipher and hash algorithms are very difficult (or near impossible) to crack, but due to faulty implementations/use of them make them vulnerable! Like 3DES is still pretty darn secure - but DES was used in a stupid manner in the MS-CHAP v2 protocol, which is being used in WiFi security and PPTP VPNs, making it now possible to crack it in under 24 hours with the right equipment (or by using paid the online service)
So if you're doing this application for educational purposes - by all means go ahead. If you're doing it to sell/distribute your application, then be sure to do some serious research into how to properly use all the algorithms.
Using AES-256, SHA512 hash, a salted password, requiring a strong & long password from the user, getting random user input (like TrueCrypt does with the mouse movements) to improve the entropy/randomness of the key and of course a good pseudo random number generator are just a few things to consider. * Please just take note that I haven't worked much with file encryption at all!
AES encryption also has hardware acceleration support in the newer CPU's.