`
isiqi
  • 浏览: 15949799 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

公钥加密(不对称加密)

阅读更多

公钥加密使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。公钥和私钥都在数学上相关联;用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。公钥可以提供给任何人;公钥用于对要发送到私钥持有者的数据进行加密。两个密钥对于通信会话都是唯一的。公钥加密算法也称为不对称算法,原因是需要用一个密钥加密数据而需要用另一个密钥来解密数据。

公钥加密算法使用固定的缓冲区大小,而私钥加密算法使用长度可变的缓冲区。公钥算法无法像私钥算法那样将数据链接起来成为流,原因是它只可以加密少量数据。因此,不对称操作不使用与对称操作相同的流模型。

双方(小红和小明)可以按照下列方式使用公钥加密。首先,小红生成一个公钥/私钥对。如果小明想要给小红发送一条加密的消息,他将向她索要她的公钥。小红通过不安全的网络将她的公钥发送给小明,小明接着使用该密钥加密消息。(如果小明在不安全的信道如公共网络上收到小红的密钥,则小明必须同小红验证他具有她的公钥的正确副本。)小明将加密的消息发送给小红,而小红使用她的私钥解密该消息。

但是,在传输小红的公钥期间,未经授权的代理可能截获该密钥。而且,同一代理可能截获来自小明的加密消息。但是,该代理无法用公钥解密该消息。该消息只能用小红的私钥解密,而该私钥没有被传输。小红不使用她的私钥加密给小明的答复消息,原因是任何具有公钥的人都可以解密该消息。如果小红想要将消息发送回小明,她将向小明索要他的公钥并使用该公钥加密她的消息。然后,小明使用与他相关联的私钥来解密该消息。

在一个实际方案中,小红和小明使用公钥(不对称)加密来传输私(对称)钥,而对他们的会话的其余部分使用私钥加密。

公钥加密具有更大的密钥空间(或密钥的可能值范围),因此不大容易受到对每个可能密钥都进行尝试的穷举攻击。由于不必保护公钥,因此它易于分发。公钥算法可用于创建数字签名以验证数据发送方的身份。但是,公钥算法非常慢(与私钥算法相比),不适合用来加密大量数据。公钥算法仅对传输很少量的数据有用。公钥加密通常用于加密一个私钥算法将要使用的密钥和IV。传输密钥和IV后,会话的其余部分将使用私钥加密。

.NET通过抽象基类(System.Security.Crytography.AsymmetricAlgorithm)提供下列非对称(公钥/私钥)加密算法:

DSACryptoServiceProvider

RSACryptoServiceProvider


分享到:
评论

相关推荐

    C#-RSA非对称加密公钥加密.rar

    C#-RSA非对称加密公钥加密 这是一个完整的实例,不像一些网站只有局部代码,有的又只有代码,没有库文件等等。真正的拿到COPY下就用

    论文研究-不可信更新的前向安全公钥加密方案:安全性模型和构造.pdf

    根据方案定义,运用双线性映射技术以及高效的对称加密机制,提出一个不可信更新的前向安全公钥加密方案,并在随机预言机模型下证明了该方案的安全性。通过分析,该方案具有定长密文、定长私钥、固定加/解密开销、...

    vue生成rsa非对称加密工具类及使用方法(包含公钥加密,私钥解密)

    RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不...

    .net RSA对称加密 解决加密长度限制

    .net c# RSA对称加密, 解决加密长度限制,可以直接使用

    前后端RSA非对称加密解密(代码示例).rar

    太不安全,应该加密传输,怎么做呢,对称加密一旦秘钥丢失则形同虚设,最好使用非对称加密的方式,由后端事先生成公钥和私钥,公钥发给前端页面,私钥后端自己保留,前端进行认证时,把密码原文用公钥加密再发给后端...

    公钥私钥加密解密数字证书数字签名详解.docx

    详细介绍了区块链使用的不对称加密在数字证书数字签名的应用

    黄淮学院\考试题\2010-2011

    综合发挥两种加密算法的优点,既利用了对称加密算法速度快的优点,又利用了公钥加密算法的安全性高的特性。 自主访问控制和强制访问控制的区别是什么?基于角色的访问控制和前两者相比有何优点? 自主访问...

    delphi国密SM2,SM4算法包,包含demo

    SM2属于非对称加密算法,使用公钥加密,私钥解密,在安全性和运算速度方面要优于RSA算法。 SM2公钥加密适用于加密长度较短的数据,如会话密钥和消息报文。SM2公钥加密不仅对数据加密,还提供防篡改的特性,即被篡改...

    传输密码加密:rsa实现js前台加密java后台解密

    用RSA非对称加密方式实现。后台生成rsa密钥对,然后在登陆页面设置rsa公钥,提交时用公钥加密密码,生成的密文传到后台,用私钥解密,获取密码明文。 这样客户端只需要知道rsa加密方式和公钥,前台不知道私钥是无法...

    利用PGP加密技术保护电子邮件安全

    PGP采用了非对称的“公钥”和“私钥”加密体系,而这种RSA算法是不可重新分解的密钥体系,简单地说就是:一个对外公开,一个不告诉任何人。公开的一个称为“公钥”,另一个叫“私钥”。这两个密钥是互补的,也就是说...

    文件内容加密工具(非对称RSA加密算法版)

    程序会让用户生成并保存一个公钥和一个私钥文件 用公钥对明文内容进行加密,加密后为乱码! 只能用唯一对应的私钥才能解密!

    Delphi(delphi7-XE)标准RSA加密,解密,签名.与C,Java,php等通用

    Delphi-XE RSA加密,解密,签名.密钥对生成工具.与C,Java,php等互通加解密

    Java加密类演示DES、RSA及SHA加密算法.rar

     * 加密/解密操作(公钥加密,私钥解密)  * 数字签名/验证(私钥加密,公钥验证)  MessageDigester.java为消息摘要接口,摘要算法需要实现此接口,消息摘要不需要密钥,为null即可  SymmetryEncrypt.java:...

    RSA非对称加密验签参考demo

    RSA非对称加密 通过私钥加密,公钥解密来实现数据的安全交互。公钥私钥存放在单独的文本中,自己替换即可。

    MiniPGP加密工具

    PGP原理:PGP使用非对称加密算法.加密者用公钥加密,解密者则用配套的私钥和密码解 密.因为公钥和私钥是分开的,所以理论上加密者也无法解开没有配套私钥的内容. 使用方法:首先创建密钥,然后把生成的公钥发给你的朋友...

    Android数据加密之Rsa加密

    最近无意中和同事交流数据安全传输的问题,想起自己曾经使用过的Rsa非对称加密算法,闲下来总结一下。  其他几种加密方式:  •Android数据加密之Rsa加密  •Android数据加密之Aes加密  •Android数据加密之...

    如何应用GPG加密

    使用公钥加密的数据可以用私钥解密,同样,使用私钥加密的数据可以用公钥解密。非对称的密钥可以用来加密和做数字签名。当用户关心信息保密性时,使用加密功能;当用户关注信息完整性及不可抵赖性时,使用数字签名...

    OpenSSL RSA 非对称加密(VS2013,C++实现)

    生成密钥及加密解密选择密钥时不支持中文路径 其它都已经实现。 C++代码,VS2013做的mfc程序, 调用openssl库的RSA算法实现非对称加密 公钥加密,私钥解密(私钥解密时需要密码) 支持大文件

    前端使用jsencrypt进行RSA加密解密(uniapp也可用)

    值得一提的是,若是引入正常的jsencrypt.js,uni-app项目会报错,上面的jsencrypt.js是经过修改,uni-app可用不报错的。 二、使用 1. 将下载好的jsencrypt.js放在一个专门的文件夹,例如 utils/jsencrypt.js 2. ...

    Python程序设计:RSA 数据加密.pptx

    RSA算法是属于非对称加密算法,即加解密的秘钥不同。 RSA算法原理:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。 RSA的安全性依赖于大数分解,但...

Global site tag (gtag.js) - Google Analytics