对称密钥

Fiddler抓取HTTPS协议

a 夏天 提交于 2020-01-18 15:57:19
HTTPS协议握手过程: 1,客户端明文请求,把自己支持的非对称加密算法(用于使用CA证书公钥加密计算生成协商密钥的随机数per_master)、对称加密算法(用于以后使用协商密钥加密传输内容)、验证数据完整性的HASH算法、随机数Random_C发给服务器。 2,服务器发回客端的明文信息,包含选择一套加密算法、HASH算法、CA证书、随机数Random_S。CA证书中包含服务器地址、公钥、证书颁发机构信息和签名。 3,客户端做五件事:     a)对证书合法性、证书中包含的地址与正在访问的地址是否一致等进行校验;   b)生成一串随机数密码pre_master,并使用服务器选择的非对称加密算法和CA证书里的公钥对pre_master加密,得到enc_pre_master;   c)计算协商密钥enc_key=Func(random_C,random_S,pre_master);   d)使用约定好的HASH验证算法计算握手信息,用协商密钥enc_key及约定好的加密算法对握手消息加密。   e)客户端发送enc_pre_master、同意使用约定的算法和协商密钥通信、加密的握手信息给服务器。 4,服务器收到数据做五件事:   a)用自己的私钥解密enc_pre_master,得到pre_master;   b)计算协商密钥enc_key=Func(random_C,random

几种常见的加密算法

China☆狼群 提交于 2020-01-18 03:23:32
一、概念 数据加密 的基本过程就是对原来为明文的文件或数据按某种 算法 进行处理,使其成为不可读的一段代码为“密文”,使其只能在输入相应的 密钥 之后才能显示出原容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该 编码 信息转化为其原来数据的过程。 简单来说,就是 把某一段数据(明文),按照“某种规则”转换成另外一段不可读的数据(密文)。这里选定的“规则”,就是加密算法。 理所当然,当别人拿到“密文”,解析出“明文”的难度取决于加密算法的破解难度。 二、几种常见的加密算法 1、 Base64算法 原码 /** * Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。 */ public class Base64Util { /* 我们知道Java中是用"8个二进制数字"表示一个实际的字节。 比如:我要用Base64编码一个字符串“abc”,实际算法如下: 'a','b','c'的ASCII标准编码分别为(十进制)97,98,99,因此用二进制表示“abc”字符串就是: 01100001,01100010,01100011 ---3组,每组8字节 Base64的原理:将这三组8字节,分成4组6字节 011000,010110, 001001,100011 ---4组,每组6字节 高位补0 00011000,00010110,

图解HTTP之HTTPS

会有一股神秘感。 提交于 2020-01-17 05:34:21
相信很多前端同学们,都听说过https,现在很多大的站点(如天猫、百度等),均使用了https协议进行传输。但是https是做什么的,往往并不十分了解。今天我们就来一起聊一聊HTTP / HTTPS那些事儿. 一、什么是http协议? http协议是指Hyper Text Transfer Protocol(超文本传输协议)的缩写。它用于数据从www服务器传输到本地浏览器的传送协议。就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议 http是一种应用层协议,包括请求和响应构成。 http是一种无状态的协议。所谓无状态*的协议就是指第一次连接和第二次连接没有关系。用生活中的例子来讲就是:假设你去一家陌生的公司找人,但是,保安不认识你,让你登记后放你进去。第二次,你再去那家公司,找人的时候,你还是一样需要登记。前后两次之间没有产生关系。 http协议通常工作在tcp协议之上。但是,http协议存在安全隐患,为了解决http的安全问题,http也承载于TSL或SSL协议层之上,这个时候,我们称之为https。 http的默认端口为80. https的默认端口为443. 二、HTTP协议如何工作? 大家都知道一般的通信流程:首先客户端发送一个请求(request)给服务器,服务器在接收到这个请求后将生成一个响应(response)返回给客户端。

HTTP与HTTPS的区别

跟風遠走 提交于 2020-01-16 07:20:26
什么是HTTP? MDN的描述: HTTP是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。它是在 Web 上进行数据交换的基础,是一种 client-server 协议,也就是说,请求通常是由像浏览器这样的接受方发起的。一个完整的Web文档通常是由不同的子文档拼接而成的,像是文本、布局描述、图片、视频、脚本等等。 那什么是HTTPS? 维基百科的描述: HTTP安全(HTTPS)是超文本传输​​协议(HTTP)的扩展,用于通过计算机网络进行安全通信,并且广泛用于Internet。 在HTTPS中,通信协议由传输层安全性(TLS)或以前的前身安全套接字层(SSL)加密。因此该协议通常也被称为HTTP over TLS, 或HTTP over SSL。 一、HTTP与HTTPS的区别 HTTP的URL以http:// 开头,HTTPS 的URL以https:// 开头; HTTP不需要证书,HTTPS需要CA证书; HTTP是明文传输,HTTPS加密传输; HTTP和HTTPS都基于TCP(以及UDP)协议,但HTTP使用TCP协议80端口, HTTPS使用TCP协议443端口; HTTP直接和TCP通信,HTTP先和SSL通信,SSL再和TCP通信。 HTTPS采用混合加密机制 百度的描述 公开密钥加密也称为非对称密钥加密,该加密算法使用两个不同的密钥

CryptoJS加密(网络安全)

╄→尐↘猪︶ㄣ 提交于 2020-01-16 07:18:37
CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。 des对称加密 在对称加密算法中,数据发信方将明文和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。 <script src="core.js" ></script> <script src="enc-base64.js" ></script> <script src="cipher-core.js" ></script> <script src="tripledes.js" ></script> <script src="mode-ecb.js" ></script> <script> //加密 function encryptByDES(message, key) { var keyHex = CryptoJS.enc.Utf8.parse(key); var encrypted = CryptoJS.DES.encrypt(message, keyHex, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString(); } //解密

https的原理

强颜欢笑 提交于 2020-01-16 02:04:26
Http存在的问题   上过网的朋友都知道,网络是非常不安全的。尤其是公共场所很多免费的wifi,或许只是攻击者的一个诱饵。还有大家平时喜欢用的万能钥匙,等等。那我们平时上网可能会存在哪些风险呢?   1. 泄密,个人隐私、账户密码等信息可能会被盗取。   2. 篡改,收到的数据可能被第三方修改过,或被植入广告等。   3. 假冒,访问的站点非目标服务器站点。如域名欺骗、域名劫持、钓鱼网站等。   可能住你隔壁穿人字拖、说话都略显羞涩的小王,一到夜深人静的时候就开始偷窥你的一举一动!陪你一起看91某社区的电影还好,万一窃取了各购物网站或其他站点的登录信息就……是不是想想有些害怕呢!   为什么别人能获取你上网的数据呢?有过一定网络基础的朋友多少都对TCP/IP有些了解,对各种握手挥手早已背得滚瓜烂俗,对http协议也早了然于心。http是应用层的协议,位于TCP/IP参考模型的最上层。用户数据经过应用层、传输层、网络层、链路层的层层封装后经过物理层发送到目标机器。在这几层中,数据都没有经过加密处理,所以一旦别人获取到你的数据包,就能轻易的获取到数据的信息。   为了保护数据隐私,让数据不再“裸奔”。对需要传输的数据进行加密处理就很有必要了。目前而言,加密算法可以分两大类,一类是对称加密算法,还有一类是非对称加密算法。 对称加密   对称加密算法的加密和解密都是用 同一个密钥

密码学与WIFI暴力破解

独自空忆成欢 提交于 2020-01-14 12:25:07
密钥不等于密码 概念:密钥加算法=密码 加密种类: 对称加密 非对称加密 哈希算法 无线=>wlan:WIFI SSID 用于区分不同的WIFI WIFI暴力破解(见课件的具体步骤操作) 字典的名称要用英文 来源: CSDN 作者: 呵呵的先生 链接: https://blog.csdn.net/qq_45792080/article/details/103969328

密码学中的英文简写KEM DEM AKE

折月煮酒 提交于 2020-01-14 11:35:53
1,消息和加密   消息(message)称为明文(plaintext)。用某种方法伪装消息以隐藏它的内容的过程称为加密(encryption),被加密的消息称为密文(ciphertext),而把密文转变为明文的过程称为解密(decryption)。   使消息保密的技术和科学叫做密码编码学(cryptography),从事此行的人叫做密码编码者(cryptographer),密码分析者(cryptanalyst)是从事密码分析的专业人员,密码分析学(cryptanalysis)就是破译密文的科学和技术,即揭穿伪装。密码学(cryptology)作为数学的一个分支,包括密码编码学和密码分析学两部分,精于此道的人称为密码学家(cryptologist),现代的密码学家通常也是理论数学家。 2,KEM和DEM 公钥密码学是现代密码学的一个重要组成部分,它解决了对称密码中最困难的两个问题:密钥分配问题和数字签名问题。纯粹的公钥密码算法(只用公钥技术实现的),其消息空间往往被限制在某个特定的区域,而且当消息长度较长时,计算效率非常低,这对于实际应用而言是非常不利的。所以一般把非对称(公钥)技术和对称技术结合起来使用,其中公钥模块用于产生对称密钥,对称模块用于加密消息,这样做不仅能取消对消息空间的限制,而且能提高计算效率。这种对称和非对称混合的技术在公钥加密和签密里得到了最充分的展现。

https数字证书基础概念(一)

空扰寡人 提交于 2020-01-13 05:25:22
基础概念 密钥 公钥密码体制 对称加密算法 非对称加密算法 CA 数字证书 摘要 摘要算法 数字签名 参考资料 后记 密钥 密钥,一般是一个字符串或数字,在加密或解密时传递给加密或解密算法 。下面公钥密码体制中提到的公钥和私钥都是密钥,只是公钥是加密时使用的密钥,私钥是解密时使用的密钥。 公钥密码体制 公钥密码体制(public-key cryptography)由公钥、私钥、加密算法三部分组成, 其中由公钥加密的内容只能由私钥解密 ,也就是说除了私钥之外,由公钥加密的内容无法被解密。公钥密码体制的加解密过程如下: 加密 :使用 加密算法 和 公钥 对明文进行加密,得到密文。 解密:使用 解密算法 和 私钥 对密文进行解密,得到明文。 公钥密码体制的公钥和算法都是公开的,只有私钥是保密的 。所以在实际使用中,都是生成一对公钥和私钥,把公钥发布出去,自己保留私钥。 对称加密算法 在对称加密算法(symmetric key algorithms)中,加密和解密时使用的密钥是相同的 。在安全通信之前,会要求通信双方商定一个密钥,泄漏密钥就意味着任何人都可以对发送或接收的消息解密;因此对称加密算法要保证安全性的话,密钥只能让使用的人知道,不能对外公开。 对称加密算法的特点: 算法公开、计算量小、加密速度快、加密效率高 。 非对称加密算法 在非对称加密算法(asymmetric key

对称加密和非对称加密

穿精又带淫゛_ 提交于 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值重新获得目标信息