密钥交换 密钥交换简单点来说就是允许两名用户在公开媒体上交换信息以生成"一致"的.可以共享的密钥.也就是由甲方产出一对密钥(公钥.私钥),乙方依照甲方公钥产生乙方密钥对(公钥.私钥).它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥.这个密钥可以在后续的通信中作为对称密钥来加密通讯内容. 离散对数问题 如果p 是一个素数,g 和x 是整数,计算 \(y = g^x mod p\) 非常快.但是相反的过程:先知道 p, g 和y,要求某个x(离散对数),满足等式…
package com.bao.tools.encryption; import java.io.IOException; import org.junit.Test; import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder; /** * @title BASE64加密&解密 * @description * 邮件,HTTP协议,一般用户名及密码 * @author Administrator * @date 2015-7-16 *…
过程如下 : 1,小李把KeyX经过加密变化,生成MsgA传给老王. 2,老王得到MsgA,保存在本地. 3,老王把KeyY经过加密变化,生成MsgB传给小李, 4,小李得到MsgB保存在本地, 5,小李,老王按照协商好的算法,各自将从对方传来的MsgB,MsgA和自己的KeyX,KeyY经算法一起生成一个两边一样的最终Key, 6,小李,老王用相同的Key加密,解密, 7,小李,老王按1-5周期更新Key…
关于Https协议中的ssl加密解密流程 2016年09月28日 09:51:15 阅读数:14809 转载自:http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html 全球可信的SSL数字证书申请:http://www.shuzizhengshu.com 在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕这个模式谈一谈. 名词解释 首先…
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议. HTTPS简介 HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块.服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据.具体是如何进行加密,解密,验证的,且看下图.   1. 客户端发起HTTPS请求 这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到ser…
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议. HTTPS简介 HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块.服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据.具体是如何进行加密,解密,验证的,且看下图. 1. 客户端发起HTTPS请求 这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到serve…
PKI 基础知识 摘要 本白皮书介绍了加密和公钥基本结构(PKI)的概念和使用 Microsoft Windows 2000 Server 操作系统中的证书服务的基础知识.如果您还不熟悉加密和公钥技术,先阅读本白皮书将有助于理解 Windows 2000 Web 站点上有关这些主题的其它技术白皮书. 引言 Microsoft Windows 2000 证书服务提供的集成的公钥基本结构(PKI)使电子商务能够在安全的环境中进行.本白皮书介绍了加密和 PKI 的概念.理解这些相关概念是理解证书服务功…
一.作者 这个密钥交换方法,由惠特菲尔德·迪菲(Bailey Whitfield Diffie).马丁·赫尔曼(Martin Edward Hellman)于1976年发表. 二.说明 它是一种安全协议,让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥,这个密钥一般作为"对称加密"的密钥而被双方在后续数据传输中使用.DH数学原理是base离散对数问题.做类似事情的还有非对称加密类算法,如:RSA. 三.应用场景 其应用非常广泛,在SSH.VPN.Https...都有…
一.作者 这个密钥交换方法,由惠特菲尔德·迪菲(Bailey Whitfield Diffie).马丁·赫尔曼(Martin Edward Hellman)于1976年发表. 二.说明 它是一种安全协议,让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥,这个密钥一般作为"对称加密"的密钥而被双方在后续数据传输中使用.DH数学原理是base离散对数问题.做类似事情的还有非对称加密类算法,如:RSA. 三.应用场景 其应用非常广泛,在SSH.VPN.Https...都有…
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元.  -----------------------------------------------------------------------------------…
CryptoAPI概述 Windows CryptoAPI是Microsoft 公司提出的安全加密应用服务框架,也是PKI推荐使用的加密 API.它提供了在Win32 环境下使用认证.编码.加密和签名等安全服务时的标准加密接口,用于增强应用程序的安全性与可控性.应用开发者可以在不了解复杂的加密机制和加密算法的情况下,简便.快速地开发出标准.通用和易于扩展的安全加密应用程序.CryptoAPI 提供的功能主要有:密钥管理.数据加密和解密.数字签名和验证.证书管理.可信根证书管理.数据编码和解码.数…
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些资料将加密直接分为对称加密和非对称加密). 双向加密大体意思就是明文加密后形成密文,可以通过算法还原成明文.而单向加密只是对信息进行了摘要计算,不能通过算法生成明文,单向加密从严格意思上说不能算是加密的一种,应该算是摘要算法吧.具体区分可以参考: (本人解释不清呢 …… ) http://secur…
加密解密基础 1. 对称加密: 加密和解密使用同一个密钥 常见的加密算法有:DES.3DES.AES.Blowfish.Twofish.IDEA.RC6.CAST5 特性: 1. 加密.解密使用同一个密钥 2.将原始数据分隔成固定大小的块,逐个进行加密 缺陷: 1. 密钥过多 2. 密钥分发困难 2. 公钥加密: 密钥是成对出现的 公钥:pubkey,公开给所有人 私钥:secret key, 自己留存,必须保证其私密性 常见的加密算法有: RSA.DSA(只能用于数字签名,不能用于数据加密),…
加密与解密,这很重要,我们已经可以用pypcap+npcap简单嗅探到网络中的数据包了.而这个工具其实可以嗅探到更多的数据.如果我们和别人之间传输的数据被别人嗅探到,那么信息泄漏,信息被篡改,将给我们造成比较大的困扰.别以为这是什么高深的知识.其实已经深入到我们经常使用的一些网站了.尝试访问一下百度,用标准的浏览器地址‘http://www.baidu.com’.你会发现它自动跳转到了‘https://www.baidu.com’.虽然我要求使用http协议访问,但是百度已经全面支持HTPS加密…
Diffie-Hellman( DH ):密钥交换协议/算法 ( Diffie-Hellman Key Exchange/Agreement Algorithm ) 百科摘录: Diffie-Hellman是一种建立密钥的方法,而不是加密方法 这个机制的巧妙在于需要安全通信的双方可以用这个方法确定对称密钥, 然后可以用这个密钥进行加密和解密, 但是注意,这个密钥交换协议/算法只能用于密钥的交换,而不能进行消息的加密和解密, 双方确定要用的密钥后,要使用其他对称密钥操作加密算法实现加密和解密消息.…
目录 http访问流程 https访问流程 证书 加密/解密 加签/验签 Java实现https 拓展 @ 看完整的代码,直接去完整代码实现,看实现完后会遇到的坑,直接去测试过程中的问题,包括经过代理服务器访问https,通过ip访问https等. http访问流程 我们开发java web项目时,打好war包放到tomcat应用服务器的webapps目录下,tomcat的访问端口是8080,启动tomcat,在浏览器的地址栏输入http://localhost:8080.就会看到如下 那么,看…
openssl  生成私有CA 及签署证书 openssl 配置文件: /etc/pki/tls/openssl.cnf 1. 在openssl CA 服务器端生成私钥 cd /etc/pki/CA/private/ (umask 077;openssl genrsa -out ./cakey.pem 4096) (     )             : 表示在子shell中运行进程 umask 077   : 表示文件仅自己可读写 genrsa          :  使用rsa 加密方式生…
OpenSSL&加密解密(思维导图) 1. 网络通信概述 传输层协议 进程间通信 监听端口 SSL 裸套接字 2. 加密和解密 2.1 加密的方式 对称加密 公钥加密 单向加密 认证加密 2.2 PKI的实现方式 SSL TLS 2.3 加密和解密的过程 2.3.1 加解密过程分析 2.3.2 术语解释 数字签名 身份认证 密钥交换 2.3.3 CA概述 证书中包含的内容 数字证书的创建过程 CA在通信过程中发挥的作用的机制 3. openssl详解 3.1 openssl概述 组成部分 子命令…
前置知识 SSL是90年代Netscape弄出来的一套东西,为的是解决HTTP协议明文传输数据的问题.后来SSL慢慢成了事实上的标准,于是IETF就把SSL标准化了,名字叫做TLS,TLS 1.0其实就是SSL 3.1.所以SSL和TLS经常被放在一起写成SSL/TLS,因为这两个名词在现在其实就是同一个东西.HTTPS是使用TLS的HTTP协议. 证书以及信任链 我们知道,HTTPS的网站都有一个自己的证书,用于表明自己的身份.证书本质上是为了让公钥能可信的传输.公钥是放在证书里面的,如果证书…
从数据安全谈起       当你使用网银时,是否担心你的银行卡会被盗用?     当你和朋友用QQ进行聊天时,是否担心你的隐私会被泄露?     作为开发者,编写安全的代码比编写优雅的代码更重要,因为安全是一切应用之根本!为了确保数据不被侵犯,数据加密/解密技术运用而生.    --摘录自<Java加密解密的艺术>       所以为了确保数据传输和数据存储的安全,我们可以通过特定的算法,将数据明文加密成复杂的密文.     众多的加密手段大致可以分为单项加密和双向加密.单项加密指通过对数据进…
Web应用中往往涉及到敏感的数据,由于HTTP协议以明文的形式与服务器进行交互,因此可以通过截获请求的数据包进行分析来盗取有用的信息.虽然https可以对传输的数据进行加密,但是必须要申请证书(一般都是收费的),成本较高.那么问题来了,如果对web提交的敏感数据进行加密呢?web应用中,前端的数据处理和交互基本上都是靠javascript来完成,后台的逻辑处理可以C#(java)等进行处理. 微软的C#中虽然有RSA算法,但是格式和OpenSSL生成的公钥/私钥文件格式并不兼容.这个也给贯通前后…
非对称技术栈实现AES加密解密 正如前面的一篇文章所述,https协议的SSL层是实现在传输层之上,应用层之下,也就是说在应用层上看到的请求还是明码的,对于某些场景下要求这些http请求参数是非可读的,这就要求在前端和后端不同的技术栈上完成信息的加密解密.当然我们通常完成这样专业的功能都会考虑使用相应的框架或者程序库来完成功能,前端或者NodeJS平台通常是JavaScript语言,JavaScript主流的加密解密库分别是SjclJS和CryptoJS, 本文以CryptoJS为例进行讨论.另…
加密算法可以分为 双向加密(对称加密.不对称加密) 单向加密(不可逆加密)—— MD5.sha.hmac... 在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密 有: DES AES.. 不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥.在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程 RSA.DSA.. ================ 上面的全是废话 ============= 主要参照http:…
Base64加密解密原理以及代码实现 转自:http://blog.csdn.net/jacky_dai/article/details/4698461 1. Base64使用A--Z,a--z,0--9,+,/ 这64个字符.    2. 编码原理:将3个字节转换成4个字节( (3 X 8) = 24 = (4 X 6) )先读入3个字节,每读一个字节,左移8位,再右移四次,每次6位,这样就有4个字节了.    3. 解码原理:将4个字节转换成3个字节.先读入4个6位(用或运算),每次左移6位…
java安全与密码概述 主要分为三部分: 密码学基础,包括:相关术语:分类:常用安全体系. java的安全组成:jdk以及第三方扩展. 相关实现代码,包括:base64.MD5········ 密码学基础 相关术语 明文:待加密的信息 密文:加密后的明文 加密:明文转密文 加密算法:明文转密文的算法 加密密钥:加密算法进行加密操作的密钥 解密:密文转为明文 解密算法:密文转成明文的算法 解密密钥:解密算法进行解密操作的密钥 密码分析:截取密文,通过分析推出明文或密钥 密码体系:明文空间.密文空间…
在当今互联网时代,数据越来越来重要.那么如何加密?解密?以及通过什么方式来认证了?? 接下来,我就会和大家谈谈加密,解密以及CA签证的实现. 首先大家的知道一些加密,解密的基本常识: 互联网上中间人一般用的攻击方式有: 窃听 篡改别人数据 劫持会话 数据加密的常用的三种方式有: 对称加密 非对称加密 单向加密 SSL:seure socket layer, 安全的套接字层 TSL:transport layer security, 传输层安全,功能 与SSL相似 随机数生成器:/dev/rand…
1. Base64使用A--Z,a--z,0--9,+,/ 这64个字符.    2. 编码原理:将3个字节转换成4个字节( (3 X 8) = 24 = (4 X 6) )先读入3个字节,每读一个字节,左移8位,再右移四次,每次6位,这样就有4个字节了.    3. 解码原理:将4个字节转换成3个字节.先读入4个6位(用或运算),每次左移6位,再右移3次,每次8位.这样就还原了. Base64是一种非经常见的编码规范,其作用是将二进制序列转换为人类可读的ASCII字符序列,经常使用在需用通过文…
[PHP]代码 <?php /*=========================================================== = 版权协议: = GPL (The GNU GENERAL PUBLIC LICENSE Version 2, June 1991) =------------------------------------------------------------ = 文件名称:cls.sys_crypt.php = 摘 要:php加密解密处理类 =…
随笔分类 - Android加密解密 Android数据加密之异或加密算法 摘要: 前言: 这几天被公司临时拉到去做Android IM即时通信协议实现,大致看了下他们定的协议,由于之前没有参与,据说因服务器性能限制,只达成非明文传递,具体原因我不太清楚,不过这里用的加密方式是采用异或加密.这种加密方式在之前做Android加密记事本的时候采用过这种加密方式.今天已经把客户端心跳维阅读全文 posted @ 2016-10-11 08:50 总李写代码 阅读(4862) | 评论 (3) 编辑…
你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面的那条线路称为线路1,下面的称为线路2. 思路1 先判断线路1的第一个节点的下级节点是否是线路2的第一个节点,如果不是,再判断是不是线路2的第二个,如果也不是,判断是不是第三个节点,一直到最后一个.如果第一轮没找到,再按以上思路处理线路一的第二个节点,第三个,第四个... 找到为止.时间复杂度n2,…