社区
数据结构与算法
帖子详情
仿射密码算法
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
...全文
304
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语言程序代码
仿射密码
是一种古典的密码学方法,用于对文本进行加密,以保护信息的安全。它基于线性同余方程,结合了乘法和加法运算,使得原始信息变得难以理解。这种密码系统由两个参数(a和b)定义,其中a是乘法因子,b是偏移量...
仿射密码
加密与解密C++源程序
仿射密码
是一种简单的加密
算法
,它使用线性变换来进行加密和解密。下面我们将详细介绍
仿射密码
的加密和解密
算法
,并提供相应的C++源代码。
仿射密码
的加密
算法
是一个线性
算法
,密钥空间为K={(k1,k2)|k1,k2∈Z26,...
仿射密码
加解密 C语言
基于C语言,实现
仿射密码
算法
,随机生成密钥a、b,加密和解密程序对任意满足条件的a、b都能够进行处理。
fangshemima.zip_labview_labview密码_
仿射密码
_
仿射密码
labview
在本例中,我们可以用VC++编写一个实现
仿射密码
算法
的DLL,然后在LabVIEW中通过调用这个DLL来执行加密和解密操作。 在LabVIEW中,创建一个VI(Virtual Instrument,虚拟仪器),添加函数节点,选择“函数→编程→...
数据结构与算法
33,027
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章