加密

一、加密

加密运算需要两个输入:密钥和明文

解密运算也需要两个输入:密钥和密文

密文通常看起来都是晦涩难懂、毫无逻辑的,所以我们一般会通过传输或者存储密文来保护私密数据,当然,这建立在一个基础上,那就是只有经过授权的人或者机器,才能够通过密文计算出明文

那经过授权的人或者机器,是如何通过密文计算出明文的?密钥

你可能会觉得,密钥太重要了!但现代密码学之前的加密,并不涉及密钥,加密数据的安全性完全依赖于加密算法的保密性,一旦算法被破解,密文也就被破解了,虽然算法保密看起来很安全,但算法质量是令人担忧的,到了现代密码学,加密数据的安全性依赖于加密算法的质量和密钥的保密性这两个因素,密钥是私有部分,需要严格保密,算法是公开的,为什么算法一定要公开?为了让你更直观地了解使用公开算法的重要性,我们一起来看看公开算法的遴选过程

你看,仅单向散列函数的遴选,就用时 7 年,期间还聚集了世界上最出色的密码学专家,如果一个算法在接受了公开的分析、评测和各种攻击之后,依然被认为是安全的,我们才能说这个算法的质量是经得起考验的,也才能放心使用

现代密码学的加密数据安全性,是基于密钥保密,而非加密算法保密,使用公开的加密算法是密码学领域的一个基本常识

二、密钥

1、对称密钥

加解密使用相同的密钥

说起对称密钥,就不得不提它的对立面,非对称密钥,1976 年,惠特菲尔德·迪菲(Whitfield Diffie)、马丁·赫尔曼(Martin Hellman)发表了基于非对称密钥技术的密钥交换算法,但在这之前,并没有对称密钥、非对称密钥的说法

对称加密

2、非对称密钥

加解密使用不同的密钥

相关推荐
H0ne11 小时前
抽象代数:群、环、域的密码学视角
密码学·抽象代数
如君愿2 天前
考研复习 Day 39 | 密码学--第四章 分组密码(上)
考研·密码学
Deep-w2 天前
【MATLAB】基于MATLAB的图像加密传输平台【GUI+源码+项目说明】
开发语言·matlab·密码学
阿萨德528号3 天前
纯前端RSA加密解密工具:基于JSEncrypt的浏览器端数据加解密实践
笔记·密码学
如君愿3 天前
考研复习 Day 38 | 密码学--第三章 古典密码
考研·密码学·课后习题
如君愿4 天前
考研复习 Day 37 | 密码学--第一章 绪论、第二章 相关的基础知识
考研·密码学
lularible5 天前
HSM技术精讲(1.4):当信道不再可信——密码学的诞生
安全·开源·密码学·嵌入式
其实防守也摸鱼5 天前
ctfshow--Crypto(funnyrsa1-密码2)解题步骤
python·安全·web安全·网络安全·密码学·web·工具
其实防守也摸鱼13 天前
软件安全与漏洞--软件安全设计
运维·网络·安全·网络安全·密码学·需求分析·软件安全
其实防守也摸鱼14 天前
ctfshow--Crypto(crypto1-14)解题步骤
java·开发语言·网络·安全·密码学·ctf·ctfshow