25

How can I encrypt and decrypt a file with a 256 key AES in C or C++?

AStopher
  • 4,207
  • 11
  • 50
  • 75
Yannis Assael
  • 1,099
  • 2
  • 20
  • 43

2 Answers2

24

If you are just after AES and do not mind losing flexibility (i.e. you will not replace it with another cryptographic algorithm at some time) then Brian Gladman's AES implementation is a popular choice (both for performance and portability). This is the kind of code which you embed in your own source code.

On the external libraries front, you have plenty of choice, including NSS, OpenSSL, Crypto++... the latter is specifically designed for C++, while the two others are meant for C.

Steffen Funke
  • 2,168
  • 1
  • 21
  • 18
Thomas Pornin
  • 72,986
  • 14
  • 147
  • 189
6

LibTomCrypt I think may be one of the easiest to use. I know so little about this type of work, but I was able to get it up and running fairly quickly. The thing about encryption is not the actual functions, but the flow and what to do with the information as you encrypt and decrypt. That is what makes this type of work hard, not just the fact you can encrypt things.

http://github.com/libtom/libtomcrypt

John Topley
  • 113,588
  • 46
  • 195
  • 237
pcunite
  • 1,197
  • 15
  • 23
  • 2
    Could you write some sentences about this library, e.g. why you recommend it? As it is, your answer is not an answer, and would better be a comment. – Paŭlo Ebermann Sep 07 '11 at 19:55