赞
踩
分组密码(block cipher)是线代密码学中的重要体制之一,也是应用最为广泛、影响最大的一种密码体制,其主要任务是提供数据保密性,也可以用到在许多方面,如构造伪随机数生成器、序列密码、认证码和哈希函数等。分组密码又分为对称分组密码和非对称分组密码,习惯上,分组密码一词在很多场合指的是对称分组密码,简称分组密码。由于分组密码加密解密速度较快,安全性好,以及得到许多密码芯片的支持,现代分组密码发展非常快,在许多研究和应用领域得到了广泛的应用。
也称块密码,它是将明文消息经编码表示后的二进制序列P0,P1,…,Pi,…划分成若干固定长度(譬如m)的组(或块)p=(p0,p1,…,pm-1),各组分别在密钥k=(k0,k1,…,kt-1)的控制下转换成长度为n的密文分组c=(c0,c1,…,cn-1)。其本质是一个从明文空间(m长的比特串的集合)P到密文空间(n长的比特串的集合)C的一一映射。(一般而言,m=n,但与t不一定相等)
对于一个分组长度为n的分组密码,不同的密钥对应不同的加密解密变换,即,对于给定的密钥k,加密变换Ek是GF(2)n上的一个置换,解密变换Dk是Ek的逆变换。如果密钥长度为t,则密钥量为2t。又由于长度为n的分组共有2n!个不同的置换,所以必须有2t<=2n!。为了便于密钥管理和效率考虑,通常密钥长度不能太大。当然,密钥长度t不能太小,否则难以抵抗对密钥的穷举搜索攻击。 4. 分组密码的要求
所谓扩散,是指要将算法设计成明文每一比特的变化尽可能多地影响到输出密文序列的变化,以便隐蔽明文的统计特性。形象地称为雪崩效应。扩散的另一层意思是密钥每一位的影响尽可能迅速地扩展到较多的密文比特中去。即扩散的目的是希望密文中的任一比特都要尽可能与明文、密钥相关联、或者说,明文和密钥中任何一比特值发生变化,都会在某种程度上影响到密文值的变化,以防止将明文或密钥分解成若干孤立的小部分,然后被各个击破。
所谓混乱,指在加解密变换过程中明文、密钥以及密文之间的关系尽可能地复杂化,以防密码破译者采用解析法(即通过建立并求解一些方程)进行破译攻击。
指一次使用两个火以上的基本密码,所得结果的密码强度将强于所有单个密码的强度。乘积密码通常伴随系列置换与代替操作,常见的乘积密码是迭代密码。许多分组密码重复一个或几个步骤:代替然后换位,然后代替,再换位等等,并且每个步骤的过程都有密钥来控制,目前的大多数分组密码同时使用代替-置换网络以达到混淆和扩散的目标。代替-置换网络是由多重代替变换(S)和替换变换(P),如图所示,S代替变换起到混淆的作用,P置换变换起到扩散的作用。
SPN具有雪崩效应。所谓雪崩效应是指,输入(明文或密钥)即使只有很小的变化,也会导致输出(密文)产生巨大的变化现象。
为了保证分组密码的安全性,与分组密码算法原则非常相似,Feistel网络结构实现与以下参数和特性相关:(1)分组大小:分组越大则安全性越高,但加密速度就越慢、分组密码设计中最为普遍使用的分组大小是64比特。(2)密钥大小:密钥越长则安全性越高,但加密速度就越慢。现在通常使用128比特的密钥长度。(3)轮数:(4)子密钥产生算法:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。