公钥密码学的基本原理

公钥密码学的基本原理

基本概念问题

  • 公钥密码学与传统密码学的区别

    • 公钥算法是基于数学函数;传统密码学算法是基于代替和置换
    • 公钥密码是非对称的,它使用两个独立的密钥;传统密码学使用一个密钥
  • 任何加密方法的安全性依赖于密钥的长度和破译密钥所需要的计算量

  • 公钥密码学仅限于应用在密钥管理和数字签名中

  • 使用公钥密码也需要某种形式的协议,该协议通常包含 一个中心代理,并且其所包含的处理过程既不比传统密码的那些过程简单,也不比之更有效

  • 公钥密码术语

    • 非对称密钥
      两个密钥:公钥和私钥,用来实现互补运算,即加密和解密,或者生成签名和验证签名
    • 公钥证书
      认证机构将用户的姓名和公钥绑定在一起,用户用自己的私钥对数字文件签名后,可以通过证书识别签名者,因为签名者是唯一拥有证书与证书上对应的私钥的用户
    • 公钥密码(非对称密码)算法
      含有两个密钥:公钥和私钥。从公钥中推出私钥在计算上不可行
    • 公钥基础PKI
      设施有一系列的协议、服务平台、软件和工作站组成,用于管理证书和公钥-私钥对,并产生、维护和废除公钥证书

公钥密码体制的基本原理

  • 产生原因

    • 对称密码体制的密钥分配问题
    • 对数字签名的需求
  • 六个组成部分

    • 明文:算法的输入。原始的消息或数据。
    • 加密算法:对明文进行各种转换。
    • 公钥和私钥:算法的输入。这对密钥中一个用于加密,一个用于解密。加密算法执行的变换依赖于公钥或者私钥。
    • 密文:算法的输出,依赖于明文和密钥,对给定的消息,不同密钥产生的密文不同。
    • 解密算法:接收密文和相应的密钥,并产生原始的明文。
  • 加解密步骤

    • 每一用户产生一对密钥,用来加密和解密消息
    • 每一用户将其中一个密钥存于公开的寄存器或者其他可访问的文件中,该密钥称为公钥,令一密钥是私有的
    • 若Bob要发消息给Alice,则BOb用Alice的公钥对消息加密
    • Alice收到消息后,用其私钥对消息解密。由于只有Alice知道其自身的密钥,所以其他的接受者均不能解密出消息

    利用这种方法,通信各方均可访问公钥,而私钥是各通信方在本地产生的,所以不必进行分配。只要用户的私钥收到保护,保持秘密性,那么通信就是安全的。在任何时刻,系统可以改变其私钥,并公布相应的公钥以代替原来的公钥。

公钥加密的一般化模型

两个密钥中,使用加密的密钥不同,实现的功能也不同:

  • 接收方公钥用来加密,实现保密性
  • 发送方私钥用来加密,实现认证性

公钥密码体制有加密模型与认证模型两种基本模型:

  • 加密模型

    • 消息源A产生明文消息X,A欲将消息X发送给B
    • B产生公钥PUb和私钥PRb,其中只有B知道PRb,而PUb则是公开可访问的
    • 对作为输入的消息X和密钥PUb,A生成密文Y, Y = E(PUb, X)
    • 期望的接收方因为拥有相应的私钥,所以可进行逆变换, X = D(PRb, Y)
  • 认证模型

    • 消息源A产生明文消息X,A欲将消息X发送给B
    • A产生公钥PUa和私钥PRa,其中只有A知道PRa,而PUa则是公开可访问的
    • 对作为输入的消息X和密钥PRa,A生成密文Y, Y = E(PRa, X),且只有A能加密消息,因此加密后的消息就是数字签名
    • 用户B接受到数字签名,利用A的公钥PUa进行解密, X = D(PUa, Y),认证
  • 两次使用公钥方法,则既可提供认证功能,也能保证被发送信息的保密性
    发送方首先用其私钥对消息加密,得到数字签名,然后在用接收方的公钥加密,所得到的密文只能被拥有相应私钥的接收方解密,这样既可以保证消息的保密性,也能提供认证功能。但是这种方法的缺点在于:在每次通信中要执行4次复杂的公钥算法。

公钥加密体制的应用

  • 加密/解密:发送方用接收方的公钥对消息加密
  • 数字签名:发送方用其私钥对消息“签名”
  • 密钥交换:通信双方交换会话密钥

对称密码和公钥密码的重要特征

公钥密码体制的优缺点

  • 优点:

    • 解决了对称密码体制密钥分发问题
      发送方和接收方没有必要共享密钥,一个人只需要有一个秘密密钥就能能与一群人进行安全的交流。
    • 实现数字签名/密钥交换
  • 缺点:

    • 计算的时间长,时间复杂度高,降低了加解密效率

    因此,公钥加密系统不用于加密大量数据,而是用于密钥管理和签名应用程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值