Skip to content
/ smx Public

无任何第三方依赖sm2,sm3,sm4,完全参照国家密码局要求实现的国密算法,java,javascript,swift实现.

License

Notifications You must be signed in to change notification settings

aicccode/smx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

smx

无任何第三方依赖,完全参照国家密码局要求实现的国密算法JAVA(SM2,SM4,SM4)、JAVASCRIPT(SM2,SM3,SM4)、SWIFT(SM3,SM4)实现哈希算法、加减密算法、签名、签名验证算法、密钥交换算法等.

国产密码算法(国密算法)是指国家密码局认定的国产商用密码算法,在金融领域目前主要使用公开的SM2、SM3、SM4、SM9等算法,分别是非对称算法、哈希算法和对称算法以及标识密码算法。

SM2算法:SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。

SM3算法:SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法。

SM4算法:SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。

SM9算法: SM9标识密码算法是由国密局发布的一种IBE(Identity-Based Encryption)算法。IBE算法以用户的身份标识作为公钥,不依赖于数字证书。

**SM2,SM3,SM4 所有实现已完成并根据国家密码局测试用例测试通过.

About

无任何第三方依赖sm2,sm3,sm4,完全参照国家密码局要求实现的国密算法,java,javascript,swift实现.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published