type
status
date
slug
summary
tags
category
icon
password
block ciphers/feistel ciphers
私钥加密算法
是一种单钥或对称算法,通信实体双方使用相同的密钥加密和解密
分组密码
在分组密码中,消息被分成许多块,每块都要被加密。类似于许多字符被替换-( 64-bits or more )
香农保密系统
替换-置换密码
S-P network 替换-置换乘积密码的现代形式
替换( Substitution )S混淆
置换( Permutation )P打乱
替换可以看作是一个大的查表运算,为S-boxes
置换中二进制字次序被打乱,重新排序的方法构成密钥,为P-boxes
香农将一些 S-boxes 由 P-box 连接,成为混合变换,
*在实际应用中
1.定义每个替换、置换的逆,这样增加了复杂度
2. 定义一种结构,容易求逆,这样可以使用基本的相同编码或硬件用于加密和解密(更工程
Feistel密码
思想是把输入块分成左右两部分 L(i-1) 和R(i-1), 变换是在密码的第I轮只使用R(i-1)
函数 g incorporates one stage of the S-P network的每个阶段由g 工作,由第i 个密钥控制(叫子密钥)
轮函数的思想,设计了密钥编排算法
Ri-1进行密钥计算,与Li-1进行异或,二者再进行交换
L(i) = R(i-1)
R(i) = L(i-1) XOR g(K(i), R(i-1))
求逆容易(右侧),连续变换可以形成完整的密码变换
基本设计原理
Shannons混合变换
S-Boxes (S-盒)
提供输入bits混淆作用 (confusion)
其目的在于使作用于明文的密钥和密文之间的关系复杂化,使明文和密文之间、密文和密钥之间的统计相关特性极小化,从而使统计分析攻击不能奏效(不对应源码)。通常的方法是“替换(Substitution)”(回忆恺撒密码)。
P-Boxes (P-盒)
提供扩散作用(diffusion)
将明文及密钥的影响尽可能迅速地散布到较多个输出的密文中(将明文冗余度分散到密文中)。产生扩散的最简单方法是通过“换位(Permutation)”(比如:重新排列字符)
这种效果进一步解释为”雪崩”与”完全性”
*雪崩效应:一个函数F具有好的雪崩特性是指:
对2^m个明文 向量, 分为2^m-1个向量对xi和xi’,每对向量只有一个bit不同, 定义Vi = f(X) XOR f(Xi) ,
则近一半的Vi为1.(输入改变1bit,一半不同)
*完备性效应:F具有好的完备性是指:
对密文输出向量的每一比特j, 0<j<m, 至少存在一个明文对(xi,xi’), 此明文对只在第i比特不同,且F(xi)与F(xi’)的第j比特不同(其他相不相同无所谓.
即每个输出比特是所有输入比特的复杂函数的输出,与所有输入都相关
- 雪崩”保证小的输入变化导致大的输出变化
- 完全性保证每个输出比特依赖于所有的输入比特
Feistel Cipher 设计
设计密码时,下列参数需要考虑:
- 分组大小(block size):增加分组长度会提高安全性, 但降低了密码运算速度
- 密钥大小(key size):增加密钥长度,可以提高安全性(使得穷搜索困难),同样,降低了密码速度.
- 轮数:增加轮数可以提高安全性,但降低速度
- 子密钥生成:子密钥生成越复杂,就越安全,但降低速度 轮函数 复杂的轮函数能够使的密码分析困难,但降低速度
Lucifer算法
第一个可用的替换-置换密码
Lucifer IS Feistel cipher, 分组长度是 128-bit ,密钥长度是128-bit
每轮使用的子密钥是密钥的左半部分
密钥每次要向左旋转56-bits, 所以,密钥的每部分都参加运算
16轮数据计算(使用子密钥) 输出的右半部分作为下轮的输入 RH side as inputs to the round function
交换位置前,与左半异或
S-P function for Lucifer 有下列结构:
substitution 使用8对 4-bit S-boxes (S0 & S1) (对)
每个对的交替使用方法依赖于密钥(order (S0|S1) or (S1|S0) depending on the key )
subkey 替换输出相加(modulo 2)
再通过几个8bit 置换组成64bit的简单置换
- Author:faii
- URL:https://www.faii.top/article/5b7b2efe-6ef0-45df-8516-b72589d40771
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts