密码学
文章平均质量分 69
EI Olam
博客园 01am
展开
-
RSA攻击方法总结笔记
RSA攻击方式总结1.模数分解1).解题思路 a).找到RSA算法中的公钥(e,n) b).通过n来找到对应的p和q,然后求得φ(n) c).通过gmpy2.invert或者gmpy2.gcdext可以求得e的逆元d d).通过pow函数将密文解密(pow(a,b,c)函数的速度比直接写a**b mod c 要快)2).直接分解n a).通常情况下,如果n的长度小于256bit(二进制),那么可以通过本地的工具进行分解(RSATool2v17) b).如原创 2021-08-09 15:16:34 · 3741 阅读 · 0 评论 -
散列算法和数字签名笔记
散列算法与数字签名在RSA加密中,如果A是发送方,B是接受方,则A用B的公钥加密信息,而B可以用自己的私钥解密信息,从而达到保密传输的作用。但是在数字签名技术中,这个过程恰好是反过来的,即:A是发送方,B是接收方,A用自己的私钥加密信息,B用A的公钥解密信息。因为A的私钥只有A持有,所以如果B使用A的公钥成功解密信息,则可以证明是A发来的信息。即使中间有人用A的公钥解密后篡改了信息,由于没有私钥,从而无法完成对篡改后信息的加密,这样B也不会认为被篡改后的信息是A发过来的。尽管这个机制无法完成保密(因为原创 2021-08-09 15:15:12 · 801 阅读 · 0 评论 -
生日悖论的笔记
生日悖论生日悖论的传统表述生日悖论的起源是一个简单的问题:两个人出生在同一天的概率是多少?这个也通常是概率课堂上老师会展现的一个问题。这个问题的答案可以很轻松的看出是1/365≈0.274(假设一年只有365天,且生日分布均匀。因为两个人的生日是独立事件,所以第一个人可以为一年中的任意一天,而第二个人则是一年中固定的与第一个人相同的一天。也可以从反面计算两个人生日不同的概率(365*364)/(365*365),然后用1减去,可以得到相同的结果)。生日悖论的扩展而当问题扩展到在三个人中,有两个人生日原创 2021-07-11 21:24:52 · 395 阅读 · 0 评论 -
离散对数和秘钥交换笔记
Diffie Hellman算法1. 离散对数:求解如下形式的代数方程:ax=b式中:a,b是有限域F中的已知元素。求解x就是所谓的“计算离散对数”离散对数与通常的对数相比,区别在于:a. 对数作用在实数和复数这样的连续的数集上,离散对数作用在有限域上b. 求解任意实数或者复数的对数都有简便的公式,但是迄今为止还没有计算离散对数的容易方法。许多密码体系的安全性也正是来源于求解离散对数的困难性。2.Diffie Hellman秘钥交换协议该协议基于离散对数难题,也是基于离散对数难题的最简单却原创 2021-06-20 12:04:39 · 351 阅读 · 0 评论 -
简单介绍RSA加密算法
RSA算法简介RSA算法基于一个广泛用做密码学基石的数论问题——因子分解问题:给一个任意的整数n(通常很大,并且越大越难分解),在合理的时间内分解出它的素因子是很困难的。通常困难程度随着n的银子个数减少而增加,最难的情形就是n是两个大素数的乘积。而RSA算法的安全性就基于这个最难的情形。加密过程a. 首先设出p,q两个非常大的素数(通常在十进制下有几百位),而n=pq,则可以得知,通过p,q求n是简单的,而通过n来求p,q则是非常困难的。b. 计算t=φ(n)=(p-1)(q-1),其中φ(n)是欧原创 2021-06-19 16:47:34 · 947 阅读 · 0 评论