用C++实现Hill密码加解密
希尔密码加密解密原理
希尔密码是运用基本矩阵论原理的替换密码。每个字母当作26进制数字:A=0,B=1…一串字母当成n维向量,跟一个$n×n$的矩阵相乘,再将得出的结果MOD 26。注意用作加密的矩阵(即密钥)必须是可逆的,否则就不可能译码。只有矩阵的行列式和26互质,才是可逆的。
1 加密的矩阵为随机矩阵
代码
1 | /*hillcrypto.cpp*/ |
结果
2 加密的矩阵为密钥矩阵
代码
1 | /*hill.cpp*/ |
用C++实现Hill密码加解密
希尔密码是运用基本矩阵论原理的替换密码。每个字母当作26进制数字:A=0,B=1…一串字母当成n维向量,跟一个$n×n$的矩阵相乘,再将得出的结果MOD 26。注意用作加密的矩阵(即密钥)必须是可逆的,否则就不可能译码。只有矩阵的行列式和26互质,才是可逆的。
1 | /*hillcrypto.cpp*/ |
1 | /*hill.cpp*/ |
WeChat Pay
Alipay