非对称加密

对称加密、单向加密和公钥加密的概念和联系

帅比萌擦擦* 提交于 2020-02-04 17:41:16
下文主要从加密算法的特征、常用加密算法和加密工具等方面,梳理和比较对称加密、单向加密和公钥加密的概念及其之间的联系。 对称加密 采用单钥密码的加密方法,同一个密钥可以同时用来加密和解密,这种加密方法称为对称加密,也称为单密钥加密。常用的单向加密算法: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合; 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高; AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,支持128、192、256、512位密钥的加密; Blowfish 算法特征: 1、加密方和解密方使用同一个密钥; 2、加密解密的速度比较快,适合数据比较长时的使用; 3、密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦; 加密工具: openssl,它使用了libcrypto加密库、libssl库即TLS/SSL协议的实现库等。TLS/SSL是基于会话的、实现了身份认证、数据机密性和会话完整性的TLS/SSL库。openssl官网。 gpg 单向散列加密 单向加密又称为不可逆加密算法,其密钥是由加密散列函数生成的。单向散列函数一般用于产生消息摘要,密钥加密等,常见的有: 1、MD5

HTTPS简介(一):对称加密

房东的猫 提交于 2020-02-02 13:30:38
密码学可能是一个难以理解的主题。它充满了数学证明。除非你真的需要开发密码系统,否则,如果你只想从宏观的角度了解密码学,你并不需要理解这些复杂的内容。 如果你抱着能够创建下一个 HTTPS 协议的期望打开这篇文章,我不得不遗憾地表示只有信鸽是不够的。否则,煮一些咖啡,享受这篇文章吧。 Alice,Bob 和信鸽? 你在互联网上的任何活动(阅读这篇文章,在亚马逊上买东西,上传猫咪的图片)都归结为向服务器发送消息和从服务器接收消息。 这么讲听起来可能有点抽象,因此,我们不妨假设这些信息是通过信鸽传递的。我明白这么假设显得很随意,但请相信我:HTTPS 的工作原理就是这样的,只是快得多。 本文中我们并不会使用,服务器,客户端和黑客这样的术语,取而代之的是,我们会依次使用人名 Alice、 Bob 和 Mallory来代替它们。如果你不是第一次尝试理解密码概念,你可以认出这些名字,因为它们被广泛用于技术文献中。 一次简单的通讯 如果 Alice 想要给 Bob 传递一条信息,她将信息绑在信鸽的腿上,然后让信鸽传给 Bob。Bob 收到信息,读取信息。一切都正常。 但要是 Mallory 途中拦截了 Alice 的信鸽,并且改变了信息的内容?Bob 无法知道 Alice 发送的信息在传递途中被修改了。 这就是 HTTP 的工作原理。挺可怕的,对吧?我不会通过 HTTP 协议来发送我的银行凭证

数字签名原理简介(附数字证书)

让人想犯罪 __ 提交于 2020-01-29 07:50:38
http://www.cnblogs.com/kingsleylam/p/4985571.html 数字签名原理简介(附数字证书) 首先要了解什么叫对称加密和非对称加密,消息摘要这些知识。 1. 非对称加密 在通信双方,如果使用非对称加密,一般遵从这样的原则:公钥加密,私钥解密。同时,一般一个密钥加密,另一个密钥就可以解密。 因为公钥是公开的,如果用来解密,那么就很容易被不必要的人解密消息。因此, 私钥也可以认为是个人身份的证明。 如果通信双方需要互发消息,那么应该建立两套非对称加密的机制(即两对公私钥密钥对),发消息的一方使用对方的公钥进行加密,接收消息的一方使用自己的私钥解密。 2.消息摘要 消息摘要可以将消息哈希转换成一个固定长度的值唯一的字符串。值唯一的意思是不同的消息转换的摘要是不同的,并且能够确保唯一。 该过程不可逆 ,即不能通过摘要反推明文(似乎SHA1已经可以被破解了,SHA2还没有。一般认为不可破解,或者破解需要耗费太多时间,性价比低)。 利用这一特性, 可以验证消息的完整性。 消息摘要通常用在数字签名中,下面介绍用法。 了解基础知识之后,就可以看一下数字签名和数字证书了。 3.数字签名 假设现在有通信双方A和B,两者之间使用两套非对称加密机制。 现在A向B发消息。 那么,如果在发送过程中,有人修改了里面密文消息,B拿到的密文,解密之后得到明文,并非A所发送的

