密码学基础知识

这篇具有很好参考价值的文章主要介绍了密码学基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安全原则

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

  • 机密性

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

  • 完整性

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

  • 可用性

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

二、密码学组件知识

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

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

1、对称密码算法

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

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

1.1 分组密码

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

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

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算法中:

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

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

    实现方法:

  • 直接对消息进行签名

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

应用场景:

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

6、公钥基础设施(PKI)

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

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

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

PKI的组成:

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

6.1 PGP中的信任网

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

7、密码协议

IPsec、SSL

IPsec:网络层,站到站通信

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

二、密码组件的应用

1、SSL/TLS

SSL/TLS是一种安全的密码协议,可以承载HTTP/SMTP/POP3/FTP等通信协议,在它们上面“套一层”安全协议,可以解决如下问题:文章来源地址https://www.toymoban.com/news/detail-489706.html

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

到了这里,关于密码学基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络安全】1.4 密码学基础

    密码学是网络安全的核心组成部分,它帮助我们保护信息,防止未经授权的访问。在这篇文章中,我们将从基础开始,深入了解密码学的基本概念和原理,包括加密、解密、密钥、哈希函数等。我们将尽可能使用简单的语言和实例,以便于初学者理解。 密码学是一门研究信息

    2024年02月07日
    浏览(30)
  • 【现代密码学基础】详解完美安全与不可区分安全

    目录 一. 介绍 二. 不可区分性试验 三. 不可区分性与完美安全 四. 例题 五. 小结 敌手完美不可区分,英文写做perfect adversarial indistinguishability,其中adversarial经常被省略不写,在密码学的论文中经常被简称为IND安全。 完美不可区分与香农的完美安全是类似的。该定义来源于一

    2024年01月21日
    浏览(44)
  • 区块链基础之密码学及安全技术

    1.2 密码学及安全技术 1.2.1 密码学知识 1.2.1.1 Hash函数 Hash(哈希) 哈希函数是一类数学函数,可以在有限合理的时间内,将任意长度的消息压缩为 固定长度的输出值,并且是不可逆的。其输出值称为哈希值,也称为散列值。 哈希算法的应用: 消息认证:确保收到的消息和发送

    2024年02月11日
    浏览(31)
  • 《计算机系统与网络安全》 第四章 密码学基础

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月11日
    浏览(37)
  • 【网络安全】【密码学】【北京航空航天大学】实验三、数论基础(下)【C语言实现】

    1、中国剩余定理(Chinese Remainder Theorem) (1)、算法原理 m1 , m2 , … mk 是一组 两两互素 的正整数,且 M = m1 · m2 · … · mk 为它们的乘积, 则如下的同余方程组: x == a1 (mod m1) x == a2 (mod m2) … x == ak (mod mk) 对于 模M 有唯一的解 x = (M · e1 · a1 / m1 + M · e2 · a2 / m2 + … + M · ek ·

    2024年02月02日
    浏览(32)
  • 【网络安全】【密码学】【北京航空航天大学】实验一、数论基础(上)【C语言和Java实现】

    1、通过本次实验,熟悉相关的编程环境,为后续的实验做好铺垫; 2、回顾数论学科中的重要基本算法,并加深对其的理解,为本学期密码学理论及实验课程打下良好的基础。 数论主要研究的是整数的运算及性质,许多常用的加密算法都用到了数论知识。 本次实验的实验环

    2024年01月25日
    浏览(37)
  • 【网络安全】【密码学】【北京航空航天大学】实验二、数论基础(中)【C语言和Java实现】

    1、扩展欧几里得算法(Extended Euclid’s Algorithm) (1)、算法原理 已知整数 a , b ,扩展的欧几里得算法可以在求得 a , b 的 最大公约数 的同时,找到一对整数 x , y ,使得 a , b , x , y 满足如下等式: ax + by = d = gcd(a,b) , 其中 gcd(a, b) 为 a 和 b 的最大公约数。 (2)、算法流程 本算

    2024年02月01日
    浏览(39)
  • 密码学知识

    密码学是网络安全、信息安全、区块链等产品的基础,常见的非对称加密、对称加密、散列函数等,都属于密码学范畴。 明文 :加密前的消息叫 明文 (plain text)  密文 :加密后的文本叫 密文 (cipher text) 密钥 :只有掌握特殊 钥匙 的人,才能对加密的文本进行解密,这里的

    2024年02月07日
    浏览(25)
  • 【11.10】现代密码学1——密码学发展史:密码学概述、安全服务、香农理论、现代密码学

    参考:密码学发展简史 骆婷老师的《现代密码学(32H)》课程,笔记+查找的资料补充 期末为闭卷考试的形式 密码学早在公元前400多年就已经产生,人类使用密码的历史几乎与使用文字的时间一样长,密码学的发展大致可以分为 3 个阶段: 1949年之前的古典密码学阶段; 1949 年

    2024年02月04日
    浏览(38)
  • 【密码学】量子安全的密码学算法以及原理介绍

    (1)“代数格密码套件”(CRYSTALS)包含两个密码原语Kyber和Dilithium。Kyber是一种抗适应性选择密文攻击(IND-CCA2)安全密钥封装机制,Dilithium是一种高度不可伪造性(EUF-CMA)安全数字签名算法。两种密码都是为了应对量子计算机的攻击,并且在操作过程中只需更改几个参数即

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包