| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 序列密码体制(python随机数密码,RC4 -> 正文阅读 |
|
[Python知识库]序列密码体制(python随机数密码,RC4 |
概念:明文按一定长度分组后表示成一个序列,称为明文流。加密时,由种子密钥通过密钥流生产器产生一个密钥流序列,然后依次把明文流与密钥流中的对应项做二元加法运算(异或) 解密是将同样的密钥流与明文流中的对应项做二元加法运算 ?序列密码的安全性更依赖于密钥。 例子:明文10110111 密钥10110111 将两个密钥相异或,得到密文,再把密文与与密钥异或得到明文 ?分类:根据状态函数是否独立于明文或者密文,可以将序列密码分为同步序列密码和自同步序列密码两类。 同步序列密码:发送方和接受方用同样的密钥且该该密钥操作在同样的位置,才能保证正确的解密。一个密文字被篡改只会影响该对应的密文,不影响后续。 自同步序列密码:解密只取决于先前固定数量的密文字。自同步序列密码在同步消失后能够自动重建同步,只有固定数量的明文不能解密。若一个密文被篡改,解密时最多只影响到后续t个密文字的解密,即只发生有限的错误传播。 Vernam密码技术(序列密码的起源设明文 m=m1m2....,密钥k=k1k2... 密文ci=mi+ki +是模2加法 加密和解密都是伪随机加密(可以通过一个比较简短的种子密钥产生伪随机序列) 伪随机数伪随机数生成器(pseudorandom number generator,PRNG),又称为确定性随机位生成器(deterministic random bit generator,DRBG),是用来生成接近于绝对随机数序列的数字序列的算法。一般来说,PRNG 会依赖于一个初始值,也称为种子,来生成对应的伪随机数序列。只要种子确定了,PRNG 所生成的随机数就是完全确定的,因此其生成的随机数序列并不是真正随机的 线性反馈移位寄存器:GF(2)上一个n级反馈移位寄存器由n个二元存储器与一个反馈函数组成,如下图所示。? ? ? 例子:三级移位寄存器 ?前两个数相乘并且和第三个数异或 1*0=0 再与1异或得1做为a4 最后循环得到1011 1011 1011周期为4 线性反馈移位寄存器LFSR? ?其中ci等于0或者1,+是膜2加法 线性反馈移位寄存器:实现简单、速度快、有较为成熟的理论,成为构 造密钥流生成器的最重要的部件之一。 ? 期末复习用,以后遇到待补充。? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 2:36:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |