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

密码学介绍

  • 密码
  • 历史密码
  • 换位(Transposition)与置换(Substitution)
    • 替换密码(Substiution Cipher)
      • 凯撒密码 (100BC 公元前100年)
      • 移位密码
      • 破坏替换密码
      • 维吉尼亚密码
  • 现代密码学核心原理
    • 从历史观点上说
  • 模型和定义的重要性
  • 明确假设的重要性
  • 对称和非对称
    • 对称密码:定义
  • 一次性密码本(One-Time Pad)
  • 非对称密码术(公钥密码术)
  • 密钥生成
  • 加密和解密技术
  • 反向使用:数字签名
  • 总结

密码

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

前缀“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)

密码中的d可能是明文中的e

维吉尼亚密码

替换密码可以是单字母的(monoalphabetic)

  1. 每个字母总是被编码成相同的字母。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TCP三次握手/四次挥手

TCP三次握手 任何基于TCP的应用,在发送数据之前,都需要由TCP进行“三次握手”建立连接示意图 第一次握手:客户端PC发送一个SYN位置1(SYN1代表请求服务端建立连接)的TCP报文发送给要建立TCP连接的Server,此…

23种设计模式

参考链接: 【狂神说Java】通俗易懂的23种设计模式教学(停更)_哔哩哔哩_bilibili 23种设计模式【狂神说】_狂神说设计模式_miss_you1213的博客-CSDN博客 1. 单例模式 参考链接: 【狂神说Java】单例模式-23种设计模式系列_哔哩哔哩…

Linux(网络基础---网络层)

文章目录0. 前言1. IP协议1-1 基本概念1-2 协议头格式2. 网段划分2-1 基本概念2.2 IP地址分五大类2-3 特殊的IP地址2-4 IP地址的数量限制2-5 私有IP地址和公网IP地址2-6 路由0. 前言 前面我们讲了,应用层、传输层;本章讲网络层。 应用层:我…

GPT-4是个编程高手,真服了!

上周给大家发了一个GPT-4教数学的介绍,很多人都被震撼了,感觉有可能在教育行业引发革命。它在编程领域表现如何?先不说能否替代程序员,这个还有待更多的测试和反馈,我想先试试它能不能像教数学那样教编程。我找了个Jav…

Docker的可视化界面工具

Docker的可视化界面工具1. Portainer1.1 Introduction1.1.1 Official1.2 Download And Deploy1.3 Dashboard1.3.1 Dashboard2. Shipyard2.1 Introduction2.1.1 Character2.1.2 Official2.2 Download And Deploy2.2.1 脚本下载镜像2.2.2 执行脚本2.2.2 查看下载的镜像2.3 Dashbo…

“工作三年,跳槽要求涨薪50%”,合理吗?

如果问在TI行业涨工资最快的方式是什么?回答最多的一定是:跳槽!前段时间,知乎上这样一条帖子引发了不少IT圈子的朋友的讨论 ,有网友提问 “程序员跳槽要求涨薪50%过分吗?”截图来源于知乎,如侵删…

【百面成神】多线程基础16问,你能坚持到第几问

前 言 🍉 作者简介:半旧518,长跑型选手,立志坚持写10年博客,专注于java后端 ☕专栏简介:纯手打总结面试题,自用备用 🌰 文章简介:多线程最基础、重要的16道面试题 文章目…

【百面成神】Redis基础11问,你能坚持到第几问

前 言 🍉 作者简介:半旧518,长跑型选手,立志坚持写10年博客,专注于java后端 ☕专栏简介:纯手打总结面试题,自用备用 🌰 文章简介:Redis最基础、重要的11道面试题 文章目录…

AI 未来已至,向量数据库站在新的节点上

“AI 的 iPhone 时刻已经到来。” 在刚刚结束的 NVIDIA GTC Keynote 中,这句话被 NVIDIA CEO 黄仁勋反复提及,长达 1 个多小时的分享中,生成式 AI 相关的内容占据了绝大部分比重。他表示,生成式 AI 的火热能力为企业带来了挑战&a…

