Loki97加密/解密

Loki97加密和Loki97解密在线工具,Loki97加密算法共计16轮Feistel密码。

场景一:使用Loki97密钥加密文本。
1.1、请上传或输入要加密的原始文本。
1.2、请设置加密参数。
场景二:使用Loki97密钥解密文本。
2.1、请上传或输入解密文本。
2.2、请设置解密参数。
  操作文档

一、Loki97加密/解密在线工具文档

1.1、Loki97加密/解密算法介绍

LOKI97是一种对称密钥加密区块算法,作为Loki密码家族的成员,早期的实例是Loki89和Loki91,Loki97 由Lawrie Brown设计,Jennifer Seberry和Josef Pieprzyk协助设计的一种加密算法。


1.2、Loki97安全性

作为高级加密标准(AES)竞赛中第一个公布的候选者,Loki97迅速被分析和攻击。一篇论文(Rijmen & Knudsen 1999)对 Loki97设计的一些问题进行了理论分析,这些问题导致Loki97在入围候选的时候被拒绝,主要是发现它比穷举搜索更容易受到有效的理论差分密码分析攻击。


二、Loki97加密/解密在线工具使用须知

2.1、Loki97填充模式

块密码只能对确定长度的数据块进行处理,而消息的长度通常是可变的,因此不同的工作模式对应的填充模式不同,当您选择NONE不填充时,则要保证加密文本长度为16的倍数,否则出现Loki97解密/加密异常。

  • 填充区别:在ECB、CBC工作模式下最后一块要在加密前进行填充,其它不用选择填充模式;
  • 填充模式:Loki97支持的填充模式为PKCS7和NONE。其中PKCS7标准是主流加密算法都遵循的数据填充算法。Loki97标准规定的区块长度为固定值128Bit,推荐PKCS7。


2.2、Loki97密钥KEY和初始化向量IV

初始化向量IV可以有效提升安全性,但是在实际的使用场景中,它不能像密钥KEY那样直接保存在配置文件或固定写死在代码中,一般正确的处理方式为:在加密端将IV设置为一个16位的随机值,然后和加密文本一起返给解密端即可。

  • 区块长度:Loki97标准规定区块长度只有一个值,固定为128Bit,对应的字节为16字节;
  • 密钥KEY:密钥KEY长度可选值为128、192、256位,对应16、24、32字节,该字段不能公开传输;
  • 初始化向量IV:该字段可以公开,用于将加密随机化。同样的明文被多次加密也会产生不同的密文,避免了较慢的重新产生密钥的过程,初始化向量与密钥相比有不同的安全性需求,因此IV通常无须保密。然而在大多数情况中,不应当在使用同一密钥的情况下两次使用同一个IV。


三、Loki97加密/解密在线工具使用方式

加解密参数需要完全一致才能成功,为防止乱码和保证正确的传输结果,加解密文本一律使用Base64编码的字符串。

  • 场景一:使用Loki97密钥加密文本,您可以手动或使用默认值进行Loki97加密;
  • 场景二:使用Loki97密钥解密文本,主要用于在线解密Loki97字符串。