Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: syssrc/sys



Module Name:    syssrc
Committed By:   tls
Date:           Sun Sep  9 11:01:03 UTC 2001

Modified Files:
        syssrc/sys/arch/i386/conf: files.i386 std.i386
        syssrc/sys/conf: files
        syssrc/sys/crypto/blowfish: bf_enc.c blowfish.h
        syssrc/sys/crypto/des: des.h des_ecb.c des_locl.h des_setkey.c spr.h
        syssrc/sys/netinet6: esp_core.c
Added Files:
        syssrc/sys/crypto/blowfish/arch/i386: bf_cbc.S bf_enc.S bf_enc_586.S
            bf_enc_686.S
        syssrc/sys/crypto/des/arch/i386: des_cbc.S des_enc.S

Log Message:
Add asm versions of blowfish and des transforms for i386.

This also involved updating the in-kernel DES functions to correspond
to the versions in our in-tree OpenSSL, because the des_SPtrans table
has changed; the asm code will not work with the old permutation table!

C and i386 asm code for the DES, 3DES, and Blowfish CBC modes is also
included; it is not currently built as the ESP processing in esp_core.c
splits the CBC operation and the cipher transform apart.  Hopefully that
will be fixed as there is a substantial performance improvement to be had
from doing so.  It will remain necessary to use the C version of the
Blowfish CBC function on some i386 machines, however, as the asm version
uses bswapl, which ony 486 and later processors have.  The DES CBC code
doesn't have this problem.

Finally, change esp_core.c to use the ecb3_encrypt function instead of
calling ecb_encrypt three times; this improves performance a bit, in
particular in the asm case.


To generate a diff of this commit:
cvs rdiff -r1.191 -r1.192 syssrc/sys/arch/i386/conf/files.i386
cvs rdiff -r1.20 -r1.21 syssrc/sys/arch/i386/conf/std.i386
cvs rdiff -r1.455 -r1.456 syssrc/sys/conf/files
cvs rdiff -r1.3 -r1.4 syssrc/sys/crypto/blowfish/bf_enc.c \
    syssrc/sys/crypto/blowfish/blowfish.h
cvs rdiff -r0 -r1.1 syssrc/sys/crypto/blowfish/arch/i386/bf_cbc.S \
    syssrc/sys/crypto/blowfish/arch/i386/bf_enc.S \
    syssrc/sys/crypto/blowfish/arch/i386/bf_enc_586.S \
    syssrc/sys/crypto/blowfish/arch/i386/bf_enc_686.S
cvs rdiff -r1.4 -r1.5 syssrc/sys/crypto/des/des.h
cvs rdiff -r1.3 -r1.4 syssrc/sys/crypto/des/des_ecb.c \
    syssrc/sys/crypto/des/des_locl.h
cvs rdiff -r1.5 -r1.6 syssrc/sys/crypto/des/des_setkey.c
cvs rdiff -r1.1 -r1.2 syssrc/sys/crypto/des/spr.h
cvs rdiff -r0 -r1.1 syssrc/sys/crypto/des/arch/i386/des_cbc.S \
    syssrc/sys/crypto/des/arch/i386/des_enc.S
cvs rdiff -r1.14 -r1.15 syssrc/sys/netinet6/esp_core.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index