C语言程序问题

本程序对某电码文(原文)进行加密形成密码文,其加密算法如下假定原文为C1,C2,C3,…,Cn加密后形成的密文为S1,S2,S3,…,Sn,首先读入正整数key(key>... 本程序对某电码文(原文)进行加密形成密码文,其加密算法如下

假定原文为C1,C2,C3,…,Cn加密后形成的密文为S1,S2,S3,…,Sn,首先读入正整数key(key>1)作为加密钥匙,并将密文字符位置按顺时针方向连成一个环。
加密时从 S1 位置起顺时针计数,当数到第 key 个字符位置时,将原文中的字符放入该密文字符位置中,同时从环中除去该字符位置;接着从环中下一个字符位置起继续计数,当再次数到第 key 个字符位置时,将原文中字符 C2 放入其中,并从环中除去该字符位置;依次类推,直至 n 个原文字符全部放入密文环中。由此产生的 S1S2...Sn 即为原文的密文。

例如,当 Key=3 时,原文:this is a decoding system 的密文为:
aotgnhedi ys d imietsnc ss

当Key=4时,该原文的密文为:
ssdtyd htegiasiscnm e ion

我的疑问:k=3时,不是第3个字符?即iiac…
展开
 我来答
flameleo11
2010-09-12 · TA获得超过5343个赞
知道大有可为答主
回答量:1943
采纳率:50%
帮助的人:1036万
展开全部
你理解错了,文中是说将【密文】字符【位置】也就是S1-SN连成一个环。
当key =3
加密方法是,把原文的第一个字符C1(也就是't')放入密文第三个位置S3,
从环中去掉S3位置,继续数3个位置到S6,将C2放入S6也就是'h'放在第6个位置。
以此类推、、、
你疑问刚好是弄反了,未加密的连成的环。

如果楼主有空的话,把你搜集的关于加密的文献发点,正想看看,先谢过 了。
unmage@163.com
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式