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