diff options
author | Liu-Ermeng <liuermeng2@huawei.com> | 2024-01-16 18:04:32 -0800 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2024-02-08 09:55:11 +0100 |
commit | 2a2561709ab316584d8b0a6220e244094fe507f5 (patch) | |
tree | 1bd8e923518ca1659ec23e9e86381ce6d3aefb14 /crypto | |
parent | 387b93e14907cd8203d6f2c9d78e49df01cb6e1f (diff) | |
download | openssl-2a2561709ab316584d8b0a6220e244094fe507f5.tar.gz |
Fix sm4-xts aarch64 assembly implementation bug
Tested on kunpeng920, to turn on 'VPSM4_EX_CAPABLE'.
Signed-off-by: Liu-Ermeng <liuermeng2@huawei.com>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23317)
Diffstat (limited to 'crypto')
-rwxr-xr-x | crypto/sm4/asm/vpsm4-armv8.pl | 6 | ||||
-rw-r--r-- | crypto/sm4/asm/vpsm4_ex-armv8.pl | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/crypto/sm4/asm/vpsm4-armv8.pl b/crypto/sm4/asm/vpsm4-armv8.pl index eae3704992..35b86cd68f 100755 --- a/crypto/sm4/asm/vpsm4-armv8.pl +++ b/crypto/sm4/asm/vpsm4-armv8.pl @@ -1495,7 +1495,7 @@ $code.=<<___; mov @tweak[1].16b,@tweak[0].16b ___ &rev32_armeb(@tweak[1],@tweak[1]); - &compute_tweak_vec(@tweak[1],@tweak[2]); + &compute_tweak_vec(@tweak[1],@tweak[2],$std); $code.=<<___; b .check_dec${std} @@ -1505,12 +1505,12 @@ $code.=<<___; .check_dec${std}: // encryption:1 decryption:0 cmp $enc,1 - b.eq .prcess_last_2blks${std} + b.eq .process_last_2blks${std} mov @vtmp[0].16B,@tweak[1].16b mov @tweak[1].16B,@tweak[2].16b mov @tweak[2].16B,@vtmp[0].16b -.prcess_last_2blks${std}: +.process_last_2blks${std}: ___ &rev32_armeb(@tweak[1],@tweak[1]); &rev32_armeb(@tweak[2],@tweak[2]); diff --git a/crypto/sm4/asm/vpsm4_ex-armv8.pl b/crypto/sm4/asm/vpsm4_ex-armv8.pl index b7f1a66222..de6ee6110d 100644 --- a/crypto/sm4/asm/vpsm4_ex-armv8.pl +++ b/crypto/sm4/asm/vpsm4_ex-armv8.pl @@ -1469,7 +1469,7 @@ $code.=<<___; mov @tweak[1].16b,@tweak[0].16b ___ &rev32_armeb(@tweak[1],@tweak[1]); - &compute_tweak_vec(@tweak[1],@tweak[2]); + &compute_tweak_vec(@tweak[1],@tweak[2],$std); $code.=<<___; b .check_dec${std} @@ -1479,12 +1479,12 @@ $code.=<<___; .check_dec${std}: // encryption:1 decryption:0 cmp $enc,1 - b.eq .prcess_last_2blks${std} + b.eq .process_last_2blks${std} mov @vtmp[0].16B,@tweak[1].16b mov @tweak[1].16B,@tweak[2].16b mov @tweak[2].16B,@vtmp[0].16b -.prcess_last_2blks${std}: +.process_last_2blks${std}: ___ &rev32_armeb(@tweak[1],@tweak[1]); &rev32_armeb(@tweak[2],@tweak[2]); |