对称密钥

iOS 密码学一

天大地大妈咪最大 提交于 2020-02-13 19:08:32
文章目录 MD5加盐和HMAC 加密部分 一个故事讲完https 对称加密的经典算法 2种加密的方式 终端操作加密的命令 MD5加盐和HMAC 123+一堆乱七八糟的东西,前后中间随便加,让别人无法直接破解123 盐的不足之处:1.这个盐是固定的,只要是开发者都得知道这个盐(iOS端,Android端,服务器端)如果泄漏出去就能破戒掉。 2.盐写死了,1.0写入已经对密码加密了,2.0版本如果要改,就不能改了。 HMAC:使用广泛,给定一个密钥,做明文和密钥的拼接,然后做2次MD5的计算。 加密部分 加密算法 —Hash 散列函数。是不可逆的 加密算法不应该都是不可逆的。 以下两种算法是可逆的 1.对称加密 传统的加密算法 加密和解密都使用一个密钥。密钥的保密工作非常重要。 2.非对称加密RSA(现代加密算法) 有公钥和私钥:1.用公钥加密,私钥解密。2.用私钥加密,公钥解密 明文>加密-密文 密文>解密-明文 一个故事讲完https A和B网络聊天,相隔很远,有一天他们突然发现,他们一直是在明文聊天,相当于在网上裸奔,如果任何一个不怀好意的人,都可以监听他们的聊天内容,打开他们传输的数据包,窥探他们的隐私。 A和B就商量做一个数据加密! 逻辑是:发送信息之前,加密;B收到的时候进行解密。 这时对称加密。问题就来了,他们需要先约定一个密钥,约定密钥的过程也会被监听。

计算机网络HTTP:HTTP和HTTPS

自闭症网瘾萝莉.ら 提交于 2020-02-13 01:01:11
HTTP协议的缺点 通信使用明文,内容可能被窃听。 不验证通信方身份,有可能遭遇伪装。 无法证明报文的完整性,有可能已被篡改。 HTTPS HTTPS并非应用层的一种新协议,只是HTTP通信接口部分用SSL/TLS协议代替而已。通常HTTP直接和TCP通信,当使用SSL时则变成先和SSL通信,再由SSL和TCP通信。 SSL/TLS(安全套接层/传输层安全协议) SSL协议分为两层 SSL记录协议:它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议:它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。 对称密钥加密和非对称密钥加密 对称密钥加密(私钥加密):即信息的发送方和接收方使用同一个密钥去加密和解密数据。 非对称密钥加密(公钥加密):它需要使用一对密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。信息发送方用公开密钥去加密,而信息接收方则用私用密钥去解密。 SSL/TLS协议基本原理 基本思路:客户端先向服务端索要公钥,然后用公钥加密信息,服务端收到密文后,用自己的私钥解密。 如何保证公钥不被篡改? 解决方法:将公钥放在数字证书中,只要证书是可信的,公钥就是可信的。 公钥加密计算量太大,如何减少耗用的时间? 解决方法

网摘-HTTPS协议之通信加密过程分析

ぐ巨炮叔叔 提交于 2020-02-11 17:03:43
原文链接: https://www.jianshu.com/p/39ad3e40f7af 备份如下: HTTPS协议之通信加密过程分析 一、准备知识 在开始介绍前,需要首先了解一下消息摘要、数字签名、数字证书的知识 1、消息摘要 - Message Digest 消息摘要(Message Digest) ,又称数字摘要(Digital Digest)或数字指纹(Finger Print)。简单来说,消息摘要就是在消息数据上,执行一个单向的Hash函数,生成一个固定长度的Hash值,这个Hash值即是消息摘要,Hash算法有MD5,SHA。它有以下特征: 无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如应用MD5算法摘要的消息有128个比特位,用SHA-1算法摘要的消息最终有160比特位的输出,SHA-1的变体可以产生192比特位和256比特位的消息摘要。一般认为,摘要的最终输出越长,该摘要算法就越安全。 消息摘要看起来是“随机的”。这些比特看上去是胡乱的杂凑在一起的。可以用大量的输入来检验其输出是否相同,一般,不同的输入会有不同的输出,而且输出的摘要消息可以通过随机性检验。但是,一个摘要并不是真正随机的,因为用相同的算法对相同的消息求两次摘要,其结果必然相同;而若是真正随机的,则无论如何都是无法重现的。因此消息摘要是“伪随机的”。 消息摘要函数是单向函数