2022/3/22 从CV方向角度 —快速解读Nvidia 2023GTC

GTC分享内容和个人看法 3月21号11点,Nvidia开启了GTC主题演讲,这些年英伟达加速库的发展和对AI的投入应用,不难看出掌握GPU加速计算技术的N家肯定是宣扬AI方向的产品和生产工具,下面我将简要汇总下演讲的内容,和从我自…

Java语言-----类与对象的秘密

目录 前言 一、类与对象的介绍 二、类的实例化 三.类与对象的使用方法 3.1对象的初始化 3.2内存显示图 四.this的使用方法 总结 😽个人主页: tq02的博客_CSDN博客-C语言,Java领域博主 🌈理想目标:努力学习,向Java进…

修改linux网卡配置文件的文件名

修改linux网卡配置文件的文件名 查看自己系统中网卡配置文件的文件名 #查看网卡的配置文件名,已经网络的状态 ip a查看系统是否可以使用ifconfig命令 #输入命令 ifconfig #出现以下图片表示ifconfig的命令可用。可能出现的错误:ifconfig command no foun…

第十七天 JavaScript、Vue详细总结

目录 JavaScript、Vue 1. JavaScript常用对象 1.1 Array对象 1.2 String对象 1.3 自定义对象 1.4 JSON 1.5 BOM 1.6 DOM 2. 事件监听 2.1 事件绑定 2.2 常见事件 2.3 案例 3. Vue 3.1 概述 3.2 快速入门 3.3 常用指令 3.4 生命周期 JavaScript、Vue 今日目标&…

为什么说网络安全是风口行业?是IT行业最后的红利?

前言 “没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。 网络安全行业特点 1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万&…

2023年2月用户体验GX评测:国有行及股份行持续领跑,农商行农信社积极探索用户体验提升

易观:2023年2月易观千帆用户体验GX评测显示,国有行及股份制银行继续领跑手机银行用户体验,平安口袋银行、中国工商银行、招商银行稳居AAAAA级;城商行、农商行、农信社重视用户体验,银行下一步重点依然是狠抓用户体验建…

【java基础】Stream流的各种操作

文章目录基本介绍流的创建流的各种常见操作forEach方法filter方法map方法peek方法flatMap方法limit和skip方法distinct方法sorted方法收集结果收集为数组(toArray)收集为集合(collect)收集为Map关于流的一些说明(终结操…

WEB网站服务(一)

1.1 Apache网站服务基础1.1.1Apache简介Apache HTTP Server是开源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务。Apache服务器可以运行在Linux,UNIX,windows等多种操作系统平台中。1.Apache的起源1995年,Apache服务程序的1.0版…

Linux- 系统随你玩之--玩出花活的命令浏览器-双生姐妹花

文章目录1、背景2、命令浏览器-双生姐妹花2.1、姐妹花简介2.2 、验名正身2.3、常用功能选项3、常用实操3.1、发送请求获取文件3.1.1、抓取页面内容到一个文件中3.1.2、多个文件下载3.1.3、下载ftp文件3.1.4、断点续传3.1.5、上传文件3.1.6、内容输出3.2 、利用curl测试接口3.3 …

毕业设计 基于51单片机自动智能浇花系统设计

基于51单片机自动智能浇花系统设计1、毕业设计选题原则说明(重点)2、项目资料2.1 系统框架2.2 系统功能3、部分电路设计3.1 STC89C52单片机最小系统电路设计3.2 按键电路设计3.3 水泵控制电路设计4、部分代码展示4.1 数码管位选程序4.2 ad0832数据读取程…

HTTPS协议,看这篇就够了

不安全的HTTP 近些年来,越来越多的网站使用 HTTPS 协议进行数据传输,原因在于 HTTPS 相较于 HTTP 能够提供更加安全的服务。 很多浏览器对于使用 HTTP 协议的网站会加上『警告』的标志表示数据传输不安全,而对于使用 HTTPS 协议的网站会加上…