写下此博客记录心得体会,如有不足之处请指正   先是手稿笔记 :  正文:   在Https协议中,Client端和Server端需要三个参数才能生成SessionKey来加密信息. 三个参数分别是 Client Random(客户端随机数) 假设是CServer Random(服务端随机数) 假设是SPreMaster Random(待加密随机数) 假设是P   前两个都是通过明文的方式传输,即C从客户端以明文的方式发送给服务端,S从服务端以明文的发送发送给客户端   而P则是最重要,也是最关…
node.js的crypto在0.8版本,这个模块的主要功能是加密解密. node利用 OpenSSL库(https://www.openssl.org/source/)来实现它的加密技术, 这是因为OpenSSL已经是一个广泛被采用的加密算法.它包括了类似MD5 or SHA-1 算法,这些算法你可以利用在你的应用中. 作为工程师,对于openssl一个开源的软件库,你没有用过,你应该听过这个名字.openssl是使用C/C++实现算法的. Nodejs用C/C++实现这些算法后,通过cypt…
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第13篇文章,我们来看下Kmeans算法的优化. 在上一篇文章当中我们一起学习了Kmeans这个聚类算法,在算法的最后我们提出了一个问题:Kmeans算法虽然效果不错,但是每一次迭代都需要遍历全量的数据,一旦数据量过大,由于计算复杂度过大迭代的次数过多,会导致收敛速度非常慢. 想想看,如果我们是在面试当中遇到的这个问题,我们事先并不知道正解,我们应该怎么回答呢? 还是老套路,我们在回答问题之前,先来分析问题.问题是收…
一.SSL是什么? 安全套接字(SSL)协议是Web浏览器和Web服务器之间安全交换信息的协议. SSL介于应用层和TCP层之间,应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的SSL头. History: 年,NetScape公司设计了SSL协议(Secure Sockets Layer)的1.0版,但是未发布. 年,NetScape公司发布SSL .0版,很快发现有严重漏洞. 年,SSL .0版问世,得到大规模应用. 年,互联网标准化组织…
这里重点介绍一下服务端的验证和密钥交换.这个阶段的前面的(a)证书 和(b)服务器密钥交换是基于密钥交换方法的.而在SSL中密钥交换算法有6种:无效(没有密钥交换).RSA.匿名Diffie-Hellman.暂时Diffie-Hellman.固定Diffie-Hellman.Fortezza. 在阶段1过程客户端与服务端协商的过程中已经确定使哪种密钥交换算法. 如果协商过程中确定使用RSA交换密钥,那么过程如下图: 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识. 1.密码学的相…
转自:https://blog.csdn.net/andylau00j/article/details/54583769 本系列的前一篇,咱们聊了“密钥交换的难点”以及“证书体系”的必要性.今天这篇来介绍一下实战中使用的“密钥协商算法”. ★密钥交换/协商机制要达到啥目的? 前一篇介绍了 SSL/TLS 的身份认证机制.这个机制是为了防止攻击者通过[篡改]网络传输数据,来假冒身份,以达到“中间人攻击/MITM”的目的. 而今天要聊的“密钥协商机制”是:(在身份认证的前提下)如何规避[偷窥]的风险…
引言 最近LZ在公司里接了一个活,要发布一些服务给公司的合作伙伴调用.这种工作LZ可谓是轻车熟路,之前已经做了无数服务端.不过与以往不同的是,这次的服务是要发布在互联网上的,因此不能再像之前的套路一样.之前的系统交互都是公司内网之间的,因此不存在数据安全问题. 这次不得不考虑数据的安全性,因此LZ最近就苦逼的开始研究各种加密算法.前后一共用了三天时间,LZ终于把加密层做好了,尽管LZ对各种加密算法的原理一概不知,但应该也算够用了.毕竟LZ没打算做一个绝对安全的系统(事实上这也是不可能的),只要能…
原文地址: http://my.oschina.net/u/1188877/blog/164982 一.SSL握手有三个目的:1. 客户端与服务器需要就一组用于保护数据的算法达成一致:2. 它们需要确立一组由那些算法所使用的加密密钥:3. 握手还可以选择对客户端进行认证. 二.SSL握手过程:1. 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器:2. 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端:该证书还包含了用于认证目的的服务器标识,服…
openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 1.1 背景知识 对称加密     :加密解密使用同一密钥,加解密速度快.随着人数增多,密钥数量急增n(n-1)/2. 非对称加密 :使用公私钥配对加解密,速度慢.公钥是从私钥中提取出来的,一般拿对方公钥加密来保证数据安全性,拿自己的私钥加密来证明数据来源的身份. 单向加密     :不算是加密,也常称为散列运算,用于生成独一无二的校验码(或称为指纹.特征码)来保证数据的完…
说起加密,我的第一印象就是电视剧各种密码本破解解密的场景,这两天在看加密相关的东西,做下笔记以便以后查看,也提供给大家个参考. 本文是java加密的第一篇,主要讲述下消息编码Base64以及简单的消息摘要算法MD5,SHA,MAC等,如果有不对的地方还望大家指正. 1.算法概念简述 1.1.加密算法分类 消息编码:Base64 消息摘要:MD类,SHA类,MAC 对称加密:DES,3DES,AES 非对称加密:RSA,DH密钥交换 数字签名:RSA signature,DSA signature…