仿射密码原理简述与应用

本文介绍了乘法逆元的概念,以及其在模运算中的应用,特别是在仿射密码中的作用。仿射密码是一种古典密码学方法,利用乘法逆元实现加密和解密过程。通过示例展示了如何使用特定秘钥(如(7,3))进行加密和解密,将明文字符串‘china’转换为密文并还原回原文。该过程揭示了数学在信息安全中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提知识(乘法逆元)

若a,x,b满足:ax\equiv 1(modb),则称a为关于模b的乘法逆元为x;如7\times 15\equiv 1(mod26)(105%26=1)则15是7关于模26的乘法逆元,同时7是15关于模26的乘法逆元

仿射密码函数

设仿射密码秘钥为(a,b),则,

加密函数:y=E(x) = (ax+b)(modm);

解密函数:D(y) = a^{-1}(y-b)(modm);其中a^{-1}为a的乘法逆元

满足唯一解的充分必要条件是:gcd(m,a)=1

应用

若秘钥(a,b)为(7,3),则7的乘法逆元x满足:7\times x\equiv 1(mod26),x可为15(不唯一)。

则加密函数:y=E(x)=(7x+3)mod26;解密函数为:D(y)=15(y-3)mod26

设明文为china,转数字为2,7,8,13,0,带入加密函数得,

(7\times [2,7,8,13,0 ]+[3,3,3,3,3])mod26=[17,0,7,16,3],转字母得密文:

[r,a,h,q,d]

将密文转数字后解密,带入解密函数得:

(15\times [17,0,7,16,3]-[45,45,45,45,45])mod26=[2,7,8,13,0],转字母得明文:

[c,h,i,n,a]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值