商用密码应用与安全性评估要点笔记(公钥密码算法)

1、公钥密码算法模型

        公钥密码算法也成为非对称密码算法,主要应用场景包括数据签名验签、数据加解密、密钥协商/交换、密钥封装分发。公钥密码算法拥有一对密钥,分别称为公钥和私钥。当然这对公钥和私钥是密切相关的,从私钥可以推导出公钥,但从公钥推导出私钥在计算上是不可行的。注意这里只是基于当前的计算机计算水平来说计算上是不可行的。

公钥算法名称数字签名加解密密钥协商密钥封装分发
RSA支持支持支持支持
SM2支持支持支持支持
SM9支持支持支持支持
EIGamal支持支持支持支持
Diffie-Hellman支持
DSS支持

1.1 数字签名算法

        数字签名主要用于确认数据的完整性、签名者身份的真实性和签名行为的不可否认性。数字签名使用私钥对消息进行签名,再使用公钥对签名进行验证。同时,为了提升效率和安全性,数字签名算法中一般都需要先使用密码杂凑算法(如SM3、SHA2)对原始消息进行杂凑运算,再对得到的消息摘要进行数字签名。

1.2公钥加密算法

        公钥加密计算复杂度较高,公钥加密效率一般比对称加密算法的加密速度慢很多,所以公钥密码算法一般用于高价值短数据加密。具体算法过程是先需要查找到接受者的公钥,然后用该公钥加密要保护的消息;当接收方接收到消息后,用自己的私钥解密出消息。

1.3密钥协商

        密钥交换或密钥协商协议是两个用户A和B通过交互的信息传递,用各自的私钥和对方的公钥来商定一个只有他们知道的秘密密钥,而这个共享的秘密密钥通常用在对称秘密算法中。

1.4密钥封装

        封装者利用解封装用户的标识产生并加密一个秘密密钥给对方,解封装用户则用相应的加密私钥解封装该秘密密钥。或者也称数字信封,即利用非对称加密技术完成的密钥加密。

2、RSA算法

        RSA算法是世界范围内第一个投入使用,也是目前应用最广泛的公钥密码算法。RSA基于大整数因子分解难题设计。私钥(d,p,q),对应公钥(n,e),具体对应关系为n=pq,ed=1mod(p-1)(q-1),p和q是两个随机的大素数。在实际使用中e的取值很小,有效长度不超过32bit(例如在很多时候直接取值65537),但d的有效长度一般都是接近于n的有效长度。所以RSA算法的加密或验签计算速度要比解密或签名速度快许多倍。

3、SM2算法

        SM2基于椭圆曲线上离散对数问题的的困难性,比RSA的密码体制更具优势。按照我国的公钥密码算法标准SM2算法的推荐参数是定义在256比特素域上的。按SM2参数定义标准,算法使用各方基于相同的公开参数,包括p,n,E和G。其中p为256位素域上的大素数,G(xG,yG)是曲线E上的n阶的基点。取一个随机数d为私钥(256bit),公钥P=dG(512bit)。显然,SM2私钥256bit远小于RSA2048,且私钥产生简单(几乎是随机产生),签名算法速度远超RSA。

4、SM9算法

         SM9标识密码算法,IBC标识密码算法是在传统的公钥基础设施PKI基础上发展而来的。主要解决在具体安全应用中PKI需要大量交换数字证书的问题,使安全应用更加易于部署和使用。SM9算法中主私钥长度256bit、主公钥长度(签名主公钥-1024bit,加密主公钥512bit);用户私钥长度(签名私钥-512bit,加密私钥-1024bit),用户公钥长度(签名公钥-1024bit,加密公钥-512bit)。

