流密码与RC4密码初认识
小编来了!今天看到一篇文章说的是‘流密码与RC4密码初认识’,特意拿来分享给各位看官,如果你也觉得这篇文章不错,记得分享哦!
流密码与RC4密码初认识--听说世界上只有百分之3的人关注Jayson,很幸运你是其中一位 一、前言 流密码是对称密码算法,是私钥密码系统中的一个分组。流密码的转换是随”变换”而变换的,像水流一样源源不...---傻大方资讯防抓取设置
听说世界上只有百分之3的人关注Jayson,很幸运你是其中一位 一、前言 流密码是对称密码算法,是私钥密码系统中的一个分组。流密码的转换是随”变换”而变换的,像水流一样源源不...
听说世界上只有百分之3的人关注Jayson,很幸运你是其中一位
一、前言
流密码与RC4密码初认识--听说世界上只有百分之3的人关注Jayson,很幸运你是其中一位 一、前言 流密码是对称密码算法,是私钥密码系统中的一个分组。流密码的转换是随”变换”而变换的,像水流一样源源不...---傻大方资讯防抓取设置
流密码是对称密码算法,是私钥密码系统中的一个分组。流密码的转换是随”变换”而变换的,像水流一样源源不断的产生,是对称密码算法,从明文输入流逐位或逐字节产生密文输出。今天我们来初认识一下流密码和使用最广泛的流密码RC4。
二、什么是流密码
流密码与RC4密码初认识--听说世界上只有百分之3的人关注Jayson,很幸运你是其中一位 一、前言 流密码是对称密码算法,是私钥密码系统中的一个分组。流密码的转换是随”变换”而变换的,像水流一样源源不...---傻大方资讯防抓取设置
流密码是私钥体质下的一个对称加密,类似于简单算法的”一次一密”,不过”一次一密”是真正的理想密码只要不能获得密码乱码本,就是完全保密。流密码使用的是伪随机数流,利用密钥产生一个密钥流Z=Z1Z2Z3…,然后利用此密钥流依次对明文X=X0X1X2…进行加密,这样产生的密码就是序列密码,也称为流密码。
设计流密码的因素
加密序列的周期要长,若出现重复的周期过短,容易被破解
密钥流应该尽可能地接近真正随机数流的特征
密钥长度要长,以避免琼穷举攻击
流密码就是使用较短的一串数字(叫它密钥吧),来生成无限长的伪随机密码流,当然事实上只需要生成和明文长度一样的密码流就够了。
流密码是将明文划分成字符(如单个字母),或其编码的基本单元(如0,1数字),字符分别与密钥流作用进行加密,解密时以同步产生的同样的密钥流实现。
通俗的讲,产生一串序列来作为加密的密钥流,从密钥流中按规则依次选取密钥,这些不同的密钥分别来加密每个字符。
流密码的强度依赖于密钥序列的随机性和不可预测性。
核心在于密钥流生成器的设计。
要保证收发两端密钥流的精确同步。
种子密钥
信息流(明文流)
密文流
密钥流
由此流密码的基础上,用较短的密钥产生无限长的密码流的方法非常多,其中有一种就叫做RC4。
三、RC4算法基础介绍
流密码与RC4密码初认识--听说世界上只有百分之3的人关注Jayson,很幸运你是其中一位 一、前言 流密码是对称密码算法,是私钥密码系统中的一个分组。流密码的转换是随”变换”而变换的,像水流一样源源不...---傻大方资讯防抓取设置
RC4加密算法是大名鼎鼎的RSA三人组中的头号人物Ron Rivest在1987年设计的密钥长度可变的流加密算法簇。RC4算法是一种在电子信息领域加密的技术手段,用于无线通信网络,是一种电子密码。
在介绍RC4前,说说那个“相加”运算怎么实现。现在我们把明文的信息限制在Ascii码字符集内(它已经能表示所有的英文资料了)
每个字符是一个比特,占8位。
假设明文是abc,
a、b、c的ascii值分别为
97、98、99
二进制形式为
01100001、01100010、01100011
密钥流和明文长度一样,假设是sdf,同样可以得到二进制流
01110011、01100100、01100110
让他们在对应位做异或运算就可以得到密文了c语言有^运算符来实现“相加”的操作。
我们就直接对字符进行“相加”即
a^s,b^d,c^f
二进制形式为
00010010、00000110、00000101
它们分别表示
ascii码值为
18、6、5
的字符,在文本编辑器里打开是乱码,没有关系,反正是密文嘛
四、RC4
流密码与RC4密码初认识--听说世界上只有百分之3的人关注Jayson,很幸运你是其中一位 一、前言 流密码是对称密码算法,是私钥密码系统中的一个分组。流密码的转换是随”变换”而变换的,像水流一样源源不...---傻大方资讯防抓取设置
该算法是一个可变密钥长度、面向字节操作的流密码。该算法以随机置换作为基础,其密码周期很可能大于10^100,且该算法的运行速度很快。
RC4被用于为网络浏览器和服务器间通信而制定的SSL/TLS(安全套接字协议/传输层安全协议)标准中,以及作为IEEE 801.11无线局域网标准一部分的WEP(Wired Equivalent Privacy)协议和新的WiFi受保护访问协议(WAP)中。
从这些应用来看,RC4构成了当今网络通信的非常重要的部分,因此这个算法非常重要。
算法描述
首先你指定一个短的密码,储存在key[MAX]数组里,还有一个数组S[256],令S[i]=i。然后利用数组key来对数组S做一个置换,也就是对S数组里的数重新排列,排列算法为
利用上面重新排列的数组 S 来产生任意长度的密钥流
用T产生S 的初始置换,置换伪码如下,因为对S的操作仅是交换,S仍然包含所有值为 0-255的元素。
因为对S 的操作仅是交换,S仍然包含所有值为0-255的元素。
算法代码
#-*-coding:utf-8-*-
#byyuhao
importrandom,base64
fromhashlibimportsha1
defcrypt(data,key):
x=0
box=range(256)
foriinrange(256):
x=(x+box[i]+ord(key[i%len(key)]))%256
box[i],box[x]=box[x],box[i]
x=y=0
out=[]
forcharindata:
x=(x+1)%256
y=(y+box[x])%256
box[x],box[y]=box[y],box[x]
out.append(chr(ord(char)^box[(box[x]+box[y])%256]))
return''.join(out)
deftencode(data,key,encode=base64.b64encode,salt_length=16):
s
forninrange(salt_length):
salt+=chr(random.randrange(256))
data=http://www.17wh.com/bgj/20180209/salt+crypt(data,sha1(key+salt).digest())
ifencode:
data=http://www.17wh.com/bgj/20180209/encode(data)
returndata
deftdecode(data,key,decode=base64.b64decode,salt_length=16):
"""RC4decryptionofencodeddata"""
ifdecode:
data=http://www.17wh.com/bgj/20180209/decode(data)
salt=data[:salt_length]
returncrypt(data[salt_length:],sha1(key+salt).digest())
#需要加密的数据
data='http://www.17wh.com/bgj/20180209/freebufhello'
#密钥
key='yuhao'
#加码
encoded_data=http://www.17wh.com/bgj/20180209/tencode(datadata=data,keykey=key)
printencoded_data
#解码
decoded_data=http://www.17wh.com/bgj/20180209/tdecode(data=encoded_data,keykey=key)
printdecoded_data
五、总结
流密码与RC4密码初认识--听说世界上只有百分之3的人关注Jayson,很幸运你是其中一位 一、前言 流密码是对称密码算法,是私钥密码系统中的一个分组。流密码的转换是随”变换”而变换的,像水流一样源源不...---傻大方资讯防抓取设置
不过这里有一个小问题,当RC4的密钥长度超过128位时,目前没有任何攻击方法能够破解。不过 WEP协议易受到一种特殊的攻击方式攻击,但这个问题本质上并不在与RC4本身,而是RC4密钥的产生途径有漏洞
Jayson带
流密码与RC4密码初认识--听说世界上只有百分之3的人关注Jayson,很幸运你是其中一位 一、前言 流密码是对称密码算法,是私钥密码系统中的一个分组。流密码的转换是随”变换”而变换的,像水流一样源源不...---傻大方资讯防抓取设置
你装逼带你飞,青山不改,绿水长流,我们明天见。喜欢的观众老爷可以点波关注,Jayson在此跪拜!投放广告为了养家糊口,谢谢大家的理解,嘻嘻!流密码与RC4密码初认识--听说世界上只有百分之3的人关注Jayson,很幸运你是其中一位 一、前言 流密码是对称密码算法,是私钥密码系统中的一个分组。流密码的转换是随”变换”而变换的,像水流一样源源不...---傻大方资讯防抓取设置
赞赏
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
小编来了!今天看到一篇文章说的是‘流密码与RC4密码初认识’,特意拿来分享给各位看官,如果你也觉得这篇文章不错,记得分享哦!流密码与RC4密码初认识--听说世界上只有百分之3的人关注Jayson,很幸运你是其中一位 一、前言 流密码是对称密码算法,是私钥密码系统中的一个分组。流密码的转换是随”变换”而变换的,像水流一样源源不...---傻大方资讯防抓取设置
听说世界上只有百分之3的人关注Jayson,很幸运你是其中一位 一、前言 流密码是对称密码算法,是私钥密码系统中的一个分组。流密码的转换是随”变换”而变换的,像水流一样源源不...
- 家门口这种植物认识吗?用来煲鸡汤最好喝
- 简单谈谈如何培养\"神秘感\"--塑造男人魅力的密码
- 与这些星座认识的越久越讨人喜欢
- 《山海经》上古十大精怪盘点:它们都长什么样,你认识哪些?
- 河南各地的车牌号你认识多少?
- 读懂中国艺术,必从认识这五幅名画开始
- 忘记微信登录密码该怎么办?最方便的方法竟然是这招!
- 快醒醒!昆山这个酒桌上的男人谁认识,你老婆闯进来了
- 农村80岁的老大爷在街头卖神秘果,5块钱抓一大把,你认识吗?
- “乡巴佬!你连我孟婆都不认识,竟想收我做徒弟!还想不想....”