找回密码
 注册
楼主: 一吋

【科普】密码:1.如何用手指敲出摩斯密码?

[复制链接]
 楼主| 发表于 2020-5-9 22:35:54 来自手机 | 显示全部楼层
8.波利比乌斯棋盘密码
波利比乌斯棋盘方阵是由希腊历史学家波比乌斯在公元前2世纪的时候发明的。它是密码学中最简单的加密工具之一,在许多古典密码中,我们都会看到它的身影。波利比乌斯棋盘方阵本身的安全性非常低,除了每个明文字母被加密为2个密文字母之外,波利比乌斯棋盘密码基本上与简单的替换密码一样。下面是一个简单的例子:我们将加密的明文是“tuilizui”。波利比乌斯密码的密钥是由25个字母组成方阵构成,例如(顶部和侧面可以任意选择字母或数字) :下面的例子我们使用的密钥方阵是数字和正常没有打乱的25个英文字母:
Screenshot_20200509_223534_tuili.mobilenjoy.png
加密的方法很简单,明文的每个字母由它在方阵中的坐标表示,坐标的读法是先读行在读列。例如明文的第一个字体是't",该字母在方阵的第四行,第四列,所以密文就是44,明文的第二个字母“u”在第四行的第五列,所以密文字母就是45,根据这个规律,完成所有字母的加密。要进行解密,我们只需要知道利用一个一样的方阵,将密文替换回明文即可。
回复

使用道具 举报

 楼主| 发表于 2020-5-9 22:42:39 来自手机 | 显示全部楼层
9.旋转格栅密码
Screenshot_20200509_223641_tuili.mobilenjoy.png
美国的开国元勋之一亚历山大·汉密尔顿死后的几年,官方在他的文件中发现了一份文献。文献中描述了一种叫旋转格栅或转动格栅的密码。
Screenshot_20200509_223722_tuili.mobilenjoy.png
旋转格栅密码在十八世纪末很流行,特别是在1796年兴登堡首先对这一文献作了全面描述之后(《荷兰共和国的密码学和治国方略》,第111页)。格栅由两部分组成,一份是其上具有正方形网格用于书写,另一份其中一些网格被剪掉了,用于旋转,做成的材质可以是纸卡或者其他材质。加密的时候,利用被剪掉的那份格栅用约定好的方式(逆时针或顺时针)旋转90度,依次填充明文。下图展示了加密明文“TheLordismyshepherd.Ishallnotbeinwant.”的全部过程。
Screenshot_20200509_223809_tuili.mobilenjoy.png
在上面的示例中,格栅是一个6乘6的正方形网格,其中九个网格被剪掉了。首先,这个明文的前九个字母( t,h,e,l,o,r,d,I,s )从左到右,从上到下一个接一个地写在每个被切掉的网格中。然后,格栅沿预定方向(在例子中为逆时针方向)转动90度。然后,将接下来的九个字母( m,y,s,h,e,p,h,e,r )以同样的方法写入网格。写完后,在次转动格栅和书写随后的九个字母,然后继续,直到所有网格填满字母。接下来,只需要按照从左到右、从上到下写的方式抄下字母,即为密文:mtdhyeisthlbehoeapirhldnelwrainnostt.如果要解密旋转格栅密码,解密用的格栅要与加密时使用的格栅完全相同。然后将密文写入6乘6格栅中:
Screenshot_20200509_224116_tuili.mobilenjoy.png
运用格栅,解密者可以通过剪切网格,阅读前九个明文字母( t,h,e,l,o,r,d,I,s ),然后将格栅旋转90度后,可以读取接下来的9个字母,依此类推。旋转格栅的制作注意,当加密时,每次转动格栅时,切掉的正方形都会被精确地定位在尚未填充字母的正方形处。为了达到这种的效果,应该仔细选择要切割的格栅的网格,尺寸要精确。下图显示了此过程
Screenshot_20200509_224151_tuili.mobilenjoy.png
首先,将方格划分为4个3X3象限,每个象限的九个正方形网格以相应的方式编号为1 - 9。然后,在编号为“1”的四个大正方形网格中,选择一个小正方形网格进行裁剪。在上面的示例中,顶部行的最右边的小正方形网格被剪掉。这保证了编号为“1”的四个大正方形中的每一个网格在由该特定剪切网格加密期间正好出现一次。类似地,选择编号为“2”的四个大正方形中的一个小正方形以将其剪切。因此,通过从具有相同数目的四个正方形中精确地选择一个要被切出的正方形,可以确保每个正方形可以填充在四个旋转位置之一的位置。也许大家会觉得6X6的格栅太小,事实上,格栅的大小是没有上限的,就说亚历山大·汉密尔顿文献中的那份格栅吧,他的尺寸就是26X26的格栅,如果将格栅换成一万X一万呢?那加密的信息将变得极难解决。大家可以尝试以下,利用下面的格栅,解密该密文(格栅每次顺时针旋转90度)
Screenshot_20200509_224219_tuili.mobilenjoy.png
回复

