ENIGMA 机器的基本工作原理是通过一系列转子(rotors)和一个插线板(plugboard)去实现复杂的字母替换。
设置:
每台 ENIGMA 机器都有几个可旋转的转子,通常为3到4个(在某些高级版本中可能更多),以及一个反射器。
操作员会根据当天的密钥簿来设置机器。这包括选择使用的转子及其顺序、转子的初始位置、以及插线板上的连接。插线板是允许操作员将字母对交换的,进一步增加了加密的复杂度。
当操作员按下键盘上的一个字母键时,电信号会经过第一个转子,然后传递给下一个转子,直至到达反射器。
反射器将信号反弹回,并通过不同的路径返回,再次经过所有转子,最后点亮一个灯泡,就会显示出加密后的字母。
当然啦!每次按键后,至少有一个转子会转动,类似于机械表的齿轮系统。这种转动改变了每个后续字母的加密方式,即使相同的字母也会被加密成不同的密文字母。
转子的设计使得每次加密都基于一个新的内部状态,从而产生高度随机化的输出。
解密:
解密的过程与加密相同。如果接收方的 ENIGMA 机器按照发送方的同样方式进行配置,那么当输入密文时,机器会输出原始的明文。
这是因为反射器保证了加密过程是对称的:从A到B的路径与从B回到A的路径相同。
JN-25b密码系统其实是基于一本密钥书(就是通俗理解为一个密码本)和一系列复杂的加密步骤。JN-25b 的具体加密和解密过程涉及到以下几个关键部分:
每个参与通信的单位都持有一份相同的密钥书。这本密钥书中包含了大量的五位数代码,这些代码与日语单词、短语、军事术语等相对应。
除了基本的密钥书之外,还存在一系列附加码表,用于增加消息的安全性。这些附加码表通常定期更换,并且只有特定的人员才能够去访问。
每天会有一个新的日期指示器,它指定了当天使用的密钥序列。这意味着即使敌方获得了密钥书,如果不晓得正确的日期指示器,依旧是没有办法去正确的解密信息。
随机化元素必不可少,为了进一步混淆信息,发送方会在消息中加入一些随机化的数字或字母。这部分内容对于接收方来说是已知的,但对于试图破译消息的人来讲会增加很大的一个难度。