首页 > 其他分享 >密码学笔记

密码学笔记

时间:2023-11-15 10:34:18浏览次数:38  
标签:加密 密码 摘要 笔记 秘钥 SHA 算法 密码学

密码算法:对称密码算法、非对称密码算法、摘要算法


对称密码算法:加密秘钥和解密秘钥相同的密码算法

又称秘密秘钥算法单秘钥算法

分组密码算法(Block Cipher):块加密算法

将明文拆分为 N 个固定长度的明文块

用相同的秘钥和算法对每个明文块加密得到 N 个等长的密文块

然后将 N 个密文块按照顺序组合起来得到密文

流密码算法(Stream Cipher):序列密码算法

加密:每次只加密一位或一字节明文

解密:每次只解密一位或一字节密文

分组密码:AES、SM1、SM4、DES、3DES、IDEA、RC2

流密码:RC4


非对称密码算法:加密秘钥和解密秘钥不同的密码算法

又称公开密码算法公钥算法

公钥+私钥

RSA、SM2、DH、DSA、ECDSA、ECC


摘要算法:把任意长度的输入消息数据转化为固定长度的输出数据的一种密码算法。

又称散列函数、哈希函数、杂凑函数、单向函数

摘要算法所产生的固定长度的输出数据称为摘要值、散列值或哈希值,摘要算法无秘钥。

摘要算法通常用来做数据完整性的判定,即对数据进行哈希计算然后比较摘要值是否一致。


摘要算法主要分为三大类:MD(Message Digest,消息摘要算法)、SHA-1(Secure Hash Algorithm,安全散列算法)和 MAC(Message Authentication Code,消息认证码算法);另国密标准 SM3 也属于摘要算法。

·MD系列主要包括MD2、MD4、MD5

·SHA系列主要包括SHA-1、SHA-2系列(SHA-1的衍生算法,包含SHA-224、SHA-256、SHA-384、SHA-512)

·MAC系列主要包括HmacMD5、HmacSHA1、HmacSHA256、HmacSHA384和HmacSHA512算法

标签:加密,密码,摘要,笔记,秘钥,SHA,算法,密码学
From: https://blog.51cto.com/u_16358081/8385264

相关文章

  • uniapp开发笔记
    控件toast控件uni.showToast({icon:'none',title:'输入topic'})注意点引入图片需要的注意事项图片的宽度不能是auto相对路径和绝对路径绝对路径要以/开头示例代码{bigUrl:"static/image/img/Children.jpg",data:[{......
  • 34课笔记
     ......
  • openGauss学习笔记-123 openGauss 数据库管理-设置账本数据库-账本数据库概述
    openGauss学习笔记-123openGauss数据库管理-设置账本数据库-账本数据库概述123.1背景信息账本数据库融合了区块链思想,将用户操作记录至两种历史表中:用户历史表和全局区块表。当用户创建防篡改用户表时,系统将自动为该表添加一个hash列来保存每行数据的hash摘要信息,同时在blockc......
  • 《人机交互:以用户为中心的设计和评估》阅读笔记一
    人机交互学(humen-computerinteraction,HCI)是一门关于设计和评估以计算机为基础的系统而使这些系统能够最容易地为人类所使用的学科。以用户为中心的设计和评估的最基本思想就是将用户时时刻刻摆在所有过程的首位。在产品生命周期的最初阶段,产品的策略应当以满足用户的需求为基本......
  • 《软件工程导论》读书笔记2
    在当今这个信息化时代,软件已经成为我们生活中不可或缺的一部分。从手机应用到大型系统,软件无处不在。为了更好地理解和掌握软件开发的过程和方法,我阅读了《软件工程导论》这本书。以下是我在阅读过程中的一些心得体会和收获。软件工程的定义和目标软件工程是一门研究如何有效......
  • CS224n笔记:word2vec(1)
    目录离散语义(discrete):分布语义(distribute):tokens、types分布的语言模型(distributionallanguagemodel):词嵌入模型Word2VecObjectivefunc(目标函数)Lossfunc(损失函数)P(O|C)和Softmax(x)P(O|C)的概率分布将损失函数展开求梯度公式损失函数的时间复杂度ChainRule:链......
  • 【笔记】可删除堆
    可删除堆考虑到没什么人会选择手写普通的堆,所以用优先队列实现就好。问题:我们知道,在使用堆或优先队列的时候,我们只能取出堆顶,也就是所维护的最大或最小值。那么如果我们要从所维护的一个元素里删除一个非最大或最小值呢?最暴力的做法是将元素一个一个从堆顶弹出,直到弹出我们要......
  • JUC并发编程学习笔记(十九)原子引用
    原子引用带版本号的原子操作!解决ABA问题,引入原子引用(乐观锁思想)AtomicStampedReference类解决ABA问题packageorg.example.cas;importjava.util.concurrent.TimeUnit;importjava.util.concurrent.atomic.AtomicStampedReference;//使用原子引用解决ABA问题publiccl......
  • 前端学习-JavaScript学习-JavaScript高级程序设计-第2章笔记
    在HTML中使用JavaScript元素<script>元素元素属性MDN<script>:脚本元素属性使用状态描述charset可选、少用字符集defer可选、少用表示脚本可以延迟至文档完全被解析后实行,部分浏览器不支持language废弃编写代码使用的语言src可选包含要执行代码的......
  • 【笔记】曼哈顿距离与切比雪夫距离的互化
    【笔记】曼哈顿距离与切比雪夫距离的互化图源:https://www.cnblogs.com/SGCollin/p/9636955.html曼哈顿距离:\(|x_a-x_b|+|y_a-y_b|\)切比雪夫距离:\(\max(|x_a-x_b|,|y_a-y_b|)\)在有的题目中,要求是一种距离,但使用另一种距离更加方便。比如曼哈顿距离就可以将两维拆......