密码学
Datou_Nie
非淡泊无以明志,非宁静无以致远
展开
-
HMAC的数学定义
Definition of HMAC The definition of HMAC requires a cryptographic hash function, which we denote by H, and a secret key K. We assume H to be a cryptographic hash function where data is hashed by iterating a basic compression function on bloc.原创 2021-08-16 19:57:51 · 230 阅读 · 0 评论 -
RSA算法原理
一、RSA秘钥生成原理随意选择两个大的素数和,并且保证,计算 根据欧拉函数,。 选择一个小于的整数,使与互质。并求得关于的模逆元,命名为(求令)。(模逆元存在,当且仅当与r互质)。 将和的记录销毁,作为公钥,作为私钥。二、RSA加密原理对于待加密的消息,将其以特定的格式编码得到。 使用公钥计算密文。三、RSA解密原理使用私钥计算明文。 将解码码还原成消息。解码的原理是。...原创 2019-02-21 15:57:03 · 2049 阅读 · 0 评论 -
RSA算法
受限于个人精力有限,一直没有时间总结RSA相关的知识,最近相对不那么忙了,打算花上一些时间写一下RSA算法相关的博客。打算讲博客分为以下部分,来系统的讲解以下RSA算法的知识,《RSA算法背景》、《RSA算法原理》、《RSA算法秘钥生成》、《RSA算法加密和解密》、《RSA算法签名和验签》、《RSA算法优化和漏洞》、《RSA算法漏洞和加固》。...原创 2019-02-20 15:54:01 · 739 阅读 · 0 评论 -
RSA算法背景
RSA加密算法是一种非对称加密算法,是1977年由麻省理工学院的(Ron Rivest)、(Adi Shamir)和(Leonard Adleman)一起提出的。RSA就是他们三人姓氏开头字母拼在一起组成的。实际上,1973年,在英国政府通讯总部工作的数学家克利福德·柯克斯(Clifford Cocks)在一个内部文件中提出了一个相同的算法,但他的发现被列入机密,一直到1997年才被发表。...原创 2019-02-20 16:35:34 · 3088 阅读 · 0 评论 -
RSA加密和解密
如前面《RSA算法原理》里描述,RSA算法的加解密操作本质上来讲就是大数的模幂运算,RSA算法的安全性很大程度上取决于填充方式,因此在一个安全的RSA加密操作需要选择一个合适的填充模式,最常见的加密填充模式有RSA_PKCS_V15和RSA_PKCS_V21(OAEP),下面还是以mbedtls里的RSA加密源码为例做进一步分析。一、RSA加密/* * Add the message ...原创 2019-03-05 17:45:22 · 5447 阅读 · 0 评论 -
RSA密钥生成
本博客以mbedtls crypto库为参考介绍RSA密钥对的生成过程。主要可以分为两部分,第一部分是寻找质数和,第二部分是根据和计算公钥和私钥,如下所示生成RSA密钥对的函数。/* * Generate an RSA keypair * * This generation method follows the RSA key pair generation procedure of...原创 2019-02-27 12:15:35 · 5632 阅读 · 0 评论 -
RSA签名和验签
由于RSA算法相对于对称加密算来说效率较低,通常RSA算法用来加密小数据,如对称加密使用的key等。实际上应用更为广泛的是RSA算法用在签名操作上。通常使用私钥对一段消息的hash值进行签名操作,达到消息的防篡改和伪造。这里就来介绍一下RSA算法是如何应用到签名领域的。一、RSA签名RSA算法的签名和验签操作本质上来讲也是大数的模幂运算,RSA算法的安全性很大程度上取决于填充方式,因此在一...原创 2019-03-06 17:10:31 · 18081 阅读 · 1 评论