本篇文章,我要通过java代码实现Hill加密解密。
在上一篇,我们通过java代码实现了逆矩阵,这个是实现Hill密码的前提
首先我们实现加密,然后再通过加密的密文来进行解密过程。
1、Hill加密
我们将明文"paymoremoney"通过加密密钥K进行Hill加密
|17 17 5 |
K=|21 18 21|
|2 2 19|
每三个字母进行转换,依次转换结束。
private static String getEncrypttext(String plainttext) {
int temp1 = 0, temp2, temp3;
StringBuilder cipertext = new StringBuilder();
for(int i=0; i<plainttext.length(); i+=3) {
temp1 = key[0][0]*(plainttext.charAt(i) - 'A')
+ key[0][1]*(plainttext.charAt(i+1) - 'A')
+ key[0][2]*(plainttext.charAt(i+2) - 'A');
temp2 = key[1][0]*(plainttext.charAt(i) - 'A')
+ key[1][1]*(plainttext.charAt(i+1) - 'A')
+ key[