密码学基础

一、理论知识

科尔霍夫原则

1、对于一个密码学系统,应当仅有密钥是保密的,其余算法和一切参数都应该是公开的
2、并不一定要数学上完全不可破解,只要在现实中不可能破解即可

对称加密

加密解密都使用相同的密钥

非对称加密
在这里插入图片描述

1、加密解密使用的密钥不同
2、公钥、私钥
3、公钥加密的原文,用原公钥无法解密,只能用对应的私钥解密,通过私钥可以计算出公钥,但通过公钥无法推导出私钥。

缺点:效率较低
传统方式:通过非对称交换密钥,再用对称加密通信

在这里插入图片描述

二、加解密和数字签名

加解密
1、Alice 给 Bob传信息,Alice用Bob的公钥加密,Bob用自己的私钥解密
2、在没有私钥的情况下,无法获取到明文相关信息

数字签名
1、Alice想证明某个消息是自己发的
2、Alice用自己的私钥签名,其他人可以用Alice的公钥验证签名有效性
3、在没有私钥的情况下,无法伪造签名
4、ECDSA
在这里插入图片描述

三、哈希算法

消息摘要

1、把无穷空间内的消息映射到有限空间内的摘要
2、H(M) = x (H就是hash算法,M就是Massage,x就是摘要,hash的结果值)
3、确定性算法
4、消息一旦改变,摘要也会改变
在这里插入图片描述
hash算法的重要性质

1、不可逆(单向性),拿到哈希值的人,无法知道原始明文是什么
2、抗碰撞,无法找到两个不同的消息,但是摘要相同
3、确定性
4、混淆性
5、不可预测性

四、区块链中的密码学

靠哈希算法性质维护最长链,防止攻击
1、每一个快的头部,都包含了上一个区块的哈希,链式结构
2、想要修改之前区块中的某个内容,需要从开始整个后面的所有块都要修改
3、枚举哈希很难,所以很难对抗全网算力算出新的链
在这里插入图片描述
Maekle Tree(默克尔树)
1、一种依靠哈希来快速确认某个值是否在一个集合中的数据结构
2、常用于区块储存交易,发行白名单确认等场景
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值