码迷,mamicode.com
首页 > 编程语言 > 详细

分组密码算法

时间:2015-07-12 18:57:28      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

代换,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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!