网络安全之密码学技术

news2024/11/25 13:38:59

文章目录

  • 网络信息安全的概念
  • 数据加密|解密概念
  • 密码学概论
    • 密码学分类
    • 古典密码学
    • 现代密码学
  • 现代密码学的相关概念
    • 对称加密算法
      • 对称加密算法—DES
      • 对称加密算法—3DES
      • 对称加密算法—AES
      • 对称加密算法—IDEA
    • 非对称加密算法
      • 非对称加密算法—RSA
      • 非对称加密算法—ElGamal
      • 非对称加密算法—椭圆曲线
    • 单向散列函数
    • 数字签名
    • 公钥管理基础设施(PKI)
      • 例子:网站证书
    • 密钥管理
      • 密钥交换和密码分发案例
    • 密码分析
      • 常见的攻击方法

网络信息安全的概念

  • 网络信息安全主要包括**信息交换安全(动态安全)网络系统安全(静态安全)**两类技术。
  • 涉及信息的机密性、完整性、真实性、不可否认性及可用性等相关理论和技术。
  • 目的:维护网络空间信息交互的秩序和规则,防止对网络系统和网络信息的窃听、篡改、假冒、破坏、泄露和滥用等行为,保护合法用户的利益和隐私。

数据加密|解密概念

  • 加密(Encryption):对原始数据进行数学变换,使得加密后在网络上公开传输的内容。对于非法接收者来说毫无意义、无法读懂,而合法接收者持有正确的密钥,可以通过解密(Decryption)获得原始数据。

  • 解密(Decryption):对经过加密的数据进行数学逆变换,以恢复原始的、可读的数据内容。解密通常需要使用相应的密钥或算法来还原加密前的数据。

  • 加密前的原始数据称为明文(Plaintext),加密后获得的数据称为密文(Ciphertext)

  • 加密、解密变换分别是一个依赖于所使用密钥的函数,若加密密钥为 k k k,解密密钥为 k ′ k' k,明文为 M M M,密文为 M ′ M' M

  • 两个变换可分别标记为:
    加密算法: M ′ = E ( M , k ) 解密算法: M = D ( M ′ , k ′ ) 加密算法:M'=E(M,k) \\ 解密算法:M=D(M',k') 加密算法:M=E(M,k)解密算法:M=D(M,k)

  • 加密通信过程:发送方用加密密钥 k k k将明文 M M M变换成密文 M ′ M' M,然后把密文 M ′ M' M发送出去,接收方收到密文 M ′ M' M后,用解密密钥 k ′ k' k将密文 M ′ M' M恢复成明文 M M M

  • 根据加密密钥和解密密钥是否相同,即: k = = k ’ k==k’ k==k,将加密算法分为对称加密算法和非对称加密算法两种

密码学概论

  • 密码学是实现安全信息交换的基础,目的是研究秘密通信。
  • 通过数据加密、数字签名、消息摘要、密钥交换等技术,提供传输信息机密性、完整性、可认证性和不可否认性的实现机制,保证网络信息的秘密安全交换,防止攻击者对信息的窃取、篡改、假冒和破坏。

密码学分类

  1. 时期(实时间)划分,密码学可以分为古典密码学和现代密码学
    • 古典密码学:以人工计算为基础,以算法为核心
    • 现代密码学:以计算机的计算能力为基础,复杂度有质变,以密钥为核心。1970s以来,DES、RSA为代表的算法。
  2. 加密技术划分:根据所使用的加密技术分为对称加密和非对称加密两大类。对称加密使用相同的密钥进行加密和解密,而非对称加密使用一对密钥,一个用于加密,另一个用于解密。
  3. 研究重点划分:根据研究的重点分为理论密码学和应用密码学。理论密码学主要关注密码算法的数学基础和安全性分析,而应用密码学则更注重将密码学理论应用于实际系统中解决安全问题。
  4. 应用领域划分:根据应用领域进行划分,比如网络安全领域的网络协议加密算法,金融领域的支付加密技术,以及物联网领域的物联网设备通信加密技术等。

古典密码学

  • 古典密码编码方法主要有两种:置换和代换

  • 置换:把明文中的字符重新排列,字符本身不变,改变其位置。最简单的置换密码是把明文中的字符顺序倒过来,然后截成固定长度的字符组作为密文。

  • 代换:将明文中的字符替代成其他字符。

  • 举例:凯撒密码、美军破译日本军事密电码“海军暗号书D”

