密码学基础知识_密码学基础知识点总结

密码学基础知识_密码学基础知识点总结密码学基础知识一、安全原则信息安全三要素(CIA):机密性(confidential)、完整性(integrality)、可用性(availability)机密性机密性是指保证信息不被非授权访问,即使非授权用户得到信息也无法知晓

密码学基础知识
  一、安全原则

  信息安全三要素(CIA):机密性(confidential)、完整性(integrality)、可用性(availability)

机密性

  机密性是指保证信息不被非授权访问,即使非授权用户得到信息也无法知晓信息内容,因而不能使用。他的任务是确保信息不会被未授权用户访问,通常是通过访问控制阻止非授权用户获得机密信息,通过加密变换阻止非授权用户获知信息内容。

完整性

  完整性是指维护信息的一致性,即信息在生成、传输、存储和使用过程中不应该发生人为或非人为的非授权篡改。信息的完整性包括两个方面:1.数据完整性:数据没有被(未授权)篡改或者损坏; 2.系统完整性:系统未被非法操纵,按既定的目标运行。

可用性

  可用性是指保障信息资源随时可提供服务的能力特性,即授权用户可根据需要可以随时访问所需信息。可用性是信息资源服务功能和性能可靠性的度量,涉及到物理、网络、系统、数据、应用和用户等多方面的因素,是对信息网络总体可靠性的要求。

  二、密码学组件知识

  如果把密码体系比作一栋积木搭建的房子,里面的房间、家具、装饰等就是各种基本构成组件了,它们包括:对称密码、公钥密码、单向散列函数、消息认证码、数字签名以及伪随机数生成器。

  任何密码体系都可被拆分成各种密码组件,对于密码体系的攻击也可以从 密码组件 和 密码体系本身来进行。

  Untitled

  Untitled

  1、对称密码算法

  加密和解密密钥相同,加密强度高、速度快;密钥管理是最大的问题(要满足保密性、唯一性);

  常见的对称密码算法有:DES(不安全不使推荐)、三重DES(在DES的基础上增长了密钥长度)、AES(在用)、IDEA (国际数据加密算法)。

  1.1 分组密码

  分组密码:在密码学中,分组加密(英语:Block cipher),又称分块加密或块密码,是一种对称密钥算法。它将明文分成多个等长的模块(block),使用确定的算法和对称密钥对每组分别加密解密。分组加密是极其重要的加密协议组成,其中典型的如AES和3DES作为美国政府核定的标准加密算法,应用领域从电子邮件加密到银行交易转帐,非常广泛。DES、AES都属于分组密码。

  ECB模式容易被攻击,不推荐使用。

  Untitled

  2、公钥密码算法

  公钥密码算法 又称 非对称密码算法,加密和解密密钥不同,通常是 公钥加密、私钥解密(公钥默认公开、私钥保密),常用于对称加密过程中密钥的传递。

  常见的公钥密码算法有:RSA、Elgamal、背包算法、Rabin、Diffie-Hellman、ECC(椭圆曲线加密算法),使用最广泛的是RSA算法(推荐使用密钥长度大于768的,常见密钥长度1024、2048、4096)。

  3、单向散列函数

  单向散列函数(也叫Hash算法、消息摘要算法、散列算法、杂凑算法),输入不同长度的消息,生成固定长度的摘要值,通过前后对比摘要值来判断消息是否有被篡改(但不能实现身份的认证),具有单向性的特点(消息不可被解密回明文)。

  常见单向散列函数有:

MD4,可被爆破、不推荐使用;
MD5,强抗碰撞性已被攻破,彩虹表,不推荐使用;
SHA-1,可被爆破、不推荐使用;
SHA-2,包含 SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256;
SHA-3,包含 SHA3-224、SHA3-256、SHA3-384、SHA3-512。

  应用场景:

