对称密钥算法又称为对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。事实上这组密钥成为在两个或多个成员间的共同秘密,以便维持专属的通信联系。

对称密钥算法(Symmetric-key algorithm)又称为对称加密私钥加密共享密钥加密,是密码学中的一类加密算法。这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。事实上,这组密钥成为在两个或多个成员间的共同秘密,以便维持专属的通信联系。与公开密钥加密相比,要求双方获取相同的密钥是对称密钥加密的主要缺点之一。

对称密钥算法 Symmetric-key algorithm

常见的对称加密算法有 AES、ChaCha20、3DES、Salsa20、DES、Blowfish、IDEA、RC5、RC6、Camellia。对称加密的速度比公钥加密快很多,在很多场合都需要对称加密。

对称密钥密码体制从加密模式上可分为序列密码和分组密码两大类。序列密码一直是军事和外交场合使用的主要密码技术之一,它的主要原理是通过有限状态机产生性能优良的伪随机序列,使用该序列加密信息流,得到密文序列。分组密码的工作方式是将明文分成固定长度的组,如 64 比特一组,用同一密钥和算法对每一组加密,输出也是固定长度的密文。

对称性的加密算法包括美国标准 56 位密钥的 DES,Triple-DES,3DES,变长度密钥的 RC2 和 RC4,瑞士人发明的 128 位密钥的 IDEA 等。DES(Data Encryption Standard)是由 IBM 公司开发的最著名的数据加密算法,它的核心是乘积变换。美国于 1997 年将其定为非机密数据的正式加密标准。

对称加密算法有哪些

对称密钥:DES TripleDES 算法

DES 算法把 64 位的明文输入块变为数据长度为 64 位的密文输出块,其中 8 位为奇偶校验位,另外 56 位作为密码的长度。首先,DES 把输入的 64 位数据块按位重新组合,并把输出分为 L0、R0 两部分,每部分各长 32 位,并进行前后置换,最终由 L0 输出左 32 位,R0 输出右 32 位,根据这个法则经过 16 次迭代运算后,得到 L16、R16,将此作为输入,进行与初始置换相反的逆置换,即得到密文输出。

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

对称密钥:RC 算法

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

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

对称密钥:BlowFish 算法

BlowFish 算法是一个 64 位分组及可变密钥长度的分组密码算法,该算法是非专利的。

BlowFish 算法使用两个“盒”:pbox[18]和 sbox[4256],BlowFish 算法有一个核心加密函数。该函数输入 64 位信息,运算后以 64 位密文的形式输出。用 BlowFish 算法加密信息,需要密钥预处理和信息加密两个过程。BlowFish 算法的原密钥 pbox 和 sbox 是固定的,要加密一个信息,需要选择一个 key,用这个 key 对 pbox 和 sbox 进行变换,得到下一步信息加密所用到的 key_pbox 和 key_sbox。

BlowFish 算法解密,同样也需要密钥预处理和信息解密两个过程。密钥预处理的过程和加密时完全相同。信息解密的过程就是把信息加密过程的 key_pbox 逆序使用即可。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 分组加密 Block cipher

    分组加密是什么

    分组加密(Block cipher)又称分块加密或块密码,是一种对称密钥算法。它将明文分成多个等长的模块,使用确定的算法和对称密钥对每组分别加密解密。分组加密是极其重要的加密协议组成,应用领域从电子邮件加密到银行交易转帐,非常广泛。
  • 公开密钥密码体系是什么

    公开密钥密码体系是什么

    公开密钥密码体制是现代密码学的最重要的发明和进展。一般理解密码学(Cryptography)就是保护信息传递的机密性。在公钥体制中,加密密钥不同于解密密钥。人们将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道。
  • 公开密钥密码学 Public-key cryptography

    公开密钥密码学是什么

    公开密钥密码学也称非对称式密码学是密码学的一种算法,需要两个密钥,一个是公开密钥,另一个是私有密钥;公钥用作加密,私钥则用作解密。使用公钥把明文加密后所得的密文,只能用相对应的私钥才能解密并得到原本的明文,最初用来加密的公钥不能用作解密。
  • 公开密钥加密 Public-key cryptography

    公开密钥加密是什么

    公开密钥密码学也称非对称式密码学,是密码学的一种算法,需要两个密钥,一个是公开密钥,另一个是私有密钥;公钥用作加密,私钥则用作解密。使用公钥把明文加密后所得的密文,只能用相对应的私钥才能解密并得到原本的明文,最初用来加密的公钥不能用作解密。
  • 公开密钥认证

    公开密钥认证是什么

    公开密钥认证(Public key certificate)又称数字证书或身份证书。是用于公开密钥基础建设的电子文件,用来证明公开密钥拥有者的身份。此文件包含了公钥信息、拥有者身份信息(主体)、以及数字证书认证机构(发行者)对这份文件的数字签名,以保证这个文件的整体内容正确无误。
  • 对称加密系统是什么

    对称加密系统是什么

    数据加密就是按照确定的密码算法将敏感的明文数据变换成难以识别的密文数据,通过使用不同的密钥,可用同一加密算法将同一明文加密成不同的密文。当需要时,可使用密钥将密文数据还原成明文数据,称为解密。这样就可以实现数据的保密性。