上海交通大学考研复试模块小结——密码学

好久没有写博客了,本来说的是自从成绩出来要好好准备复试,结果距离成绩出来一个月了,复试一点动静都没有,那我还是一边准备相关的专业课,一边按专业的形式,把相关的专业课知识再过一遍,哎~真是太难了!我都快忘了我自己考过研了。好了,废话不多说,下面开始进入正题!

信息安全

  • 信息安全技术是防范攻击的一种有效的技术手段保证,也是维护信息安全的一项基本措施。

信息安全的四大基本属性

  • 保密性:指信息不会泄露给未授权访问的用户、实体,或被非法利用。保密性实质上就是信息只给合法授权用户使用,而限制其他人访问。保密性按性质分又可分为:
    • 传输保密性:对传输中的数据信息的保密,解决方法一般是加密传输。
    • 存储保密性:在存储数据时的数据保密,通常通过访问控制来实现。
  • 完整性:指数据未经授权不能被改变的特性。即,就是保证计算机信息数据不会受外界事件干扰而被改变和丢失。
  • 可控性:指对想信息的传播和内容具有可以控制的能力
  • 可用性:指可授权访问实体的特性。即,当需要时能否正常存取和访问信息。各种对网络的破坏、身份否认、拒绝以及延迟使用都破坏了信息的可用性。

信息安全的主流技术

  • 现代密码学和数据加密技术
  • 防火墙技术
  • 入侵侦测系统
  • 代理服务器技术
  • 身份认证
  • 安全扫描

密码学的基本概念和原理

密码技术通过信息的变换和编码,将机密的敏感信息换成黑客难以读懂的乱码型文字,主要目的有两个:
  • 使不知道如何解密的黑客不可能从其截获的乱码中得到任何有意义的信息。
  • 使黑客不可能伪造任何乱码型的信息。
密码学的两个分支
  • 密码编码学:对信息编码以实现信息隐蔽
  • 密码分析学:研究分析破译密码的学问
密码系统的5个基本要素
  • 明文:被隐藏的原始消息
  • 密文:被加密处理后的消息
  • 加密算法:对明文加密时采用的一组规则是加密算法
  • 解密算法:对密文进行解密时采用的一组规则称为解密算法
  • 密钥:密钥是密码系统的关键,通常它的安全性决定着密码系统的安全性
下面看一下这5个基本要素在一个密码系统中的体现:

图1
图2

密码体制的分类

  • 明文转换成密文的操作类型
    • 替换:明文的每一个元素被映射到另外一个元素
    • 换位:明文的元素都被再排列

特点:所有的操作都可逆。大多数体制或称为乘积体制包含了多级替换和换位组合。

乘积密码:实际上是换位密码和替换密码的有限次组合,属于混合密码。由于换位密码是字符的一种线性变化,能扩散输入和输出的相关性,而替代密码则能使输入和输出称为非线性。因此,成绩密码在相当程度上可以抵御破译者的攻击。
  • 使用的密钥数:
    • 如果发送者和接收者使用同一密钥,该体制就是对称、单钥、秘密密钥或者称传统加密
    • 如果发送者和接收者使用不同密钥,该体制就是不对称、双钥、或者说公钥加密
  • 明文的处理方式
    • 分组密码:一次处理一个输入元素分组,产生与分组对应的一个输出分组。
    • 流密码:在运行过程中连续处理输入元素,每次产生一个输出元素。

