| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 密码学基础知识 -> 正文阅读 |
|
[数据结构与算法]密码学基础知识 |
? ? ? ? ?密码学,事实上是一门非常古老的应用,古希腊时期就已经存在了斯巴达密码棒。古典密码更依赖算法的保密性,而现代密码学则依赖于对密钥的保护。现代密码学领域中,最常用的术语是密码编码学而非密码使用学。 ? ? ? ? ? 常见的古典密码:凯撒密码、仿射密码、维吉尼亚密码等。 对称算法:双方共享一个密钥,并使用相同的加密和解密方法,1976年以前的算法全部基于对称算法。 对称密码可以分为: ? ? ? ? ?序列密码:单独地加密每一个明文位。 ? ? ? ? ?分组密码:使用相同的密钥加密整个明文位分组。 ? ? ? ? ? ? ? ? ?AES、DES ?非对称/公钥算法:公钥加密、私钥解密。 具有实用性的公钥算法: ? ? ? ?1.整数分解方案:建立在因式分解大整数的困难性的基础上 ? ? ? ? ? ? ? ? RSA: ? ? ? ? ? ? ? ? 密钥生成: ? ? ? ? ? ? ? ? ? ? ?①随机选择两个大的质数:p、q(p、q绝对保密),求N=pq,r=φ(N)=(p-1)(q-1); ? ? ? ? ? ? ? ? ? ? ?②选择一个整数e,要求e<r且e与r互质; ? ? ? ? ? ? ? ? ? ? ?③私钥:d,为e关于r的模反元素,d * e ≡ 1 mod r; ? ? ? ? ? ? ? ? ? ? ? 其中(N,d)为私钥;(N,e)为公钥 ? ? ? ? ? ? ? ?加密过程: ? ? ? ? ? ? ? ? ? ? ? 明文:m(m需要小于N) ? ? ? ? ? ? ? ? ? ? ? 密文:c,m^e ≡ c (mod N) ? ? ? ? ? ? ? 解密过程:c^d ≡ m (mod N) ? ? ? ?2.离散对数方案:如签名算法DSA、ELGamal加密等。 ? ? ? ?3.椭圆曲线(EC)方案:ECDH、ECDSA数字签名算法。 密码协议:是对密码学算法的应用。 哈希函数:并非一种加密算法,它计算了一个消息的摘要,这个摘要是一个非常短的、固定长度的位字符串。它在数字签名、消息验证方面起到了重要作用。 ? ? ? ? ? ? ? ? ? ? ? ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:26:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |