扩展的凯撒密码实现

用程序实现扩展的加密算法 

凯撒密码:C = (M+K)mod 26  ——> C = (K1*M+K2)mod

当中K1是有限制的,而K2是任意的

1. 确定在模26内哪些数能作为K1使用。

  方法:从0-25内其中任何一个数,有且只有一个数在模26内,存在一个逆

 

出结果:

即在1-25之间只有以上几个数才能作为K1 ,不然会出现问题

 

 

2. 在之前的基础上确认k1和k2

3. 输入明文:thetaskiscancelled, 输出密文

决方法:

解释利用c = (K1*m+K2)mod 26 这个公式,计算出结果。其中用数组realWord[19]来表示文明,用数组screctWord[i]来表示密文,当中最重要的是以下公式:

screctWord[i] = (K1*(realWord[i]-'a')+K2)%26+'a'

 

 

实验数据:

 

这就是用上述的算法实现的数据输出,明文(上)与密文(下)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值