文件完整性保护,通过Hash值检查软件指纹、判断是否被篡改;
密码保护,不直接记录密码本身、记录加盐的密码hash值;
数字签名,对消息的Hash值进行签名;
消息认证码(HMAC),Hash(消息,密钥),用于防止消息被篡改;
伪随机数生成器;
一次性口令。

  4、消息认证码(Message Authentication Code)

  消息认证码(Message Authentication Code)是一种确认完整性并进行认证的技术(消息是否被篡改、发送者身份是否被伪装)。

  输入 消息 + 双方共享的密钥,输出 固定长度的 MAC 值,通过比对 MAC 来完成消息完整性和认证;由于发送者和接收者共享相同的密钥,因此会产生无法向第三方证明以及无法防止否认的问题。

  常见的一种实现方法是HAMC(Hash-based Message Authentication Code),HMAC(Message,Key);此外还有使用分组密码来实现的(AES CBC模式)。

  常见应用场景:

SWIFT
IPsec
SSL/TLS

  5、数字签名

  使用非对称加密算法实现数字签名:消息发送者使用自己的私钥加密、消息接收者使用消息发送者的公钥解密验证,用于识别篡改和伪装、防止否认。 和公钥加密是刚好相反的过程;例如在RSA算法中:

  公钥加密:公钥加密、私钥解密

  数字签名:私钥签名(加密)、公钥验签(解密)

  Untitled

  实现方法:

  直接对消息进行签名

  对消息的散列值进行签名(较为常见的一种)

  应用场景:

消息发布,加上发布者的签名以证明消息的真实性;
软件下载,证明其来自合法的渠道(配合单向散列函数,验证消息的完整性);
公钥证书
SSL/TLS

  Untitled

  6、公钥基础设施(PKI)

  Referer:《信息安全技术公钥基础设施PKI 系统安全技术要求》

  要保证所使用的数字证书是合法的,有个前提就是 保持公钥是合法的(没有被篡改和伪造),那么就要对该公钥进行签名、对为公钥进行签名的公钥进行签名、、、、、 需要构建一个可信的数字签名链条,就引入了PKI(Public Key Infrastructure)公钥基础设施。

  证书的作用:对公钥进行认证(对公钥进行数字签名),证明该公钥是来自可信的公钥所有者。

  PKI的组成:

用户:使用PKI的实体(人/服务)
认证机构(CA,Certification Authority):颁发证书
仓库:保存证书的数据库

  Untitled

  6.1 PGP中的信任网

  不依赖特定的证书机构,通过对用户对每个公钥进行互相签名从而建立起一个信任网络

  7、密码协议

  IPsec、SSL

  IPsec:网络层,站到站通信

  SSL:应用层和传输层,端到站通信 ,TLS 1.2/1.3

  二、密码组件的应用

  1、SSL/TLS

  SSL/TLS是一种安全的密码协议,可以承载HTTP/SMTP/POP3/FTP等通信协议,在它们上面“套一层”安全协议,可以解决如下问题:

机密性——对称密码算法
完整性——消息认证码(HMAC)
认证——数字签名

激活谷谷主为您准备了激活教程,为节约您的时间请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/94073.html

(0)
上一篇 2024年 5月 27日 上午10:16
下一篇 2024年 5月 27日

