哈Ha!
我们每个人都经常听到诸如“数据加密”,“秘密密码”,“密码保护”,“加密”之类的单词和短语,但并不是每个人都明白确切的含义。 在这篇文章中,我们将了解什么是加密并考虑基本密码,从而使甚至远离IT的人们也能理解这种现象的本质。
首先,我们将了解术语。
加密是对原始消息的一种转换,如果任何恶意人员截获该消息,将不允许他们读取数据。 这种转换是使用特殊的数学和逻辑算法完成的,下面将介绍其中的一些算法。
实际上,
原始消息就是我们要加密的内容。 一个经典的例子是文本。
加密消息是已通过加密过程的消息。
密码是我们用来转换消息的算法本身。
密钥是可基于其执行加密或解密的组件。
字母是原始和加密消息中所有可能字符的列表。 包括数字,标点符号,空格,小写和大写字母等。
现在,我们或多或少讲相同的语言,我们将分析简单的密码。
最简单的密码。 它的本质是字母的向上。
例如,我们有一个与通常的拉丁字母完全一致的字母。
abcdefghijklmnopqrstu vwxyz
要实现Atbash密码,我们只需将其反转即可。 “ A”将变为“ Z”,“ B”将变为“ Y”,反之亦然。 在输出中,我们得到以下图片:

现在我们在源字母和密码字母上写必要的消息
原帖:我爱哈伯
加密的:r olev szyi
此处添加了另一个参数-以1到25(对于拉丁字母)的数字形式的原始键。 实际上,密钥是4到10。
同样,为清楚起见,请使用拉丁字母
abcdefghijklmnopqrstu vwxyz
现在,将每个字母向右或向左移动一个键值。
例如,键将为4,向右移动。
原始字母:abcdefghijklmnopqrstu vwxyz
加密的:wxyzabcdefghijklmnopq rstuv
我们正在尝试写一条消息:
hello world
我们对其进行加密,并获得以下不连贯的文本:
dahhk sknhz
具有
绝对加密强度的最简单的基于二进制的密码。 如果不知道密钥,就无法解密(由Claude Shannon证明)。
原始字母仍然是相同的拉丁语。
该消息分为多个单独的字符,每个字符以二进制形式显示。
密码学经典为每个字母提供一个
五位数的bodo码 。 我们将尝试使用ASCII表示例将此密码更改为以8位/字符编码。 我们以二进制代码的形式表示每个字母。

现在,请记住电子课程和XOR元素,也称为XOR。
XOR接收信号(每个为0或1),对其进行逻辑运算,并根据输入值给出一个信号。
如果所有信号彼此相等(0-0或1-1或0-0-0等),则输出为0。
如果信号不相等(0-1或1-0或1-0-0等),则输出为1。
现在,为了加密消息,我们将输入用于加密的文本本身和相同长度的密钥。 我们将每个字母转换成其二进制代码,然后执行公式
消息XOR键例如:
邮寄:伦敦
密钥:SYSTEM
我们将它们翻译成二进制代码并执行XOR:
01001100 01001111 01001110 01000100 01001111 01001110 01010011 01011001 01010011 01010100 01000101 01001101 _______________________________________________________ 00011111 00010110 00011101 00010000 00001010 00000011
在此特定示例中,我们将仅看到一个空白处,而不是结果字符,因为所有字符都位于前32个服务字符中。 但是,如果将结果转换为数字,则会得到以下图片:
31 22 29 16 10 3.
在外观上-一组完全不连贯的数字,但是我们知道一些。
加密原理与凯撒的密码大致相同。 仅在这种情况下,我们才不将字母移位一定数量的位置,而是将代码字移位。
例如,以西里尔字母进行更改。
我们将提供一个代码字。 例如Lukomorye。 从中删除所有重复的字符。 在输出中,我们得到单词“ Lukomrier”。
现在我们在字母表的开头输入这个词,其余的字符保持不变。
现在,我们将记录所有消息并对其进行加密。
" "
我们得到以下不可读的废话:
" "
经典的Playfer密码假定基于拉丁字母字符(i和j写入一个单元格),一个代码字以及对其的进一步处理为5x5矩阵。
让代码字为“ HELLO”。
首先,我们采用之前的密码,即 删除重复项,并在字母表的开头写下单词。

现在接收任何消息。 例如,“我喜欢哈伯和吉斯”。
我们将其分为两部分,即 成对的字符,不包括空格。
IL OV EH AB RA ND GI TH UB.
如果消息来自奇数个字符,或者在二元组中有两个相同的字符(例如,LL),则将符号X替换为丢失或重复的字符。
根据几个简单的规则执行加密:
1)如果二字字符在同一行的矩阵中-我们将它们向右移动一个位置。 如果该符号是行中的最后一个,则它将成为第一个。
例如,EH变为LE。

2)如果二字字符在同一列中,则将它们向下移动一个位置。 如果字符在该列的最底部,则它将采用最顶部的值。
例如,如果我们有一个LX bigram,那么它将变成DL。
3)如果字符不在任何行或列上,则我们构建一个矩形,其中字符是对角线的边缘。 并交换角落。
例如,bigram RA。


根据这些规则,我们将加密整个消息。
IL OV EH AB RA ND GI TH UB. KO HY LE HG EU MF BP QO QG
如果删除空格,我们将收到以下加密消息:
KOHYLEHGEUMFBPQOQG
恭喜啦 阅读本文之后,您至少可以大致了解什么是加密,并且知道如何使用一些原始密码,并且可以开始研究一些更复杂的密码模式,我们将在后面讨论。
谢谢您的关注。