HTTPS简介(二):非对称加密RSA

别等时光非礼了梦想. 提交于 2020-02-10 13:02:47
我们如何决定密钥是什么? 如果只有发送方和接收方知道密钥,对称密钥密码术是很安全的。在凯撒密码中,密钥是一个偏移值,这个偏移值决定每个字母应该偏移多少。在我们的例子中,我们使用的偏移值是 3,但是也能是 4 或者 12。 不过这么设计会有个问题:在用信鸽传递信息之前,如果 Alice 和 Bob 之前从没见过,他们没有安全的方式创建一个密钥。如果他们将密钥包含在信息之中,Mallory 将拦截信息并且发现密钥。后果就是:无论 Alice 和 Bob 发送的信息是否加密,Mallory 都能读取或者改变拦截到的信息。 这是一个典型的中间人攻击例子。避免它的唯一方法是改变之前的密码系统。 那么有没有这种方式,Alice 和 Bob 之前从没见过,Alice 想要给 Bob 传递一条信息,一开始Alice 先写一封空的信给Bob ,Bob发一个密钥给Alice。这个密钥要一个特点只能用来加密,对自己加密的文件都没办法解密,只有Bob 才能够解开。也就是说在密钥在传输的过程中即使被Mallory 截获了信鸽,Mallory知道了这个密钥,拿到了这个密钥也只是用来加密,他即使接下里截获到了Alice 用大家都拿到的密钥加密信息发给 Bob的信件,他也没办法解开密文。 这是另外一套密码系统。 他跟之前的有不一样的地方,第一就是他需要两次通讯过程,第二就是给出去的密钥只能用来加密无法用来解密。

大容量数据安全传输系统设计与实现(具体)

a 夏天 提交于 2020-02-06 18:18:10
大容量数据安全传输系统设计与实现(具体) 一、需求 两个主体间实现远程大容量数据文件秘密传输(超过1G大小的容量) 1)设计并实现支持大容量数据秘密传输的系统; 2)该系统支持数据完整性和来源验证; 开发坏境需求:windows平台,语言平台不限。 二、原理 (1)hash函数 hash函数是将任意长度的输入变换成固定长度输出的函数,该输出称为散列值。MD5是一种被广泛使用的hash函数,可以产生出一个128位的散列值,主要用于确保信息传输完整一致。MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过一系列处理后,算法输出由四个32位分组组成的128位散列值。具体的步骤如下所示: 1、填充 如果输入信息的长度(bit)对512求余的结果不等于448,就需要填充使得对512求余结果等于448,填充的方法是填充一个1和n个0。填充完成后,信息的长度为N* 512+448 2、记录信息长度 用64位内存来存储填充前信息长度。这64位加在第一步结果的后面,这样信息长度就变为N* 512 + 448 + 64 = (N+1)*512 3、装入标准的幻数 A=0X67452301L,B=0XEFCDAB89L,C=0X98BADCFEL,D=0X10325476L。 4、循环运算 把消息分以512位为一分组进行处理;每一个分组进行4轮变换

4---RHCE 服务器中级(SSL加密原理)

牧云@^-^@ 提交于 2020-02-06 00:51:23
4.1.1超文本传输协议(HTTP) HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。 4.1.2超文本传输安全协议(HTTPS) (全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,)是以安全为目标的HTTP通道。HTTPS并不是一个新协议,而是HTTP+SSL(TLS)。原本HTTP先和TCP(假定传输层是TCP协议)直接通信,而加了SSL后,就变成HTTP先和SSL通信,再由SSL和TCP通信,相当于SSL被嵌在了HTTP和TCP之间。 4.1.3安全套接层(SSL ) SSL 是“Secure Sockets Layer”的缩写。IETF 把SSL 标准化,标准化之后SSL被改为 TLS(Transport Layer Security传输层安全协议)。 SSL协议分为两层 : (1)SSL记录协议 (SSL Record Protocol)

现代密码学:密钥管理