密码系统的分类

  • 对称密码体制和非对称密码体制

    • 对称密码体制:又称单钥密码体制。它的特点是无论加密还是解密都使用同一个密钥,所以该密码体制的安全性取决于密钥的安全性。常见的对称加密算法有DES,3DES和AES
      优点:
      安全性高,加密速度快。
      缺点:
      一、是随着网络规模的扩大,密钥的管理成为一个难点。
      二、是无法解决消息确认问题。
      三、是缺乏自动检测密钥泄露的能力。
    • 非对称加密体制,又称双钥体制,加密密钥和解密密钥不同,此时不需要安全信道来传送密钥,而只需利用本地密钥发生器产生解密密钥,并以此来控制解密操作。常见的双药体制的加密算法有RSA。
      优点:
      一、由于双钥体制的加密和解密密钥不同,且能公开加密密钥,而仅需保密解密密钥,所以双钥密码易于进行密钥管理。
      二、双钥体制可以提供身份认证和数字签名等新功能。
      缺点:
      密码算法比较复杂,加密解密速度慢。
  • 分组密码体制和序列密码体制

    • 分组密码体制是利用一个时变变换对明文进行逐个位处理。其加密方式是首先将明文序列以固定长度进行分组,每一组的明文用相同的密钥和加密函数进行运算。为了减少存储量和提高运算速度,密钥的长度一般不大,因而加密函数的复杂性称为系统安全的关键。分组密码设计的核心是构造既具有可逆性又具有很强的非线性的算法。加密函数重复地使用代替和置换两种基本的加密变换。常见的分组加密算法有:DES,3DES和AES
      优点:
      一、明文信息具有良好的扩散性
      二、对插入的敏感性高
      三、不需要密钥同步
      四、具有较强的适应性,适宜作为加密标准
      缺点:
      一、加密速度慢
      二、错误易于扩散和传播
    • 序列密码体制的加密过程是把明文序列与等长的密钥序列进行逐位模2加。解密过程是把密文序列与等长的密钥序列进行逐位模2加
      序列密码的安全性主要依赖于密钥序列。
      优点:
      一、处理速度快,实时性好
      二、错误传播范围小
      三、不存在串破译问题
      四、适用于军事、外交等保密信道
      缺点:
      一、明文扩散性差
      二、插入信息的敏感性差
      三、需要密钥同步
  • 确定型密码体制和概率密码他体制

    • 确定型密码体制指的是当明文和密钥确定后,密文的形式也就唯一确定。
    • 概率密码体制指的是当明文和密钥确定以后,密文的形式仍是不确定的,最后产生出来的密文通过客观随机因素从一个密文集合选出。如插入式密码算法。
      概率密码体制增加了破译的难度,但可能会显著增加密文的长度,从而增加加密和传送的代价。
  • 单向函数密码体制和双向函数密码体制

    • 单向密码体制只适用于一些不需要解密的场合,它可容易地将明文加密成密文,但反之是很困难的甚至是不可能的。这种技术可用于将产生的密文当做对应明文的一个内容完整性证明。因为明文内容改变之后相应的密文内容也会改变。比较知名的单项密码函数是MD5,称为消息摘要算法或者杂凑函数算法。
    • 双向密码体制可进行可逆的加密、解密变换,绝大多数加密算法属于这一类。

Feistel 密码结构

对于很多对称分组加密算法(包括DES),其结构由IBM的Horest Feistel在1973年首次详细描述,加密算法的输入长度是2w比特的明文分组及密钥K。明文被分成两半:L0和R0。这两半数据通过n轮处理后合成密文分组。第i轮输入为Li-1和Ri-1,由前一轮产生,同时子密钥Ki由密钥K产生。通常,子密钥Ki与密钥K不同,子密钥相互之间也各不相同,他们都是通过子密钥产生算法生成的。
Feistel 密码结构是所有对称分组密码都使用的更通用结构的一个特例。
对称分组密码的具体操作取决于以下参数和设计属性
  • 分组大小:越大的分组意味着越高的安全性,但减小了加密解密的速率。128比特大小的分组是一个合理的折中并且几乎是进来分组密码设计的普遍选择。
  • 密钥大小:越长的密钥意味着越高的安全性,但会减小加密解密的速率。现代算法最普遍的密钥长度是128比特。
  • 迭代轮数:多轮处理能提供更好的安全性。迭代轮数的典型大小是16。
  • 子密钥产生算法:此算法的复杂度越高,密码破译难度就越高。
  • 轮函数:越高的复杂度意味着对破译越高的阻力。

三个常见的对称分组加密算法的介绍

一、数据加密标准(Data Encryption Standard)

DES由原美国国家标准局(现美国国家标准与技术研究所,NIST)于1977年采用,是目前最广泛使用的加密方案。这个算法本身被称为数据加密算法(DEA)。
采用DES算法加密的明文长度为64比特,密钥长度为56比特,更长的明文被划分为64比特的分组来处理,采用16轮迭代。
DES在1998年7月被证明不安全,使用当前的技术,甚至不需要使用特殊的专用硬件即可破解DES。

二、三重DES

3DES使用3个密钥并执行3次DES算法,其组合过程依照加密-解密-加密(EDE)的顺序进行:

图3

3DES加密过程中的第二步使用的解密没有密码方面的意义。它的唯一好处是让3DES的使用者能够解密原来单重DES使用者加密的数据。
通过3个不同的密钥,3DES的有效密钥长度为168比特。3DES也允许使用两个密钥,即令K1=K3,这样密钥长度就是112比特。
FIPS 46-3包含了3DES的如下规定:
  • 3DES是FIPS批准的可选对称加密算法。
  • 使用单个56比特密钥的原始DES,只在以往系统的标准下允许,新设计必须支持3DES。
  • 鼓励使用以往DES系统的政府机构转换到3DES系统。
  • 预计3DES与高级加密标准AES将作为FIPS批准的算法共存,并允许3DES逐步过渡到AES。
