Wouldn't enabling AES-NI during the encryption/decryption process make it run faster?
So even if I'm just running the openssl command-line executable, processing those files with AES-NI enabled (via '-engine aesni') would be faster than if I left that part out? (I'm still a little fuzzy as to whether I would need '-evp' when I use '-engine aesni' or if they work independent of each other.) The man pages doesn't say anything about that (at least not on the man pages online @ openssl.org). On Wed, Mar 13, 2013 at 1:31 PM, Erwann Abalea <erwann.aba...@keynectis.com> wrote: > If what you want is simply encrypt and decrypt files using command-line > openssl executable, then you don't need to play with engine or evp options. > "openssl enc" uses the EVP interface, which in turn will make use of AES-NI > instructions if available (or SSE3, SSE2, SSE, anything available on the > runtime platform to speed it up). > > -- > Erwann ABALEA > > Le 13/03/2013 18:07, Ewen Chan a écrit : > >> Yea, I've tried reading the man pages, but it doesn't list all of the >> options available on there (which would tend to indicate that it is a >> little behind compared to the development and released versions of >> OpenSSL). >> >> Do you need the '-evp' flag to use '-engine aesni' or they operate >> independent of each other? >> >> And if I'm not planning on coding with the OpenSSL library, but rather >> just using it to encrypt/decrypt files on my system; then I don't need >> the '-evp' flag correct? >> >> On Wed, Mar 13, 2013 at 12:56 PM, Erwann Abalea >> <erwann.aba...@keynectis.com> wrote: >>> >>> Le 13/03/2013 17:17, Ewen Chan a écrit : >>> >>>> I'm quite new to openSSL and AES and cryptography as a whole, so >>>> please forgive my "stupid" questions. >>> >>> >>> You then may start by reading the different manpages, then. OpenSSL is a >>> large beast, and you won't do anything useful without reading. >>> >>> >>>> I've read that because of the way that the AES-CBC works that it >>>> depends on the result from the previous round in order to encrypt the >>>> current round that it is inherently not well suited for >>>> parallelization; which I am then guessing that it is very possible >>>> that it would run (a LOT) slower on GPGPU than it would on an AES-NI >>>> enabled CPU. Would that be a fair and safe assumption? >>> >>> >>> That's right. >>> You can achieve better performance with CTR mode, for example. But even >>> there, I doubt you can beat AES-NI. >>> >>> >>>> I'm also looking online and through the man pages and it seems like >>>> that people are invoking the aesni by using the command: >>>> >>>> openssl -engine aesni -evp aes-256-cbc ... >>>> >>>> what's the '-evp' flag for? >>> >>> >>> It means "use the EVP interface". EVP is a higher level interface to >>> cryptographic primitives. In the case of AES, it can make use of AES-NI >>> instructions if available. That's useful only if you plan to code using >>> the >>> OpenSSL library. >>> >>> >>>> On Wed, Mar 13, 2013 at 12:12 PM, Erwann Abalea >>>> <erwann.aba...@keynectis.com> wrote: >>>>> >>>>> GPGPU isn't natively supported. You can write your own engine if you >>>>> want, >>>>> but I think memory transfers will dominate the cost. >>>>> AES-NI is natively supported (I get about 550MB/s on my i5 M540 @2.53 >>>>> GHz >>>>> for 8k blocks). >>>>> >>>>> -- >>>>> Erwann ABALEA >>>>> >>>>> Le 13/03/2013 16:49, Ewen Chan a écrit : >>>>>> >>>>>> Would it be faster to encrypt/decrypt AES-256-CBC with an AES-NI >>>>>> enabled CPU or would it faster do it with a GPGPU? >>>>>> >>>>>> Does OpenSSL even support GPU acceleration? >>>>>> >>>>>> On Wed, Mar 13, 2013 at 11:44 AM, Ewen Chan <chan.e...@gmail.com> >>>>>> wrote: >>>>>>> >>>>>>> Thanks. >>>>>>> >>>>>>> On Wed, Mar 13, 2013 at 10:56 AM, Erwann Abalea >>>>>>> <erwann.aba...@keynectis.com> wrote: >>>>>>>> >>>>>>>> The algorithm "Rijndael" has some knobs you can turn to tune. >>>>>>>> The standard "AES" has these parameters fixed in stone. >>>>>>>> >>>>>>>> AES-192 is effectively "less secure" than AES-256 because of the key >>>>>>>> length >>>>>>>> and number of rounds. >>>>>>>> But "less secure" may be "secure enough". In fact, AES-128 is secure >>>>>>>> enough >>>>>>>> for most uses. >>>>>>>> Number of rounds is important for AES security as it is for any >>>>>>>> other >>>>>>>> algorithm (think about attacks on reduced-rounds AES/SHA/whatever). >>>>>>>> >>>>>>>> -- >>>>>>>> Erwann ABALEA >>>>>>>> >>>>>>>> Le 13/03/2013 15:31, Ewen Chan a écrit : >>>>>>>> >>>>>>>>> So the algorithms include the number of rounds? I thought that it >>>>>>>>> would only describe the math process and that it would be >>>>>>>>> independent >>>>>>>>> of the number of rounds (so long as you meed Rijndael's "minimum" - >>>>>>>>> which is what the current number of rounds is set/default as). >>>>>>>>> >>>>>>>>> I did not know that. Hmmm....thanks. >>>>>>>>> >>>>>>>>> Does this mean that a AES-192-CBC is less secure than an >>>>>>>>> AES-256-CBC >>>>>>>>> because of the key length and the number of rounds associated with >>>>>>>>> that; or am I understanding that wrong - that the number of rounds >>>>>>>>> has >>>>>>>>> less-so to do with the security of the algorithm compared to the >>>>>>>>> key >>>>>>>>> length? >>>>>>>>> >>>>>>>>> On Wed, Mar 13, 2013 at 10:24 AM, Erwann Abalea >>>>>>>>> <erwann.aba...@keynectis.com> wrote: >>>>>>>>>> >>>>>>>>>> If you change the number of rounds, then it's not AES anymore, but >>>>>>>>>> a >>>>>>>>>> custom >>>>>>>>>> Rijndael. >>>>>>>>>> Reading the source code, it appears there's no support for that in >>>>>>>>>> OpenSSL >>>>>>>>>> (and poking inside an AES_KEY to change the number of rounds >>>>>>>>>> probably >>>>>>>>>> won't >>>>>>>>>> work). >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Erwann ABALEA >>>>>>>>>> >>>>>>>>>> Le 13/03/2013 14:32, Ewen Chan a écrit : >>>>>>>>>> >>>>>>>>>>> There's a file that I want to encrypt using AES-192-CBC but with >>>>>>>>>>> 19 >>>>>>>>>>> rounds rather than the default 12-rounds. >>>>>>>>>>> >>>>>>>>>>> Is there a way for me to specify the number of rounds that I >>>>>>>>>>> would >>>>>>>>>>> like to use with the AES-192-CBC? (and override the algorithm >>>>>>>>>>> defaults)? >>>>>>>>>>> >>>>>>>>>>> Is that something that I can within the openssl command itself >>>>>>>>>>> (to >>>>>>>>>>> encrypt a file) or is the process much more involved than that? >>>>>>>>>>> And >>>>>>>>>>> requires programming/scripting? >>>>>>>>>> >>>>>>>>>> >>>>>> ______________________________________________________________________ >>>>>> OpenSSL Project http://www.openssl.org >>>>>> User Support Mailing List openssl-users@openssl.org >>>>>> Automated List Manager majord...@openssl.org >>>>>> > ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org