不羁的心 提交于 2020-02-05 14:27:46
文章目录 密钥管理 1.几类密钥的作用 2.密钥的生成 3.密钥的存储 4.密钥的分发 5.集中式密钥分发 6.分布式密钥分发(DeffieHellman密钥协商) 7.为什么要进行公钥认证 密钥管理 1.几类密钥的作用 主密钥 密钥加密密钥 会话密钥 2.密钥的生成 3.密钥的存储 4.密钥的分发 密钥分配方法 (1)对称密码(双方事先有相同密钥) (2)公钥加密(基于公钥) (3)第三方(分配中心) 5.集中式密钥分发 6.分布式密钥分发(DeffieHellman密钥协商) 7.为什么要进行公钥认证 公钥的目录需要保护,公钥证书实现用户公钥的真实性 来源: CSDN 作者: 熊猫先生工作室 链接: https://blog.csdn.net/qq_43573718/article/details/104180602

HTTPS原理01 -- SSL/TLS介绍

时光毁灭记忆、已成空白 提交于 2020-02-05 05:20:29
https=http+ssl 顾名思义,https是在http的基础上加上了SSL保护壳,信息的加密过程就是在SSL中完成的 SSL证书的定义:SSL证书是由专门的权威的数字证书颁发机构在验证一个域名的信息之后所发行的数字网络证书,它可以很好地维护网络信息的安全,防止这些信息被第三方所截取或是窃听。 ssl认证指的是客户端到服务器端的认证,它主要是提供对用户以及服务器的认证,对传送的数据进行加密和隐藏,它能够确保数据在传送过程当中不被改变,对于数据的加密性、数据的完整性有一定保障。 https ssl证书颁发后都有一个有效期。有时证书没过期都会出现无效的情况,那可能是电脑系统的时间不对会导致证书过期,因为https ssl证书颁发都有颁发日期和截止日期的。电脑系统当中的时间在证书有效时间之外,就有可能导致浏览器提示网站安全证书过期。 关于SSL证书原理,其实在一个网站部署了SSL证书之后,就相当于为这个网址配置两把密钥,一把叫做公钥,另一把叫做私钥。公钥的作用就是在用户将自己的信息留在这个网站时为这些信息加锁的钥匙,加了锁之后,这些信息就不能被轻易的读取,除非有专门的钥匙打开。而这把打开这个锁的钥匙,就是另一把密钥,也就是私钥。只有这把对应的私钥才可以打开公钥部下的锁,因此在这两把密钥的作用下,可以使客户的信息数据在网站中安全的传入并安全的浏览,不会被他人截取。 一、作用

数据加密方法及原理介绍

非 Y 不嫁゛ 提交于 2020-02-04 22:14:17
一、加密术语 1、加密 透过数学公式运算,使文件或数据模糊化,将容易识别的明文变成不可识 别的密文 用于秘密通讯或安全存放文件及数据 2、解密 为加密的反运算 将已模糊化的文件或数据还原,由密文还原出明文 3、密钥 是加密/解密运算过程中的一个参数,实际上就是一组随机的字符串 二、加密方法 1、对称式加密 使用同一把密钥对数据进行加密和解密 ,又称对称密钥 (Symmetric Key) 或(Secret Key) 进行加密通信前需要将密钥先传送给对方 ,或者双方通过某种密钥交换方法得到一个对 称密钥 缺点 :破解相对较容易 优点 :加密 /解密运算相对简单 ,耗用运算较少 ,加密 /解密效率高 常见算法 :40Bits ~128Bits DES,3DES,AES,RC2,RC4 等 2、非对称式加密 (也称为公钥 /私钥加密 ) 公钥加密主要用于身份认证和密钥交换 .公钥加密 ,也被称为 "不对称加密法 ",即加解密过 程需要两把不同的密钥 ,一把用来产生数字签名和加密数据 , 另一把用来验证数字签名和对 数据进行解密 . 使用公钥加密法 ,每个用户拥有一个密钥对 ,其中私钥仅为其个人所知 , 公钥则可分发给 任意需要与之进行加密通信的人 .例如 :A 想要发送加密信息给 B,则 A 需要用 B 的公钥加 密信息 ,之后只有 B 才能用他的私钥对该加密信息 进行解密 .

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

帅比萌擦擦* 提交于 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