密码学
好易学·数据结构
数据结构·算法的研究与教学
展开
-
国密SM4——golang的实现
SM4算法使用32轮的非线性迭代结构。SM4在最后一轮非线性迭代之后加上了一个反序变换,因此SM4中只要解密密钥是加密密钥的逆序,它的解密算法与加密算法就可以保持一致。1. CBC分组模式(Cipher Block Chaining ,密码分组链模式)以上代码中,SM4用到的库为:github.com/tjfoc/gmsm。SM4算法是我国商用密码标准,其前身是SMS4算法。整体逻辑结构如图所示,经过32轮变换把明文变换为密文。SM4算法类似于国际密码算法AES。,分组长度和密钥长度均。原创 2023-05-08 14:51:19 · 3249 阅读 · 1 评论 -
国密SM2——golang的实现
由于 RSA 算法和 ECC 算法这一明显不同,使得 ECC 算法的单位安全强度高于 RSA算 法。由于SM2是基于椭圆曲线的公钥加密算法,与RSA一样都是非对称密码算法。SM2是国家密码管理局于2010年12月17日发布的。也就是说,要达到同样的安全强度,原创 2023-05-08 14:28:31 · 2697 阅读 · 0 评论 -
国密SM3——golang的实现
SM3密码杂凑算法是中国国家密码管理局2010年公布的中国商用密码杂凑算法标准。SM3适用于商用密码应用中的数字签名和验证,是在[]基础上改进实现的一种算法,其。原创 2023-05-08 14:37:49 · 962 阅读 · 0 评论 -
国密sm2不同平台对接
4.如go对应的tjfoc/gmsm/sm2库加解密的密文前是添加了04的,如果要解密 https://webencrypt.org/sm2samplecryptjs/ 这里加密的密文,需要在密文前添加04。2.如这里的 https://webencrypt.org/sm2samplecryptjs/ 公钥前添加了04,但是密文前没有04.1.对不同的平台(语言)国密接口对接时,需要检查开始位,如公钥前加0x04、密文前加0x04,其实04代表未压缩。)加密的数据,到go服务程序解密,会出现。原创 2023-06-05 14:41:17 · 947 阅读 · 1 评论 -
RSA no_padding加密(modulus、exponent构造公钥)
RSA no_padding加密(modulus、exponent构造公钥)原创 2022-01-26 15:42:18 · 8372 阅读 · 1 评论 -
RSA(非对称加密)与ECC(椭圆曲线加密)的区别
1、RAS 2、ECC椭圆曲线加解密算法原理 建立基于椭圆曲线的加密机制,需要找到类似RSA质因子分解或其他求离散对数这样的难题。而椭圆曲线上的已知G和xG求x,是非常困难的,此即为椭圆曲线上的的离散对数问题。此处x即为私钥,xG即为公钥。 椭圆曲线加密算法原理如下:...原创 2019-01-13 15:55:57 · 15331 阅读 · 3 评论 -
椭圆曲线加密算法
椭圆曲线加密算法,即:Elliptic Curve Cryptography,简称ECC,是基于椭圆曲线数学理论实现的一种非对称加密算法。相比RSA,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全。据研究,160位ECC加密安全性相当于1024位RSA加密,210位ECC加密安全性相当于2048位RSA加密。椭圆曲线在密码学中的使用,是1985年由Neal Koblitz和Vi...翻译 2019-11-24 10:14:01 · 2585 阅读 · 0 评论 -
区块链解读-零知识证明
前段时间听到有朋友谈到,区块链发展技术中的零知识证明,这几天翻阅了下资料看了下这一块内容,看完之后深深觉得自己数学知识和数学理解能力的不足,大概写下零知识证明的理论,也不深究,其实具体很多东西也没看懂,就当是一个知识名词的解释。 “零知识证明”-zero-knowledge proof,是由S.Goldwasser、S.Micali及C.Rackoff在20世纪1985年提出的。和笔者年纪一...翻译 2019-02-18 15:48:16 · 784 阅读 · 0 评论 -
图说密码学——数字签名
1.鲍勃有两把钥匙,一把是公钥,另一把是私钥。2.鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。3.苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。4.鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。5.鲍勃给苏珊回...转载 2019-10-08 16:15:40 · 295 阅读 · 0 评论