对称密钥

Python网络爬虫――http和https协议

匿名 (未验证) 提交于 2019-12-02 22:51:30
一.HTTP协议   1.官方概念:     HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。(虽然童鞋们将这条概念都看烂了,但是也没办法,毕竟这就是HTTP的权威官方的概念解释,要想彻底理解,请客观目移下侧......)   2.白话概念:     HTTP协议就是服务器(Server)和客户端(Client)之间进行数据交互(相互传输数据)的一种形式。我们可以将Server和Client进行拟人化,那么该协议就是Server和Client这两兄弟间指定的一种交互沟通方式。 3.HTTP工作原理:     HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。                        4.HTTP四点注意事项:     - HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。      - HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。     -

Python的加密与解密

匿名 (未验证) 提交于 2019-12-02 22:51:30
前言 据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话 保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机, 密码学在战争中起着非常重要的作用。 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高, 于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”, 民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。 随着对加密强度需求的不断提高,近期又出现了AES、ECC等。 使用密码学可以达到以下目的: 保密性:防止用户的标识或数据被读取。 数据完整性:防止数据被更改。 身份验证:确保数据发自特定的一方。 加密算法分类 对称加密算法: 对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥 发送方和接收方需要持有同一把密钥,发送消息和接收消息均使用该密钥。 相对于非对称加密,对称加密具有更高的加解密速度,但双方都需要事先知道密钥,密钥在传输过程中可能会被窃取,因此安全性没有非对称加密高。 常见的对称加密算法:DES,AES,3DES等等 非对称加密算法: 文件加密需要公开密钥(publickey)和私有密钥(privatekey)。 接收方在发送消息前需要事先生成公钥和私钥,然后将公钥发送给发送方。发送放收到公钥后,将待发送数据用公钥加密,发送给接收方

密码学基础

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-02 20:11:29
密码学基础总结 1.安全通信要解决的问题 1.窃听 2.欺骗 3.伪造 4.否认 2.解决 1.加密 2.消息认证码或者数字签名 3.消息认证码或者数字签名 4.数字签名 3.数字证书用来解决公钥持有人无法识别的问题 1.电子密码本模式ECB 2.密码链模式CBC 3.密文反馈模式CFB 4.输出反馈模式OFB 5.计数器模式CTR 1.对称加密不能解决的问题 1.钥匙交付问题 2.非对称加密不能解决的问题 1.加密和解密的时间都比对称加密所需要的时间要长 2.公开密钥的可靠性 3.混合加密 1.用来解决密钥交付问题和加密时间长的问题 2.ssl采用的是混合加密的方式 4.数字证书系统 1.可以保证公钥创建者 5.diffle-hellman密钥交换 1.用来解决密钥交换问题 6.消息鉴别码 1.用来实现认证和伪造检测 7.数字签名 1.用来解决防否认的问题 2.不能解决公钥创建者认证问题 1.什么是对称加密 1.加解密钥相同 2.能干什么 1.比非对称加密效率高 3.怎么用 1.加密算法 1.des 1.不安全 2.密钥8byte 3.分组加密,每组8字节 2.3des 1.安全效率低 2.密钥8*3 3.分组长度8byde 3.aes 1.安全,效率高 2.密钥16,32,64字节 3.分组长度16字节 2.分组模式 1.ecb,不安全,不推荐 2.cbc,安全 3.cfb

linux基础练习9

流过昼夜 提交于 2019-12-02 18:34:52
1、判断UID是否大于等于500,如果为真就显示为普通用户,如果为假就显示为系统或管理用户 awk -F: '{$3<=500?name="system user":name="comon user";print name,$1,$3}' /etc/passwd 2、显示用户id为奇数的用户。 awk -F: '{if ($3%2==0) next;print $1,$3}' /etc/passwd 3、统计web服务访问日志中的ip访问量 awk '{print $1}' /var/log/httpd/access_log | sort -nr | uniq -c 4、简述加密类型以及数据加密解密过程  加密:限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。   解密:加密的逆过程,使用密钥配合加密算法,转换成明文内容。 安全防护的目标:   保密性:即隐私性   完整性:指数据在传输过程中要保证能够完整,还能保证传输后能够还原回原来的数据;   可用性:指还原后的数据还能用 常见的安全性攻击:   威胁保密性的攻击:窃听,通信量统计;  

