lkml.org 
[lkml]   [2006]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[RFC][PATCH 2/2] Twofish cipher x86_64-asm optimized
    Date
    Implementation:
    -----------------------
    This code is based on the current linux twofish cipher c implementation. Only
    the decrypt/encrypt routines were replaced by optimized assembler code. The
    in-kernel code by Matthew Skala takes care of the keysetup and precomputation
    of the sbox lookup tables.
    I have eliminated stack use, tried to optimize the code as much as possible
    and limit code size. The patch is similar to the existing aes assembler
    implementation.

    Testing:
    -----------
    The code passed the kernel test module and passed automated tests on a
    dm-crypt volume reading/writing large files with alternating modules ( c /
    assembler ) and comparing results. It is also running on my workstation for
    over a week now.

    Benchmarks:
    -------------------

    Performance on a dm-crypt volume increased about 47% while reading. With
    256bit keylength its pretty close to the speed of the aes assembler version.

    http://homepages.tu-darmstadt.de/~fritschi/twofish/output_20060426_175710_x86_64.html

    The write performance in this benchmark was limited by the harddrive and not
    the algorithm / system speed. Any suggestions how to benchmark the overall
    speed accurately are welcome.


    Patch:
    ----------

    http://homepages.tu-darmstadt.de/~fritschi/twofish/twofish-x86_64-asm-2.6.17.diff


    Please have a look, try, improve and criticise.

    Regards,
    Joachim
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-05-07 12:00    [W:2.263 / U:0.624 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site