Commit Graph

380 Commits

Author SHA1 Message Date
Sun Yimin
572bf6574e
sm4: improve cbc decrypt performance 2022-07-20 11:43:49 +08:00
Sun Yimin
af50b136e9
sm4: separate cipher_ni from cipher_asm 2022-07-19 13:29:21 +08:00
Sun Yimin
24765d0e35
supplement unit test cases 2022-07-18 10:13:53 +08:00
Emman
eb94980db3 run "gofmt -s -w" 2022-07-15 16:42:39 +08:00
Sun Yimin
87f6f6a736
sm4: fix test case issue 2022-07-12 10:08:23 +08:00
Sun Yimin
daa6853722
sm4: add test cases 2022-07-12 09:57:35 +08:00
Sun Yimin
f5bd2cabad
fix 1.17 error 2022-06-14 08:57:25 +08:00
Sun Yimin
8cb1e257dc
support build generic 2022-06-14 08:45:54 +08:00
Sun Yimin
92439288cb
fix #57 2022-06-06 13:45:46 +08:00
emmansun
57d899613d align format 2022-05-01 18:06:47 +08:00
Emman
c71d5ccd96 Fix compile error 2022-04-29 17:29:08 +08:00
Emman
37ab6d67f3 Fix amd64 bug 2022-04-29 13:01:34 +08:00
Emman
51b26c071d separate aes/sm4 ni implementation 2022-04-29 12:09:04 +08:00
Emman
f2c249b323 refactoring and fix bug 2022-04-29 09:10:16 +08:00
Emman
4c131bdeb6 refactoring and fix bug 2022-04-29 08:56:53 +08:00
Emman
0beb90aff8 enable sm4ni gcm 2022-04-28 17:53:04 +08:00
Emman
5744b64c56 sm4ni gcm 2022-04-28 17:52:11 +08:00
Emman
0450200249 sm4 use sm4e sm4ekey, without gcm integration part 2022-04-28 13:46:50 +08:00
Emman
7632ebf376 sm4 generic implementation optimization ref openssl 2022-04-25 11:02:33 +08:00
Emman
0a827de266 update package level comments 2022-04-20 08:36:44 +08:00
Emman
d79ab3d709 Change to use new {M1, C1, M2, C2}, do not know the old one's derivation process 2022-03-11 18:05:08 +08:00
Emman
535b9ab928 Add SM GM/T references 2022-02-09 10:11:45 +08:00
Emman
8e5c2951be reduce test times for short mode 2022-01-26 10:33:02 +08:00
Emman
1c45ccbffd [SM4] avx2 gcm dec tuning 2022-01-24 16:14:42 +08:00
Emman
7dec383b16 align format 2022-01-21 11:24:10 +08:00
Emman
4156eb1c07 align / change format 2022-01-21 08:33:01 +08:00
Emman
ec03b0c5b6 [SM4] optimize arm64 TRANSPOSE_MATRIX, reduce 2 instructions 2022-01-20 10:11:49 +08:00
Emman
b2da8599b3 [SM4] arm64, optimize PRE_TRANSPOSE_MATRIX 2022-01-19 17:57:16 +08:00
emmansun
f43de47d72 [SM4] unify arm64 amd64 gcm asm 2022-01-18 19:50:14 +08:00
emmansun
ae7501d61b [SM4] arm64 gcmSm4dec fix error 2022-01-18 19:42:29 +08:00
emmansun
88d9e01205 [SM4] ARM64 fix error 2022-01-18 19:32:57 +08:00
emmansun
252325c878 try it 2022-01-18 19:24:56 +08:00
Emman
bb54bbcc06 [SM4] arm64 transpose 4*4 matrix 2022-01-18 17:56:30 +08:00
Sun Yimin
e3cb95ec66
Update gcm_arm64.s 2022-01-18 17:11:26 +08:00
Emman
fdae8b06e6 [SM4] ARM64 transpose 4x4 matrix 2022-01-18 16:49:14 +08:00
Emman
129803a389 [SM4] try arm64 gcmSm4Enc gcmSm4Dec 2022-01-18 15:58:14 +08:00
Emman
067a12cb20 [SM4] code format 2022-01-18 11:40:59 +08:00
Emman
6dde984da4 [SM4] gcmSm4Enc & gcmSm4Dec 2022-01-18 10:31:53 +08:00
Emman
93df5651e9 Merge branch 'main' of https://github.com/emmansun/gmsm 2022-01-13 13:21:07 +08:00
Emman
c6292b9704 [SM4] do not use VMOVQ to support golang 1.15.x 2022-01-13 13:15:35 +08:00
Sun Yimin
a919f67dbb
Update gcm_arm64.s 2022-01-13 11:36:40 +08:00
Emman
efedf2654a [SM4] arm64, gcmSm4Init fix VMOVQ issue 2022-01-13 11:17:33 +08:00
Emman
ece5b0b66d [SM4] VMOVQ change constant order 2022-01-13 10:51:02 +08:00
Emman
d17b4e4b3b [SM4] arm64, use VMOVQ to load large constant 2022-01-13 10:43:43 +08:00
Emman
8420b1676d [SM4] arm64, further test VMOVQ 2022-01-13 10:16:53 +08:00
Emman
7914d29bcd [SM4] arm64, use VMOVQ 2022-01-13 10:06:37 +08:00
Emman
bb20b52bd1 [SM4] test VMOVQ 2022-01-13 09:49:43 +08:00
Emman
32da31b074 [SM4] refactoring 2022-01-13 09:37:48 +08:00
Emman
4ed467a7d4 [SM4] fallback again 2022-01-13 09:00:08 +08:00
Emman
a250ae8a31 [SM4] fix error 2022-01-13 08:44:20 +08:00
Emman
3e32a52bee [SM4] try arm64 gcmSm4Init 2022-01-13 08:40:32 +08:00
Emman
46fb08c038 [SM4] fallback arm64 first 2022-01-12 17:14:37 +08:00
Emman
ac50f11ef8 [SM4] separate GCM impl first to enhance one by one 2022-01-12 16:59:49 +08:00
Emman
c04833a236 [SM4] align tab 2022-01-12 16:40:19 +08:00
Emman
e0d9d44154 [SM4] add comments 2022-01-12 16:11:42 +08:00
Emman
64cda2957b [SM4] - implement gcmSm4Init 2022-01-12 16:06:39 +08:00
Emman
d6630108a0 [SM4] support avx/avx2 handle 4 blocks case 2022-01-12 09:42:14 +08:00
Emman
5721ba66cb change VDUP to VMOV 2022-01-10 17:06:37 +08:00
Emman
c18c7e921c [SM4] support AVX2 2022-01-10 16:14:39 +08:00
Emman
e515088882 [SM4] Non-owners do not invoke asm method directly 2022-01-07 09:48:44 +08:00
Emman
acabed56bd [SM4] refactor to support different concurrent blocks 2022-01-06 11:48:38 +08:00
Emman
b25e199b57 reduce instructions 2 2022-01-05 12:58:40 +08:00
Emman
2e56185262 reduce instructions step 1 2022-01-05 11:55:44 +08:00
Emman
bcd16fa771 use VREV32 2022-01-05 08:39:59 +08:00
emmansun
b63ffce09e add comments 2022-01-02 21:31:33 +08:00
emmansun
d5840e08e5 fix critical issue 2022-01-02 21:24:51 +08:00
emmansun
09414993cc add complete test case 2022-01-02 21:12:46 +08:00
emmansun
ebc3bf5da6 test gcm finish 2022-01-02 20:50:00 +08:00
emmansun
9ca7e5d806 compare result 2022-01-02 20:36:23 +08:00
emmansun
d808d59d06 test gsmsm4data() 2022-01-02 20:25:14 +08:00
emmansun
90d5bab4b9 rollback 2022-01-02 17:29:54 +08:00
emmansun
399db85ea8 try order 2022-01-02 17:11:42 +08:00
emmansun
ad7998eb85 try it 2022-01-02 17:05:52 +08:00
emmansun
ed79df4802 pretty print 2022-01-02 16:48:57 +08:00
emmansun
feb4664125 chang key 2022-01-02 13:07:07 +08:00
emmansun
aef1c833ee check input 2022-01-02 13:02:11 +08:00
emmansun
8691a605e2 test arm64 gcm 2022-01-02 12:52:49 +08:00
emmansun
0f1e6714aa fix error 2022-01-02 11:28:25 +08:00
emmansun
8a61c0ad3f support gcm arm64 & cbc/ctr use asm cipher 2022-01-02 11:22:24 +08:00
emmansun
9f21693dee gcm arm64 next 2022-01-01 22:03:49 +08:00
emmansun
34ac1d6681 refactoring 2022-01-01 21:59:42 +08:00
emmansun
c0fca30844 next-> gcm arm64 2022-01-01 21:35:49 +08:00
emmansun
00454701b6 try encrypt block(s) 2022-01-01 21:11:06 +08:00
emmansun
db47d7e92f rollback test case 2022-01-01 20:44:51 +08:00
emmansun
6919274923 change error data 2022-01-01 20:40:52 +08:00
emmansun
9a4a10bbc7 fix issue 2022-01-01 20:32:03 +08:00
emmansun
608a6c9491 missing one line 2022-01-01 20:29:42 +08:00
emmansun
4d24880310 Merge branch 'main' of https://github.com/emmansun/gmsm 2022-01-01 20:28:43 +08:00
emmansun
0eabe0231e test case 2022-01-01 20:28:38 +08:00
emmansun
5bd003ebbe try out arm64 inst 2022-01-01 20:17:57 +08:00
Sun Yimin
37c24a57af
Update asm_arm64.s 2022-01-01 17:18:50 +08:00
Sun Yimin
c0d6e73eaf
Update asm_arm64.s 2022-01-01 17:13:58 +08:00
Sun Yimin
ee8e44ff36
Update asm_arm64.s 2022-01-01 16:56:47 +08:00
Sun Yimin
e6c9bde424
Update asm_arm64.s 2022-01-01 16:17:38 +08:00
Sun Yimin
03b0c9fc9e
Update asm_arm64.s 2022-01-01 16:11:53 +08:00
Sun Yimin
376df04b72
Update asm_arm64.s 2022-01-01 15:48:54 +08:00
Sun Yimin
1aab497333
Update asm_arm64.s 2022-01-01 15:45:09 +08:00
Sun Yimin
4d49c93f99
Update asm_arm64.s 2022-01-01 15:44:39 +08:00
Sun Yimin
b889967d49
Update asm_arm64.s 2022-01-01 15:42:04 +08:00
Sun Yimin
392d556dc8
Update asm_arm64.s 2022-01-01 15:37:20 +08:00
Sun Yimin
36f5577331
Update asm_arm64.s 2022-01-01 15:28:34 +08:00
Sun Yimin
e91cec4132
Update asm_arm64.s 2022-01-01 15:22:00 +08:00
Sun Yimin
1ec2ce9b96
Update asm_arm64.s 2022-01-01 14:52:58 +08:00
Sun Yimin
ac26f071bf
Update asm_arm64.s 2022-01-01 14:45:53 +08:00
Sun Yimin
9c5cc67638
Update asm_arm64.s 2022-01-01 14:41:53 +08:00
Sun Yimin
237ed6f321
Update asm_arm64.s 2022-01-01 14:34:35 +08:00
Sun Yimin
ec759be99b
Update asm_arm64.s 2022-01-01 14:30:58 +08:00
Sun Yimin
fd30717319
Update asm_arm64.s 2022-01-01 14:27:57 +08:00
Sun Yimin
28160e6192
Update asm_arm64.s 2022-01-01 14:19:56 +08:00
Sun Yimin
ff2859a4e3
Update asm_arm64.s 2022-01-01 14:16:32 +08:00
Sun Yimin
917d31bc11
Update asm_arm64.s 2022-01-01 13:58:51 +08:00
Sun Yimin
d621fbd4de
Update asm_arm64.s 2022-01-01 13:51:15 +08:00
Sun Yimin
8c73dde63e
Update asm_arm64.s 2022-01-01 13:45:25 +08:00
Sun Yimin
e74c6587d3
Update asm_arm64.s 2022-01-01 13:36:57 +08:00
Sun Yimin
c2c53ee641
Update asm_arm64.s 2022-01-01 13:26:44 +08:00
Sun Yimin
1e9cb54a27
Update asm_arm64.s 2022-01-01 13:21:44 +08:00
Sun Yimin
069739039e
Update asm_arm64.s 2022-01-01 13:16:08 +08:00
Sun Yimin
23db50e034
Update asm_arm64.s 2022-01-01 13:12:29 +08:00
Sun Yimin
83223cd5e9
Update asm_arm64.s 2022-01-01 13:07:14 +08:00
Sun Yimin
4b9954fcd9
Update asm_arm64.s 2022-01-01 13:00:50 +08:00
Sun Yimin
235940986e
Update asm_arm64.s 2022-01-01 12:44:48 +08:00
Sun Yimin
76e213ac84
Update asm_arm64.s 2022-01-01 12:38:50 +08:00
Sun Yimin
b31681a936
Update asm_arm64.s 2022-01-01 12:27:54 +08:00
Sun Yimin
74617aee6a
Update asm_arm64.s 2022-01-01 11:56:03 +08:00
Sun Yimin
64d02d562b
Update asm_arm64.s 2022-01-01 11:23:55 +08:00
Sun Yimin
5373617d6c
Update cipher_asm_fuzzy_test.go 2022-01-01 11:14:31 +08:00
Sun Yimin
92d167133b
Update asm_arm64.s 2022-01-01 10:57:23 +08:00
Sun Yimin
cb36dfd0bb
Update asm_arm64.s 2022-01-01 10:40:16 +08:00
Sun Yimin
7154c92ba2
Update asm_arm64.s 2021-12-31 16:39:17 +08:00
Sun Yimin
7b29804905
Update asm_arm64.s 2021-12-31 15:20:09 +08:00
Sun Yimin
7c9ae83936
Update asm_arm64.s 2021-12-31 15:16:45 +08:00
Sun Yimin
6553793a35
Update asm_arm64.s 2021-12-31 15:14:06 +08:00
Sun Yimin
dc0e80b1a5
Update asm_arm64.s 2021-12-31 15:11:29 +08:00
Sun Yimin
cc95e9fe6d
Update asm_arm64.s 2021-12-31 15:08:43 +08:00
Sun Yimin
64ece7d8e1
Update asm_arm64.s 2021-12-31 15:05:28 +08:00
Sun Yimin
10fe7937e7
Update asm_arm64.s 2021-12-31 15:01:12 +08:00
Sun Yimin
896714f944
Update asm_arm64.s 2021-12-31 14:58:05 +08:00
Sun Yimin
2ad6341b2e
Update asm_arm64.s 2021-12-31 14:53:11 +08:00
Sun Yimin
1d9b1fd2c9
Update asm_arm64.s 2021-12-31 14:49:11 +08:00
Sun Yimin
f9b97f82c6
Update asm_arm64.s 2021-12-31 14:43:22 +08:00
Sun Yimin
760d450096
Update asm_arm64.s 2021-12-31 14:38:03 +08:00
Sun Yimin
050139e81c
Update asm_arm64.s 2021-12-31 14:32:56 +08:00
Sun Yimin
a1782d81e3
Update asm_arm64.s 2021-12-31 14:27:04 +08:00
Sun Yimin
403314c232
Update asm_arm64.s 2021-12-31 14:22:32 +08:00
Sun Yimin
b7ae4038fb
Update asm_arm64.s 2021-12-31 14:11:47 +08:00
Sun Yimin
a5fe6b1c3a
Update asm_arm64.s 2021-12-31 14:05:56 +08:00
Sun Yimin
fd73da7efc
Update asm_arm64.s 2021-12-31 14:02:17 +08:00
Sun Yimin
20667a4588
Update asm_arm64.s 2021-12-31 13:55:09 +08:00
Sun Yimin
193f7fcd53
Update asm_arm64.s 2021-12-31 13:47:00 +08:00
Emman
96059a7c75 check result 2021-12-31 13:16:15 +08:00
Emman
cbb6590042 check error detail 2021-12-31 13:08:32 +08:00
Emman
f212ed6f76 check result 2021-12-31 13:03:04 +08:00
Emman
b3e82d70c5 Fix error 2021-12-31 11:38:53 +08:00
Emman
23e6a5293b fix compile error 2021-12-31 11:11:39 +08:00
Emman
638e1145ad fix compile error 2021-12-31 11:05:45 +08:00
Sun Yimin
0e13bac951
bypass gcm asm first 2021-12-31 10:48:34 +08:00
Emman
461d00c366 try arm64 sm4 on aes 2021-12-31 10:18:55 +08:00
Emman
d533cbd77a fix format and size 2021-12-31 08:31:59 +08:00
Emman
e9e3c665aa add sm4 asm fuzzy test 2021-12-29 17:46:18 +08:00
Sun Yimin
3bad0ec261
Fix comments 2021-10-26 09:32:37 +08:00
Emman
8a2098aa26 MAGIC - add blank line 2021-10-12 09:46:16 +08:00
Emman
4a7e41b380 crypto: avoid escaping Hash.Sum on generic architectures 2021-10-08 13:57:14 +08:00
Emman
7a7384f389 MAGIC - use internal package 2021-04-29 15:14:22 +08:00
Emman
b1184c24cf MAGIC - xts mode 2021-04-08 11:12:52 +08:00
Emman
ddea2f74c8 MAGIC - align error message 2021-04-06 15:24:00 +08:00
Emman
85b3ecb129 MAGIC - support ccm mode 2021-03-31 11:55:52 +08:00
Emman
75b6f26331 MAGIC - add reference 2021-03-26 08:30:22 +08:00
Emman
c3f59f3e7b MAGIC - avoid nil message passed in 2021-03-24 16:20:01 +08:00
Emman
14cafa5e9e MAGIC - continue to improve sm4 performance 2021-03-23 11:32:05 +08:00
Emman
a5f2479d38 MAGIC - align with golang aes 2021-03-23 10:05:18 +08:00
emmansun
b8d89ee417 MAGIC - continue tuning 2021-03-21 19:20:23 +08:00
emmansun
4443db3f4d MAGIC - implement expandKeyAsm 2021-03-21 12:35:53 +08:00
Emman
49bbb60a90 MAGIC - correct typo 2021-03-19 18:17:07 +08:00
Emman
88e456e9a8 MAGIC - ghash asm tuning 2021-03-19 17:17:19 +08:00
Emman
3e2e3c8c63 MAGIC - ctr mode 2021-03-19 12:14:14 +08:00
Emman
dddebb8c1d MAGIC - optimize cbc decryption 2021-03-18 17:54:10 +08:00
Emman
b0889c3432 MAGIC - use AES-NI 2021-03-18 13:01:24 +08:00
Emman
9513b9c5d9 MAGIC - add test cases before tuning 2021-03-16 10:58:44 +08:00
Emman
8e9376d5f6 MAGIC - Add sm4 benchmark reference first 2021-03-12 15:40:38 +08:00
Emman
0f3af1e6a9 MAGIC - add simple sm4 support 2021-02-04 12:10:24 +08:00