密码学基础

一、理论知识

科尔霍夫原则

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

相关推荐
robator1 分钟前
ubuntu 22.04 升级nvidia显卡驱动、cuda 和cudnn
linux·服务器·ubuntu
发光小北16 分钟前
SG-TCP232-110(单通道串口服务器)特点与功能介绍
服务器·网络·单片机
翼龙云_cloud19 分钟前
亚马逊云渠道商:AWS Lightsail的常见问题怎么解决?
运维·服务器·云计算·aws
风乍起吹皱一池春水22 分钟前
Linux 文件及用户的一些日常命令
linux·服务器
渡我白衣26 分钟前
计算机组成原理(5):计算机的性能指标
服务器·网络·c++·人工智能·网络协议·tcp/ip·网络安全
炼丹精神小伙29 分钟前
VS Code 多跳板机连到目标服务器
运维·服务器
草莓熊Lotso30 分钟前
Python 基础语法完全指南:变量、类型、运算符与输入输出(零基础入门)
运维·开发语言·人工智能·经验分享·笔记·python·其他
晚霞的不甘30 分钟前
Flutter + OpenHarmony 发布与运维指南:从上架 AppGallery 到线上监控的全生命周期管理
运维·flutter·harmonyos
同聘云31 分钟前
阿里云国际站服务器防火墙如何使用及防护???
服务器·阿里云·云计算
测试人社区—小叶子32 分钟前
DevTestOps成熟度模型:从CI/CD到质量门禁
java·运维·网络·人工智能·测试工具·ci/cd·自动化