3DES是一个强大的算法,因为底层密码算法是DEA,DEA声称的对基于其算法的破译的抵抗能力,3DES同样也有。

三、高级加密标准AES

3DES算法的优点
  • 由于168比特的密钥长度,它克服了DEA对付穷举攻击的不足。
  • 3DES的底层加密算法和DEA相同,而这个算法比任何其他算法都经过了更长时间、更详细的审查,除穷举方法以外没有发现任何有效的基于此算法的攻击。
3DES算法的缺点
  • 算法软件运行相对较慢。
  • DEA和 3DES都使用64比特大小的分组。但是出于效率和安全原因,需要更大的分组。
AES使用的分组为128比特,密钥长度可以为128、192或256比特,加密和解密算法的输入都是一个128比特的分组。
值得指出的特点之一是该结构不是Feistel 结构。典型的Feistel 结构,数据分组的一半用来代替另一半,然后两部分对换。AES没有使用Feistel 结构,而是在每轮替换和移位时都并行处理整个数据分组。

最后一个小问题:为什么公钥密码能够用作身份认证数字签名?

  • 这是基于公钥加密算法的特点所提供的功能。
  • 公钥加密算法有两个不同的密钥,一个是公开密钥,一个是私有密钥。
  • 一个用作加密的时候,另一个用作解密。
  • 使用其中一个密钥把明文加密后所得的密文,只能用相对应的另一个密钥才能解密得到原来的明文
  • 虽然两个密钥在数学上相关,但如果知道其中一个,并不能凭此计算出另外一个。因此其中一个可以公开,称为公钥,任意向外发布
  • 不公开的密钥为私钥,必须用户自行严格秘密保管,绝不透过任何途径向任何人提供,也不会透露给通信的另一方,即使另一方被信任
  • 所以,它可提供身份认证数字签名的功能。
最后还是欢迎各位小伙伴儿关注我的微信公众号:蜂蜜橘子,里面有我个人一些感兴趣的文章,有趣的经历,来公众号找我玩呀!

图4

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

河海大学软件工程学硕考研复试经验贴

一、写在前面 想必看到这篇文章的学弟学妹都已经考完初试了,考得如何每个人心中各有千秋。无论如何,坚持将考研整个过程走下来的你们就已经是最棒的了,现在可以好好休息一下,静待考研成绩的公布了。 我写下这篇文章的目的主要是…

夏令营导师推荐信怎么写(浙大CS上岸老学姐手把手教你)

Hello,我又来了!前几天分享了自己的个人陈述,写了一些注意事项,也把自己之前的模板分享给了很多学弟学妹,在这里祝大家早日拿到心仪offer!老规矩,还是先来介绍一下我自己: 本人就读于…

中科院一博士论文走红,看哭众多网友

本文转载自 凤凰网 “我走了很远的路,吃了很多的苦,才将这份博士学位论文送到你的面前。二十二载求学路,一路风雨泥泞,许多不容易。如梦一场,仿佛昨天一家人才团聚过。” 上述文字来自于一篇博士论文的《致谢》部分。…

恭喜马斯克、纳德拉当选美国工程院院士,张宏江、方岱宁入选外籍院士

2 月 9 日,美国国家工程院(National Academy of Engineering,NAE)宣布了 2021 年度国家工程院增补院士名单,此次共有 111 名院士和 22 名外籍院士入选。目前美国工程院院士总数达到 2388 名,国际院士人数达…

两院院士直言:不要迷信院士

本文来源:paperRSS,编辑:募格学术 导读: 王选(1937年2月5日-2006年2月13日),计算机专家。江苏无锡人。1991年当选为中国科学院院士,1994年当选为中国工程院院士,获得2001…

iMeta期刊顾问James M Tiedje当选中国科学院外籍院士

热烈祝贺iMeta期刊顾问James M Tiedje教授当选中国科学院外籍院士 James M Tiedje院士简介 单位主页:https://www.canr.msu.edu/people/james_m_tiedje James M Tiedje谷歌学术主页 https://scholar.google.com/citations?user5ekyvtAAAAAJ James Tiedje教授在共发…

【华人学者风采】查正军 中国科学技术大学

【华人学者风采】查正军,中国科学技术大学大数据学院教授。主要从事图像视频分析与检索、多媒体大数据分析、计算机视觉、人工智能等方向的研究。累计发表学术论文百余篇,其中ACM/IEEE汇刊论文及CCF推荐A类会议长文数十篇。多次获得国际会议论文奖励&…