使用道具 举报

发表于 2020-5-9 22:43:44 | 显示全部楼层
密码学?厉害了。不过就标题而言,用打击做di滑动做da会更好吧?
回复

使用道具 举报

 楼主| 发表于 2020-5-9 22:44:01 来自手机 | 显示全部楼层
10.教你如何搞定好记又不易破解的安全密码

首先问一下你自己,你喜欢使用简单好记的密码吗?比如:123456,或是自己的生日日期等。如果是,专家建议你还是改一改吧。不难理解,密码是现代人生活中不可缺少的一部分。如果你想保护好自己的网上世界,如,你的电邮、社交媒体账户、手机等等,强大的密码必不可少。这听起来似乎不可思议,但根据信息安全公司 SplashData 的统计,排在前三名最流行的密码分别是123456、password(密码)以及12345678。其中,使用123456作为密码的人超过2300万以上,使用123456789这个密码的人接近800万。虽然这些密码简单好记,但同时也容易被人猜到,为黑客攻入你的账户提供了方便。根据英国国家网络安全中心最近的调查发现,仍有数百万的人使用同样的密码。除了数字外,许多英国人还喜欢使用一些像 Ashley、Michael 以及 Daniel 等英文常用名当密码。这些可能都不是比较理想的密码。那么,如何设置一个安全可靠,只有你自己知道但又不容易被别人猜到的密码呢?首先,不要使用那些显而易见的东西,如,你所喜欢的足球队/或者你讨厌的足球队等。与其选用一个字,不如使用一个短语。在选用英语字母做密码时,最好里面既有大写字母,也有小写字母,二者结合起来。或者改变单词的拼写顺序等。可以考虑使用首字母连写。在密码中加入数字与符号我们可以把以上这些要素结合起来,举个例子。密码高手马丁首先选择了英国男子乐队单向组合(One Direction)做开端。然后,选择了他们发行的一支单曲:历史(History)。接着,他挑选了歌中的一段歌词:You and me got a whole lot of history(你我之间发生的事太多)。马丁把这段歌词的首字母拼写连起来就成了:yamgawloh 再按照好密码应该有大小写、数字、符号等原则。最后就设置出这样的一组密码:Y@m6Awl0H 在这里,马丁用 @ 代替了a,6代替了大写字母 G(因为两者看上去相似),数字0来取代o。当然,最后,不要对任何人透露你的密码。一旦怀疑自己的账户被黑客攻入,立即改换密码。好的密码的确要下一番功夫,简单的密码又容易受到攻击。因此,已经有专家呼吁未来废除密码,用生物识别或是特殊安全钥匙来取代。据美国技术公司高德纳预测,到2022年,全球60%的大公司,以及几乎所有中型公司将把对密码的依赖减少一半。专家称,对黑客来说,密码是最容易攻击的对象,特别是如果你经常选用简单、好记,安全性能又差的密码。未来的密码,除了生物识别以外,更有可能是使用双重或是多重验证方法,包括密码、指纹扫描等方式。同时,还可以包括像你所在的方位、购物历史、击键、滑动模式、甚至你拿手机的方式等都可能是密码组成的一部分。但是,就目前来说,设置一个安全强大的密码仍然是你能够进行自我保护的最强有力的武器。最后,请记住不要使用以上文中所举例的密码。相信有了以上的技巧后,你肯定会想出更有创意的密码。
回复

使用道具 举报

 楼主| 发表于 2020-5-9 22:49:02 来自手机 | 显示全部楼层
11.猪圈密码

