密码科学基本简介 21世纪是科学技术频出的时代。其中,又以密码学尤为一门既古老又年轻的科学。 密码学最初用于军事保护及外交。密码技术的最早使用,更可以追溯到人类历史的几千年前。直到1949年,美国数学家克劳伍德·香农(Claude Shannon)发表了论文《保密系统的通信理论》(Communication Theory of Secrecy System[1]),密码学才真正步入了科学的轨道。香农在这篇论文中,对他论文中所创立的信息论的概念和方法作了进一步发挥,并精辟地阐明了关于密码系统的分析、评价和设计的科学思想,为现代密码学研究与发展奠定了坚实的理论基础,将已有数千年历史的密码技术数学化、理论自洽化——从此,密码学(Cryptology)才真正开天辟地成为了一门科学。
“香帅”克劳伍德·香农(Claude Shannon)。香帅为密码科学、信息论之父。 因笔者为高校在读生学业繁忙的缘故,笔者的更新时间紧迫。尽管笔者再为尽力做到专业仔细,但也难免出现错误及不尽人意之处;因此,欢迎广大知友于评论区、私信等途径广泛留言批评指正。笔者也会及时查看并于互联网上勘误更新,便于广大知友传播、学习和阅读。 密码学基本概念 经典密码学是指秘密书写的科学,密码(Cipher)则是一种秘密书写的方法。 将明文(Plaintext)转化为密文(Ciphertext),这种变幻称为加密(Encipherment);而将密文变换为明文的逆过程,则被称之为解密(Decipherment)。 加密与解密互为一对逆映射。无论是加密和解密,都要通过密钥(Key)的控制。
加密/解密流程示意图 密码学的研究领域可分为密码编码学(Cryptography)和密码分析学(Cryptanalysis)两个分支。前者研究密码的编制问题,后者研究密码的破译问题。 密码编码学和密码分析学是密码科学的一体两面,两者呈现辩证的发展关系。二者既为互相对立,又为互相促进和融合发展。 密码编码学 对称密码系统主要是对信息提供秘密性保护、防止敌手于信道上进行窃听后产生泄密的防护手段。对称密码系统同时还能保护数据的完整性,检测敌手对数据进行的篡改、伪造和破坏。 定义开始之前,让我们先进行推导一个典型的密码编码学实例。 一个对称密码系统(Cryptosystem)
是一个五组,
。其中:①明文消息空间
:表示明文消息的集合;②密文消息空间
:表示密文消息的集合;③密钥空间
:表示密钥的集合;④加密变换
:表示加密变换过程的映射,
⑤解密变换
:表示解密变换过程的映射,
该系统还满足以下条件:对于给定的密钥
,均有:
同时,由
和
诱导以下两个变换:
综上,这个系统一系列的映射变换过程,就被称之为加密/解密变换。而密码编码学的研究领域,就是研究密码编码(也即加密)、译码(也即解密)的理论及其算法。加密和解密,也即是密码编码学的研究内容。 这种密码系统的典型使用环境,依旧是由我们的老朋友“ABO”组合——通信的发起方Alice、通信的接收方Bob,以及偶尔路过的敌手窃听者Oscar共同组成的[2]:
Alice和Bob的基本设定 假设Alice想给Bob发送一个消息,那么Alice和Bob则需要事先共享一个密钥
;然后Alice用该密钥加密明文消息
,得到了密文消息
;Alice把该密文消息发送给Bob之后,Bob首先接收到密文消息
,随即利用了相同的密钥
开始解密密文
;最后,Bob成功得到了明文
。 该过程的参考模型如图所示:
密码系统应用参考模型(笔者用红笔勾画出了Oscar对系统进行攻击的场面) 于示意图中我们可以看到,敌手Oscar可能会对此通讯过程进行破坏。易得,如果Oscar拥有了密钥,那么他可以实现任何想进行的攻击。 因此,在对称密码系统当中,密钥的管理者向来都扮演着非常重要的角色。 密码分析学 密码分析学也叫做破译。只有密码分析研究者才能评判密码体制的安全性。而密码分析学的主要任务,是研究加密信息的破译或认证信息的伪造。该领域主要是对密码信息的解析方法进行研究。 密码分析者破译或攻击密码的方法,主要有穷举攻击法、统计分析攻击法和数学分析攻击法。
穷举攻击法 穷举攻击法又称强力/蛮力攻击(Brute Force Attack)。这种攻击方法是对截获到的密文尝试遍历所有可能的密钥进行激活成功教程的方法。 统计分析攻击法 统计分析攻击法是密码分析者根据明文、密文和密钥构成的统计规律来进行破译密码的一种方法。 数学分析攻击法 数学分析攻击法是指密码分析者对加密/解密算法的数学基础和某些密码科学的特性,通过数学求解的方法来破译密码的一种方法。数学分析攻击,则是对基于数学难题的各种密码算法的主要威胁。 根据加密类型,我们可以将针对加密系统的密码分析攻击类型细分为以下四种:(1)唯密文攻击(Ciphertext-only Attack)。在唯密文攻击中,密码分析者知道密码的算法,但仅能根据截获的密文进行分析,以得出明文或密钥的方式。由于密码分析者所能利用的数据资源仅为密文,因此这是对密码分析者最为不利的情况;(2)已知明文攻击(Plaintext-known Attack)。在已知明文攻击中,密码分析者除有截获的密文外,还有一些已知的“明文-密文对”作为信息来破译密码的一种方式。这种算法可以对用该密钥加密的任何新的消息进行解密。(3)选择明文攻击(Chosen-ciphertext Attack)。在选择明文攻击中,密码分析者不仅可以得到一些“明文-密文对”作为情报,还可以选择被加密的明文来进行攻击,以分析和发现更多的与密钥相关的信息,从而进行解密的一种方式。(4)选择密文攻击(Chosen-ciphenext Attack)。在选择密文攻击中,密码分析者可以选择一些密文,并获得对应的明文。密码分析者的任务则是对此过程进行分析推理得出密钥。这种攻击方式,通常多用于攻击公钥密码体制。 绝对安全的密码 如果有这样一种保护机密性的密码系统,无论有多少密文或者明文对都得不到任何关于密钥的消息,那么该系统则被称为绝对安全的(Unconditioned Secure)系统。香农证明了一步一密的密码系统是绝对安全的。 然而,绝对安全的密码,则经常给密钥管理带来非常大的压力。构造一种好的密码算法并不容易,它要求算法在抗攻击强度、运算效率、系统开销、功能特点等综合方面都有着极高的要求,缺一不可。 因此,目前主流的编码思想则是寻找密钥管理简单、且破译者利用现有资源无法短时间内破译的密码编码算法。这则是计算安全(Computationally Secure)的密码。 绝对安全的密码“远在天边”,但是计算安全的密码,则可“近在眼前”。 以上,就是本文所介绍的密码学的基本概念,以及密码学基本的“两大派系”,以及其一些重要算法的概述和这些算法在信息安全领域中的重要作用。
不过,笔者私心认为,“I LOVE YOU”其实就是最安全的密码之一(!)
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/29234.html