密码学学习笔记(八):Public-Key Encryption - 公钥加密1

简介

公钥加密也被称为非对称加密。下面是一个例子:

  • Bob生成一个密钥对,发布他的公钥, 保管密钥 私有的
  • Alice使用 加密明文M,得到密文C,并将其发送给Bob
  • 假设: 是真实的
  • Bob使用 解密密文C得到M
  • 目标:保密

密码学学习笔记(八):Public-Key Encryption - 公钥加密1_第1张图片

密钥生成算法生成的密钥对由两部分组成,即允许公开的公钥和必须保密的私钥。

IND-CPA安全

加密方案有3种算法:

密码学学习笔记(八):Public-Key Encryption - 公钥加密1_第2张图片

  • 对手被给予
  • 它可以运行, 即免费的加密查询(不同于对称加密)
  • 不可区分性:对手获胜的概率与偶然获胜的概率相差可忽略不计,比如二分之一。确定性PKE不能是IND-CPA。

密码学学习笔记(八):Public-Key Encryption - 公钥加密1_第3张图片

IND-CCA安全

  • 对手被给予 以及访问解密预言机
  • 它可以运行 它本身
  • 它可以要求解密除质询密文之外的任何密文
  • 不可区分性:对手获胜的概率与偶然获胜的概率相差可忽略不计,比如二分之一。
  • IND-CCA相当于非延展性,即能够为相关明文找到密文。

密码学学习笔记(八):Public-Key Encryption - 公钥加密1_第4张图片

ElGamal加密

ElGamal加密方案

  • 密钥生成:随机选取, 设置ℎ = g^{x}

  • 随机选取, 将密文计算为:

  • 解密:给定一个密文 = (1,2) ,将明文恢复为:

最终式:

密码学学习笔记(八):Public-Key Encryption - 公钥加密1_第5张图片

NIST ElGamal密钥大小建议

密码学学习笔记(八):Public-Key Encryption - 公钥加密1_第6张图片

你可能感兴趣的:(密码学,密码学,学习,笔记)