密码学开山篇——密码学的基本概念

2024-02-06 09:50

本文主要是介绍密码学开山篇——密码学的基本概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 我国密码政策
      • 我国的密码分级
      • 我国商用密码政策
    • 密码学的基本概念
      • 密码学的基本思想
      • 密码学的基本目标
      • 密码体制(CryptoSystem)的构成
      • 密码体制的分类
        • 从加密密钥与解密密钥是否相等来划分
        • 从密钥使用方式来划分
        • 从密码算法是否变化分
        • 从是否基于数学来划分
      • 密码学的组成
      • 密码分析
        • 可破译与不可破译
        • 穷举攻击
        • 基于数学的分析
        • 基于非数学的分析
        • 根据占有的数据资源的分类
          • 仅知密文攻击(Ciphertext-only attack)
          • 已知明文攻击(Known-plaintext attack)
          • 选择明文攻击(Chosen-plaintext attack)
      • 密码学的理论基础
        • 信息论
        • 设计复杂性理论
      • 密码设计的基本方法
      • 密码学最基本的三个编码技术
        • 信息加密的一般流程
        • 代替编码
        • 移位密码
        • 加减密码
        • 单表代替密码
        • 多表代替密码
        • 移位密码
        • 加减密码

我国密码政策

我国的密码分级

  1. 核心密码
    • 用于保护党、政、军的核心机密
  2. 普通密码
    • 用于保护国家和事企单位的低于核心机密而又高于商用的机密信息
  3. 商用密码
    • 用于保护国家和事企单位的非机密的敏感信息
  4. 个人密码
    用于保护个人的隐私信息。

核心密码、普通密码、商用密码由国家密码管理局统一管理。

我国商用密码政策

  1. 统一领导
    • 国家密码管理局统一领导
  2. 集中管理
    • 国家密码管理局集中管理
  3. 定点研制
    • 只允许指定单位进行研制
  4. 专控经营
    • 只有经受许可的单位才能经营
  5. 满足使用
    • 国内各个单位都能申请使用

密码学的基本概念

密码学的基本思想

伪装以隐蔽信息,使未经授权者不能理解它的真实含义。

  • 伪装就是对信息进行一种可逆的数学变换
  • 伪装前的原始信息称为明文,伪装后的信息称为密文
  • 伪装的过程称为加密,去掉伪装还原明文的过程称为解密
  • 加密在加密密钥的控制下进行,解密在解密密钥的控制下进行
  • 用于加密的一簇数学变化称为加密算法,用于解密的一簇数学变换称为解密算法

密码学的基本目标

在下面的一个通信模型中

image-20200317194035550

信源A 通过公开的信道向信宿B传递信息。这中间存在一个敌手,可以从公开信道发起攻击。它有两种攻击方式:

  1. 被动攻击(窃听):获取但不改变传输的信息
  2. 主动攻击:不仅窃听,而且还改变传输的信息,目的是实现伪造和欺骗。(不考虑破坏信道的主动攻击)

我们对抗这种窃听,采用的使加密技术

image-20200317195121423

这样敌手获取的就是加密后的信息,若不能破译成功,就算攻击失败了。

而加密技术正解决信息的机密性问题——能解决信息的传输保密和存储保密的问题

对抗主动攻击,我们采用的是认证技术

image-20200317200314009

当敌手更改消息内容时,会使认证码与消息不匹配。从而导致攻击失败。
我们主要对以下内容进行验证:

  • 发方的身份
  • 收方的身份
  • 内容的真伪
  • 时间的真伪

认证技术解决的是信息的真实性认证问题(能够检测出主动攻击)

对抗抵赖的技术——互不信任的双方的认证问题

image-20200317201509086

所以,密码学的基本目标就是解决信息安全的三个基本需求,即:

  • 信息的机密性保证
  • 信息的真实性认证
  • 承诺的不可否认性保证。

对于信息的机密性保证,我们有加密算法来完成;

对于真实性认证,由认证算法和配套的协议来完成;

对于承诺的不可否认性保证,由数字签名算法、配套的协议和仲裁机构来完成。

下图实现了一个加密算法的执行过程

image-20200317204943841

对敌手攻击能力的假设

思想:假设敌手具有最强的攻击能力

Kerckhoffs假设:假设敌手知除密钥之外的所有知识

那么就要求密码算法应该满足:一切的秘密蕴含于密钥之中C

假设敌手知道:

  • 所使用的密码算法

    • 加密算法 E k ( m ) E_k(m) Ek(m)
    • 脱密算法 D k ( c ) D_k(c) Dk(c)
    • 明文空间M
    • 密文空间C
    • 密钥空间K
    • E

这篇关于密码学开山篇——密码学的基本概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/683923

相关文章

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

【Rocketmq入门-基本概念】

Rocketmq入门-基本概念 名词解释名称服务器(NameServer)消息队列(Message Queue)主题(Topic)标签(Tag)生产者(Producer)消费者(Consumer)拉取模式(Pull)推送模式(Push)消息模型(Message Model) 关键组件Broker消息存储工作流程 名词解释 名称服务器(NameServer) 定义: 名称服务器

密码学读书笔记小结

密码学是保证消息的私密性和完整性以及消息认证的基础。加密算法的选择和密钥的管理是安全机制的效率、性能和可用性的关键。 公钥加密算法: 分发密钥比较容易,但是对大数据量的加密性能较差密钥加密算法: 更适合大批的加密任务混合型加密协议: 例如TLS,先用公钥加密建立一个安全通道,然后使用通道交换密钥,并将此密钥用于后续数据交换。 对分布式系统攻击的分类: 窃听: 未经授权获得消息副本伪装: 在未

数据结构的基本概念和术语的一些介绍

数据:是客观事物的符号表示,包括两种:                  数值型(整数,实数)和非数值型(文字,图形,声音 数据元素:是数据的基本单位,通常作为一个整体进行表示。                  与数据的关系:是数据集合的个体 数据项:组成数据元素的不可分割的最小单位。 以上三者的关系:数据>数据元素>数据项                  例如:学生表>个人记录>

NISP | 密码学

关注这个证书的其他相关笔记:NISP 一级 —— 考证笔记合集-CSDN博客 通过上一章的学习,我们知道了,网络安全的 CIA 模型,而本期学习的“密码学”,则能为 CIA 模型提供很好的技术支持: 面临的攻击威胁所破坏的信息安全属性解决问题所采用的密码学技术截获(泄露信息)机密性对称密码和非对称密码篡改(修改信息)完整性哈希函数、数字签名、 对称密码和非对称密码伪造(伪造信息来源)真实

【DL--05】深度学习基本概念—函数式模型

函数式模型 函数式模型算是本文档比较原创的词汇了,所以这里要说一下 在Keras 0.x中,模型其实有两种,一种叫Sequential,称为序贯模型,也就是单输入单输出,一条路通到底,层与层之间只有相邻关系,跨层连接统统没有。这种模型编译速度快,操作上也比较简单。第二种模型称为Graph,即图模型,这个模型支持多输入多输出,层与层之间想怎么连怎么连,但是编译速度慢。可以看到,Sequentia

【DL--04】深度学习基本概念—data_format

data_format 这是一个无可奈何的问题,在如何表示一组彩色图片的问题上,Theano和TensorFlow发生了分歧,’th’模式,也即Theano模式会把100张RGB三通道的16×32(高为16宽为32)彩色图表示为下面这种形式(100,3,16,32),Caffe采取的也是这种方式。第0个维度是样本维,代表样本的数目,第1个维度是通道维,代表颜色通道数。后面两个就是高和宽了。这种t

【DL--03】深度学习基本概念—张量

张量 TensorFlow中的中心数据单位是张量。张量由一组成形为任意数量的数组的原始值组成。张量的等级是其维数。以下是张量的一些例子: 3 # a rank 0 tensor; this is a scalar with shape [][1. ,2., 3.] # a rank 1 tensor; this is a vector with shape [3][[1., 2., 3.]

【DL--02】深度学习基本概念--符号计算

符号计算 Keras的底层库使用Theano或TensorFlow,这两个库也称为Keras的后端。无论是Theano还是TensorFlow,都是一个“符号式”的库。 因此,这也使得Keras的编程与传统的Python代码有所差别。笼统的说,符号主义的计算首先定义各种变量,然后建立一个“计算图”,计算图规定了各个变量之间的计算关系。建立好的计算图需要编译以确定其内部细节,然而,此时的计算图还