标签:
代换,S盒,扩散和混淆,这些概念构成了分组密码学的基础。
如果明文和密文的分组长度都为n比特,则明文的每一个分组都有2n个可能的取值;
代换:
为使加密运算可逆(即解密运算可行),明文的每一个分组都应产生唯一的一个密文分组(多对一),这样
的变换是可逆的,称明文分组到密文分组的可逆变换为代换。
S盒:
一般地,对n比特的代换结构,密钥的大小是n*2n比特。如对64比特的分组,密钥大小应该是64*264比特,
难以处理。实际中常将n分成较小的段,例如可选n==rn0,其中r,n0都是整正数,将设计n个变量的代换变为
设计r个较小的子代换,而每个子代换只有n0个输入变量。一般n0都不太大,称每个子代换为代换盒,简称
S盒。例如,在DES中将输入为48比特,输出为32比特的代换用8个S盒来实现,每个S盒的输入端仅为6比特
,输出端仅为4比特。
扩展和混淆:
是设计密码系统的两种基本方法,目的是抵抗对手对密码系统的统计分析。
扩散就是将明文的统计特性散布到密文中去,实现方式是使得密文中每一位由明文中多位产生。在二元组密码中
,可对数据重复执行某个置换,再对这一个置换作用于某个函数,即可获得扩散。扩散的目的是使明文和密文之间
的统计关系变得尽可能复杂;
混淆是使密文与密钥之间的统计关系尽可能复杂,以使对手无法得到密钥。使用复杂的代换算法可得到预期的混淆
效果,而简单的线性代换函数得到的混淆效果不够理想。
扩散和混淆成功地实现了分组密码的本质属性,因而成为设计现代分组密码的基础。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/meiyoudao_jiushidao/article/details/46851377