密码学基础

一、理论知识

科尔霍夫原则

1、对于一个密码学系统,应当仅有密钥是保密的,其余算法和一切参数都应该是公开的

2、并不一定要数学上完全不可破解,只要在现实中不可能破解即可

对称加密

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

非对称加密

1、加密解密使用的密钥不同

2、公钥、私钥

缺点:效率较低

传统方式:通过非对称交换密钥,再用对称加密通信

二、加解密和数字签名

加解密

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、不可预测性

相关推荐
范同学~10 分钟前
固定表头+第一列+最后一列
java·服务器·前端
雪落漂泊13 分钟前
Linux基础开发工具(三)gcc/g++与make/makefile篇
linux·运维·服务器
Sayai14 分钟前
Neo4j 社区版高可用实战:DRBD 块级复制 + Keepalived 虚拟 IP 冷备切换(附启停 SOP 与脑裂防范)
运维·neo4j·keepalived·高可用·drbd
爱吃辣椒的小豆豆22 分钟前
Linux-sshd-实战-白名单与跳板机
linux·运维·服务器
强哥聊算力42 分钟前
《算力江湖·国产GPU突围:摩尔线程故事》第四集:从图形到AI:摩尔线程为什么必须冲进大模型赛道?
运维·服务器·人工智能·ai·gpu算力
坤坤子吖1 小时前
Linux 线程同步与互斥——互斥锁
linux·服务器·c++·笔记·学习
a5986521 小时前
ARM服务器部署Docker云手机,多开实例性能实测
服务器·arm开发·docker·云手机
TDTC_XQ1 小时前
Linux网络编程accept的讲解
linux·服务器·c++
梅梅绵绵冰1 小时前
Nginx反向代理
运维·nginx
Python自动化直播1 小时前
自动化笔记:素材管理、命名、轮换的几条土办法
linux·运维·数据库