网络安全攻防:密码技术之公钥密码

 [[380512]]

对称密码可以实现对任意明文的高效加密,通常用于通信会话的加密,但随着对称加密应用越来越广,会话密钥的管理问题也随之面临挑战。假设网络中有n个实体需要两两通信,那么每个实体必须维护一把与其他任意一个实体之间的会话密钥,总的会话密钥数量为,即达到O(n2)的量级,密钥管理的复杂度明显增加。另一方面,分组加密主要依赖于多轮复合的扩散和混淆运算,安全强度有待进一步增强。

公钥密码也称非对称密码,即加密密钥和解密密钥不同,一个可被公开的密钥被称为公钥,一个私人专用保管的密钥被称为私钥。公钥与私钥在数学上是有紧密关系的,用公钥加密的信息只能用对应的私钥解密,反之亦然。由于公钥算法不需要联机密钥服务器,密钥分配变得简单。一个人可以在与许多人交往时使用相同的密钥对,而不必与每个人分别使用不同的密钥。只要私钥是保密的,就可以随意分发其公钥,用户可以与任意数目的人员共享一个密钥对,而不必为每个人单独设立一个密钥,显著降低了密钥管理复杂度,简化了密钥管理操作,有效提高了密码学的可用性。

公钥加密是一种干扰信息的方法,使用该方法的双方拥有一对密钥,其中一个可以公开分享,而另一个只有预定的目标接收方才知晓。任何人都可能使用私人的公开密钥对信息进行加密。但是,只要预定接收方的解密密钥被安全地保护起来,信息就无法被解密。一般而言,公钥算法的设计依赖于经典的数论难题,即将攻击者在没有私钥的情况下,破解一个公钥加密系统,等效映射到求解数论难题。这样,攻击者若能在没有私钥的情况下破解公钥加密,等效于其求解了公知的数论难题。这样的模型假设也因此成为公钥密码安全的保障基石。

1976年,Whitfield Diffie和Martin Hellman 共同发表了学术论文《New Direction in Cryptography》,创建了公钥加密体制。公钥加密是重大的创新,从根本上改变了加密和解密的过程,也成为40年来信息安全应用领域的一项核心技术。2015年,Diffie和Hellman两位密码学家也因创立发明公钥加密技术而获得有着计算机领域诺贝尔美誉的图灵奖。

1. Diffie-Hellman密钥交换算法

下面以Alice和Bob为例介绍以Diffie和Hellman命名的DH密钥交换原理。

(1)选定一个可公开的大质数p和底数g。

(2)Alice和Bob分别选定一个私有的素数a和b。

图1给出了Alice和Bob通过公开交换g、p、A、B,最终各自计算获得共享密钥K=gab的基本过程。DH密钥协商的目的是让Alice和Bob安全获得共享密钥,任何第三方实体即使截获双方通信数据,也无法计算得到相同的密钥。

图1  DH密钥交换原理

下面再看一个简单的实例,来说明Alice和Bob协商计算会话密钥K的过程。

1)Alice与Bob协定使用p=23,g=5。

2)Alice选择一个秘密整数a=6,计算A=gamodp并发送给Bob:A=56mod 23=8。

3)Bob选择一个秘密整数b=15,计算B=gbmodp并发送给Alice:B=515mod 23=19。

4)Alice计算K=Bamodp,即196mod 23=2。

5)Bob计算K=Abmodp,即815mod 23=2。

DH是一个公钥算法,应用的数论难题是大数的离散对数求解难题,即已知g、a,计算A=ga是容易的,但反之,已知A和g,求解a是困难的。这样,攻击者即便截获得到A和B,也无法计算得到a和b,因而也无法计算获得K。

2. RSA公钥算法

公开密钥算法是在 1976年由当时在美国斯坦福大学的 Diffie和Hellman 两人首先发明的,但是目前最流行的RSA算法则是1977年由MIT教授Ronald L.Rivest、Adi Shamir和Leonard M.Adleman共同发明的。RSA也是分别取自3名数学家人名的第一个字母。RSA算法依赖于大数因子分解难题,即给定两个大素数p、q,计算它们的乘积n=pq是容易的,但反之,给定n,求解p和q是一个经典的数论难题。

(1)密钥生成

①选择两个大素数:p和q。

②计算欧拉函数:φ(n)=(p−1)(q−1)。

③选择一个正整数e,使gcd(e,φ(n))=1,即e和φ(n)互为素数。

④根据de=1(modφ(n)),利用Euclid算法计算出d。

⑤公钥即为K=<e,n>。

⑥私钥即为S=<d,p,q>。

(2)公钥加密

①记明文信息为m(二进制),将m分成等长数据块m1,m2,…,mi,块长s,其中2s≤n。

②加密:ci≡mi^e(modn)

③解密:mi≡ci^d(modn)

一开始,RSA选用的n长度达到512 bit时,以当时的计算机运算能力,安全性已公认足够强大。随着并行计算水平的飞速发展以及量子计算等新型计算的出现,RSA的安全强度也开始受到威胁。目前,RSA选用的公钥长度已达到了4 096 bit。

相比于对称密码,公钥密码具有实现难度大、安全强度大、计算耗费大等特点。因此,在日常应用时,RSA算法和AES算法混合使用,通常被称作数字信封技术,如图2所示。

图2  数字信封技术

虽然安全强度大,但由于 RSA 公钥加密需耗费较大资源,因此通常会话加密采用的是AES分组密码,而AES会话密钥则可通过RSA公钥加密,AES密钥的加密结果随会话密文一起发送给接收方,这样的技术就叫数字信封,可以确保仅有持有RSA私钥的合法的接收方才能解开AES密钥,从而获得最终的会话明文。 

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/141575.html<

赞 (0)
管理的头像管理
上一篇2025-03-04 11:30
下一篇 2025-03-04 11:32

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注