Basically, I'm wondering if interleaved CBC or some other
parallelized cipher method is available in OpenSSL.
No. ... you should look at OpenSSL as multi-thread
safe primitive provider and take care of parallelization in application.
If there is remote possibility that interleaved CBC can be adopted as
approved mode of operation or if there is consensus that it does not
impose extra security risk, then one can discuss implementing an ICBC
*primitive* in OpenSSL. But I'd still expect application to take care of
threading.
Before we devoted anymore time to it I wanted to check to see if it had
been tried and then abandoned for some technical reason we had
overlooked. If anyone is interested in our results I can post them here.
If nobody else expresses interest, feel free to send it to me.
For background - I've found that on the multicore and SMP machines we
have OpenSSL encryption usually ends up pegging one core but leaving
the rest of the machine idle. I was hoping to improve overall
encryption performance by making better use of the CPU resources
available to me.
Keep in mind that message authentication is approximately as CPU
consuming as encryption. In other words one can as well consider
pipe-lining these two operations. I mean having two packets to work on
at every time you can calculate MAC for one packet and encrypt
previous (or vice versa in decrypt case).
We've actually been looking at implementing something similar to this.
I personally would even argue that this should be done first. Point is
that if hash procedure and cipher are in perfect balance (i.e. have same
performance), then parallelizing cipher won't give you overall ~2x
improvement, while pipe-lining would. Cipher has to be a lot slower than
hash in order to provide more overall gain as result of its
parallelization than from pipe-lining. And vice versa, if hash is a lot
slower than cipher then it makes lesser and lesser sense to parallelize
cipher. A.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]