猪圈密码是一种很简单的替代密码,不过,它有别于其它类型的替代密码,因为它不是用字母替换字母,而是用特定的符号替换字母。至于猪圈密码是什么时候发明的,目前已经无法考究,不过有文件可以证实,它在历史中,曾是多个秘密团体的通信手段之一,其中包括共济会,所以,有时候,猪圈密码也称为共济会密码。共济会,也叫称美生会,于18世纪在西欧创建,它早期是一个石匠工会,有独特仪式和标志,后来发展成世界组织,成为权贵交流的俱乐部之一,会员包括众多名人和政治家,如今共济会已经遍布全球。除此之外,在美国内战的时候,联盟集中营的囚犯也会使用这种密码进行交流和沟通。猪圈密码的加密原理很简单,它需要一个特定的密表,然后用密表中指定的符号替换明文中的字母,最后得到的结果即为密文。如下图所示(注:该密表为标准表,另有其他多种变种表,下面会提及):
Screenshot_20200509_224553_tuili.mobilenjoy.png
猪圈密码的加密关键,就是利用上图这张易于记忆的#、X网格密表系统,我们的明文字母,就由密表中,标明的字母所在位置的部分网格表示。
Screenshot_20200509_224630_tuili.mobilenjoy.png
从上面的例子,我们可以清晰的看出猪圈密码的替换规律,例如,如果你要加密的是明文是A,那么密文就书写成,密表中A所在的区域,一个向左开的直角图案,如果想表达其他字母,也是一样的方法。因为猪圈密码,本质上是一个很简单的替代密码,所以,它的解密方法和加密方法刚好相反,只要我们知道加密时所用的密表,即可通过对比密表,将密文替换为明文。值得特别注意的是,猪圈密码有许多变体,例如以下这几种:
1、使用#网格、X网格、#网格、X网格的布局来重新排列字母
Screenshot_20200509_224720_tuili.mobilenjoy.png
2、把字母交替放置在#和点中,把字母拆分
Screenshot_20200509_224755_tuili.mobilenjoy.png
3、改变某个字母的符号
Screenshot_20200509_224820_tuili.mobilenjoy.png
4、使用三个#网格,取消X网格
Screenshot_20200509_224842_tuili.mobilenjoy.png
总之,猪圈密码的密表是很灵活的,我们在实际使用的时候,如果需要保障通信安全,可以根据猪圈密码的加密原理,自己设计自己的符号来进行加密,只要保证密表不泄露,那么密文是绝对安全的。因为我们设计的符号,往往是独一无二的。
回复

使用道具 举报

 楼主| 发表于 2020-5-9 22:50:53 来自手机 | 显示全部楼层
12.异或密码(X0R)

异或密码是密码学中一种简单的加密算法,属于维吉尼亚密码的一种变体,不过其和维吉尼亚密码本质上并不相同,异或密码主要基于异或运算进行加密。异或运算是计算机程序设计语言中,一种很重要的基于二进制的位运算,其中异或的数学符号为“⊕”,计算机符号为“XOR”。异或密码不管是加密和解密都遵循着一个固定的异或运算原则进行,如下所示:A⊕0=A0⊕A=AA⊕A=0(这个规则的意思很简单,,即不相同的数字进行异或等于1,相同的数字进行异或等于0)根据以上的运算逻辑,我们在加密的时候,只需要将明文转换成8位数二进制ASII码,之后和密钥按位进行异或运算,即可得出密文,解密也是同样的道理,只需要将加密后的结果与密钥再次进行按位异或运算即可,记得区分大小写。举个简单的例子:我们要用密钥:L加密明文:TUI
Screenshot_20200509_225022_tuili.mobilenjoy.png
首先,在加密之前,我们需要先将明文和密钥都转换成8位数的二进制ASII码,根据上表查找即可。转换后如下:密钥:01001100明文:01010100-01010101-01001001之后,我们将明文写在上面,密钥写在下面(密钥重复使用),然后按位进行异或运算即可,如下所示:01010100-01010101-01001001(明文)⊕01001100-01001100-01001100(密钥)=00011000-00011001-00000101(密文)解密的话,只需要将加密后的结果与密钥再次进行按位异或运算即可,如下所示:00011000-00011001-00000101(密文)⊕01001100-01001100-01001100(密钥)=01010100-01010101-01001001(明文)最后,值得说明的是异或密码安全性不高,很容易被破解,所以对于私密的信息,不建议用这种方法进行加密,但是可以利用该密码和其他密码进行组合加密,这个就看你们自己发挥了。
回复