SSL/TLS工作原理

删除回忆录丶 提交于 2019-12-02 16:53:48
以前已经介绍过HTTP协议和HTTPS协议的区别,这次就来了解一下HTTPS协议的加密原理。 为了保证网络通信的安全性,需要对网络上传递的数据进行加密。现在主流的加密方法就是SSL (Secure Socket Layer),TLS (Transport Layer Security)。后者比前者要新一些,不过在很多场合还是用SSL指代SSL和TLS。先来回顾一下网络通信加密的发展过程,假设A和B之间要网络通信。 上古时代 随着时代的发展,渐渐的有了一类人---C。C不仅会监听A和B之间的网络数据,还会拦截A和B之间的数据,伪造之后再发给A或者B,进而欺骗A和B。C就是中间人攻击(Man In The Middle Attack)。为了应对C的攻击,A和B开始对自己的数据进行加密。A和B会使用一个共享的密钥,A在发送数据之前,用这个密钥对数据加密。B在收到数据之后,用这个密钥对数据解密。因为加密解密用的是同一个密钥,所以这里的加密算法称为对称加密算法。 在1981年,DES(Data Encryption Standard)被提出,这是一种对称加密算法。DES使用一个56bit的密钥,来完成数据的加解密。尽管56bit看起来有点短,但时间毕竟是在上古时代,56bit已经够用了。就这样,网络数据的加密开始了。因为采用了DES,A和B现在不用担心数据被C拦截了。因为就算C拦截了

APP密码算法通用分析方法

懵懂的女人 提交于 2019-12-02 15:58:42
APP密码算法通用分析方法 在APP测试过程经常会遇到报文被加密的情况,之前在大部分的情况,可能需要进行脱壳,逐行分析代码,获取算法,编写解密的程序(工具)—— 适用于任何情况下的万能解法。 因为过程实在是有些繁琐,文章里是我尝试分析app加密算法的一些取巧的方式,可以进行尝试。 密码算法介绍 密码算法强度依赖 密码算法源头可以追溯到古典算法。 一般而言古典算法依赖于两种方式——移位和代换混淆明文,从而无法破译。但是对于大多数的古典密码而言,其加密强度依赖于算法保密性以及密钥保密。 但是对于现代密码学而言,加密强度完全依赖于密钥(算法在某种程度上一定会被获取,而设计好的算法存在一定的难度)。 对于我想要做的app算法分析而言,我在大部分的情况是在寻找密钥。找到密钥,套用几个现代密码学算法,完成分析。 涉及概念 我在实际的接触过程中,大部分的人其实对于密码涉及到的相关概念其实认识的很模糊,经常统称为密码算法,这里进行简单的介绍 Hash算法(哈希算法) 常见的包括md5、sha1、sm3。 这类算法主要对信息进行摘要,从摘要两个字应该能够意识到进行这种算法获取的数据无法还原成原来的信息,因为只保存了部分数据。 那么我们常说的md5解密、sha1解密,又是什么呢?其实这是在说明一类情况 Hash碰撞,—— A通过hash函数生成了C,B也通过hash函数生成了C,这样一种情况

kerberos(转)

