二战德国谜密密码
英纳格玛(ENGMA)是由德国发明家亚瑟·谢尔比乌斯(Arthur Scherbius),被誉为“超级密码”,并使密码编译从人工手写时代跨越到了机器操作时代。并且为德国在二战时期的密码加密做了不小的贡献。
英纳格玛(ENGMA)又称恩格尼码,在所有用于军事和外交的密码里,最著名的恐怕应属第二次世界大战中德国方面使用的ENIGMA(读作“恩尼格玛”,意为“谜”)。
扩展资料
恩格尼码的诞生:
直到第一次世界大战结束为止,所有密码都是使用手工来编码的。直截了当地说,就是铅笔加纸的方式。在我国,邮电局电报编码和译码直到很晚(大概是上个世纪八十年代初)还在使用这种手工方法。
手工编码的方式给使用密码的一方带来很多的不便。首先,这使得发送信息的效率极其低下。明文(就是没有经过加密的原始文本)必须由加密员人工一个 一个字母地转换为密文。
考虑到不能多次重复同一种明文到密文的转换方式(这很容易使敌人猜出这种转换方式),和民用的电报编码解码不同,加密人员并不能把 转换方式牢记于心。转换通常是采用查表的方法,所查表又每日不同,所以解码速度极慢。
而接收密码一方又要用同样的方式将密文转为明文。其次,这种效率的低 下的手工操作也使得许多复杂的保密性能更好的加密方法不能被实际应用,而简单的加密方法根本不能抵挡解密学的威力。
解密一方当时正值春风得意之时,几百年来被认为坚不可破的维吉耐尔(Vigenere)密码和它的变种也被破解。而无线电报的发明,使得截获密文易如反掌。无论是军事方面还是民用商业方面都需要一种可靠而又有效的方法来保证通讯的安全。
1918年,德国发明家亚瑟.谢尔比乌斯(Arthur Scherbius)和他的朋友理查德.里特(Richard Ritter)创办了谢尔比乌斯和里特公司。这是一家专营把新技术转化为应用方面的企业,很象现在的高新技术公司,利润不小,可是风险也很大。
谢尔比乌斯 负责研究和开发方面,紧追当时的新潮流。他曾在汉诺威和慕尼黑研究过电气应用,他的一个想法就是要用二十世纪的电气技术来取代那种过时的铅笔加纸的加密方 法。
亚瑟.谢尔比乌斯 谢尔比乌斯发明的加密电子机械名叫ENIGMA,在以后的年代里,它将被证明是有史以来最为可K的加密系统之一,而对这种可K性的盲目乐观,又使它的使用者遭到了灭顶之灾。
参考资料来源:百度百科——恩格尼码
明文、密钥和密文的意思分别是:
1、明文:
明文,是指没有加密的文字(或者字符串),一般人都能看懂的意思,属于密码学术语。在通信系统中它可能是比特流,如文本、位图、数字化的语音或者数字化的视频图像等。
2、密钥:
密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。
3、密文:
密文是加了密的的文字,明文是加密之前的文字。加密这个词有时指密文,但通常用来指加密的方法。对明文施加某种伪装或变换后的输出。也可理解为不可直接理解的字符或比特集。但可通过算法还原的被打乱的消息,与明文相对。
扩展资料:
信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。
所以在实际的应用中,人们通常将两者结合在一起使用,例如,对称密钥加密系统用于存储大量数据信息,而公开密钥加密系统则用于加密密钥。
对于普通的对称密码学,加密运算与解密运算使用同样的密钥。通常,使用的对称加密算法比较简便高效,密钥简短,破译极其困难,由于系统的保密性主要取决于密钥的安全性。
所以,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题。正是由于对称密码学中双方都使用相同的密钥,因此无法实现数据签名和不可否认性等功能。
参考资料来源:百度百科—明文
参考资料来源:百度百科—密钥
参考资料来源:百度百科—密文
CBC模式是指将前一个密文分组与当前明文分组的内容混合起来进行加密,这样就可以避免ECB模式的弱点。
CBC模式的全称Cipher Block Chaining 模式(密文分组组链接模式),之所以叫这个名字是因为密文分组是像链条一样相互连接在一起。
在CBC模式中,首先将明文分组与前一个密文分组进行XOR运算,然后再进行加密。
ECB模式 和 CBC模式比较
当加密第一个明文分组是,由于不存在“前一个密文分组”,因此需要事先准备一个长度为一个分组的比特序列来替代“前一个密文分组”,这个比特序列称为 初始化向量 ,通常缩写为IV。每次加密时都会随机产生一个不同的比特序列来作为初始化向量。
明文分组在加密之前一定会与“前一个密文分组”进行XOR运算,因此即便明文分组1和2的值是相等的,密文分组1和2的值也不一定是相等的。这样一来,ECB模式的缺陷在CBC模式中就不存在了。
在CBC模式找那个,我们无法单独对一个中间的明文分组进行加密。例如,如果要生成密文分组3,则至少需要凑齐明文分组1、2、3才行。
假设CBC模式加密的密文分组中有一个分组损坏了。在这种情况下,只要密文分组的长度没有发生编号,则解密时,最多只会影响2个分组受到数据损坏的影响。
假设CBC模式的密文分组中有一些比特缺失了,那么此时即便只缺失了1比特,也会导致密文分组的长度发生变化,此后的分组发生错位,这样一来,缺失比特的位置之后的密文分组也就全部无法解密了。
假设主动攻击者Mallory的目的是通过修改密文来操纵解密后的明文。如果Mallory能够对初始化向量中的任意比特进行反转,则明文分组中相应的比特也会被反转。这是因为在CBC模式的解密过程中,第一个明文分组会和初始化向量进行XOR运算。
这样,Mallory 就可以对初始化向量进行攻击,但是想要对密文分组也进行同样的攻击就非常困难了。
填充提示攻击 (Padding Oracle Attack)是一种利用分组密码中的填充部分来进行攻击的方法。在分组密码中,当明文长度不为分组长度的整数倍时,需要在最后一个分组填充一些数据使其凑满一个分组的长度。在填充提示攻击中,攻击者会反复发送一段密文,每次发送时都对填充的数据进行少许改变。由于接收者在无法正确解密时会返回一个错误消息,攻击者通过这一错误消息就可以获得一部分与明文相关的信息。这一攻击方式并不仅限于CBC模式,而是适用于所有需要进行分组填充的模式。2014年对SSL3.0造成重大影响的POODLE攻击实际上就是一种填充攻击。要防御这种攻击,需要对密文进行认证,确保这段密文的确是由合法的发送者在制定明文内容的前提下生成的。
初始化向量必须使用不可预测的随机数。然后在SSL/TSL1.0的版本协议中,初始向量并没有使用不可预测的随机数,而是使用了上一次CBC模式加密时的最后一个分组。为了防御攻击者对此进行攻击,TSL1.1以上的版本中改为了必须显式得传送初始化向量。
确保互联网安全的通信协议之一SSL/TSL,就是使用CBC模式来确保通信的机密性的,如使用CBC模式三重DES的3DES_EDE_CBC以及CBC模式256比特AES的AES_256_CBC等。
分组密码中海油一种模式叫作CTS模式(Cipher Text Stealing模式)。在分组密码中,当明文长度不能被分组长度整除时,最后一个分组就需要进行填充。CTS模式是使用最后一个分组的其哪一个密文分组数据来讲信息填充的,它通常和ECB模式以及CBC模式配合使用。根据最后一个分组的发送顺序不同,CTS模式有几种不同的变体(CBC-CS1、CBC-CS2、CBC-CS3)。
该系列的主要内容来自《图解密码技术第三版》
我只是知识的搬运工
文章中的插图来源于原著
1、定义不同
明文,是指没有加密的文字(或者字符串),一般人都能看懂的意思,在通信系统中它可能是比特流,如文本、位图、数字化的语音或者数字化的视频图像等。
密文是加了密的的文字,明文是加密之前的文字。密文是对明文进行加密后的报文。
2、特点不同
明文:有意义的字符或比特集,或通过某种公开的编码标准就能获得的消息。
密文:由密码系统产生的报文和信号,如果不经过码文接收者指示进行码文变换,即解密,他人无法理解,其目的是保证所发信息的机密性。
3、破译方法不同
明文:穷尽搜索,破译密文最简单的方法,就是尝试所有可能的钥匙组合;密码分析,在不知其钥匙的情况下,利用数学方法破译密文或找到钥匙的方法;除密钥的穷尽搜索和密码分析外,常见的方法有:欺骗用户口令密码和在用户输入口令时,应用各种技术手段,“窥视”或“偷窃”密钥内容。
密文:直接操作密文数据;分步查询;基于Hash的密文检索方案;密文检索发展方向等。
参考资料来源:百度百科-明文
百度百科-密文
在对称分组密码体制中 CBC模式(密文分组链接模式) 与 CTR模式(计数器模式) 是安全性最高且最常用的两种模式,在这两种模式中前一分组会以不同的形式影响下一分组的加密过程,因此这两种模式的安全性相对较高。
在项目研发过程中,需求是要在嵌入式节点间实现实时安全通信,而CTR模式能够支持并行加解密过程计算,因而 在项目中选择CTR模式的SM4对称加密算法。
以下对于分组密码中CBC模式以及CTR模式的原理进行简单介绍:
CBC模式的全称是Cipher Block Chaining模式(密文分组链接模式),之所以叫这个名字,是因为密文分组像链条一样相互连接在一起。首先将明文分组与前一个密文分组进行XOR运算,然后再进行加密。 注:对于第一个分组需要构造一个长度为分组长度的初始向量IV。
1)能够隐蔽明文的数据模式,相同的明文对应的密文一般是不同的;
2)无法单独对中间的明文分组进行加密。例如,如果要生成密文分组3,必须按序生成密文分组1和密文分组2。
CTR模式全称counter模式(计数器模式)。CTR模式通过对逐次累加的计数器加密来生成密钥分组与明文分组异或产生密文分组。
CTR模式的解密过程将明文分组与密文分组位置调换即可。
从原理图中可以看出:
1)能够隐蔽明文的数据模式,相同的明文对应的密文一般是不同的;
2)CTR模式中可以以任意顺序对分组进行加密和解密,能够以任意顺序处理分组,意味着能够实现并行计算。使用并行计算,CTR模式的加解密是非常快的。
首先破解RSA是指 密文 ->明文 的过程!
假设明文m,密文c,私钥d,公钥e,RSA加密的流程如下:
1、两个较大的互不相等的质数p和q
2、n = p * q
3、fn = (p - 1) * (q - 1)
4、e 与 fn 互质, 且1 <e <fn
5、d满足 de % fn = 1
6、加解密:
c = (m^e) % n
m = (c^d) % n
上面的公式可以理解为通过公钥加密,而通过私钥解密。
第一种情况:已知明文和公钥得到私钥加密的密文,这个是加密过程,与私钥d关系不大,加密过程主要在于n的值!
假设这种情况已知明文m,公钥e,私钥d,密文c有无数种。
第二种情况:已知明文密文和公钥得到私钥。
已知明文m,密文c,公钥e求私钥d,套入次公式:c= (m^e) % n,n的值也是不唯一的,所以私钥d的值也不唯一。
在有正确答案做对比的情况下个人感觉第二种情况比较容易求出吧。
个人见解,欢迎讨论。
由其加密、解密原理可知,当x=6时,y=3,从而a=2;
不妨设接受方接到密文为“4”的“明文”为b,则有4=log2(b+2),从而有b=24-2=14.
即解密后得明文为14
故答案为:14.
己知某种加密规则为:
明文a、b对应的密文为2a-b、2a+b
但是,按照此规则却无法直接解释此题中的例子
例如,明文1、2对应的密文是-3、4
直接用密文规则结果应该为0,4
很多考生仅仅通过密文7,被迫得出答案3,1
但是通过它的加密规则得出的答案应该是2,3