本文介绍: 信息网络中不总是安全的,存在着人为攻击获取信息或破坏信息;其中获取信息属于被动攻击,破坏信息属于主动攻击,那么什么是被动攻击什么主动攻击?两者的区别是啥呢?如上图所示,被动攻击只获取信息,不破坏伪造信息,也就是说不改变信息;而主动攻击则改变了传递的信息。两者的区别正在于是否改变了传递的信息。正是由于信息或数据网络传递的这种不安全性密码学应运而生。维基百科上是这样说的:密码学是对安全通信技术研究,要能够有效的防范潜在攻击

本人信息安全专业,大三,为着将来考研准备,打算按照自己目前的理解大家唠唠密码学

这个专栏我将从以下七个章节来聊聊密码学,若有不当之处,敬请指出。 

密码学概论

• 流密码

分组密码

公钥密码

消息认证和Hash函数

数字签名认证协议

密钥分配密钥管理

篇文章则主要是聊聊密码学的一些基本概念

什么密码学?

信息在网络中不总是安全的,存在着人为攻击以获取信息或破坏信息;其中获取信息属于被动攻击,破坏信息属于主动攻击,那么什么是被动攻击什么主动攻击?两者的区别是啥呢?

如上图所示,被动攻击只获取信息,不破坏伪造信息,也就是说不改变信息;而主动攻击则改变了传递的信息。两者的区别正在于是否改变了传递的信息。

正是由于信息或数据网络中传递的这种不安全性,密码学应运而生。维基百科上是这样说的:密码学是对安全通信技术研究,要能够有效的防范潜在攻击。

用通俗易懂的语言来说就是,密码学是研究如何安全传递信息的一门学科,其中包括加密解密hash函数数字签名等。加密解密实现数据的保密性,hash函数验证数据的完整性,数字签名验证发送方的身份

很多同学可能把密码学等同于加密解密,事实上这种观点是不太全面的,毕竟仅仅实现数据保密还远远不够。

举个例子假设发现自己收到小明发来的好友申请,同意后,他发消息让你借给他一万元,说第二天还你两万,你傻呵呵地给他转过去了,结果第二天和小明说起这件事时,他却死不承认,“我昨天没给你发消息借钱呀,还什么钱?”

当然,这完全有可能发生,你以为对面给你发消息的是小明,事实上可不一定是小明,很可能是别人冒充小明身份给你发消息。但是如果这时候你能够验证对方是不是小明,这个问题不就不存在了吗?假设验证结果显示对面确实是小明,第二天他就没法赖账不还了;而如果验证显示不是小明,那很显然你也不会被骗了。

结果,第二天你让小明还你两万的时候小明说:“我明明说的是到时候还你10002。”你傻眼了。这不都保证数据保密和验证身份了吗,他怎么还能抵赖呢?可别忘了,数据虽然保密了,但是保密不代表不被篡改,没准小明当时发送的确实是10002,被攻击方篡改,恰好改成两万了,这个又怎么说得清呢?但假设你能够验证数据的完整性,即是否被篡改,小明就算想抵赖也不成了。

大家是不是清楚多了呢?如果现在对这几个概念不太理解也没事,谁都是从不懂到懂的,知道有这么个概念就行,之后将详细讲解

密码发展简史

大体分三个阶段

• 历史时期的古典密码加密手段 (1949年之前 加密技术的开拓)

– 恺撒密码

计算机出现以来的现代阶段 (1949-1976年 密码学成为一门科学)

– Shannon

公钥体系阶段 (1976年之后 公钥密码思想的出现)

– Diffie/Hellman、RSA

如果大家之前没接触过密码学,可能对这些概念不是很了解,没关系,咱们之后还会讲解的(如果没讲的话,可以提醒一下),我在这里也不过分解释了。

密码学基本概念

明文P:发送方即将要发送的消息。

密文C:明文经过密码变换后的消息。

加密E:由明文变换为密文的过程

解密D:由密文恢复出原明文的过程

加密算法:对明文进行加密时所采用一组规则

解密算法:对密文进行解密时所采用一组规则

K密钥:是一种特定的值,能使密码算法按照指定方式进行,并产生相应的密文。

