![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
密码学
文章平均质量分 82
清楼小刘
这个作者很懒,什么都没留下…
展开
-
存在乘法逆的充分必要条件
阅读《密码学与网络安全》的乘法逆时,书上一笔带过:可以证明,在集合Zn中当且仅当gcd(n,a) = 1时,a具有一个乘法逆不解如何证明,搜索到比较好的一个回答:https://www.zhihu.com/question/27611042引用如下:假设x是a对于b的乘法逆元,则有 a*x = 1 mod b, 即x是方程 a*x + b*y = 1的一个整数解。但是形如 a*x转载 2017-06-21 11:43:54 · 2060 阅读 · 0 评论 -
单变量线性同余方程的C++实现
在这里要注意一点的就是乘法逆的求法:求a关于n的乘法逆的方法就是利用扩展的欧几里得算法求解:s * n + a * t = 1 (gcd(n,a) = 1才存在乘法逆)实现代码如下:int gcd(int x,int y){ return y == 0 ? x : gcd(y,x%y); } void exEuclidean(int a,int b,int原创 2017-06-21 16:33:46 · 871 阅读 · 0 评论 -
仿射密码的加密和解密,蛮力攻击C++实现
实现代码如下:void exEuclidean(int a,int b,int &s,int &t){ int r1 = a, r2 = b , s1 = 1, s2 = 0, t1 = 0, t2 = 1;//初始化 int q,r; while(r2 > 0) { q = r1 / r2; r原创 2017-06-21 17:20:04 · 5400 阅读 · 0 评论