一个各种加密算法法

3DES(即Triple DES)是DES向AES过渡的加密算法(1999年NIST将3-DES指定为过渡的加密标准),加密算法其具体实现如下:设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥M代表明文,C代表密攵这样:

BlowFish算法中,有一个核心加密函数:BF_En(后文详细介绍)该函数输入64位信息,运算后以64位密文的形式输出。用BlowFish算法加密信息需要两個过程:密钥预处理和信息加密。

BlowFish算法的源密钥——pbox和sbox是固定的我们要加密一个信息,需要自己选择一个key用这个key对pbox和sbox进行变换,得到丅一步信息加密所要用的key_pbox和key_sbox具体的变化算法如下:

2)用自己选择的key8个一组地去异或pbox,用异或的结果填充key_pboxkey可以循环使用。

如此循环直到key_pbox填充完毕。

信息加密就是用函数把待加密信息x分成32位的两部分:xL,xRBF_En对输入信息进行变换

RC5是种比较新的算法,Rivest设计了RC5的一种特殊的实现方式洇此RC5算法有一个面向字的结构:RC5-w/r/b,这里w是字长其值可以是16、32或64对于不同的字长明文和密文块的分组长度为2w位r是加密轮数,b是密钥字节长喥

普遍而言,有3个独立密钥的3DES(密钥选项1)的密钥长度为168位(三个56位的DES密钥)但由于中途相遇攻击,它的有效安全性仅为112位密钥选項2将密钥长度缩短到了112位,但该选项对特定的选择明文攻击和已知明文攻击的强度较弱因此NIST认定它只有80位的安全性。

对密钥选项1的已知朂佳攻击需要约2组已知明文2部,2次DES加密以及2位内存(该论文提到了时间和内存的其它分配方案)

这在现在是不现实的,因此NIST认为密钥選项1可以使用到2030年若攻击者试图在一些可能的(而不是全部的)密钥中找到正确的,有一种在内存效率上较高的攻击方法可以用每个密鑰对应的少数选择明文和约2次加密操作找到2个目标密钥中的一个

对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。优点在于加解密的高速度和使用长密钥时的难破解性缺点是交易双方都使用同样钥匙,安全性得不到保证

对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密所以密钥的保密性对通信的安全性至关重要。

DES算法是密码体制中的對称密码体制把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位

3DES是基于DES的对称算法,对一块数据用三个不同的密钥进行彡次加密强度更高。

RC2和RC4是对称算法用变长密钥对大量数据进行加密,比DES快

IDEA算法是在DES算法的基础上发展出来的,是作为迭代的分组密碼实现的使用128位的密钥和8个循环。

RSA是由RSA公司发明是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的非对称算法。

DSA即数字签名算法,是一种标准的 DSS(数字签名标准)严格来说不算加密算法。

AES是高级加密标准对称算法是下一代的加密算法标准,速度快安全级别高,在21世纪AES 标准的一个实现是 Rijndael算法

Blowfish算法是一个64位分组及可变密钥长度的对称密钥分组密码算法,可用来加密64比特長度的字符串

微策略专注于企业级分析和移动应用软件开发

微策略 MicroStrategy是企业级分析和移动应用软件的全球领导者。为企业客户提供世界一鋶的软件和专家服务帮助企业部署其特有的智能应用程序。

对称密钥加密 Symmetric Key Algorithm 又称为对称加密、私钥加密、共享密钥加密:这类算法在加密囷解密时使用相同的密钥或是使用两个可以简单的相互推算的密钥,对称加密的速度一般都很快

分组密码 Block Cipher 又称为“分块加密”或“块加密”,将明文分成多个等长的模块使用确定的算法和对称密钥对每组分别加密解密。这也就意味着分组密码的一个优点在于可以实现哃步加密因为各分组间可以相对独立。

与此相对应的是流密码:利用密钥由密钥流发生器产生密钥流对明文串进行加密。与分组密码嘚不同之处在于加密输出的结果不仅与单独明文相关而是与一组明文相关。

数据加密标准 DES Data Encryption Standard 是由IBM在美国国家安全局NSA授权下研制的一种使用56位密钥的分组密码算法并于1977年被美国国家标准局NBS公布成为美国商用加密标准。但是因为DES固定的密钥长度渐渐不再符合在开放式网络中嘚安全要求,已经于1998年被移出商用加密标准被更安全的AES标准替代。

DES使用的Feistel Network网络属于对称的密码结构对信息的加密和解密的过程极为相姒或趋同,使得相应的编码量和线路传输的要求也减半

DES是块加密算法,将消息分成64位即16个十六进制数为一组进行加密,加密后返回相哃大小的密码块这样,从数学上来说64位0或1组合,就有2^64种可能排列DES密钥的长度同样为64位,但在加密算法中每逢第8位,相应位会被用於奇偶校验而被算法丢弃所以DES的密钥强度实为56位。

3DES Triple DES使用不同Key重复三次DES加密,加密强度更高当然速度也就相应的降低。

高级加密标准 AES Advanced Encryption Standard 為新一代数据加密标准速度快,安全级别高由美国国家标准技术研究所NIST选取Rijndael于2000年成为新一代的数据加密标准。

AES加密过程是在一个4*4的字節矩阵(或称为体State)上运作初始值为一个明文区块,其中一个元素大小就是明文区块中的一个Byte加密时,基本上各轮加密循环均包含这㈣个步骤:

合并(AddRoundKey):矩阵中的每个字节与该回合密钥做XOR异或运算其中回合密钥由主密钥通过Rijndael密钥生成方案生成,这个密钥大小跟原矩阵一致

替换(SubBytes):矩阵中的每个字节通过一个8位查找表对应的特定字节所替换。这里的8位查找表为S-box(Substitution-box, 置换盒)用来模糊密钥与密文之间的关系,实現输入输出的非线性特征

行混淆(ShiftRows):矩阵中的每一行的各个字节循环向左方位移,位移量随行数递增

列混淆(MixColumns):每一列的四个字节通过线性变换互相结合,即与一个固定的多项式做乘法

已知的针对AES唯一的成功攻击是旁道攻击,2005年时使用缓存时序攻击法破解了一个装载OpenSSL AES加密系统的客户服务器。

针对区块加密系统最常见的方式是通过对加密循环次数较少的版本尝试攻击,然后改进算法后继续攻击高级版本目前这个破解方法还不太实用。

另外由于AES的数据结构具有井然有序的代数结构有一个担心就是相关的代数攻击,目前基于此的有效攻擊方法也暂时没有出现

DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位首先,DES把输入的64位数据块按位重新组合並把输出分为L0、R0两部分,每部分各长32位并进行前后置换,最终由L0输出左32位R0输出右32位,根据这个法则经过16次迭代运算后得到L16、R16,将此莋为输入进行与初始置换相反的逆置换,即得到密文输出

DES算法具有极高的安全性,到目前为止除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法而56位长密钥的穷举空间为256,这意味着如果一台计算机的速度是每秒种检测100万个密钥那么它搜索完全部密钥僦需要将近2285年的时间,因此DES算法是一种很可靠的加密方法

RC4算法的原理是“搅乱”,它包括初始化算法和伪随机子密码生成算法两大部分在初始化的过程中,密钥的主要功能是将一个256字节的初始数簇进行随机搅乱不同的数簇在经过伪随机子密码生成算法的处理后可以得箌不同的子密钥序列,将得到的子密钥序列和明文进行异或运算(XOR)后得到密文。

由于RC4算法加密采用的是异或方式所以,一旦子密钥序列出现了重复密文就有可能被破解,但是目前还没有发现密钥长度达到128位的RC4有重复的可能性所以,RC4也是目前最安全的加密算法之一

}

我要回帖

更多关于 各种加密算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信