3名院士被处理,院士改革确实动真格了!

仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:学术严选,科奖中心 近日,北京理工大学、中科院分别发布通报,对方岱宁院士相关视频事件进行处理。 其中中科院的处理结果如下: 停止方岱宁…

Leetcode654 最大二叉树

给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回 nums 构建的 最大二叉树…

Leetcode655 输出二叉树

给你一棵二叉树的根节点 root ,请你构造一个下标从 0 开始、大小为 m x n 的字符串矩阵 res ,用以表示树的 格式化布局 。构造此格式化布局矩阵需要遵循以下规则: 树的 高度 为 height ,矩阵的行数 m 应该等于 height 1 。 矩阵…

Leetcode782 变为棋盘

一个 n x n 的二维网络 board 仅由 0 和 1 组成 。每次移动,你能任意交换两列或是两行的位置。 返回 将这个矩阵变为 “棋盘” 所需的最小移动次数 。如果不存在可行的变换,输出 -1。 “棋盘” 是指任意一格的上下左右四个方向的值均与本身不同的矩阵。…

洛谷P8840 Java题解

题目描述 花栗鼠科技大学的计算机组成原理实验最终的结课考核方式是提交一份报告。 然而作为任课老师,萝老师不希望大家过于内卷,所以指定了如下规定: 每份报告有一个卷面基础分 aa。 在此基础上: 若是报告字数低于 1616 页&a…

[博学谷学习记录] 超强总结,用心分享|JavaEE就业课-尊享无忧+Java基础语法|面向对象(2wk)

目录 面向对象 类和对象的关系 对象的使用​编辑 垃圾回收 局部变量和成员变量 private 关键字 this 关键字 封装(三大面向对象特征之一) 构造方法 构造方法格式 执行时机 构造方法的注意事项 标准类制作 面向对象 类和对象的关系 类:类是…

晶灿钻石宝可梦总结

你知道哪个世代的宝可梦最强吗? 【宝可梦晶灿钻石明亮珍珠29】全道具获取收集地点合集攻略! 骑拉帝纳 宝可梦晶灿钻石明亮珍珠美纳斯怎么获得 丑丑鱼在哪里捕捉 https://serebii.net/ 杂谈21——打了3小时冠军,我终于过了珍钻复刻一周目…

安卓启动模式

使用任务栈来储存创建的Activity,栈是先进后出 1.标准模式 standard 默认 2.栈顶模式-singletop 栈顶存在 则复用 3.栈内复用-singletask 会将要复用的activity上边的实例全部出栈,随后将其置顶 4.单例-singleInstance 如果设置某个activity为 此默认…

安卓开发-动画

动画 视图动画:将逐帧动画和补间动画统称为视图动画,用于指定控件的动画 逐帧动画:以xml或者代码的方式,实现多帧动画的播放 补间动画:对控件可以进行移动、旋转、缩放等操作 属性动画:通过改变控件的某…

诚之和:盗本、洗稿…剧本杀火热背后的版权之痛盗版正版同天发售

胖丁是一位传统文学作者,同时也是寒炉文化总监制、剧堆创始人。2020年,他带着新发行的剧本《少儿不宜》在重庆参加一场展会,但始料未及的是,展会结束后一周,胖丁就在不少电商平台、二手平台上发现了自己的同款剧本。 …

安卓viewpager联动方案

ViewPager 联动方案: 1.通过ViewPager1计算出滑动的距离,将此距离在给ViewPager2滑动 ViewPager1滑动距离:滑动初始页到左右边距的距离; distancepositon*View.getWidth()oisutuibOffsetPixels 2.通过设置ViewPager2的scrollT…

常见面试题总结

JAVA篇 1.什么是面向对象?面向对象的优点 只需要关注每个对象具体做了什么,调用操作可以进行封装,更加易于复用、扩展和维护。 三大特点: 封装-明确标识允许外部调用的方法,无需关注内部实现(例如get/s…

原生html+css+js制作宠物小精灵icon

前言 上百个pokemon icon,纯htmlcss绘制,分享给大家! 文章目录 前言一、皮卡丘1.皮卡丘2.雷丘 二、妙蛙种子1.妙蛙种子2.妙蛙草3.妙蛙花 三、小火龙1.小火龙2.火恐龙3.喷火龙 四、杰尼龟1.杰尼龟2.卡咪龟3.水箭龟 五、胖丁1.胖丁2.胖可丁 …