自古美人都是妖i 提交于 2019-12-02 15:58:10
前些日子为了搞清楚Kerberos原理,把 MIT的Kerberos经典对话 看了几遍,终于有了一个稍微清晰的认识,这里稍微记录下,因为Kerberos是使用传统加密技术实现的一个认证机制,所以顺便备忘下关于加密的一些知识概念。本文组织如下: ===关于Kerberos=== ===认证授权=== ===加密术语=== ===单点登录=== ===Kerberos术语=== ===Kerberos原理=== ===经典对话手记=== ============================================================== 关于Kerberos 什么是Kerberos? 一句话,Kerberos是一种认证机制。 它的目的:通过密钥系统为客户端/服务器应用程序提供强大的认证服务:保护服务器防止错误的用户使用,同时保护它的用户使用正确的服务器,即支持双向验证; Kerberos协议的整个认证过程实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。 说白了, Kerberos通过 传统的加密技术 (共享密钥)实现了一种可信任的第三方 认证 服务。 认证授权 认证授权(Anthentication and Authorization

https如何保证数据的安全传输

瘦欲@ 提交于 2019-12-02 15:02:17
小黑(黑客)是一个八卦杂志的记者,喜欢偷听别人的秘密,他总想通过秘密发现一些有价值的东西来获取一些利益。有一天,他发现大明星K哥(客户端)经常与模特F姐(服务器)通话,嘻嘻,他突然灵光一闪,嗅到一些八卦的味道,准备进一步“关心关心”。 第一天 小黑在跟踪K哥的时候发现,K哥每天采用http的方式与F姐联系,“你们是真心大还是嫌太黑想要我这个大灯泡来照照,哈哈,我不客气了”,由于http是采用明文直接传输的,所以小黑就如同隐形人一般,每次K哥发消息给F姐,小黑就会在消息到达F姐之前进行拦截,提前获取消息的内容,再帮K哥转发给F姐。同样,F姐发消息的时候,小黑也会进行拦截,获取消息内容再转发给K哥。而K哥、F姐在通信过程种根本不知道有小黑这第三者的存在,依然好不避讳的说着情话。“嘻嘻,有点内容”,小黑邪魅一笑。 第二天 娱乐版头条“大明星K哥与三线模特F姓XXX疑似爆出恋情” K哥和F姐二脸蒙,怎么暴露的??在经纪人李四的询问下,发现了问题“糊涂,糊涂,你们采用http方式,不就明摆着让别人知道这件事嘛”。K哥一脸无辜的询问到“现在要怎么办??”,李四叹了口气,“媒体那边,我来公关,你们就不要采用http通信了,至少你们把通信内容加密一下再传输呀,我之前听过一种对称加密的方式,你们去试试”……李四看了一眼K哥满眼的疑惑就说到“ 所谓的对称加密就是,加密和解密采用同一密钥

HTTP详解

半世苍凉 提交于 2019-12-02 14:51:30
一 、基础概念 URI 请求和响应报文 二、HTTP 方法 GET HEAD POST PUT PATCH DELETE OPTIONS CONNECT TRACE 三、HTTP 状态码 1XX 信息 2XX 成功 3XX 重定向 4XX 客户端错误 5XX 服务器错误 四、HTTP 首部 通用首部字段 请求首部字段 响应首部字段 实体首部字段 五、具体应用 连接管理 Cookie 缓存 内容协商 内容编码 范围请求 分块传输编码 多部分对象集合 虚拟主机 通信数据转发 六、HTTPS 加密 认证 完整性保护 HTTPS 的缺点 七、HTTP/2.0 HTTP/1.x 缺陷 二进制分帧层 服务端推送 首部压缩 八、HTTP/1.1 新特性 九、GET 和 POST 比较 作用 参数 安全 幂等性 可缓存 XMLHttpRequest 参考资料 一 、基础概念 URI URI 包含 URL 和 URN。 请求和响应报文 1. 请求报文 2. 响应报文 二、HTTP 方法 客户端发送的 请求报文 第一行为请求行,包含了方法字段。 GET 获取资源 当前网络请求中,绝大部分使用的是 GET 方法。 HEAD 获取报文首部 和 GET 方法类似,但是不返回报文实体主体部分。 主要用于确认 URL 的有效性以及资源更新的日期时间等。 POST 传输实体主体 POST 主要用来传输数据,而

常用的对称加密算法

Deadly 提交于 2019-12-02 12:00:39
文章目录 `1、DES(Data Encryption Standard)` `2、3DES(Triple DES)` `3、AES(Advanced Encryption Standard)推荐使用` 需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。 所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。 因此加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要。因为加密和解密都使用同一个密钥,如何把密钥安全地传递到解密者手上就成了必须要解决的问题。 在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。 下面列举几个比较常用的: 1、DES(Data Encryption Standard) DES加密算法出自IBM的研究,后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为DES使用56位(8字节)密钥,以现代计算能力, 24小时内即可被破解。虽然如此,在某些简单应用中,我们还是可以使用DES加密算法 特点:数据加密标准,速度较快,适用于加密大量数据的场合 提供一个 DES 加密工具类: package