单字母替换密码的技术有哪些?
单字母替换密码有以下几种技术:
加法密码 - 加法密码是一种改变字母表字母排列的方法。字母表中的每个字母都会循环移动相同的位数,字母的相对顺序保持不变。
字母移动的位数称为密钥。例如,如果密钥值为5,“a”在字母表中向右移动5位变成“F”,“b”变成“G”,以此类推。
字母“u”变成“Z”,然后循环回到字母表的开头。“v”映射到“A”等等。
换句话说,加法密码也可以使用字母表中字母的位置数字来完成。在这种方法中,英文字母“A”到“Z”基本上映射到位置数字“0”到“25”。
乘法密码 - 乘法密码是创建字母表字母排列的另一种方法。它使用一个密钥值,将每个字母的位置数字乘以5,然后对26取模。
例如,因为明文字母(P)是“h”,密钥(K)是5,密文字母通过模算术乘法运算计算,C = PxK (mod 26)。因此,C = 7 x 5 = 9 (mod 26)。位置数字“9”映射到字母“J”。因此,密文字母是“J”。
仿射密码 - 仿射密码是一种单字母替换密码,其中字母表中的每个字母都映射到其数学等价物,使用简单的数学函数加密,然后转换回字母。
所使用的公式意味着每个字母都加密到另一个字母,反之亦然,定义密码基本上是一个标准的替换密码,其中有一条规则规定哪个字母对应哪个字母。
仿射密码是由加法密码和乘法密码组合生成的。它是一组使用一对密钥的密码。第一个密钥用于乘法密码,第二个密钥用于加法密码。密钥集是发送方和接收方共享的秘密密钥。
仿射密码通常是两种密码,可以依次使用,也可以只使用一个复杂的运算进行加密或解密,例如C = ((PxK1) + K2)mod n和P = ((C − K2)xK1 −1)mod n。
T用作中间结果,表示两个单独的运算,例如加密时的乘法和加法,解密时的减法和除法。
由于是一组密码,仿射密码在每个过程中(加密或解密)都有逆变换。如果加法是加密的最后一步运算,则减法应该是解密的第一步运算。如果乘法是加密的第一步运算,则除法应该是解密的最后一步运算。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP