社区
数据结构与算法
帖子详情
仿射密码算法
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
...全文
300
4
打赏
收藏
仿射密码算法
加密函数为 c=am+b(mod 26) 解密函数为 m=k(y-b)(mod 26) 注:k为a的-1次方 请问:k是怎样求的啊? 比如 a=7的时候,知道k=15
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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编写,有界面MFC
仿射密码
C语言程序代码
用C语言设计的
仿射密码
,在VC6.0上可以运行,效果不错
仿射密码
加密与解密C++源程序
在VC++6.0环境下运行过,附有结果的截图
仿射密码
加解密 C语言
基于C语言,实现
仿射密码
算法
,随机生成密钥a、b,加密和解密程序对任意满足条件的a、b都能够进行处理。
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章