使用道具 举报

 楼主| 发表于 2020-5-9 22:51:55 来自手机 | 显示全部楼层
13.虚无主义者密码
本密码可以追溯到19世纪末21世纪初被俄国虚无主义者用来反对沙皇政权。它是一种多字母密码,这意味着它使用多个替换字母,类似于维吉尼亚密码。该密码由三个部分组成:1、用于创建5X5波利比乌斯方阵的关键词密钥,其中I/J共用2、加密明文的密钥3、要加密的明文例子:下面我们用密钥:BISHOP来加密明文:KREMLIN首先,我们用密钥创建一个波利比乌斯方阵,密钥在字母表的开头,然后剩余的字母按字母表顺序列出:
Screenshot_20200509_225132_tuili.mobilenjoy.png
这时候,我们用坐标的方式写出密文,例如,K在第三行的第三列,所以明文K就变成了33,根据这个规律写出其他密文:明文:KREMLIN密文:33 43 25 35 34 12 41现在,我们再次进入二次加密的步骤,需要用到另外一个密钥,如果该密钥比明文更短,则通过重复进行扩充。理论上说,密钥越长就越安全。这里,我们利用密钥:tuilizu然后,将密钥tuilizu用上面我们刚刚创建的波利比奥斯方阵对密钥进行加密,得到密文数字;密钥加密后:44451234125545然后我们进入第三次加密,把明文加密后的数字和二次密钥加密后的数字相加,得到最后的密文。如果相加的数字大于99(3位数字)则,减去100. 105变为05,100变为00。33 43 25 35 34 12 4144 45 12 34 12 55 45=77883769466786所以最终明文:KREMLIN密文:77883769466786至于解密,只需要将加密过程倒过来完成即可:从密文中减去密钥,然后通过波利比乌斯方阵计算一下就好。
回复

使用道具 举报

 楼主| 发表于 2020-5-9 22:54:43 来自手机 | 显示全部楼层
14.一次性密码本( OTP )

一次性密码本又称Vernam密码或完美密码,是一种将明文与随机密钥相结合的对称式密码算法,它简单、可靠、高效。从第二次世界大战开始,它就是各大情报机构间谍特工的宠儿,其绝对安全性,放在当今现代密码学中也是所无法比拟的。事实上,可以说,无论未来的密码技术进步如何,只要遵循一定的规则,一次性密码本,依然可以说是唯一真正牢不可破的加密系统。