JAVA加密

十年热恋 提交于 2020-01-25 07:51:23
【源地址http://www.iteye.com/topic/1122076/】 加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。大体上分为 双向加密 和 单向加密 ,而双向加密又分为 对称加密 和 非对称加密 (有些资料将加密直接分为对称加密和非对称加密)。 双向加密大体意思就是明文加密后形成密文,可以通过算法还原成明文。而单向加密只是对信息进行了摘要计算,不能通过算法生成明文,单向加密从严格意思上说不能算是加密的一种,应该算是摘要算法吧。具体区分可以参考: 一、双向加密 (一)、对称加密 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。 需要对加密和解密使用相同密钥的加密算法。由于其速度,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。 所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。 算法是一组规则,规定如何进行加密和解密。因此对称式加密本身不是安全的。    常用的对称加密有:DES、IDEA、RC2、RC4、SKIPJACK、RC5、AES算法等 对称加密一般java类中中定义成员 //KeyGenerator 提供对称密钥生成器的功能

探究公钥、私钥、对称加密、非对称加密、hash加密、数字签名、数字证书、CA认证、https它们究竟是什么,它们分别解决了通信过程的哪些问题。

早过忘川 提交于 2020-01-15 20:29:39
一、准备   1. 角色:小白、美美、小黑。   2. 剧情:小白和美美在谈恋爱;小黑对美美求而不得、心生怨念,所以从中作梗。   3. 需求:小白要与美美需通过网络进行通信,联络感情,所以必须保证通信的安全性。 二、由通信过程中可能出现的问题来引出公钥、私钥、对称加密、非对称加密、hash加密、数字签名、数字证书、CA认证、https的相关知识     1. 场景1: 小白和美美在 http 协议下进行通信。     1.1 能否完成通信 :能。     1.2 还可能出现其他问题 :容易受到网络中间人攻击:在http协议下进行通信,信息是没有进行加密的,在透明的网络环境中,一旦信息被小黑截获,小黑可以查看、篡改信息内容,难以保证信息的安全。—— 问题所在:信息没加密。     1.3 解决办法 :引入“公钥、私钥”对信息进行加密,详情见“场景2”。    2. 场景2: 小白和美美依旧是在 http 协议下进行通信,但小白先准备了一对秘钥(公钥+私钥),私钥由小白自己保管,公钥则交给了美美。通信时,小白先用“小白的私钥”对信息进行加密,然后再发送给美美;美美收到信息后,用“小白的公钥”进行解密,得到明文。美美要给小白发信息时,先用“小白的公钥”对信息进行加密,然后再发送给小白;小白收到回复后,用“小白的私钥”进行解密,得到明文。     2.1 公钥、私钥     (1

非对称加密和数字签名的原理

99封情书 提交于 2020-01-14 15:30:16
信息,尤其是重要的或者私密的信息传递,一直伴随着安全问题,如何保证信息在传递过程中的安全,是几千年来人们一直在关注的问题。 从早期的隐藏信息传递介质,如:把信藏起来,埋在大米里面,或者把信息放入意想不到的地方,比如鸡蛋里,写在送信者的身上等等。 到后来开始对信息本身进行加密,如移位法,替代法,以及后来的密码本等等,加密技术层出不穷。同时,解密的技术也是紧随其后。 随着近代计算机的发明,加密技术也更进一步,重之前的字母层面,深入到数字层面,并基于此产生了一种相对实用的加密系统,叫做路西法加密系统(又名魔王系统),他在很大程度上解决了信息传输过程中的安全问题,但是它有一个软肋:秘钥。如果两个人之间需要使用这个系统进行加密通讯,为了保证秘钥安全,通讯双方需要先见一次面,把秘钥交给对方。如果秘钥需要定期更换的话,双方就需要定期见面,这使得这套加密系统使用起来非常不便。 非对称加密 为了解决以上的问题,有人发明了非对称秘钥加密系统,即RSA加密,它的原理是,通过一系列数学计算,生成一对秘钥:一个私钥,一个公钥。公钥用于加密,私钥用于解密。由于数学原理的原因,私钥可以推出公钥,而公钥无法推出私钥。 在使用的时候,私钥自己保存好,而公钥可以在不加密的情况下,发给任何你想要通讯的人。当对方需要向你发送消息时,可以使用拿到的公钥对信息进行加密,然后发送给你。你在收到信息后

Https的前世今生

喜欢而已 提交于 2020-01-14 06:03:23
1、年前会议 马上要过年了,公司业务上的需求也少了很多,这不,王小二他们召开了一场技术会议,盘点年前能干点啥。 只见C哥写了一份清单,其中一项是全站升级https。 C哥说:https是一种趋势,但目前我们接口还是http的。appstore也一直要求使用https,从安全性以及appstore审核的角度来看,我们年前得全站升级https。有谁自告奋勇吗? 小二想了一下:我来做吧C哥,正好了解下https。 C哥:好,小二,那你接下来研究下https,然后有时间再给我们分享下。 小二:好的C哥,保证完成! 2、深藏不露张三胖 听说小二要做https,运维张三胖走到小二身旁。 张三胖:小二,听说你要做https? 小二:是啊,三胖哥,我们得全站升级https。你之前了解过吗? 张三胖:哈哈,我还真了解过,升级https是个不错的注意。 小二:三胖哥,那太好了,你有时间给我讲讲?我就不用花时间去查资料了。 张三胖:好,我现在正有时间,给你讲讲,也正好复习下。 小二:多谢三胖哥,今中午请你吃饭啊。 3、对称加密不足够 三胖:小二,假设你用http协议给你女朋友发一封私密消息。这样有没有泄密的风险呢? 小二:当然有了,http协议是明文传输,传输数据过程中的任何第三方都可以截获并篡改该明文。 三胖微微一笑:是的,我们画幅图表示下,你就知道信息被篡改多尴尬了,哈哈。 小二:啊?确实是

对称加密和非对称加密有什么区别?

一个人想着一个人 提交于 2020-01-14 03:35:52
对称加密是指 加密和解密都使用同一个秘钥 ; 而非对称加密是有 公钥和私钥两个秘钥的 . 对称加密速度相对更快,但安全性较低,如果一方的秘钥泄露,那密文就相当于明码了. 而非对称加密速度相对较慢,但安全性更高.(速度我自测过SHA256RSA,签名和验签大约0-10ms,性能也挺高的) 来源: CSDN 作者: fly_zhaohy 链接: https://blog.csdn.net/fly_zhaohy/article/details/103928167

对称加密和非对称加密

穿精又带淫゛_ 提交于 2020-01-13 05:08:08
一、简介: 对称加密:加密和解密的秘钥使用的是同一个。 非对称加密:加密需要公钥、私钥两种。“公钥加密,私钥解密;私钥加密,公钥解密” 二、特点: 对称加密: AES,DES,3DES,IDEA,Blowfish,RC4、RC5、RC6 等。 在数据传送前,发送方和接收方必须商定好秘钥,然后双方都能保存好秘钥,使用该秘钥进行数据的加解密。 优点:算法公开、计算量小、加密速度快、加密效率高。 缺点:如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。 非对称加密 : RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用) 甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方,使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。 优点: 安全 缺点: 速度较慢 Hash算法 (摘要算法):MD2、MD4、MD5、HAVAL、SHA Hash算法特别的地方在于它是一种单向算法,用户可以通过hash算法对目标信息生成一段特定长度的唯一hash值,却不能通过这个hash值重新获得目标信息

对称加密算法 + 非对称加密算法

倖福魔咒の 提交于 2020-01-13 03:23:35
对称加密算法   对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES、IDEA和AES。 传统的DES由于只有56位的密钥,因此已经不适应当今分布式开放网络对数据加密安全性的要求。1997年RSA数据安全公司发起了一项“DES挑战赛”的活动,志愿者四次分别用四个月、41天、56个小时和22个小时破解了其用56位密钥DES算法加密的密文。即DES加密算法在计算机速度提升后的今天被认为是不安全的。 AES是美国联邦政府采用的商业及政府数据加密标准