现代密码学

  • 现代密码学采用多种编码方法来实现加密和解密,包括对称加密、非对称加密、哈希函数等技术。
  • 现代密码学中常见的编码方法:
  1. 对称加密:对称加密使用相同的密钥来进行加密和解密。常见的对称加密算法包括:
算法名称说明
AES(高级加密标准)一种广泛应用的对称加密算法,具有高效、安全的特性,被广泛用于网络通信和数据加密。
DES(数据加密标准)早期的对称加密算法,已逐渐被AES所取代,但仍然在某些场景下使用。
3DES(Triple DES)对DES的改进和加强版本,通过多次应用DES算法来提高安全性。
  1. 非对称加密:非对称加密使用一对密钥,公钥和私钥,其中公钥用于加密,私钥用于解密。常见的非对称加密算法包括:
算法名称说明
RSA基于大整数因子分解的数学问题,是最常见的非对称加密算法之一,用于数字签名、密钥交换等场景。
ECC(椭圆曲线加密利用椭圆曲线上的离散对数问题来实现加密和签名,相比RSA具有更短的密钥长度和更高的安全性。
  1. 哈希函数:哈希函数将任意长度的输入数据映射为固定长度的输出,通常用于生成消息摘要、验证消息完整性等。常见的哈希函数包括:
算法名称说明
MD5(Message Digest Algorithm 5)已被广泛认为不安全,不建议用于安全应用。
SHA(Secure Hash Algorithm)系列如SHA-1、SHA-256、SHA-512等,被广泛用于数字签名、证书签名、消息认证码等场景。
  1. 数字签名:数字签名是利用非对称加密算法生成的一种特殊的签名,用于确保消息的完整性、认证发送方的身份以及不可否认性。常见的数字签名算法包括RSA、DSA等。

现代密码学的相关概念

现代密码学是密码学领域的一个重要分支,主要研究在计算机和现代通信技术下的加密和解密算法、协议以及相关安全性理论。

  1. 对称加密算法:对称加密算法使用相同的密钥来进行加密和解密。常见的对称加密算法包括DES(数据加密标准)、AES(高级加密标准)、RC4等。
  2. 非对称加密算法:非对称加密算法使用一对密钥,公钥和私钥,其中公钥用于加密,私钥用于解密。RSA、DSA、ECC等都是常见的非对称加密算法。
  3. 哈希函数:哈希函数将任意长度的数据映射成固定长度的数据,且具有单向性、不可逆性和抗碰撞性等特性。常用于密码学中的数字签名、消息认证码等场景。常见的哈希函数包括MD5、SHA-1、SHA-256等。
  4. 数字签名:数字签名是利用非对称加密算法生成的一种特殊的签名,用于确保消息的完整性、认证发送方的身份以及不可否认性。常见的数字签名算法有RSA、DSA等。
  5. 公钥基础设施(PKI):PKI 是一套用于管理公钥、私钥、数字证书等安全元素的体系结构,用于确保数字通信的安全性。它包括**数字证书、证书颁发机构(CA)、注册机构(RA)**等组件。
  6. 消息认证码(MAC):消息认证码是一种用于验证消息完整性和认证消息发送者身份的技术,通常结合对称加密算法和哈希函数来实现。
  7. 密钥交换协议:密钥交换协议用于安全地在通信双方之间协商共享密钥,以便后续的加密通信。Diffie-Hellman密钥交换协议是其中最著名的一种。

对称加密算法

  • 对称加密算法也称为私钥算法或单钥算法,算法的加、解密密钥相同,即 k = k ′ k=k' k=k

  • 在对称加密体制下,若 A A A B B B通信,他们先通过某种方法安全地共享密钥 k k k A A A要将明文消息 M M M发送给 B B B,就先用密钥 k k k M M M加密,得到密文 M ′ = E ( M , k ) M'=E(M,k) M=E(M,k),然后把密文 M ′ M' M发送给 B B B B B B收到 M ′ M' M后,用同样的密钥 k k k解开密文,得到明文 M = D ( M ′ , k ) M=D(M',k) M=D(M,k)

  • 对称加密算法的加密强度较高,加、解密运算速度较快,但密钥必须安全地创建、共享和保持,密钥管理成为影响通信安全的关键。

  • 常用的对称加密算法主要有数据加密标准DES、高级加密标准AES、国际数据加密算法IDEA等。

对称加密算法—DES

  • DES(Data Encryption Standard,数据加密标准),是1972年美国IBM公司研制的对称加密算法。1977年被美国国家标准局确定为联邦资料处理标准,授权在非密级政府通信中使用,随后该算法在国际上广泛流行。

  • 注意,算法的DES也被称为数据加密算法(Data Encryption Algorithm, DEA)。

  • 在DES算法中,明文按64位进行分组(块),密钥长度也是64位,(事实上只有56位参与DES运算,第8、16、24、32、40、48、56、64位是校验位, 使DES的每个密钥都有奇数个1),分组后的每64位明文组(块)分别与56位密钥进行多轮置换(按位替代/交换),最后生成64位的密文组(块)。

  • DES算法的入口参数有三个: K e y 、 D a t a 、 M o d e Key、Data、Mode KeyDataMode。Key为7个字节56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作模式(有加密、解密两种)。

  • DES使用分组密码设计的两个基本原则:混淆(confusion)和扩散(diffusion),其目的是抗击敌手对密码系统的统计分析

    • 混淆是使密文的统计特性与明文、密钥值之间的关系尽可能复杂化,以使密钥和明文以及密文之间的依赖性对密码分析者来说是无法利用的。

    • 扩散是将明文中每一位的影响尽可能迅速作用到较多的输出密文位中,以便在大量的密文中消除明文的统计结构,并且使每一位密钥的影响尽可能迅速地扩展到较多的密文位中,以防对密钥进行逐段破译

对称加密算法—3DES

  • 3DES(Triple DES)是DES向AES过渡的加密算法,它使用两个56位密钥对数据进行三重DES运算,是DES的一个更安全的变形算法。

  • 3DES使用两个密钥,执行三次DES算法,加密的过程是加密-解密-加密,解密的过程是解密-加密-解密。

  • 3DES加密过程为
    C = E k 3 ( D k 2 ( E k 1 ( P ) ) ) 条件 [ k 1 = k 3 ] C=Ek_3(Dk_2(Ek_1(P))) \quad 条件 [k_1=k_3] C=Ek3(Dk2(Ek1(P)))条件[k1=k3]

  • 3DES解密过程为:
    P = D k 1 ( E K 2 ( D k 3 ( C ) ) ) 条件 [ k 1 = k 3 ] P=Dk_1(EK_2(Dk_3(C))) \quad 条件[k_1=k_3] P=Dk1(EK2(Dk3(C)))条件[k1=k3]

  • 3DES采用两个密钥、三重加密的好处:

  1. 两个密钥合起来有效密钥长度有 112 b i t 112bit 112bit,足以满足商业应用的需要,若采用总长为 168 b i t 168bit 168bit的三个不同密钥,会产生并不必要的开销。
  2. 加密时采用 加密 − 解密 − 加密 加密-解密-加密 加密解密加密,而不是 加密 − 加密 − 加密 加密-加密-加密 加密加密加密的形式,有效地实现了与现有DES系统的兼容(当 K 1 = K 2 K_1=K_2 K1=K2时,三重DES的运算效果与原来的DES相同),有助于3DES的推广。
  3. 三重DES有足够的安全性。

对称加密算法—AES

  • AES(Advanced Encryption Standard,高级加密标准),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准,用来替代原先的DES。
  • Rijndael由比利时的Joan Daemen和Vincent Rijmen设计。算法的原型是Square算法,具有很好的抵抗差分密码分析及线性密码分析的能力。
  • Rijndael密码的设计满足以下3条标准:
    1. 抵抗所有已知的攻击
    2. 在多个平台上速度快,编码紧凑
    3. 设计简单

对称加密算法—IDEA

  • IDEA(International Data Encryption Algorithm,国际数据加密算法),是上海交通大学教授来学嘉(Xuejia Lai)与瑞士学者James Massey在ETH(苏黎世联邦理工学院)共同提出的。

  • IDEA算法是在DES算法的基础上发展出来的,类似于三重DES。发展IDEA也是因为感到DES具有密钥太短等缺点。

  • IDEA的数据块为64位、密钥为128位。IDEA在密码学中属于数据块加密算法(Block Cipher)类。从理论上讲,IDEA属于“强”加密算法。

  • IDEA是作为迭代的分组密码实现的,使用128位的密钥和8个循环。通过需要支付专利使用费(通常约为每个副本$6.00)。

  • IDEA被认为是极为安全的。使用128位的密钥,暴力攻击中需要进行的测试次数与DES相比会明显增大,甚至允许对弱密钥测试。而且,它本身也显示它尤其能抵抗专业形式的分析性攻击。

非对称加密算法

  • 非对称加密算法也称为公钥算法或双钥算法,在加密和解密时使用不同的密钥,而且从一个密钥推出另一个密钥在数学上是非常困难的(计算上不可行)。

  • 使用非对称加密算法时,参与通信的每一方都有一对自己的加密/解密密钥。加密密钥是公开的,称为公钥;解密密钥是保密的,只有所有者自己知道,称为私钥。

  • A A A B B B通信,他们各有一个公/私钥对 ( A k e , A k d ) (Ak_e,Ak_d) (Ake,Akd) ( B k e , B k d ) (Bk_e,Bk_d) (Bke,Bkd) A A A要将明文消息 M M M发送给 B B B,就先用 B B B的公钥 B k e Bk_e Bke M M M加密,得到密文 M ′ = E ( M , B k e ) M'=E(M,Bk_e) M=E(M,Bke),然后把密文 M ′ M' M发送给 B B B B B B收到 M ′ M' M后,用自己的私钥 B k d Bk_d Bkd解开密文,得到明文 M = D ( M ′ , B k d ) M=D(M',Bkd) M=D(M,Bkd) B B B A A A发送消息的过程与此类似,只不过B是用 A A A的公钥 A k e Ak_e Ake加密消息,而 A A A是用自己的私钥 A k d Ak_d Akd来解密。

  • 非对称加密算法优点:具有密钥分配简单(公钥可公开散发);密钥保存量小(n个人相互通信,对称密码算法需要 n ( n − 1 ) / 2 n(n-1)/2 n(n1)/2个密钥,而非对称加密算法只需 n n n个公/私钥对);可以实现数字签名等,

  • 非对称加密算法缺点:其加、解密的运算速度很慢,因而非对称加密算法往往用于认证和建立初始通信的会话密钥,而大量的通信还是由对称加密算法进行加密。

  • 广泛的非对称加密算法主要有基于大数分解问题的RSA算法、基于离散对数问题的ElGamal算法、基于椭圆曲线双线性对的算法

非对称加密算法—RSA

  • RSA加密算法是一种基于大整数因数分解的非对称加密算法,在公开密钥加密、网络安全协议和电子商务中广泛应用。

  • RSA是1977年由Ron Rivest、Adi Shamir和Leonard Adleman共同提出的。

  • RSA是基于大整数因数分解的加密算法,对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。

  • 假如有人找到一种快速因数分解的算法的话,RSA加密的信息的可靠性会极度下降。今天只有短的RSA钥匙才可能被强力方式解破。到目前为止,世界上还没有可靠的攻击RSA算法的方式。只要其密钥的长度足够长,用RSA加密的信息实际上是不能被解破的。

  • RSA密钥是(公钥+模值)、(私钥+模值)成组分发的,单独一个公钥或私钥是没有用处,所以所谓的“密钥”其实是它们两者中的一个。“密钥长度”一般只是指模值的位长度。目前主流可选值:1024、2048、3072、4096等

非对称加密算法—ElGamal

  • ElGamal算法是一种常见的非对称加密算法,既能用于数据加密,也能用于数字签名。其安全性依赖于计算有限域上离散对数难题。

  • ElGamal算法在加密过程中,生成的密文长度是明文的两倍,且每次加密后都会在密文中生成一个随机数K。在密码中主要应用离散对数问题的几个性质:求解离散对数(可能)是困难的,而其逆运算指数运算可以应用平方-乘的方法有效地计算。也就是说,在适当的群G中,指数函数是单向函数。

非对称加密算法—椭圆曲线

  • 椭圆加密算法(Elliptic curve cryptography,ECC)是一种公钥加密体制,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。
  • 公钥密码体制根据其所依据的难题一般分为三类:大整数分解问题类、离散对数问题类、椭圆曲线类。有时也把椭圆曲线类归为离散对数类。
  • 椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。
  • 椭圆加密算法ECC的优点是在某些情况下它比其他的方法使用更短的密钥,却能提供相当的或更高等级的安全。ECC的另一个优势是可以定义群之间的双线性映射,基于Weil对或是Tate对;双线性映射已经在密码学中发现了大量的应用,例如基于身份的加密。缺点是加密和解密操作的实现比其他机制花费的时间长

单向散列函数

  • 单向散列函数又称Hash函数、杂凑函数或消息摘要函数,它是一个确定函数,能将任意长度的比特串映射为某一固定长度的比特串,即: H : ( 0 , 1 ) ∗ → ( 0 , 1 ) k H:(0,1)*→(0,1)k H:(0,1)(0,1)k
  • Hash函数具有单向、散列、无碰撞等特性,它将消息压缩为固定长度的摘要,隐藏了消息明文的代数结构,是提高数字签名速度和实现消息认证的重要工具。

Hash函数的特性

  • 单向性:任意给定一个 x x x H ( x ) H(x) H(x)可在关于x长度的线性或低阶多项式时间内计算;而任意给定一个 c c c,找到一个 x x x,使得 H ( x ) = c H(x)=c H(x)=c,在计算上是不行的。
  • 散列性:对于任意 x x x H ( x ) H(x) H(x) [ 0 , 2 k ] [0,2k] [0,2k]区间上的均匀分布在计算上不可区分。
  • 无碰撞性:找到一对 x ≠ x ′ x≠x' x=x,使得 H ( x ) = H ( x ′ ) H(x)=H(x') H(x)=H(x),在计算上是不可行的。
  • 弱无碰撞性:给定一个 x x x,找到一个 x ′ ≠ x x'≠x x=x,使得 H ( x ) = H ( x ′ ) H(x)=H(x') H(x)=H(x),在计算上是不可行的。在许多应用中,弱无碰撞性已能满足实际的安全性需求,而无碰撞性必然是满足弱无碰撞性的。

数字签名

  • 数字签名是利用非对称加密算法来验证网络传输信息真实性的一种技术。
  • 若A与B通信,发送方 A A A用其私钥 A k d Ak_d Akd对消息M进行运算,将结果 D ( M , A k d ) D(M,Ak_d) D(M,Akd)传送给接收方 B B B B B B A A A的公钥 A k e Ak_e Ake对收到的内容进行运算,得到 E ( D ( M , A k d ) , A k e ) = M E(D(M,Ak_d),Ak_e)=M E(D(M,Akd),Ake)=M。由于除A之外没有人知道Akd,所以除A以外也没有人能产生 D ( M , A k d ) D(M,Ak_d) D(M,Akd)。这样,就表示 A A A对消息 M M M进行了数字签名。
  • 如果 A A A否认曾发送 M M M B B B B B B就将 M M M D ( M , A k d ) D(M,Ak_d) D(M,Akd)出示给仲裁方,仲裁方可以很容易地验证A确实发送M给B,使A无法抵赖。如果B将M伪造成 M ′ M' M,则B就无法将 D ( M ′ , A k d ) D(M',Ak_d) D(M,Akd)出示给仲裁方,证明B伪造消息,因而起到验证信息完整性的作用。
  • 在以上处理中,只对消息进行数字签名,并未对消息进行加密,任何截获 D ( M , A k d ) D(M,Ak_d) D(M,Akd)的人都可利用A的公钥 A k e Ak_e Ake得到M。
  • 在实际传输中,通常使用这样的方法:对消息进行加密,对消息摘要进行签名
  • 目前已有大量的数字签名算法,如:RSA数字签名算法、ElGamal数字签名算法、Fiat-Shamir数字签名算法、Schnorr数字签名算法、美国数字签名标准/算法DSS/DSA、椭圆曲线数字签名算法等等。

公钥管理基础设施(PKI)

  • 在非对称加密体制下,各通信实体的公钥都是公开的,但通信者如何确保自己获得的对方公钥真正属于与自己通信的实体,也是一个需要解决的问题。如:若A与B通信,中间攻击者C完全可以通过生成自己的公/私钥对 ( C k e , C k d ) (Ck_e,Ck_d) (Cke,Ckd),用自己的公钥 C k e Ck_e Cke来冒充真正接收者的公钥,实施中间人攻击,从而获取或篡改消息。
  • 引入广泛信任的第三方权威中心来证明各参与方公钥的有效性是解决公钥安全分发的有效方案。

  • 公钥基础设施(Public Key Infrastructure,PKI)是一种基于公钥技术实现的,提供数据机密性、完整性、身份认证和不可否认性等安全服务的,普适性和标准化安全平台。
  • PKI包括认证中心CA、注册机构、资料库、密钥管理、证书撤销列表CRL等组件,涉及认证中心、证书申请者(持有者)和验证者三类实体,其中数字证书是PKI的基本要素,认证中心CA是PKI的核心
  • PKI通过可信第三方CA为证书申请者发布证书,实现了证书持有者身份与证书的绑定,使证书持有者能接受验证者的验证并获得信任,从而为通信双方提供了一种建立信任关系的方式。

PKI证书主要采用X.509国际标准,包含以下信息:

  • 版本号:证书使用哪个版本的X.509标准;

  • 序列号:CA为该证书分配的唯一序列号,证书被撤消时该序列号将被放入CRL中;

  • 签名算法标识符:所使用的签名算法;

  • 发布者的名称;

  • 有效期:包括证书的生效时间和失效时间;

  • 证书持有者的名称;

  • 证书持有者的公钥信息:包括证书持有者的公钥和公钥算法;

  • 发布者的唯一标识符;

  • 证书持有者的唯一标识符;

  • 扩展信息:X.509 v3和v4可使用一个或多个扩展字段,附加有关该证书的额外说明信息;

  • 发布者的数字签名:CA所使用的签名算法标识和签名值。

  • 在PKI体系中,任何通信实体想成为安全通信中的合法角色,首先必须向CA提出证书申请,经CA验证后,获得CA颁发的证书和一个公/私密钥对,若证书拥有者在证书有效期内将私钥丢失或泄露,可向CA提出证书撤销申请,经CA确认后,予以撤销,CA将被撤消的证书列入证书撤销表(Certificate Revocation List, CRL)中,CRL主要包含多个被撤消证书的序列号和CA的数字签名,CRL通过证书发布系统公开发布。


  • 网站证书中即可查看到PKI证书列举的内容

例子:网站证书

  • 这里以BiliBili为例,进行操作
    在这里插入图片描述

密钥管理

  • 现代密码学的一个基本原则是一切秘密寓于密钥之中,而加密算法则可以公开。在网络攻击的许多事件中,密钥的安全管理是攻击的一个主要环节。
  • 密钥管理是系统安全的一个重要方面,包括密钥的生成、分发、存储、销毁、使用等一系列过程。
  • 密钥交换和管理协议主要有Diffie-Hellman密钥交换协议、安全联盟密钥管理协议ISAKMP、Internet密钥交换协议IKE等。

密钥交换和密码分发案例

举例1:利用公钥系统进行对称密钥交换

  • 假设有两个通信方 Alice 和 Bob,他们希望通过对称密钥加密方式进行安全通信。他们可以通过以下步骤利用公钥系统进行对称密钥交换:
  1. Alice 生成对称密钥:Alice 随机生成一个对称密钥,并将其用公钥系统加密后发送给 Bob。
  2. Bob 解密对称密钥:Bob 收到加密后的对称密钥后,利用自己的私钥解密,得到原始的对称密钥。
  3. 安全通信:现在 Alice 和 Bob 都拥有相同的对称密钥,他们可以使用这个密钥进行加密和解密,以实现安全通信。
  • 密钥交换保证对称密钥在传输过程中的安全性,因为对称密钥只有 Bob 能够解密,其他人无法获取明文对称密钥。

举例2:利用公钥系统进行对称密钥分发。示例:

  1. Alice 生成对称密钥:Alice 随机生成一个对称密钥。
  2. Alice 加密对称密钥:Alice 使用 Bob 的公钥将对称密钥加密,并将加密后的密钥发送给 Bob。
  3. Bob 解密对称密钥:Bob 收到加密后的对称密钥后,利用自己的私钥解密,得到原始的对称密钥。
  4. 安全通信:现在 Alice 和 Bob 都拥有相同的对称密钥,他们可以使用这个密钥进行加密和解密,以实现安全通信。
  • 密钥分发保证对称密钥在传输过程中的安全性,同时还可以确保只有 Bob 能够解密对称密钥,因为只有 Bob 拥有自己的私钥。

密码分析

  • 密码分析也称密码破译技术,是指在不掌握密钥的情况下,利用密码系统的弱点来恢复明文或获取密钥的技术

  • 密码系统和密码分析是密码学研究的两个方面,密码分析对于验证加密算法的安全性、提高密码系统的设计质量,具有重要的意义。

  • 从密码学发展史可以清楚地看到,密码分析和密码学是共同演化的。新的密码机制被设计出来,取代已经被破解的设计;同时新的密码分析方法被发明出来,以破解那些改进了的方案。事实上,密码系统和密码分析就像是同一枚硬币的正反两面:为了创建安全的密码系统,就必须考虑可能的密码分析。

常见的攻击方法

对密码系统的攻击方法主要分为:

  • 惟密文攻击:分析者已知加密算法和待破译的密文。
  • 已知明文攻击:分析者已知加密算法和经密钥加密形成的一些明文-密文对。
  • 选择明文攻击:分析者已知加密算法,可以自己选定明文消息,并能够知道对应的密文。例如,在公钥密码体制中,攻击者可以利用公钥加密他任意选定的明文,这种攻击就是选择明文攻击。

  • 选择密文攻击:分析者已知加密算法,可以自己选定的密文,并能够知道对应的明文。
  • 选择文本攻击:选择明文攻击与选择密文攻击的结合。分析者已知加密算法、自己选择的明文和与之对应的密文、以及自己选择的密文和与之对应的明文。
  • 上述攻击的强度是逐次递增的,前三种攻击是为了恢复明文或获取密钥,后两种攻击是为了获取密钥。
  • 惟密文攻击是最困难的,因为分析者可利用的信息最少,一般需要采用穷举攻击的方法。

  • 讨论一个密码系统的安全性,通常是指在前三种攻击下是安全的,因为攻击者一般容易具备进行前三种攻击的条件。


  • 差分分析(differential cryptanalysis)是一种选择明文攻击,其基本思想是:通过分析特定明文差分对相对应密文差分影响来获得可能性大的密钥。它可以用来攻击任何由迭代一个固定的轮函数的结构的密码以及很多分组密码(包括DES,但DES无须抵御这种攻击)。
  • 差分分析涉及带有某种特性的密文对和明文对比较,其中分析者寻找明文有某种差分时对应的密文对。这些差分中有一些有较高的重现概率,差分分析用这些特征来计算可能密钥的概率,最后定为最可能的密钥。

  • 线性分析(Linear cryptanalysis)的分析者利用包含明文、密文和子密钥的线性表达式发生的较大可能性。线性分析的前提是假设攻击者已经知道了大量的明文和相对应的密文。

  • 线性分析最基本的思想是用一个线性表达式来近似表示加密算法的一部分,该表达式是 u u u比特的输入与 v v v比特的输出进行 X O R XOR XOR操作的结果

  • 线性密码分析的方法是测定上述形式的线性表达式发生的可能性的大小

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1633776.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高扬程水泵,提升水源新选择!— 恒峰智慧科技

在炎炎夏日,阳光炙烤着大地,森林火灾的发生频率也随之上升。火势猛烈,烟雾弥漫,给森林带来了极大的破坏。为了保护森林资源,我们必须采取有效的措施来扑灭火灾。而在这其中,高扬程水泵成为了提升水源新选择…

buuctf——web题目练习

1.极客大挑战2019 easysql 密码或者用户输入万能密码即可 关于万能密码的理解和原理,可以参考这篇BUUCTF[极客大挑战 2019] EasySQL 1_[极客大挑战 2019]easysql 1-CSDN博客 2.极客大挑战2019 have fun 题目源码 需要构造payload 网页传参可参考:…

Vue Cli脚手架—安装Nodejs和Vue Cli

一,Vue Cli 文档地址: https://cli.vuejs.org/zh/ 二,.环境配置,搭建项目 1.安装node.js 2.下载 node.js10.16.3 地址: https://nodejs.org/en/blog/release/v10.16.3/ 3.安装 node.js10.16.3 , 直接下一步即可, 安装到 d:\program\nodejs…

ubuntu sudo apt-get install neo4j 配置安装与设置远程访问

文章目录 下载Adding the Debian repositoryInstalling Neo4j安装流程设置远程访问 下载 neo4j 官方的下载地址,进入页面之后,往下滑: https://neo4j.com/deployment-center/#community 点击 Visit https://debian.neo4j.com/ Adding the …

Windows Server Backup设置定时备份保留N天

Windows Server - 运维篇 第四章 Windows Server Backup设置定时备份保留N天 Windows Server - 运维篇系列文章回顾Windows Server Backup设置定时备份保留N天使用VSS卷影复制服务工具删除指定天数的VSS备份文件CMD:wbadmin.exeCMD:wbadmin.mscPowerShel…

【RSGIS数据资源】2018-2020年中国农业大学石羊河实验站主要农作物的无人机观测数据

文章目录 摘要数据介绍2018年蒸腾(T)数据集2020年蒸散发(ET)数据集2020年LAI数据集2019年NDVI数据集作物2020年NDVI数据集作物三温模型的输入参数气象数据净辐射通量数据 参考文献引用 摘要 本数据集涵盖了甘肃武威绿洲农业高效用水国家野外科学观测研究站&#xf…

AI系列:大语言模型的RAG(检索增强生成)技术(上)

