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]

Reply via email to