Loki97加密/解密,用于在线进行Loki97加密和Loki97解密,该算法共计16轮Feistel密码。
LOKI97是一种对称密钥加密区块算法,作为Loki密码家族的成员,早期的实例是Loki89和Loki91,Loki97 由Lawrie Brown设计,Jennifer Seberry和Josef Pieprzyk协助设计的一种加密算法。
作为高级加密标准(AES)竞赛中第一个公布的候选者,Loki97迅速被分析和攻击。一篇论文(Rijmen & Knudsen 1999)对 Loki97设计的一些问题进行了理论分析,这些问题导致Loki97在入围候选的时候被拒绝,主要是发现它比穷举搜索更容易受到有效的理论差分密码分析攻击。
块密码只能对确定长度的数据块进行处理,而消息的长度通常是可变的,因此不同的工作模式对应的填充模式不同,当您选择NONE不填充时,则要保证加密文本长度为16的倍数,否则出现Loki97解密/加密异常。
初始化向量IV可以有效提升安全性,但是在实际的使用场景中,它不能像密钥KEY那样直接保存在配置文件或固定写死在代码中,一般正确的处理方式为:在加密端将IV设置为一个16位的随机值,然后和加密文本一起返给解密端即可。
加解密参数需要完全一致才能成功,为防止乱码和保证正确的传输结果,加解密文本一律使用Base64编码的字符串。