加密后长度不变的算法_加密算法学习(四)之公钥密码

本文介绍了公钥密码体制的基本概念,对比了其与单钥密码体制的区别,详细阐述了公钥密码体制的工作原理,以及其在加密解密、数字签名等方面的应用。文中还探讨了公钥密码体制的重要特性及其实现的数学基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在公钥密码的体制出现以前,所有的密码算法,包括原始使用手工计算的、由机械设备实现的和由计算机实现的,都是基于代换和置换这两个基本工具。

当公钥密码体制出现后为密码学发展提供了新的理论和技术基础:

  1. 公钥密码的算法基本工具不在是置换和代换,而是数学函数。
  2. 公钥密码算法是以非对称的形式使用两个秘钥,两个秘钥的使用对保密性、秘钥分配、认证等都有着深刻的意义。
0c5e581263ae45de9bd1a87008dccd48.png

单钥密码体制在进行秘钥分配时,要求通信双方或者已经有一个共享的秘钥,或者要求可以借助一个秘钥分配中心。对于第一个要求,常常可以使用人工方式传送双方最初共享的秘钥,这种方法成本很高,而且还完全依赖于信使的可靠性。第二个要求则完全依赖于秘钥分配中心的可靠性。

数字签名考虑的是如何为数字化的消息或者文件提供一种类似于书面文件手书签名的方法。

13ba82a796ae02c9c1eab9caab1c6735.png

公钥密码的算法的最大特点就是采用两个相关秘钥将加密和解密能力分开,其中一个秘钥是公开的,称为公开秘钥,用于加密;另外一个密钥是为用户专用,因而是保密的,称为秘密秘钥,用于解密。因此,公钥密码体制也称为双钥密码体制。

算法要有以下重要特性:已知密码算法和加密秘钥,再求解密秘钥的时候,在计算上是不可行的。

公钥加密算法不仅可以运用到加密和解密,还可以用于对发送的一方发送的消息提供认证。

在实际的应用当中,特别是用户的数量特别多的时候,直接发送的认证方法需要很大的存储空间,因为每个文件都必须以明文形式存储,这样才方便实际的使用,同时还要存储每个文件被加密后的秘闻形式也就是数字签名,以便在有争议的时候用来认证文件的来源和内容。对于此,改进的方法就是减小文件数字签名的大小,就是先将文件经过一个函数压缩成长度较小的比特串,这个比特串也叫作认证符。如果是保持认证符的值不变去修改文件,在计算上是不可行的。

a9efc2ecc3836dd5078b9948f1fea80d.png

公钥密码要满足以下要求:

  1. 接受方B产生秘钥对在计算上是容易的。
  2. 发送方A用接收方的公开秘钥对消息加密以产生密文,这在计算上是容易的。
  3. 接收方B用自己的秘钥对解密,在计算上是容易的。
  4. 攻击者由B公开的秘钥去求私秘钥,这在计算上是不可行的。
  5. 攻击者由密文和B的公开钥恢复明文在计算上是不可行的。
  6. 加解密次序可以交换。

最后一条非常的有用,但不是对所有的算法都做要求。

以上的本质要求在于需要一个陷门单向函数。陷门单向函数,是指该函数是易于计算的,但求它的逆是不可行的,除非再已知某些附加信息。当附加信息给定后,求逆可在多项式时间完成。

因此,研究公钥密码算法就是要找出合适的陷门单向函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值