本文转自:91博客;原文地址:http://www.9191boke.com/138589019.html
html
公钥和私钥在一些银行系统、第三方支付系统SDK中常常会遇到,刚接触公钥私钥的朋友们估计很难区分二者的区别。算法
RSA公钥和私钥是什么?安全
首先来讲,RSA是一种非对称加密算法,它是由三位数学家(Rivest、Shamir、Adleman)设计出来的。非对称加密是相对于对称加密而言的。对称加密算法是指加密解密使用的是同一个秘钥,而非对称加密是由两个密钥(公钥、私钥)来进行加密解密的,因而可知非对称加密安全性更高。加密
公钥顾名思义就是公开的密钥会发放给多个持有人,而私钥是私有密码每每只有一个持有人。设计
公私钥特性htm
公钥与私钥是成对出现的;开发
私钥文件中包含了公钥数据,因此能够基于私钥导出公钥;get
密钥越长,越难破解,因此2048位密钥比1024位密钥要更安全;博客
公钥和私钥都是密钥,被公开的那个就是公钥,没有被公开的那个就是私钥。数学
公钥和私钥均可用于加密和解密
公钥和私钥均可以用于加解密操做,用公钥加密的数据只能由对应的私钥解密,反之亦然。虽然说二者均可用于加密,可是不一样场景使用不一样的密钥来加密,规则以下:
一、私钥用于签名、公钥用于验签
签名和加密做用不一样,签名并非为了保密,而是为了保证这个签名是由特定的某我的签名的,而不是被其它人伪造的签名,因此私钥的私有性就适合用在签名用途上。
私钥签名后,只能由对应的公钥解密,公钥又是公开的(不少人可持有),因此这些人拿着公钥来解密,解密成功后就能判断出是持有私钥的人作的签名,验证了身份合法性。
二、公钥用于加密、私钥用于解密,这才能起到加密做用
由于公钥是公开的,不少人能够持有公钥。若用私钥加密,那全部持有公钥的人均可以进行解密,这是不安全的!
若用公钥加密,那只能由私钥解密,而私钥是私有不公开的,只能由特定的私钥持有人解密,保证的数据的安全性。