社区
数据结构与算法
帖子详情
仿射密码算法
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
...全文
318
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语言完成。实验内容包括密钥生成、加密和解密
算法
的实现,其中密钥a和b需满足特定条件(如gcd(a,26)=1)。加密过程区分大小写字母,确保密文能还原明文的大小写格式。解密过程通过求逆元实现,并处理了负数情况。实验还涉及文件操作,将密文存储在output.txt中以便后续解密。报告总结了实验目的、原理、步骤及心得体会,展示了
仿射密码
算法
的完整实现流程。
仿射密码
代码C编写带界面
仿射密码
加密和解密代码,C编写,有界面MFC
仿射密码
C语言程序代码
用C语言设计的
仿射密码
,在VC6.0上可以运行,效果不错
仿射密码
加密与解密C++源程序
在VC++6.0环境下运行过,附有结果的截图
数据结构与算法
33,029
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章