用程序实现扩展的加密算法
凯撒密码: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'
四、实验数据:
这就是用上述的算法实现的数据输出,明文(上)与密文(下)