web加密、解密学习笔记本

还记得第一次注册taobao帐号后在网上购买付款的情景。在选购好商品后,点击付款,浏览器会跳转到以“https”开头的网页链接,然后输入银行卡的付款密码完成商品的付款。那时只知道以https开头的链接是一个经过加密后的安全链接,自己在此网页中输入的密码是经过加密后以密文的方式进行传输的,所以密码是无法被窥视的。

如今,对https这种安全链接所涉及到的计算知识和工作原理也有了一定的了解,但从未进行过系统的整理,现通过学习与记录的的方式,好好梳理一下这方面的知识。

一、安全网络的目标

1.1 数据的机密性

机密性就是为了防止数据被未授权的读取。所以数据的发送方和接收方要以某种加密的机制来对数据进行加密处理,双方传输的数据是被处理后的密文。

1.2 数据的完整性

完整性是为了防止数据被未授权的修改,或至少要有机制能检测出数据被修改过。

1.3  数据的可用性

可用性主要针对提供服务的一方,当服务器受到拒绝服务(dos)攻击时,使用得资源的可获得性降低或者根本无法获得信息。

二、安全协议

2.1 SSL

SSL(Secure SocketLayer)安全套接字层协议是web浏览器与服务器间安全交换数据的协议。有V1、V2、V3三个版本,V3版目前常用。

2.2 TLS

TLS(Transport LayerSecurity)传输层安全协议。有V1版本,功能与SSL V3相似。

在互联网模型中SSL/TLS协议工作于应用层和TCP层间,应用层的数据不再直接发往传输层,而是发送给SSL层,通过SSL加密后再进行下一步的处理。

三、加密方法

3.1 对称加密(保证数据的机密性,也就是把明文转换成不易读取的密文)

加密解密使用同一个密码,也就是加密密钥与解密的密钥相同,得到了加密密钥也就得到解密

密钥。主要用于保证数据的机密性。密钥的安全性成为此种加密的关键。

3.1.1 DES(Data Encryption Standard)数据加密标准,也称为数据加密算法,此种加密算法

的材质原理是由循环移位思想而来。

3.1.2 3DES 三重DES是DES的变体,这是DES的一种加强版,它增长了加密密钥的长度,由DES的

56位增加到了168位。

3.1.3 AES(Advanced Encryption Standard)高级加密标准,也是一种高级加密算法

3.2 非对称加密(非对称加密算法用公钥加密对称密钥,保证进行密钥交换时密钥的安全)

非对称加密系统中会涉及到一组密钥对,一个公开的密钥,叫公钥(publickey);一个私有的,叫私钥(privatekey)。公钥是一个可公开的,私钥则是隐密性,不可被未授权用户的访问。公钥是从私钥中提取出来的,用私钥加密的数据只能用与之配对的公钥来解密,这实现了验证身份的目的;用公钥加密的数据只能用与之配对的私钥来解密,这实现了数据的机密性。因非对称加密基于数字函数实现,算法复杂,较于对称加密,非对称加密速度慢,不适合用于加密交换的大量数据,它主要的目的是用于交换对称加密算法的密钥,密钥交换后双方就可用密钥加密交换的数据,而此密钥在传输到对方时是经过非对称加密算法进行加密的,安全性得到保障。

3.2.1 非对称加密算法

RSA

DSA

DSS

ECC

3.3 单向加密(保证数据的完整性)

单向加密只能是从明文加密成密文,并不能从密文解密成明文。

3.3.1 加密算法

MD5

SHA1、SHA256、SHA512、SHA3

HMAC

3.3.2 单向加密特性

定长输出:无论加密的数据有多大,加密后输出都是一个定长的数据。

雪崩效应:即使原源数据发生细微的变化,加密后的输出会发生巨大的变化。

在实际的运用中,这三种加密方法往往不会单独使用,一般都是结合起来实现数据的安全传输。数据在网络中一次完整的数据通信过程是怎样的呢?简单的描述如下:

发送方:

1、  发送方使用选定的单向加密算法计算源数据的特征码;

2、  发送方使用自己的私钥加密此特征码,并把加密后的密文数据附加在源数据后面;

3、  发送方生成一次性对称密钥,并使用此密钥加密数据(源数据+加密特征码后的密文数据)

4、  发送方使用接收方的公钥加密一次性对称密钥,并附加于已加密的数据后面;

5、  数据已准备妥当,开始发送数据。

接收方:

1、  接收方使用与公钥配对的私钥解密数据,可得到一次性对称密钥;

2、  用一次性对称密钥解密数据,可得到源数据和加密特征码后的密文数据;

3、  用发送方的公钥解密数据,得到源数据和源数据的特征码;

4、  使用与发送方相同的单向加密算法重新计算源数据的特征码,并与解密出的特征码进行比较,如果特征码相同,那得到的源数据可信,否则,源数据不可信。

PS:文字性的东西总是让人不好记忆,现上传用xmind做的笔记。

