mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
Experimental code to improve AES performance. Got about 25% on ia32.
This commit is contained in:
parent
2e38eab93c
commit
0a3eda24ee
3 changed files with 76 additions and 1 deletions
|
@ -536,7 +536,25 @@ do_cfb_encrypt( CIPHER_HANDLE c, byte *outbuf, byte *inbuf, unsigned nbytes )
|
|||
*outbuf++ = (*ivp++ ^= *inbuf++);
|
||||
}
|
||||
|
||||
/* now we can process complete blocks */
|
||||
/* Now we can process complete blocks. */
|
||||
#if 0
|
||||
/* Experimental code. We may only use this for standard CFB
|
||||
because for Phil's mode we need to save the IV of before the
|
||||
last encryption - we don't want to do this in tghe fasf CFB
|
||||
encryption routine. */
|
||||
if (c->algo == CIPHER_ALGO_AES
|
||||
&& nbytes >= blocksize
|
||||
&& c->mode != CIPHER_MODE_PHILS_CFB) {
|
||||
size_t n;
|
||||
|
||||
memcpy( c->lastiv, c->iv, blocksize );
|
||||
n = (nbytes / blocksize) * blocksize;
|
||||
rijndael_cfb_encrypt (&c->context.c, c->iv, outbuf, inbuf, n);
|
||||
inbuf += n;
|
||||
outbuf += n;
|
||||
nbytes -= n;
|
||||
}
|
||||
#endif
|
||||
while( nbytes >= blocksize ) {
|
||||
int i;
|
||||
/* encrypt the IV (and save the current one) */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue