网络安全----密码学

密码学


数据有哪些安全需求?

  • 需确保数据的保密性、完整性、不可否认性和可认证性。
  • 基础是现代密码学。
  • 通过加密将可读的信息变换成不可理解的乱码,从而起到保护信息的作用。


密码学的发展史

  • 自人类社会出现战争便产生了密码 ,Phaistos圆盘,一种直径约为
    160mm的Cretan-Mnoan粘土圆盘,
    始于公元前17世纪。表面有明显字间
    空格的字母,至今还没有破解。

  • 1834年,伦敦大学的实验物理学教授惠斯顿发明了电机,这
    是通信向机械化、电气化跃进的开始,也为密码通信采用在线
    加密技术提供了前提条件。

  • 两次世界大战大大促进了密码学的发展。转轮密码机ENIGMA(恩尼格码),由Arthur Scherbius于1919年发明,英国从1942年2月到12月都没能解读德国潜艇的信号。

  • 1949年香农发表了一篇题为《保密系统的通信理论》
    的著名论文,该文首先将信息论引入了密码,从而
    把已有数千年历史的密码学推向了科学的轨道,奠
    定了密码学的理论基础。



密码学的基本概念


什么是密码学?


密码学是关于加密和解密变换的一门科学,是保护数据和信息的有力武器。

密码是什么? 密码就是变换。 变换是什么?变换是一种算法实现过程。
谁来做变换?变换可以由硬件和软件实现。(人、器件、计算机)


密码的概念

密码的概念 “密码”与“口令” 的区别。大家似乎很熟悉“密码”一词,日常生活中登录各种账户要输入“密码”,银行ATM取款要输入“密码”。其实,严格来讲这里所谓的密码应该仅被称作“口令”(Password),因为它不是本来意义上的“加密代码”,而是用于认证用户的身份,关于口令更多的相关知识将在后续的身份认证安全中介绍。

  • “密码”通常是密码算法的简称,它由加密算法和解密算法组成。


加密通信基本过程

在这里插入图片描述

在保密通信过程中,发送方将明文通过加密,使得密文只有合法的接收方才能通过相应的解密得到明文。

攻击者即使窃听或截取到通信的密文信息也无法还原出原始信息。

保密通信中,通信双方要商定信息变换的方法,即加密和解密算法。研究把明文信息变换成不能破解或很难破解的密文的技术,称为密码编码学(Cryptography)

研究分析破译密码,从密文推演出明文或相关内容的技术,称为密码分析学(Cryptanalysis)。



密码的基本概念

公元前6年的古希腊人可能是最早有意识使用一些技术来加密信息的,他们使用一根叫scytale的棍子,送信人先绕棍子卷一张纸条,然后把要加密的信息写在上面,接着打开纸送给收信人。如果不知道棍子的宽度是很难解密里面内容的。在这个例子中,scytale棍子可以理解成是一种加密算法,但如果暴露了这根棍子,也就没有秘密可言了。

在这里插入图片描述


受限算法

如果算法的保密性是基于保持算法的秘密,这种算法称为受限算法。


受限算法的安全问题

按照现在的标准,受限算法的保密性已远远不够。大的或经常变换的组织不能使用它们,因为每有一个用户离开这个组织或其中有人无意暴露了算法的秘密,这一密码算法就得作废了。更糟的是,受限密码算法不可能进行质量控制或标准化。每个组织必须有他们自己的唯一算法,这样的组织不可能采用流行的硬件或软件产品。密码学家用“密钥”解决了这个问题。



密钥

如图所示,密钥K(Key)是指在密码算法中引进的控制参数,对一个算法采用不同的参数值,其解密结果就不同。加密算法的控制参数称为加密密钥,解密算法的控制参数称为解密密钥。

在这里插入图片描述
在这里插入图片描述


加密与解密

  • 每个加密与解密过程都有两个方面-加密与解密的算法与密钥。
  • 加密与解密过程使用的算法是公开的,但加密与解密所用的密钥能够保证加密过程的安全性。
  • 对称密钥加密(Symmetric Key Cryptography)的加密与解密使用相同秘钥。
  • 非对称密钥加密(Asymmetric Key Cryptography)的加密与解密使用不同密钥。

典型密码算法简介

目前已经公开的密码算法要超过100多个,
在此简单介绍几种常用的典型密码算法。
2.3.1 对称密钥密码技术
① 替代(替换)密码和转置(变位)密码
② DES
③ AES


密码的安全性


1 穷举攻击

• 穷举攻击又称作暴力(Brute Force)攻击,是指密码分析者用试遍所有密钥的方法来破译密码。

• 例如凯撒密码,攻击者就可以通过穷举密钥1~25来尝试破解。


2 统计分析攻击

• 统计分析攻击是指密码分析者通过分析密文的统计规律来破译密码。
• 实际上,凯撒密码这种字母间的变换并没有将明文字母出现的频率掩藏来,很容易利用频率分析法进行破解。
• 所谓频率分析,就是基于某种语言中各个字符出现的频率不同,表现出一的统计规律,这种统计规律可能在密文中得以保存,从而通过一些推测和验证过程来实现密码的分析。



对称密钥标准DES


• DES(Data Encryption Standard):由IBM公司研制的,1977年被美国政府采纳作为非绝密信息的正式标准,曾为加密算法的标志。

• 明文按64比特块加密,生成64 bit的密文,此算法有一个56 bit的密钥作为参数(另加8 bit的奇偶位,每隔7bit设置1bit的错误检查位)

• DES被认为是最早广泛用于商业系统的加密算法之一。

• 由于DES设计时间较早,且采用的56位密钥较短,因此已经发掘出一系列用于破解DES加密的软件和硬件系统。

• DES不应再被视为一种安全的加密措施。而且,由于美国国家安全局在设计算法时有介入,因此很多人怀疑DES算法中存在后门。

让DES更加安全:

(1)使用三重DES
(2)使用AES



AES: 高级加密标准


• 2001年11月, (美国)国家标准技术研究所(NIST)选择Rijndael作为美国政府加密标准(AES)的加密算法,AES取代早期的数据加密标准(DES)。Rijndael由比利时计算机科学家Vincent Rijmen和Joan Daemen开发。

• AES的选定是对全世界公开的,对此密码算法的评审并非由NIST完成,而是由全世界的密码专家与企业共同完成的。像这样通过竞争来实现标准化,正是密码算法选定的正确方式

AES(Advanced Encryption Standard)  Rijindael算法之所以最后当选,是因为它集安全性、效率、可实现性及灵活性于一体。AES已经成为对称加密算法中最流行的算法之一。

分块长度一般为128比特位,密钥长度可以是128/192/256位。根据密钥的长度,算法分别被称为AES-128、AES-192和AES-256。



对称密钥的发布问题

  1. 加密和解密密钥是一样的。
  2. 如何将解密密钥安全的发送给接收方?


解决发布问题的方法

  • 1、通过事先共享(预共享preshare)密钥来解决

密钥配送问题最简单的解决方式。但有一定的局限性。在人数很多的时候,密钥数量急剧增多,会产生管理问题。

  • 2、通过密钥分配中心KDC来解决。

需要加密通信时,KDC生成一个通信密钥,每个人只要与KDC事先共享密钥就可以了

  • 3、通过Diffie-Hellman密钥交换来解决密钥分配问题

在Diffie-Hellman密钥交换中,进行加密的双方需要事先交换一些信息,而这些信息即使被别人窃听到也没有问题。根据所交换的信息,双方可以各自生成相同的密钥,而窃听者却无法生成相同的密钥。


方法4:通过公钥密码解决

产生原因:
Ⅰ、由于对称密钥密码体制的密钥分配问题
Ⅱ、另一是由于对数字签名的需求。
–非对称密钥就是加密和解密不是同一个密钥。 – 加密密钥可以公开(公钥),实际也可做解密。
– 解密密钥不公开(私钥),当然也可以做加密。
–即一个进行加密,一个就进行解密。通常公钥用于
加密,私钥用来解密。这样其他人就不能解开信息。
– 每个通信方只需一对密钥( key pair) ,就可以与多
个其它方进行通信。明显比对称密钥涉及到的密钥
数少得多。

在这里插入图片描述



公钥加密算法特点

  1. 公钥是公开的,私钥则是私人拥有并保密的。
  2. 加密和解密的运算可以互逆
  3. 可以很容易地产生成对的公钥和私钥对。
  4. 从已知的公钥上不可能推导出私钥。
  5. 加密算法和解密算法都是公开的


公钥标准RSA

• 1977年,Rivest、Shamir和Adleman第一次实现了公钥密码体制,称为RSA算法。

• RSA算法是第一个能同时用于加密和数字签名的算法,易于理解和操作。

• 它的安全性是基于大整数素因子分解的困难性,而大整数因子分解问题是数学上的著名难题,至今没有有效的方法予以解决。


RSA公钥密码算法是目前应用最广泛的公钥密码算法之一。同时,RSA是研究得最深入的公钥算法,从提出到现在已有四十多年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是当前最优秀的公钥方案之一。RSA可以说是现在公钥密码的事实标准。



RSA存在的问题

• 最近几年,为了安全使用RSA,RSA中密钥的长度在不断增加,加大了RSA应用处理负担,这对于那些进行大量安全交易的电子商务网站来说更是如此。

• 因此,在实际应用中,RSA算法很少用于加密大块的数据,通常在混合密码系统中用于加密会话密钥,或者用于数字签名和身份认证。



椭圆曲线密码ECC

• 椭圆曲线公钥密码算法是RSA算法的强有力的竞争者。

• 与RSA相比,椭圆曲线密码能用更少的密钥长度获得更高的安全性,而且处理速度快,存储空间占用少,带宽要求低。

• 它在许多计算资源受限的环境,如移动通信、无线设备等,得到广泛应用



对称、非对称密码算法使用场合


使用同样硬件实现,DES比RSA快大约1000倍。

• 在一些智能卡应用中也采用了RSA算法,速度都比较慢。

• 软件实现方法的速度要更慢一些,这与计算机的处理能力和速度有关。同样使用软件实现,DES比RSA快大约100倍。



对称与非对称密钥加密比较

在这里插入图片描述

Guess you like

Origin blog.csdn.net/juggte/article/details/121365018