5、EIGamal算法

        在1985年由塔希尔·盖莫尔提出,可以定义在任何循环群G上,它的安全性取决于G上的离散对数难题,EIGamal算法与DH密钥协商体制密切相关。密钥长度可为160~16384位(密钥长度为8的整数倍),默认长度1024bit。

        5.1 EIGamal加密算法。用户A私钥为Xa,公钥(q,a,Ya),其中q是大素数,a是q的原根,Ya=a^Xa mod q。用户B私钥为Xb,公钥(q,a,Yb),其中Yb=a^Xb mod q。发送方B做如下计算:

        K = Ya^Xb mod q (这里K是双方共享密钥,用来加密数据M)

        C1 = a^Xb mod q (这里C1作为A获得K的媒介)

        C2 = M*K mod q (这里C2是用K加密M所获得的密文) 

        A收到C1和C2,做如下计算:-ElGamal加密算法产生的密文长度是明文的两倍

        K = C1^Xa mod q (首先获得共享密钥K)

        M = C2 *K -1 mod q (获得明文消息M)

        这里私钥X长度为,公钥Y长度为。

        5.2 EIGamal签名算法。用户A选取私钥Xa,公钥(q,a,Ya)同EIGamal加密公私钥对。对消息M签名步骤如下:

        选取随机密钥K,K属于[1,q-1],且与q-1互素;(引入随机密钥K,多次加密同意明文M结果都不同)

        计算r=a^K mod q

        计算s=(M-Xa*r)*K - 1 mod q-1

        得到签名值为(r,s)

        验证步骤如下:(收到消息M,签名值(r,s)和公钥(q,a,Ya))

        计算v1 = a^M mod q

        计算v2 = (Ya^r)*(s1^s2) mod q

        若v1=v2则验证成功。

6、DH密钥交互算法

        用户A和B各自拥有公私钥对(Xa,Ya)和(Xb,Yb),A和B共享一个素数q和整数a,且a是q的本原根。A和B交换了彼此公钥后,可以计算出公共密钥,也就可以用同一个密钥进行加密和解密。DH算法产生的密钥长度在512到1024之间,必须是64的倍数,默认是1024bit。

7、DSS数字签名规范

        DSS使用一种称为DSA的加密算法来生产数字签名,DSA是一种公钥加密算法,基于有限域上的离散对数问题。RSA算法的默认密钥长度是1024位,密钥长度必须是64的倍数,在512到1024位之间。公私钥对生产如下:

        p是一个范围大于2048bit的大素数,q是p-1的一个素因子

        x是随机生成的私钥,x属于[0,p]

        计算g = h^[(p-1)/q] mod p, h属于[1,p-1]

        计算y = g^x mod p, 公钥即为(p,q,g,y)。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 商用密码应用安全性评估霍炜pdf是一本有关商用密码应用的书籍,其中包含了密码技术的发展历程、密码应用的分类和商用密码应用的实践等内容。同时本书重点关注了商用密码应用安全性评估,对密码技术的安全性密码应用安全性以及密码系统的全面安全性进行了详尽的阐述和分析商用密码应用具有多种形式和应用领域,如电子商务、网络支付、数字证书、密码学信息安全等,这些区域都需要保证商用密码应用安全性,以确保数据在传输和处理过程中得到有效保护。本书从密码技术发展的历史和密码应用的分类入手,深入地探讨了商用密码应用中常用的加密算法数字签名算法网络安全协议、密码键盘、智能卡、加密处理器等相关技术。 在商用密码应用的实践过程中,安全性评估是非常关键的工作。商用密码应用安全性评估霍炜pdf探讨了从实际应用出发制定相应的安全策略和管理机制。同时,书中还通过若干案例说明了如何进行商用密码应用安全性评估安全性测试,为读者提供了全面的思路和实现方案。 总之,商用密码应用安全性评估霍炜pdf是一本非常有价值的书籍,它可以帮助读者深入了解商用密码应用,掌握商用密码应用中的关键技术,并在实践中有效保障商用密码应用安全性。 ### 回答2: 《商用密码应用安全性评估》一书是密码学领域的经典著作,作者霍炜是密码学研究领域的知名专家。本书介绍了商用密码在各种应用场景下的应用安全性问题,深入浅出地阐述了密码学的基本理论和安全性评估方法。 本书内容包括密码基本概念、分组密码、流密码、哈希函数、数字签名和身份认证等方面的内容,其中分组密码和流密码的设计、分析应用是本书的重点。作者详细介绍了DES、AES、RC4、RC5等流行的分组密码和流密码算法分析了它们的安全性应用场景。此外,本书还介绍了一些新的密码学研究成果,如伪随机函数和伪随机数生成器、身份基于密码的加密、重复项加密等。 在密文安全模型、对称密码公钥密码安全性评估方面,作者也给出了详细的分析评估方法,介绍了Davies-Meyer哈希函数和Handel-Cox公钥密码系统等。 总的来说,本书系统地介绍了商用密码在不同场景下的使用,将密码学的理论和实践相结合,对密码安全性评估提供了有益的指导和帮助。对于从事密码学研究、密码算法设计和密码安全性评估的专业人士以及对密码学感兴趣的读者,是一本值得阅读和参考的优秀著作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游鲦亭长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值