【安全与风险】密码学介绍

密码

密码学是一种通过使用密码来保护信息和通信的方法,这样只有信息的接收者才能阅读和处理信息。

前缀“crypt”的意思是“隐藏的”,后缀“graphy”代表“写作”。

历史密码

Scytale(700BC 公元前700年)
斯巴达军队在战斗期间使用Scytale发送敏感信息。
在这里插入图片描述

换位(Transposition)与置换(Substitution)

Scytale是转位密码(transposition cipher)的一个例子:
我们改变的不是字母,而是顺序。

另一类是替换密码(substitution cipher)
字母改变了,但顺序保持不变。

替换密码(Substiution Cipher)

系统地用字母或字母组替换其他字母或字母组

例如,“fly at once”变成了“gmz bu podf”,将每个字母替换为拉丁字母中后面的字母。

凯撒密码 (100BC 公元前100年)

明文中的每个字母都被字母表中更靠后一些固定位置的字母所取代。
在这里插入图片描述

移位密码

考虑加密英文文本
密钥空间:k属于{0, 1, …, 25}
加密:将每个字母x替换成x+k
解密:将每个字母x替换成x-k

  1. ROT13是一个键为13的移位密码。
  2. 凯撒密码是一种密钥为3的移位密码。
    在这里插入图片描述

破坏替换密码

课文中最常见的字母
x,i,e,h

密文攻击

  1. 使用英语字母的概率(E:12.7%,T:9.1%,A:8.1%)
  2. 字母对的使用概率(HE, AN, IN, TH)

维吉尼亚密码

替换密码可以是单字母的(monoalphabetic):每个字母总是被编码成相同的字母。

Vigenère Cipher是一个多字母密码的例子

基本上,它对不同的文本位置应用不同键的移位密码。

例如,key = crypto
在这里插入图片描述
字母频率分析不能用于多字母密码。

现代密码学核心原理

从历史观点上说

密码学是一门艺术(启发式、特别设计和分析)
在70年代末和80年代初,密码学开始发展成为一门严谨的科学

密码学的三个步骤:

  1. 精确指定威胁模型(安全含义的正式模型和定义)
  2. 提出一个构造方案
  3. 证明打破威胁模型下的结构将解决一个潜在的困难问题

模型和定义的重要性

如果你不知道自己想要实现什么,你怎么可能知道自己何时(或是否)实现了呢?

开发精确的威胁模型安全定义迫使设计师思考他们真正想要的是什么。

  1. 什么是必要的(有时更重要),什么不是

威胁模型和安全定义可以对方案进行有意义的评估和比较。

一个清晰的威胁模型和安全定义可以让其他人理解某些方案提供的安全保证:

  1. 允许将方案用作更大系统的组成部分

明确假设的重要性

一般来说,密码学目前需要计算假设。

  1. 允许研究人员尝试验证假设。
  2. 允许基于不同假设的方案之间进行有意义的比较。
  3. 在假设被证明是错误的情况下的实际影响。
  4. 启用安全性证明

对称和非对称

对称加密使用相同的密钥进行加密和解密。

非对称加密使用不同的密钥进行加密和解密。

优缺点:

  1. 对称通常要快得多,但密钥需要通过非加密通道传输。
  2. 另一方面,不对称更安全,但速度较慢。

对称密码:定义

定义:定义在(k, m, c)的是:
在这里插入图片描述
E是加密函数,需要两个输入:密钥k和消息m。这个函数生成密文c。
D是需要两个输入的解密函数:一个密钥k和一个密文c。它产生消息m。

一次性密码本(One-Time Pad)

在这里插入图片描述

非对称密码术(公钥密码术)

使用了两个不同但在数学上相关的密钥—公钥和私钥。

从一个密钥(“私钥”)计算另一个密钥(“公钥”)在计算上是不可行的,即使它们必然相关。

两个密钥都是秘密生成的,作为相互关联的一对。

密钥生成

使用一个不可预测的(通常是大而随机的)数字开始生成适合于非对称密钥算法使用的可接受的密钥对。
在这里插入图片描述

加密和解密技术

任何人都可以使用公钥加密消息,但只有配对的私钥的持有者才能解密。安全性取决于私钥的保密性。
在这里插入图片描述

反向使用:数字签名

附在电子传输文件上的一种数字代码(由公钥加密生成并验证),用于验证文件的内容和发送人的身份。

数字签名的生成:

  1. 消息通过商定的算法进行散列,形成消息摘要。
  2. 消息摘要使用发送方的私钥加密。
  3. 加密的消息摘要是添加到消息并发送的签名。
  4. 接收方计算消息摘要,并使用发送方的公钥解密签名。
  5. 接收方将MD与解密签名进行比较。如果匹配,则表示消息未被篡改。

签名并验证!用私钥加密的版本附加到原始消息中。在收到消息和签名之后,Bob使用公钥来验证消息的真实性。验证是通过使用公钥解密消息并确定哈希/摘要是否与原始消息匹配来完成的。

总结

  1. 传统的 (换位vs置换)
  2. 现代的(对称vs非对称)

Acknowledgements: Jiangtao Wang

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cryptography and Network Security 密码学与网络安全 Atul Kahate 5/23/2020 1 密码学与网络安全 要让三个人保住秘密, 其中两个人必须死亡! --本杰明 富兰克林 5/23/2020 2 密码学与网络安全 安全的需求 管理工作站 分支机构 局域网 资源子网 路由器 路由器 路由器 分支机构 局域网 公共网络 总部 路由器 路由器 暴露于公网上的网络 5/23/2020 3 密码学与网络安全 安全模型 无安全性:根本不实现安全性; 隐藏安全:别人不知他的内容和存在; 主机安全:每个主机单独实现安全性; 网络安全:控制各个主机及其服务的网络访问,是有效且可伸缩的模型; 5/23/2020 4 密码学与网络安全 安全管理策略 经济性; 实用性; 文化问题; 合法性; 5/23/2020 5 密码学与网络安全 安全原则 保密性: 要求做到只有发送人和所有接收人才能访问消息内容; 保密 A B C 截获(interception) 截获破坏了保密性原则 5/23/2020 6 密码学与网络安全 安全原则 鉴别: 鉴别机制可以建立身份证明。 鉴别过程保证正确标识电子消息或文档来源; 我是 用户A A B C 伪造(fabrication) 缺乏鉴别机制时可能导致伪造 5/23/2020 7 密码学与网络安全 安全原则 完整性(integrity): 消息内容在发送方发出后和到达所要接收方之前发生改变时,就会失去消息的完整性; A B C 修改(modification) 修改会失去消息的完整性 消息的理想传送线路 消息的实际传送线路 将100美元 转给D 将1000美元 转给C 5/23/2020 8 密码学与网络安全 不可抵赖(non-repudiation): 有时用户发了消息,又想否认发了这个消息; 不可抵赖不允许发消息者拒绝承认发消息 安全原则 5/23/2020 9 密码学与网络安全 访问控制(access control): 原则确定谁能访问什么; 角色管理:用户方能做什么; 规则管理:什么条件下允许访问什么资源; 根据所采用的决策,可以建立访问控制矩阵,列出用户及其可以访问的项目,访问控制表(ACL)是访问控制矩阵的子集; 访问控制指定和控制谁能访问什么 安全原则 5/23/2020 10 密码学与网络安全 安全原则 可用性(availability): 原则指定要随时向授权方提供资源(即信息); A B C 中断(interruption) 中断会破坏可用性原则 5/23/2020 11 密码学与网络安全 攻击类型 理论概念: 截获、伪造(拒绝服务)、修改(重放和改变消息)、中断(伪装); 被动攻击: 被动攻击(截获) 消息内容泄露 通信量分析 被动攻击不对数据进行任何修改 5/23/2020 12 密码学与网络安全 攻击类型 理论概念: 截获、伪造(拒绝服务)、修改(重放和改变消息)、中断(伪装); 主动攻击: 主动攻击 中断(伪装) 伪造(拒绝服务) 修改 重放攻击 改变消息攻击 5/23/2020 13 密码学与网络安全 攻击类型 实际攻击: 应用层攻击:攻击者访问、修改和防止访问特定的应用程序的信息或该应用程序本身; 网络层攻击:用各种方法减少网络能力; 实际攻击 应用层攻击 网络层攻击 安全攻击可能发生在应用层或网络层 5/23/2020 14 密码学与网络安全 攻击类型 实际攻击: 病毒(virus):可以修复,可以用良好的备份与恢复过程控制其破坏; 蠕虫(worm):不进行任何破坏性操作,只是耗尽系统资源,使其停滞; 特洛伊木马(Trojan horse):使攻击者可以取得计算机和网络的某种保密信息; Applet与ActiveX控件:可能被攻击者利用,造成安全问题; Cookies、JavaScript、VBScript、JScript有时也会产生一定风险; 5/23/2020 15 密码学与网络安全 特定攻击 分组窃听(Packet sniffing):攻击者不干扰会话,只是监视传递的分组。 分组伪装(Packet spoofing):使用不正确的源地址发送分组。 DNS伪装(DNS spoofing):使用假的IP地址更换电脑中存的ISP的正确地址。(DNSsec 可以防止攻击)。 5/23/2020 16 密码学与网络安全 密码学的基本概念 密码学(cryptography)的目的是通过将信息编码使其不可读,从而达到安全性。 明文(plain text):发送人、接受人和任何访问消息的人都能理解的消息。 密文(cipher text):明文消息经过某种编码后,得到密文消息。 加密方法:替换法(Substitution)和变换法(Transposi

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值