维吉尼亚密码
一旦密钥被选定,每个字母对应的数字都被加密变换成对应的惟一的数字,这种密码体制称为单表代换密码。
维吉尼亚密码是一种多表代换密码
加密是把
P
\mathcal{P}
P和
K
\mathcal{K}
K中对应的元素相加,即
p
p
pi
−
k
-k
−ki
解密相反
希尔密码
P
=
C
=
(
Z
\mathcal{P}=\mathcal{C}=(\mathbb Z
P=C=(Z26
)
)
)m
为什么是
Z
\mathbb Z
Z26m,因为可以表示多个组合,每个组合的每个元素都在一个
Z
\mathbb Z
Z26中,前面的维吉尼亚密码也是这样的。
P
\mathcal{P}
P、
C
\mathcal{C}
C、
K
\mathcal{K}
K,以矩阵形式进行计算,例子如下
x
x
x1
×
k
\times k
×k1,2中,
k
k
k1,2的
1
1
1表示
x
x
x1,它的
2
2
2表示
y
y
y2,就是
k
k
k第一个下标表示加密哪个原文元素,第二个表示得到密文的哪个元素(的一部分,因为要多个加起来才是密文的一个元素)
密钥K可逆是完成解密的必要条件
可能还要其他其他条件。如果密钥这个矩阵不可逆就会不可解密,如果密钥的秩还小于原文矩阵的秩,它的密文的秩会比原文小。因为两个矩阵相乘,得到的矩阵的秩等于两个的矩阵中的最小秩。
符合哈希算法特点:散列值的空间通常远小于输入的空间。这应该也算一种哈希算法
线性代数基础跳过了
置换密码
先分组,再每个组按照固定密钥打乱每组的元素。
置换密码是一种希尔密码,
P
\mathcal{P}
P、
C
\mathcal{C}
C、
K
\mathcal{K}
K都可以看成矩阵,解密就求逆矩阵。