From ed3b190ae305c66bc15a325302f653ce6393aae2 Mon Sep 17 00:00:00 2001 From: Zhi Guan Date: Mon, 25 Apr 2016 19:36:28 +0200 Subject: [PATCH] =?UTF-8?q?Updated=20SM4=E5=88=86=E7=BB=84=E5=AF=86?= =?UTF-8?q?=E7=A0=81=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SM4分组密码.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/SM4分组密码.md b/SM4分组密码.md index 6349125..507b4bc 100644 --- a/SM4分组密码.md +++ b/SM4分组密码.md @@ -8,6 +8,21 @@ GmSSL提供了SMS4的实现。 ## SMS4的工作模式 +GmSSL已经实现如下工作模式: + +* SMS4-ECB,该模式不推荐 +* SMS4-CBC,该模式的实现提供自动的填充,无需应用对明文数据进行填充。 +* SMS4-CFB,根据输出比特序列的长度,包含SMS4-CFB1、SMS4-CFB8和SMS4-CFB128三个实现。 +* SMS4-OFB +* SMS4-CTR,由于SMS4软实现性能较低,因此在后续的优化中会首先提供经过Intel AVX2指令集优化的CTR实现。 +* SMS4-WRAP,将SMS4用于加密密钥,其中被加密的数据为密钥,而SMS4的密钥为KEK (Key Encryption Key)。 + +GmSSL预期还将实现如下工作模式: + +* SMS4-GCM,该模式同时提供数据加密以及完整性保护,通过该模式在加密数据时无需再提供格外的HMAC。 +* SMS4-OCB,该模式功能与GCM模式相同。 +* SMS4-XTS,该模式为磁盘加密模式,用于加密以512字节、4096字节为单位的磁盘扇区。 +* SMS4-FFX,该模式为保留格式加密,可以用于加密信用卡号码等具有特定格式的字符串。 ## 在命令行中使用SMS4 @@ -27,4 +42,3 @@ hello GmSSL提供了SMS4的`EVP_sms4_cbc()`等`EVP_CIPHER`对象,应用可以通过`EVP_EncryptInit/Update/Final()`函数访问,具体调用方法请参考`EVP_EncryptInit(3)`手册页。 -