一次性密码本的历史可追溯到19世纪80年代,在电报时代,由于通信费用高昂,而且信息很难加密,为了打破这种束缚,美国加州的银行家弗兰克.米勒发明了一套独特的密码本。他的密码本包含14000个单词、短语和空格,如果在加密过程中,明文和密钥的总和超过14000个,则必须从总和中减去14000个。如果在解密密文的过程中,密文值小于密钥,则必须将14000加到密文上,然后减去密钥。如果移位数是随机选择的并且仅使用一次,则mod算法提供了牢不可破的加密。遗憾的是,弗兰克.米勒的完美密码并没有被大众熟知,直到2011年才被研究者史蒂文·贝洛文在档案馆重新发现。比较被大众熟知和公认的一次性密码本发明者是Gilbert S. Vernam,他是美国电话电报公司的工程师,1919年他发明了一种通过打有密钥的纸带进行数据加密和解密的电传技术。不过,在当时,Gilbert S. Vernam的这套加密系统还只是一个雏形,直到后来美军陆军上尉看到了Gilbert S. Vernam的密码机时,他提出了今天依然在使用的一次性密码本在加密中必须遵循的几条规则。
一次性密码本加密需遵循的规则:
1、密钥至少与必须加密的明文一样长
2、密钥是真正随机的(不是由简单的计算机或其他方式等等生成的)
3、密钥和明文以mod-10 (数字)、mod-26 (字母)或mod-2 (二进制)计算
4、每个密钥仅使用一次,发送方和接收方必须在使用后销毁该密钥
5、密钥应该只有两个副本:发送者一份,接收者一份(如果有多个接收者可以重新考虑该条)一次性密码本加密方式:一次性密码本的核心是随机密钥。在创建随机密钥之前,需要用到一种将字母转换为数字的方法,一般采用的是以字母表对应数字顺序的方式,即A-Z=0-25(如下图所示)
Screenshot_20200509_225343_tuili.mobilenjoy.png
下面做一个简单的例子;以mod-26计算为例。一次性密码本(密钥):weizh明文:hello分别将两者以A-Z=0-25的方式转换成数字:密钥: 22、4、8、25、7明文: 7、4、11、11、14将上面数字(密文和密钥)依序相加(注意:如果结果超过100,则在结果中写入最后两位数,例如96+16=112,只需写后两位数12即可):29、8、19、36、21将以上信息,以mod-26求同余数运算(即除以26取余数),得到以下信息;3 8 19 10 21然后将以上数字,对应上面的A-Z=0-25字母表,将数字逆转为字母,得到最终密文:一次性密码本:weizh明文:hello密文:DITKV解密的方法(需知道密钥):先将密文DITKV对应A-Z=0-25字母表转换为数字:3 8 19 10 21然后将我们知道的密钥也对应A-Z=0-25字母表转换为数字;22、4、8、25、7将上面数字(密文和密钥)依序相减:-19、4、11、15、14将以上信息,以mod-26求同余数运算,得到以下信息;7、4、11、11、14(注意:如果是负数就用26除以该负数取余,例如-19,就不是-19除以26取余数,而是26除以19取余,之所以是19是负数,是因为3-22=-19)对应A-Z=0-25字母表,即可得到最终明文:hello。如果是用二进制的方法,则需要用到ASCII码,这是美国标准信息交换代码,是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,如下表所示,该表显示了每个大写和小写字母和空格的二进制编码:
Screenshot_20200509_225415_tuili.mobilenjoy.png
如果我们要加密明文:ONETIME利用上面的ASCII二进制码表,可以编码为:消息:ONETIMEO:01001111N:01001110E:01001010T:01010100I:01001001M:01001101E:01001010对于这个例子,我们将使用以下内容作为一次性密码本:11010111 11100101 10001111 00110000 10100010 00001010 01000000然后,我们将明文和一次性密码本非进行异或(xor)运算。异或是一种逻辑运算,它的真值表如下:1 ^ 1 == 0;1 ^ 0 == 1;0 ^ 1 == 1;0 ^ 0 == 0;异或实质上是将参与运算的两个数据,按对应的二进制逐位进行逻辑异或运算,只有当对应位的二进制数互斥时对应为的结果才为真。最终加密为:明文: 01001111 01001110 01000101 01010100 01001001 01001101 01000101一次性密码本: 11010111 11100101 10001111 00110000 10100010 00001010 01000000密文: = 10011000 10101011 11001010 01100100 11101011 01000111 00000101解密过程与加密过程相同,即我们对密文和一次性密码本进行异或运算,从而得到明文。

回复

使用道具 举报

 楼主| 发表于 2020-5-9 22:59:27 来自手机 | 显示全部楼层
16.维吉尼亚乘法密码

维吉尼亚乘法密码,属于维吉尼亚密码的变种,它使用一组数字密钥,通过和明文数值相乘的方式,来进行加密。
是的。维吉尼亚乘法密码只能用来加密数值,而不能加密字母等信息。
例如:密钥:11,5,25
明文:4,3,15,4,5
加密方式是这样的:取明文的第一个数字和密钥的第一个数字相乘,按照该方法计算完剩下的数字,计算完毕后,得到的最终结果就是密文。如果密钥的长度小于明文长度,则重新循环使用。
如下:
明文:4、3、15、4、5
密钥:11、5、25、11、5
密文:44、15、375        、44        、25
如果要对密文进行解密,则需要事先知道密钥。然后,将密文的第1个数字和密钥的第1个数字相除,按照该方法计算完剩下的数字,计算完毕后,得到的最终结果(整数)就是明文。
例如:密文:44、15、375        、44        、25
密钥:11、5、25、11、5
明文:4、3、15、4、5
回复

使用道具 举报

发表于 2020-5-9 23:21:23 | 显示全部楼层
感谢楼主无私分享,增长见识了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|生存主义者社区

GMT+8, 2025-8-21 13:56 , Processed in 0.070776 second(s), 17 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表