社区
数据结构与算法
帖子详情
仿射密码算法
senkiner
2005-01-08 11:35:38
加密函数为 c=am+b(mod 26)
解密函数为 m=k(y-b)(mod 26)
注:k为a的-1次方
请问:k是怎样求的啊?
比如 a=7的时候,知道k=15
...全文
272
4
打赏
收藏
仿射密码算法
加密函数为 c=am+b(mod 26) 解密函数为 m=k(y-b)(mod 26) 注:k为a的-1次方 请问:k是怎样求的啊? 比如 a=7的时候,知道k=15
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
senkiner
2005-01-08
打赏
举报
回复
另外,我把其他几个数的也写出来:
a=3时,k=9
a=5时,k=21
a=7时,k=15
a=11时,k=19
================================
k的数值为 (a的-1 次方 mod 26)
也就是 (a的-1 次方 mod 26)是怎样求的阿?
senkiner
2005-01-08
打赏
举报
回复
递归的,是否有初始值?
比如知道a=5,b=26,怎样求x啊?
LeeMaRS
2005-01-08
打赏
举报
回复
k * k^-1 = 1 (mod 26)
k^-1叫k的模逆, 可以用扩展的Euclid算法求出来.
ax = 1 (mod 26) 其中x = a^-1
相当于 ax + by = 1, b = 26, 求满足条件的一组x, y. 当然我们只要x就好.
现在考虑一般的 ax + by = 1 如何求解.
满足条件的x, y存在的条件是G C D(a, b) = 1.
然后有 ax + by = G C D(a, b)
有 bx' + (a % b)y' = G C D(b, a % b)
而且有Euclid定理 G C D(a, b) = G C D(b, a % b)
所以, 有ax + by = bx' + (a % b)y'
= bx' + (a - [a/b]*b)y'
= bx' + ay' - [a/b]*b y'
= ay' + b(x' - [a/b]y')
对应, 得x = y', y = x' - [/b]y'. [a/b]是a/b再取整.
特别的, 在b = 0的时候, G C D(a, b) = a = a * 1 + b * 0
即 x = 1, y = 0
这样我们就得到一个递归的扩展Euclid算法.
jim138
2005-01-08
打赏
举报
回复
UP ::)
仿射密码
加解密 C语言
基于C语言,实现
仿射密码
算法
,随机生成密钥a、b,加密和解密程序对任意满足条件的a、b都能够进行处理。
仿射密码
C语言程序代码
用C语言设计的
仿射密码
,在VC6.0上可以运行,效果不错
仿射密码
加密解密.zip
加法密码和乘法密码结合就构成
仿射密码
,
仿射密码
的加密
算法
是: C= Ek(m)=(k1*m+k2) mod n 一、
仿射密码
基本思路 加法密码和乘法密码结合就构成
仿射密码
,
仿射密码
的加密
算法
是: C= Ek(m)=(k1*m+k2) mod n
欧几里德
算法
和
仿射密码
仿射密码
的C语言程序 带欧几里德
算法
的
仿射密码
仿射密码
-Affine cipher
仿射密码
的加密和解密
算法
是: C= Ek(m)=(k1m+k2) mod n M= Dk(c)=k3(c- k2) mod n(其中(k3 ×k1)mod26 = 1)
仿射密码
具有可逆性的条件是gcd(k1, n)=1。当k1=1时,
仿射密码
变为加法密码,当k2=0时,
仿射密码
变为...
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章