分组加密是什么

维基 问答 2022-06-01 00:31:29 阅读(...)

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

密码学中,分组加密(Block cipher),又称分块加密或块密码,是一种对称密钥算法。它将明文分成多个等长的模块(block),使用确定的算法和对称密钥对每组分别加密解密。分组加密是极其重要的加密协议组成,其中典型的如 AES 和 3DES 作为美国政府核定的标准加密算法,应用领域从电子邮件加密到银行交易转帐,非常广泛。

分组加密 Block cipher

现代分组加密创建在迭代的思想上产生密文。其思想由克劳德·香农在他 1949 年的重要论文《保密系统的通信理论》(Communication Theory of Secrecy Systems)中提出,作为一种通过简单操作如替代和排列等以有效改善保密性的方法。迭代产生的密文在每一轮加密中使用不同的子密钥,而子密钥生成自原始密钥。

DES 加密在 1977 年由前美国国家标准局(今“美国国家标准与技术研究所”)颁布,是现代分组加密设计的基础思想。它同样也影响了密码分析的学术进展。

历史

Lucifer 一般被认为是第一个现代分组密码,由 IBM 在 1970 年代基于霍斯特·费斯妥(Horst Feistel)的工作完成。它的一个修改版本是数据加密标准,被美国政府纳入联邦资料处理标准,并于 1976 年正式发布,至今仍被广泛应用。

当时设计 DES 密码的最初目的是为了抵抗某些美国国家安全局(NSA)和 IBM 知道的密码分析方法,直到 1980 年代末期,这种被称为差分密码分析的方法才被毕汉姆(Eli Biham)和萨莫尔(Adi Shamir)独立重新发现。线性密码分析是另一种方法,NSA 在松井充发布这种实验性的密码分析方法[4]之前还并不知道。

DES 作为早期的分组密码,最早成为密码标准,由于在最初 DES 并未公布其实现细节,其 S 盒设计被怀疑包含后门,因此学界对其进行了大量的研究,提高了学界对分组密码的了解,客观上促进了密码学及密码分析的发展,引领了很多密码学和密码分析的研究。另一种分组密码标准高级加密标准(AES)被美国国家标准与技术研究院(NIST)采纳,即将逐渐取代 DES 目前的位置。

0个人收藏 收藏

评论交流

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

相关推荐

  • 差分密码分析 differential cryptanalysis

    差分密码分析是什么

    差分密码分析是一种密码分析的方法,主要用于破解分组加密,但也适用于流加密和加密哈希函数。其研究的是信息输入上的差别对输出结果变化的影响。对于分组密码,其指的是利用差异来获取密钥的技术,包括跟踪变换网络中的差异,以及寻找加密中的非随机行为等。
  • 公开密钥密码学 Public-key cryptography

    公开密钥密码学是什么

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

    密码学是什么

    密码学(Cryptography)可分为古典密码学和现代密码学。密码学是数学和计算机科学的分支,同时其原理大量涉及信息论。密码学的发展促进了计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。
  • 对称密钥算法 Symmetric-key algorithm

    对称密钥算法是什么

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

    什么是人脸识别门禁

    人脸识别门禁系统是在人脸识别技术的基础上,主要通过摄像头采集人脸信息,并与数据库的巨大人脸模板进行比较,将其与门禁系统相结合,对人员的面部信息进行分析,通过繁杂的数学方式计算人脸相似度,毫秒间与人脸模板比对,匹配成功后自动开启的门禁系统。
  • 计算机科学 Computer science

    计算机科学是什么

    计算机科学是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。 它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学。