• Tianjia Zhang's avatar
    crypto: arm64/sm4 - add CE implementation for CCM mode · 67fa3a7f
    Tianjia Zhang authored
    This patch is a CE-optimized assembly implementation for CCM mode.
    
    Benchmark on T-Head Yitian-710 2.75 GHz, the data comes from the 223 and 225
    modes of tcrypt, and compared the performance before and after this patch (the
    driver used before this patch is ccm_base(ctr-sm4-ce,cbcmac-sm4-ce)).
    The abscissas are blocks of different lengths. The data is tabulated and the
    unit is Mb/s:
    
    Before (rfc4309(ccm_base(ctr-sm4-ce,cbcmac-sm4-ce))):
    
    ccm(sm4)     |     16      64     256     512    1024    1420    4096    8192
    -------------+---------------------------------------------------------------
      CCM enc    |  35.07  125.40  336.47  468.17  581.97  619.18  712.56  736.01
      CCM dec    |  34.87  124.40  335.08  466.75  581.04  618.81  712.25  735.89
      CCM mb enc |  34.71  123.96  333.92  465.39  579.91  617.49  711.45  734.92
      CCM mb dec |  34.42  122.80  331.02  462.81  578.28  616.42  709.88  734.19
    
    After (rfc4309(ccm-sm4-ce)):
    
    ccm-sm4-ce   |     16      64     256     512    1024    1420    4096    8192
    -------------+---------------------------------------------------------------
      CCM enc    |  77.12  249.82  569.94  725.17  839.27  867.71  952.87  969.89
      CCM dec    |  75.90  247.26  566.29  722.12  836.90  865.95  951.74  968.57
      CCM mb enc |  75.98  245.25  562.91  718.99  834.76  864.70  950.17  967.90
      CCM mb dec |  75.06  243.78  560.58  717.13  833.68  862.70  949.35  967.11
    Signed-off-by: default avatarTianjia Zhang <tianjia.zhang@linux.alibaba.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    67fa3a7f
sm4-ce-ccm-core.S 5.89 KB