Skipjack加密算法是由美国国家安全局(NSA)从1985年开始设计,1990年完成评估,于1993年由美国政府正式对外宣布的。曾几何时,Skipjack算法也被列为“机密”等级,但在1998年Skipjack算法被公开。今天我们就来了解一下Skipjack加密算法。
Skipjack加密算法简介
Skipjack加密算法是一种对称分组加密算法,密钥长度为 80比特、明文和密文长度均为64比特、轮数为32轮。它在防篡改硬件中实现,是在Clipper芯片和Fortezza PC卡中使用的密钥加密算法。
Skipjack算法加、解密过程
- 加密过程
把64比特明文分成4个16比特的字Wiº,1≤i≤4作为输入,首先进行8轮A变换,其次进行8轮B变换,在进行8轮A变换和8轮B变换结束加密。输出为Wi³²,1≤i≤4作为密文。
- 解密过程
输入Wi³²,1≤i≤4。首先进行8轮B﹣¹变换,再进行8轮A﹣¹变换,然后再进行8轮B﹣¹变换和8轮A﹣¹变换结束解密,输出为Wiº,1≤i≤4。
其中A、B变换都是映射变换,各变换由第k轮到第k+1轮的过程下图所示,由于该过程对于每一轮A、B变换都适用,除了轮数不同外,所以图中未标示轮数。
Skipjack算法的应用
由于Skipjack算法的密钥长度为80比特,密钥量为1.2×10的24次方,比DES算法的56比特多24比特,可抗穷举密钥攻击。如果处理器件成本按每18个月减半,以穷搜索破译Skipjack的费用,36年后才等价于今天破译DES的所需费用,而且该算法几乎无捷径能破,各种测试表明,该算法是相当安全的。
而且由于分组密码本身的速度快、易于标准化和便于软硬件实现等特点,根据相关测试结果也表明Skipjack算法具有很好的统计特性,并且易于硬件实现,可以将该算法用于现代数据加密、保密通信、数字签名、认证等。
对Skipack算法的统计分析表明该算法产生的密文有很好的随机性,因此可以将其用于产生所需要长度的伪随机序列。由于跳频通信中跳频码的性能直接决定了跳频通信系统的性能,可以利用该算法对跳频通信中的时间流序列进行分组加密变换从而在产生的结果中选择所需要的部分序列作为跳频码序列。
免责声明:素材源于网络,如有侵权,请联系删稿。