时间: 2025-01-04 02:52:03

web加密、解密学习笔记本的相关文章

linux下的加密解密学习

linux下的加密解密学习 加密/解密:        加密协议:加密解密使用同一秘钥:3des,aes        公钥加密:公钥私钥对        数字签名,密钥交换                RSA,DSA数据签名算法(DSS数据签名标准) 单向加密:            md5,sha1,sha256,sh512(MD5输出128bit,SHA1输出160bit,SHA256输出256bit) 密钥交换:            DH:Deffie-Hellman 具体过程参照下

web.config 加密/解密

(Aspnet_regiis.exe) 这样的一个工具,可以对站点的.config文件的节进行加密 方法: #> 加密:aspnet_regiis -pef "加密的web.config里面的配置节名称" "web.config文件所处的目录" #> 解密:aspnet_regiis -pdf "加密的web.config里面的配置节名称" "web.config文件所处的目录" web.config 加密/解密,

aspnet_regiis 加密/解密 web.config

加密: @echo off echo web.config c: cd c:\windows\Microsoft.NET\Framework64\v4.0.30319 aspnet_regiis -pe "appSettings" -app "/XXX" aspnet_regiis -pe "connectionString" -app "/XXX" aspnet_regiis -pe "system.web/ide

马哥linux学习笔记:加密,解密基础

在计算机网络建设的初期,由于能使用到计算机的人少之又少,并没有考虑到有数据加密需求,随着社会的发展,互联网已俨然成为我们生活中不可或缺的一部分,人们不管是交流,购物,还是工作都已经离不开互联网.在电脑,手机,各种电子设备构建的互联网中,数据的安全问题已经成为人们很是关注一个重要环节. 现在,我们就来了解一下linux下是如何实现数据加密及解密的. 对于确保数据的安全性,我们要达成的目标有三个: 保密性,完整性,可用性. 现今蛇龙混杂的互联网,总是有很多拥有强烈好奇心的不安分的人想尽办法要获知其他

学习笔记之加密解密,PKI,CA

1.加密解密 背景:在网络通信中为了达到安全需要,比如通信保密性,保证信息完整性和可用性,这就需要一些技术,下面就来介绍相关的技术 技术包括:加密和解密 服务(用于抵御攻击的服务,也即是为了上述安全目标而特地设计的安全服务) 加密和解密: 传统加密方法:替代加密方法.置换加密方法 现代加密方法:主要是现代块加密方法 注:真正的加密主要依赖密钥而不是加密算法 服务: 认证机制 访问控制机制 加密包括: 对称加密 公钥加密 单向加密 认证加密 2.对Linux系统:为了实现上述安全目标需要一些工具需

AJAX+REA实现前后台数据交互的加密解密

AJAX+REA实现前后台数据交互的加密解密 1.创建js文件Encryption.js /**  * 加密解密  */ /** RSA加密用 生成key */ function bodyRSA(){ /** 1024位的key参数写130,2014位的key参数写260 */ setMaxDigits(130); /** ajax 调用后台方法,取回公钥 */ var keyR ;     $.ajax({      url: "/GHGL/Key/pk",//请求后台的url,本例

Base64 URL image CSS & 在线base64 加密/解密 link: $ svg path 线宽:stroke-width

Base64 URL image CSSData URI scheme是在RFC2397中定义的svg path 线宽:stroke-width 在线base64 加密/解密 link: 那么这是什么呢?这是Data URI scheme. Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入.比如上面那串字符,其实是一张小图片,将这些字符复制黏贴到火狐的地址栏中并转到,就能看到它了,一张1X36的白灰png图片. 在上面的D

加密/解密&利用OpenSSL构建私有CA

在互联网安全及个人隐私状况日益严峻的今天,加密技术变得尤为重要并且不可或缺.在密码雪中,加密是指将明文信息隐匿起来,使之在缺少特殊信息时不可读.本文所讲的主要是在互联网传输数据时所用的加密方式.我们都知道OSI&TCP/IP网络参考模型,通常我们会把这两个模型分为通信子网和资源子网两部分,但是在构建网络的初期,信息从发送端送达到接受端都非常困难所以在设计模型之初并没有考虑过多的安全因素,以至于通信子网和资源子网都没有涉及到数据加密的内容.为了解决这个问题,网景公司在资源子网和通信子网之间添加了半

加密解密大汇总

在项目开发中,出于系统安全考虑,我们总会想到使用加密解密进行处理.首先保证的一点就是数据被窃取后,不能使其正常阅读.其次,就是防止接口随意调用. (PS:鄙人目前就想到了这两点好处,如果还有什么优点,欢迎给位补充o(^▽^)o) 接下来就说几个常用的加密算法:DES加密算法,AES加密算法,RSA加密算法,Base64加密算法,MD5加密算法,SHA1加密算法 1.DES加密算法 加密方式---- 使用异或,置换,代换,移位四种基本运算进行16轮循环加密而成. 共分为一般加密和三重加密>> D