简单的编码解码游戏(续)

来源 :中国信息技术教育 | 被引量 : 0次 | 上传用户:yuhua1435
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  上期文章提到一种叫“ROT-13”的文字游戏,按字母表的顺序往右移13位,将字母明文替换为密文,如“seeyoulater”会变成“frrlbhyngre”,不过若总是移动13位,那么密码很容易被破解,为了让密码更安全,可以每一次移位替换掉一个字母后,就变动一下移动的次数,于是“ROT-13”就成了“ROT-n”。例如,密码的发送方和接收方使用“14159265358”当作ROT-n的移动次数,对明文“seeyoulater”加密后“s”变成“t”,“e”变成“i”,而再后一个字母“e”则变成了“f”。其中“14159265358”这串数字被称为密钥。如图1借助MS Excel里的函数,可以让替换工作变得更轻松。
  为ROT-n换钥匙
  如果密码的发送方和接收方总是用“14159265358”当作ROT-n的移动次数,那么每经过11次移动操作后,就只能按原有的模式再重复做移动操作,有经验的密码破解者就可利用这个漏洞来猜解密码,所以文本的发送者就要定期更换“钥匙”。不过问题是发送和接收双方如何知道“钥匙”究竟是什么数字呢?假设这样的情况:发送方和接收方身处异地,而加密后的密文与钥匙只能交由某第三方传达——这简直就是考验第三方的“诱惑耐受值”。借助一些简单的数学工具可以找到一些简单的解决方法。
  ⑴发送和接收双方预先找到某一个很大的素数A。有许多网络工具可以找大素数,www.numberempire.com网站就提供了搜寻大素数的功能,如图2先输入某个很大的数字如“11221123321123443211234554321”,然后选中“Findnext”,再点“Compute”
  找到最接近的素数为“112211233211234
  43211234554373”,发送接收双方在分手前预先保存好这个素数。
  ⑵每次在传送信息前,接收方都要再找一个大素数B当作钥匙,如“1415926535897932384633”,将大素数A和大素数B相乘,得到大合数C,这里仍然可以借助网络工具,如defuse.ca/big-number-calculator.htm对大数字做乘法。结果得到的合数C是“15888286272961819275349957628854586099036988150109”。然后将C交由第三方传达给发送方。将一个很大的合式作因式分解,需很长的时间,所以即便第三方对这串数字很感兴趣,在相当长一段时间内,也无法知道素数A和B究竟是什么。
  ⑶发送方收到大合数C,因为事先知道大素数A,所以用简单的除法得到B,然后将大素数B“14159265358979323
  84633”作为密钥,按字母表顺序移动替换进行ROT-n加密,然后将密文经由第三方传送给接收方,接收方用B作为钥匙逆向移位解码即可。
  ⑷下次又有发送信息需要的时候,接收方再重新找一个大素数B当作钥匙,将其与素数A相乘传给发送方即可。
  上面的例子可以用来展示加密技术原理,不过现实世界中使用的各种加密技术要复杂得多,数学中关于素数的许多研究都被用于加密技术,有兴趣的朋友可以深入研究一下。
  打造永远安全的ROT-n钥匙
  世界上有没有绝对无法破解的密码?理论上绝对安全的密码是“一次一密”,假如所使用的密钥与发送信息等长且没有任何规律,那么破解者就无从下手,可是发送接收双方如何才能记住那没有规律的密钥呢?其实方法也不难,以ROT-n为例,双方先约定好某套百科全书,然后加密方按顺序依次读该书上的任何字母,每个字母都代表特定的字母表移动次数,如“a”代表移动1次,“b”代表移动2次,这么一来整部百科全书就成了密钥。当然,前提条件是双方都要有这么一套百科全书。尽管这个密钥长度仍然有限,但在相当长的一段时间里也够用了。“一次一密”缺点也很明显,一是密钥必须随时带着(谍战影片里特工常会随身带着一本书当密钥),二是如果发送方发送了很长的信息而接收方没有收到,双方使用的密钥就无法同步了,所以还需要另外引入同步密钥的机制。
其他文献
针对传统基于视速度双矢量粗对准中,由于传感器随机噪声的影响,存在对准精度差,收敛速度慢的缺点,提出了一种新型自适应Kalman滤波的参数识别粗对准方法。该方法通过对视速度
针对捷联惯性导航系统(SINS)/多普勒计程仪(DVL)组合导航系统工作于水跟踪模式条件下的高精度定位需求,提出一种考虑洋流影响的SINS/DVL组合导航算法。分析了DVL水跟踪模式下
● STEM教育与机器人教育  1.STEM教育  STEM教育理念是当前国际上颇有影响力的教育思想之一,这一理念强调科学(Science)、技术(Technology)、工程(Engineering)、数学(Mathematics)四个领域的交叉融合与运用。在STEM教育中,科学素养是重点,是为学生将来进一步从事科学研究打基础的;技术素养和工程素养则是在实际的社会分工中普遍体现的,它以明显的应用
智能机器人是现代技术特别是信息技术发展的综合体现,是中小学技术课程和综合实践课程的良好载体,本文分析了中学阶段开展机器人教学的现状,并阐述了肇庆市××中学开展
针对高动态环境下惯性/天文组合导航精度下降的问题,提出一种基于神经网络辅助的惯性/天文组合导航方法。首先以组合导航滤波估计过程中的增益矩阵和动态环境下的惯性器件量
针对地磁测量误差和地磁补偿余差等带来的匹配误差增大和易造成误匹配的问题,提出了一种基于概率数据关联的地磁匹配ICCP算法。首先,基于磁场测量误差的统计特性,在一定置信
教师在制作课件时,经常要插入一些图片到课件中,当然这些可以上网下载。然而,当我们在网上找到一些好看的图片,上面却有水印或文字时,或者我们在拍摄的照片中出现碍眼的人或物体时
最近听到一个抽考的事,包括各个学科在内,由相隔很远的教师临时抽签监考,对学生的综合实践、体育及各学科技能进行抽测。这是没有办法的办法,还是新办法呢?其实,这对信息技术
自2014年5月,教育部先后颁布《中小学教师信息技术应用能力标准(试行)》和《中小学教师信息技术应用能力培训课程标准》以来,能力提升工程一直在各地如火如荼地开展着.2015年7
2013年7月,我作为广东省中小学新一轮"百千万人才培养工程""高中理科类名教师"培养对象,首次因宣讲教育思想接受学生和老师的批判,我们将教学思想的宣讲环节称为"人人论坛",要求每