【密码学-1】一文入门非对称密码学

本文共1932字,完成阅读约需6分钟。

写在前面

犹记得2021年年初的一波区块链热潮让无数人第一次了解到了“公钥”和“私钥”的概念,那么,究竟什么是公钥私钥呢?和常见的密钥又有什么区别和联系呢?本文目的在用尽可能短的时间和简洁的语言,带你快速了解非对称密码学的基本知识。

非对称密码学

又称为非对称密码学,1976年起完成创立。
经典体系中的对称密码学的目标通常是令输入的信息与输出的信息之间不构成紧凑的数学描述关系——即向外人隐藏加密信息的原始内容;而在非对称密码学中,大多数公钥密码的算法则是基于数论函数完成。
在这里插入图片描述

对称密码学的特点和存在的问题

特点
1 加密和解密过程中使用的密钥k相同且唯一
2 加密函数和解密函数非常相似,而且通常很容易互相推导
缺陷
1 尽管加密后的信息不要求可信信道的传输,但是对应的密钥k依赖可信信道进行传输
2 当存在多用户的网络使用对称密码加密时,通信所需的密钥个数随着用户数量n增加呈指数级增长:n(n-1)/2 将占用大量资源
3 在对称密码建立的通信过程中,通信双方的权限相同,难以完成在特定场合下的单方证伪操作。

在此基础上,非对称密码学针对对称密码学存在的这些问题实现了一些对应的改进。

改进
1 分离了加密信息所用的公钥和解密信息所用的私钥,因此在信息传递过程中将不发生密钥的传输和交换,无需依赖可信加密信道进行信息传输。
2 将加密和解密所用的密钥分离,提供了单方证伪的可能

使用非对称密码完成的通信过程将类似于公共邮筒的方式——在得知指定用户的通信公钥后,所有人均可以使用公钥将信息加密后发送给该用户(类似投递信件进入邮筒),而只有得知私钥的用户本人,才可以将信息解密获得内容(类似邮递员用钥匙解锁邮筒并获得信件)
在这里插入图片描述

非对称密码学的公共原理——单向函数

函数f(x)当且仅当满足以下条件时为单向函数:

条件
1 y=f(x)的正向计算非常容易->计算时间为多项式表示
2 x=f -1 (y)的逆向计算理论上不可行->通常为密集型计算,将耗费大量时间

在现阶段对非对称密码学的研究和应用中,存在以下三种较为常用的单向函数

名称 特点
整数分解 正向:计算给定两个足够大质数的乘积;逆向:由乘积完成两个质数的因式分解,是一种比较经典的单向函数算法。
离散对数 基于同余运算和原根的一种对数运算。
椭圆曲线 与前两种算法相比,达到相同安全等级所需的密钥长度较短

非对称密码学的实用性分析

从机制上分析

  1. 密钥建立--------可以不依赖安全信道完成信息通信全过程
  2. 不可否认--------使用数字签名算法实现了消息完整性确认和不可否认的信息证伪
  3. 身份标识--------质询-响应协议与数字签名集合的快速身份识别
  4. 信息加密--------使用RSA等算法更安全地加密消息

但是,尽管从机制原理上来看,非对称密码学更符合现代安全协议的功能要求,其依然存在一个相对对称密码学更为明显的劣势:由于对数据进行加密的计算量较大,使用公钥对数据加密的时间一般也较长,在实际使用中更实用的方法一般是使用混合协议,综合使用公钥+对称密码的方式完成安全的隐私数据传输。1

从安全等级上分析

公钥算法所需的操作数和密钥相比对称密码学都较长——在相同安全等级时,椭圆曲线算法所需的密钥长度已经为三种算法最短的情况下,认为常见对称密码学密钥的两倍。
考虑到长期安全性保证,通常使用128位对应的安全等级。


  1. 如SSL/TLS等协议 ↩︎

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>