公开密钥密码体系是什么

小嘿 QA 2020-06-03 21:09:31 阅读(...)

公开密钥密码体制是现代密码学的最重要的发明和进展。一般理解密码学(Cryptography)就是保护信息传递的机密性。在公钥体制中,加密密钥不同于解密密钥。人们将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道。

公开密钥密码体制是现代密码学的最重要的发明和进展。一般理解密码学(Cryptography)就是保护信息传递的机密性。

公开密钥密码体系是什么

公钥密码

简介

这仅仅是当今密码学主题的一个方面。对信息发送与接收人的真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性是现代密码学主题的另一方面。

公开密钥密码体制对这两方面的问题都给出了出色的解答,并正在继续产生许多新的思想和方案。在公钥体制中,加密密钥不同于解密密钥。人们将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道。迄今为止的所有公钥密码体系中,RSA 系统是最著名、使用最广泛的一种。

概念

公钥体系结构中的一些基本概念与结构组成。

密钥对在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。在实际应用中,私钥由拥有者自己保存,而公钥则需要公布于众。为了使基于公钥体系的业务(如电子商务等)能够广泛应用,一个基础性关键的问题就是公钥的分发与管理。

公钥本身并没有什么标记,仅从公钥本身不能判别公钥的主人是谁。

在很小的范围内,比如 A 和 B 这样的两人小集体,他们之间相互信任,交换公钥,在互联网上通讯,没有什么问题。这个集体再稍大一点,也许彼此信任也不成问题,但从法律角度讲这种信任也是有问题的。如再大一点,信任问题就成了一个大问题。

算法

介绍

公开密钥算法是在 1976 年由当时在美国斯坦福大学的迪菲(Diffie)和赫尔曼(Hellman)两人首先发明的(论文”New Direction in Cryptography”)。但目前最流行的 RSA 是 1977 年由 MIT 教授 Ronald L.Rivest,Adi Shamir 和 Leonard M.Adleman 共同开发的,分别取自三名数学家的名字的第一个字母来构成的。

1976 年提出的公开密钥密码体制思想不同于传统的对称密钥密码体制,它要求密钥成对出现,一个为加密密钥(e),另一个为解密密钥(d),且不可能从其中一个推导出另一个。自 1976 年以来,已经提出了多种公开密钥密码算法,其中许多是不安全的, 一些认为是安全的算法又有许多是不实用的,它们要么是密钥太大,要么密文扩展十分严重。多数密码算法的安全基础是基于一些数学难题, 这些难题专家们认为在短期内不可能得到解决。因为一些问题(如因子分解问题)至今已有数千年的历史了。

公钥加密算法也称非对称密钥算法,用两对密钥:一个公共密钥和一个专用密钥。用户要保障专用密钥的安全;公共密钥则可以发布出去。公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。由于公钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大简化了密钥管理。除加密功能外,公钥系统还可以提供数字签名。

产生

1. 选择两个大素数,p 和 q ,计算出 n=qp,n 称为 RSA 算法的模数。p,q 必须保密,一般要求 p,q 为安全素数,n 的长度大于 1024bit ,这主要是因为 RSA 算法的安全性依赖于因子分解大数问题。

2. 计算 n 的欧拉数

φ(n)=(p-1)(q-1)

φ(n)定义为不超过 n 并与 n 互质的数的个数。

3. 然后随机选择加密密钥 e,从[0,φ(n)-1]中选择一个与φ(n)互质的数 e 作为公开的加密指数。

4. 最后,利用 Euclid 算法计算解密密钥 d, 满足 de≡1(mod φ(n))。其中 n 和 d 也要互质。数 e 和 n 是公钥,d 是私钥。两个素数 p 和 q 不再需要,应该丢弃,不要让任何人知道。

5.得到所需要公开密钥和秘密密钥:

公开密钥(即加密密钥) PK=(e,n)

秘密密钥(即解密密钥) SK=(d,n)

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 公开密钥密码学 Public-key cryptography

    公开密钥密码学是什么

    公开密钥密码学也称非对称式密码学是密码学的一种算法,需要两个密钥,一个是公开密钥,另一个是私有密钥;公钥用作加密,私钥则用作解密。使用公钥把明文加密后所得的密文,只能用相对应的私钥才能解密并得到原本的明文,最初用来加密的公钥不能用作解密。
  • 公开密钥加密 Public-key cryptography

    公开密钥加密是什么

    公开密钥密码学也称非对称式密码学,是密码学的一种算法,需要两个密钥,一个是公开密钥,另一个是私有密钥;公钥用作加密,私钥则用作解密。使用公钥把明文加密后所得的密文,只能用相对应的私钥才能解密并得到原本的明文,最初用来加密的公钥不能用作解密。
  • 公开密钥认证

    公开密钥认证是什么

    公开密钥认证(Public key certificate)又称数字证书或身份证书。是用于公开密钥基础建设的电子文件,用来证明公开密钥拥有者的身份。此文件包含了公钥信息、拥有者身份信息(主体)、以及数字证书认证机构(发行者)对这份文件的数字签名,以保证这个文件的整体内容正确无误。
  • 加密货币 Cryptocurrency

    什么是加密货币

    加密货币是一种数字货币也叫虚拟货币,它使用密码学来保证安全,由于这种安全特性,加密货币很难被伪造,加密货币基于去中心化的共识机制,与依赖中心化监管体系的银行金融系统相对,不依靠法定货币机构发行,不受央行管控。
  • 根证书 root certificate

    根证书是什么

    根证书(root certificate)是属于根证书颁发机构(CA)的公钥证书,是在公开密钥基础建设中,信任链的起点。证书颁发机构的角色有如现实世界中的公证行,保证网络世界中电子证书持有人的身份。
  • SSL

    SSL协议是什么

    SSL协议是一种安全传输协议,SSL是SecureSocketLayer的缩写,即安全套接层协议。能够对信用卡和个人信息提供较安全的保护。SSL是对计算机之间整个会话进行加密的协议。SSL采用了公开密钥和私有密钥两种加密方法。