LXR | KVM | PM | Time | Interrupt | Systems Performance | Bootup Optimization

安全加解密引擎基础(SKE SM4)

关键词:SM4等。

1 对称加解密基础

商用密码体系中,SM4主要用于数据加密,其算法公开,分组长度与密钥长度均为128bit,加密算法与密钥扩展算法都采用32轮非线性迭代结构,S盒为固定的8比特输入8比特输出。

密码学中,分组加密(英语:Block cipher),又称分块加密或块密码,是一种对称密钥算法。它将明文分成多个等长的模块(block),使用确定的算法和对称密钥对每组分别加密解密。分组加密是极其重要的加密协议组成,其中典型的如DESAES作为美国政府核定的标准加密算法,应用领域从电子邮件加密到银行交易转帐,非常广泛。
国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。
SM1为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。
SM3消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。
SM4无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。
更多参考:
SM4.0
SM4算法(python)》-SM4算法Python实现。

2 基于openssl进行加解密

SM4秘钥长度固定为128bit。

openssl enc -sm4-cbc -e -k 1234567812345678123456781234567812345678123456781234567812345678 -iv 12345678123456781234567812345678 -pbkdf2 -in infile -out cipherfile 
openssl enc -sm4-cbc -d -k 1234567812345678123456781234567812345678123456781234567812345678 -iv 12345678123456781234567812345678 -pbkdf2 -in cipherfile -out replain 

算法和模式的组合有:

sm4-cbc SM4 cipher in CBC mode
sm4 Alias for sm4-cbc
sm4-cfb SM4 cipher in CFB mode
sm4-ctr SM4 cipher in CTR mode
sm4-ecb SM4 cipher in ECB mode
sm4-ofb SM4 cipher in OFB mode

 

posted on 2022-04-19 23:34  ArnoldLu  阅读(770)  评论(0编辑  收藏  举报

导航