相关推荐

  • word文档_免费word办公软件

    word文档_免费word办公软件免费做word文档的软件合集 免费的word文档软件TOP10对于工作党来说,word文档是一个会经常接触的东西,经常要填一些信息或做什么文字文档。当然啦,除了工作党,学生也是常用群体。免费做word文档的软件合集来啦!

    2024年 5月 13日
  • word文档怎么排版_word文档段落排版

    word文档怎么排版_word文档段落排版word 文档中的排版有哪些技巧?经常处理公文的朋友们可能都听过这个要求:公文中正文要设置字体为3号宋体,每面22行,每行28字。这实际上是在GB/T 9704—2012《党政机关公文格式》国家标准中的要求。在该标准中关于行数和字数的原

    2024年 5月 8日
  • win10一键还原和重装系统_win10重装系统

    win10一键还原和重装系统_win10重装系统Win10系统怎么还原/重置? Win10系统还原恢复方法注:重置系统会清除磁盘资料,有重要数据资料,建议先做好备份。方法一:电脑能正常进入系统1、在桌面找到一键还原图标,直接双击打开一键还原。2、接着选择要

    2024年 5月 10日
  • 微型计算机的组成部分是什么_微型计算机主要包括哪些组成部分

    微型计算机的组成部分是什么_微型计算机主要包括哪些组成部分计算机组成原理计算机的基本组成一、冯诺依曼结构组成:运算器、控制器、存储器、输入/输出设备二、现代计算机的硬件框图:三、运算器:运算器的基本组成数据寄存器X保存输入参数,ACC为累加寄存器,保存结果,乘法

    2024年 5月 31日
  • uniapp和小程序的区别_uniapp开发小程序好用吗

    uniapp和小程序的区别_uniapp开发小程序好用吗uni-app开发小程序和h5应用最近,有个需求需要开发H5应用和小程序。如果针对不同的平台开发自己的一套代码,那将是一件很糟糕的事情:如果下次需要兼容支付宝小程序、快应用,那工作量随着平台的添加而快速增加。所以我们选择了uni-app开发。uni-app 是一

    2024年 5月 8日
  • cpu测试版和正式版_cpu测试版和正式版的区别

    cpu测试版和正式版_cpu测试版和正式版的区别测试版(ES)CPU与正式版CPU的区别测试版(ES)和正式版的区别很多客户会问我ES和正式版CPU的不同之处,结合我本身的经验和对网络资料的整理,做出以下对比.希望大家对CPU有一种新的认识,如果有什么不妥之处,敬请指正.        &n

    激活谷笔记 2024年 5月 30日
  • xml文件读取获取变量的表达式怎么写_xml文件读取获取变量的表达式怎么写

    xml文件读取获取变量的表达式怎么写_xml文件读取获取变量的表达式怎么写JAVA对XML文件的读写(有具体的代码和解析XML 指可扩展标记语言(EXtensible Markup Language),是独立于软件和硬件的信息传输工具,应用于 web 开发的许多方面,常用于简化数据的存储和共享。xml指令处理指令,简称PI

    激活谷笔记 2024年 5月 31日
  • 线程间同步的几种方法图解说明_线程间同步的几种方法图解说明什么

    线程间同步的几种方法图解说明_线程间同步的几种方法图解说明什么Java线程同步的四种方式详解(建议收藏)public class SynchronizedThread { class Bank { private int account = 200; pub

    激活谷笔记 2024年 5月 21日
  • pycharm怎么改成中文mac_mac版pycharm使用方法

    pycharm怎么改成中文mac_mac版pycharm使用方法Mac版pycharm汉化教程当然,我可以为您提供关于在Mac电脑上使用PyCharm的简单教程。请注意,以下是一般步骤,您可能需要根据您的具体情况进行一些调整。步骤1:下载和安装PyCharm – 打开浏览器

    激活谷笔记 2024年 5月 11日
  • c语言printf与scanf_c语言printf与scanf的区别

    c语言printf与scanf_c语言printf与scanf的区别C语言中scanf和printf的区别是什么区别:scanf是输入函数,用于从标准输入设备(一般是键盘)输入数据;而printf是输出函数,用于向标准输出设备(一般是显示器)输出数据。本教程操作环境:windows7系统、c99版本、Dell G3电脑。scanf() 与 printf()是C

    2024年 5月 28日
  • html滚动条怎么设置_html中滚动条怎么设置

    html滚动条怎么设置_html中滚动条怎么设置html滚动条怎么设置html滚动条设置在网页的开发中,我们经常会使用到滚动条来让用户浏览页面内容。滚动条的样式和行为可以通过CSS来进行自定义。本文将介绍如何在HTML中设置滚动条,以及如何对滚动条进

    激活谷笔记 2024年 5月 30日
  • xshell是什么工具_webshell是什么

    xshell是什么工具_webshell是什么渗透测试工程师课程主题WEB漏洞利用与WEB安全工程师培养目标文件上传漏洞利用文件上传功能的作用及如何利用导致文件上传漏洞的成因充分利用不同中间件的文件解析漏洞如何绕过文件上传检测机制,进行文件上传竞争上传的原理及操作

    激活谷笔记 2024年 5月 15日
关注微信