Added cipher acceleration to SILC Accelerator. Added cipher softacc.
authorPekka Riikonen <priikone@silcnet.org>
Thu, 28 Feb 2008 17:50:06 +0000 (19:50 +0200)
committerPekka Riikonen <priikone@silcnet.org>
Thu, 28 Feb 2008 17:50:06 +0000 (19:50 +0200)
The SILC Accelerator API now has silc_acc_cipher to accelerate ciphers.
The accelerators must internally implement the SILC Cipher API.

Added cipher software accelerator.  Cipher accelerator accelerates
ciphers using counter mode by precomputing the CTR key stream in
threads.  Encryption and decryption uses the precomputed key stream
and gets significant speed improvement in the process.  The threads
are reserved from the thread pool and they remain reserved as long
as the cipher is accelerated.

As a queue we use SilcThreadQueue from SRT which handles locking and
waiting automatically and supports multiple pipes for multiple key
streams, so it makes this whole thing very simple.

It can accelerate any cipher but AES is especially optimized.

Split the softacc into several files, own files for cipher and PKCS
acceleration.  Added test programs.


No differences found