加密

一、加密

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

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

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

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

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

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

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

二、密钥

1、对称密钥

加解密使用相同的密钥

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

对称加密

2、非对称密钥

加解密使用不同的密钥

相关推荐
openHiTLS密码开源社区1 天前
【密码学实战】openHiTLS s_server命令行:搭建国密标准安全通信服务器
服务器·物联网·密码学·openhitls·tlcp·商用密码算法·dtlcp
我不是QI2 天前
DES 加密算法:核心组件、加解密流程与安全特性
经验分享·算法·安全·网络安全·密码学
要做朋鱼燕3 天前
密码学安全:CIA三元组与三大核心技术
网络·笔记·密码学·嵌入式·加密·aes
思考的笛卡尔7 天前
密码学基础:RSA与AES算法的实现与对比
网络·算法·密码学
openHiTLS密码开源社区8 天前
【密码学实战】openHiTLS passwd命令行:专业密码哈希生成工具
linux·密码学·哈希算法·ldap·密码策略·随机盐值
啥都不懂的小小白8 天前
密码学入门:从古典加密到现代网络安全
安全·web安全·密码学
vlln8 天前
【调研】加密货币/BTC/区块链的发展历史(2025)
区块链·密码学
要做朋鱼燕8 天前
【AES加密专题】1.AES的原理详解和加密过程
运维·网络·密码学·c·加密·aes·嵌入式工具
奔跑吧邓邓子11 天前
【C++实战(74)】深入C++安全编程:密码学实战之旅
c++·安全·实战·密码学·安全编程
学编程的小鬼12 天前
密码学中的Salt
密码学