前言 大型语言模型(LLM)虽然在生成文本方面表现出色,但仍然存在一些局限性:数据是静态的,而且缺乏垂直细分领域的知识。为了克服这些限制,有时候会进行进一步的模型训练和微调。在实际应用中,我…

教育机构必备利器:全面解析教培管理系统的关键功能

一个优秀的教培管理系统是培训机构实现高效运营和学员满意度的关键所在。那么,这样的系统应该具备哪些功能呢?今天,我们就来了解一下乔拓云平台开发的教育系统,看看它如何满足这些需求。 乔拓云教育系统的后端功能丰富多样&#x…

百度文库公测智能漫画和智能话本,有兴趣的可以申请一下

百度文库上线智能文库和智能话本功能,目前处于公测中,我刚申请,还在审核中。 智能漫画,参照官网的示例截图,生成的图片看起来不错,没试用过所以不太清楚他的操作模式是什么 智能话本,生成的话…

网站建设企业网站优化

近年来,随着互联网的迅速发展,企业网站已经成为了企业展示自我形象与实力的重要载体之一。然而,单单拥有一个美观、简洁的企业网站并不能让企业在竞争激烈的市场中脱颖而出。因此,在建设企业网站的过程中,我们需要将企…

上位机图像处理和嵌入式模块部署(树莓派4b开机界面程序自启动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们学习了如何在树莓派4b上面开发qt,也学习了如何用/etc/rc.local启动控制台程序,那今天我们继续学习一下如何利用树莓…

渗透测试流程(一)

文章目录 1、信息收集渗透测试的流程信息收集的内容信息收集的分类Google hacking 信息收集目录扫描信息收集旁站和C段信息收集旁站和C段在线查询地址: 存活资产探测nmap扫描nmap扫描扫描指定的IP开放端口:穿透防火墙扫描:常用命令--2漏洞扫描…

如何用OceanBase的 Load Data 导入CSV文件

0 前言 CSV文件(Comma-Separated Values,字符分隔值)是一种普遍采用的数据存储格式,有不少企业和机构都用它来进行数据的管理和存储。身为开发者,您可能经常遇到这样的需求:需要将CSV的数据导入OceanBase数…

python基础知识(17)面向对象 1

一、面向对象的概念 1、面向对象的两个基本概念 编程语言中,一般有两种编程思维,面向过程和面向对象。 面向过程,看重的是解决问题的过程。 这好比我们解决日常生活问题差不多,分析解决问题的步骤,然后一步一步的解决…

知乎热议:未来几年,AI技术在科研领域将有哪些新的发展趋势或突破?

我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 一年多以来,各种国内外的AI模型和应用应接不暇,从刚开始ChatGPT一家独大,到现在的百花齐放,各种AI模型各有千秋,一时…

CVE-2023-48795修复方法

CVE-2023-48795修复方法 1、修复原理2、检测漏洞3、修复漏洞4、成功修复 近期nessus扫描经常出现一个中危漏洞CVE-2023-48795,但网上的修复方法清一色的将openSSH升级到9.6p1版本 而我在升级当中处处碰壁,甚至于差点给服务器都干崩溃,特意研究…

Coursera: An Introduction to American Law 学习笔记 Week 01: Tort Law

An Introduction to American Law 本文是 https://www.coursera.org/programs/career-training-for-nevadans-k7yhc/learn/american-law 这门课的学习笔记。 文章目录 An Introduction to American LawInstructors SyllabusWeek 01: Tort LawKey Tort Law TermsTort Law: Part …

AI写作软件:一键生成原创文案,效率就是高

对于文案创作人员来说,常期的创作都会出现灵感枯竭现象,从而导致文案创作人员写不出文案的问题,那么如何解决文案写不出来的问题呢?别急,本文会给大家分享出好的解决方法!大家要知道,随着人工智…

uniapp微信小程序开发踩坑日记:Vue3 + uniapp项目引入Echarts图表库

一、下载插件包 下载地址如下: lime-echart: 百度图表 echarts,uniapp、taro 使用 echarts 图表,全面兼容各平台小程序、H5、APP、Nvue 将以下两个文件夹放到项目的components里 同样地,将静态资源文件夹下内容放到自己项目的s…

c++高级篇(三) ——Linux下IO多路复用之poll模型

poll模型 前言 poll模型与select的实现原理相近,所以绝大数的原理其实可以参考select,我们这里对二者的相同点不做过多探究,如果有需要可以去看一下博主的上一篇文章: c高级篇(二) ——Linux下IO多路复用之select模型 这里我们只…