开始时,可能会把P和C搞混,把E和D搞错,在这里教大家一个小窍门,大家应该对Ciphertext不陌生,这是密文的意思,那自然C和P谁对应明文谁对应密文就很清楚了。什么?之前不知道这个单词

那教大家个记忆方法,你看C是不是一个半圆,看起来快把自己包裹住了,为啥把自己包住呀,肯定有秘密呗,这不就记住了吗?另一个P自然对应着明文。当然,前提是你得清楚P和C一个是明文一个是密文,要是和E、D搞混了,我就爱莫能助了。不过,也不是没办法,记英语单词

E和D也是同样的道理,加密英文encrypt解密英文decrypt记住一个的英文记住另一个了,也不是必须记住英语单词,记首字母也行,但很容易就弄混了。当然也有个窍门,en前缀表示“使……成某种状态”,使明文被加密;de前缀表示“否定”,对密文进行反加密,即解密。这样是不是就清楚多了呢?

加密算法是对明文进行加密时采用算法;解密算法则是对密文进行解密是采用算法,举个栗子,小明给好哥们用英文微信约他出去玩耍,又怕被女朋友发现,于是将每个英文单词向后移一位,得到的结果发给好哥们。小明和好哥们事先就约定好了,如果发的是一团奇奇怪怪的字母,那就说明字母往后移了一位。于是,收到消息的好哥们将字母往前一位以得到小明发来的消息。在这里加密算法就是所有字母全都向后移一位;解密算法就是所有字母全向前移一位。在这个层面看,其实密码学也就是为了保证信息的安全性,所以运用数学知识进行一些变换,以达到数据安全的目的。

密码学基本术语

发送者:对明文进行加密操作人员

接收者:传送消息的预定对象

敌手:在信息传输处理系统中,通过搭线窃听、电磁窃听、声音窃听等方式来窃取机密信息。

加密密钥和解密密钥加密算法和解密算法的操作通常都是在一组密钥控制下进行。

单钥密码体制(对称密码体制,分组密码体制):传统密码体制所用的加密密钥和解密密钥相同,或实质上等同,即从一个易于得出另一个。

双钥密码体制(非对称密码体制,公钥密码体制):若是加密密钥和解密密钥不相同,即从一个难于推出另一个。

发送方顾名思义就是发送消息的一方,而消息如果以明文的形式发送很容易被窃取,于是自然发送需要对信息进行加密,接收收到消息后需要进行解密以获取消息,毕竟一串奇奇怪怪的东西谁看得懂呢?

加密密钥可以理解为一把钥匙,发送方用加密密钥对信息进行上锁,防止别的人看见或窃取;解密密钥也类似,接收方用解密密钥对信息开锁,获得锁里面的东西。我们日常生活中,同一把钥匙既能上锁也能开锁,如果上锁时向左边转三圈,那开锁自然是向右边转三圈。密码学中与之对应的是对称密码,对称密码加密解密使用同一把密钥或易于从加密密钥得出解密密钥。

然而,密码学中还有一种密码:公钥密码,也被称为非对称密码。与对称密码不同,公钥密码使用一对密钥来进行加密和解密操作:公钥和私钥。在公钥密码中,发送方会生成一对密钥,其中一个是公钥,用于加密要发送的信息。公钥可以被任何人获取,并用于对信息进行加密。而私钥则由接收方保密,并用于解密被加密的信息。公钥密码的工作原理基于数学上的难题,例如素数分解或椭圆曲线离散对数等。通过这些数学问题特性,公钥和私钥之间存在一种数学上的关联,使得使用公钥加密的信息只能通过私钥解密,而无法通过公钥本身推导出私钥

密码分析的攻击类型

破译是试图恢复明文或找出密钥的尝试

• 唯密文攻击

– 只有一些密文

• 已知明文攻击

知道一些过去的(明文及其密文)作参考和启发

选择明文攻击

– 相当于有一台加密机(能使用加密密钥)

选择密文攻击

– 相当于有一台解密机(能使用解密密钥)

篇文章暂时就先讲到这里,凡时不可求之过急,咱们先休息一会,把这篇理解一下,下篇文章接着学习

原文地址:https://blog.csdn.net/m0_63002183/article/details/134736465

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_27802.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注