加密

一、加密

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

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

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

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

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

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

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

二、密钥

1、对称密钥

加解密使用相同的密钥

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

对称加密

2、非对称密钥

加解密使用不同的密钥

相关推荐
Turbo正则16 小时前
量子计算基础概念以及八大分支
密码学·量子计算
网安INF11 天前
公钥加密与签名算法计算详解(含计算题例子)
网络·算法·网络安全·密码学
电院工程师12 天前
基于机器学习的侧信道分析(MLSCA)Python实现(带测试)
人工智能·python·嵌入式硬件·安全·机器学习·密码学
电院工程师14 天前
SM3算法C语言实现(无第三方库,带测试)
c语言·算法·安全·密码学
小七mod15 天前
【BTC】密码学原理
web3·区块链·密码学·比特币·btc·肖臻·北大区块链
电院工程师21 天前
轻量级密码算法PRESENT的C语言实现(无第三方库)
c语言·算法·安全·密码学
电院工程师21 天前
轻量级密码算法CHAM的python实现
python·嵌入式硬件·算法·安全·密码学
电院工程师22 天前
SM3算法Python实现(无第三方库)
开发语言·python·算法·安全·密码学
网安INF22 天前
SHA-1算法详解:原理、特点与应用
java·算法·密码学
渗透好难25 天前
CTF show 数学不及格
安全·系统安全·密码学