了解CAST加密算法

简介

    CAST算法,包括CAST5(也称CAST-128)和CAST6(也称CAST-256)两种,其中CAST5是一种类似DES的置换组合网络(SPN)加密系统,而CAST6是作为AES的竞选算法提出的。

CAST5是一种12或16循环的Feistel密码,块长度为64位,密钥长度可变,从40位到128位按8位递增,并且只有当密钥长度大于80位时,才允许使用16循环。

CAST6是一种48循环的Feistel密码,块长度位128位,密钥长度可变,从128位到256位按32位递增。

CAST128和CAST5是一样的,不是指使用128位密钥。为区分不同密钥长度的操作,在算法名后需要加上密钥长度,如使用40位密钥时表示为CAST5-40,使用128位密钥时表示为CAST5-128。

法加密过程

    CAST-128整个加密过程分为密钥预处理和信息加密两个过程。密钥预处理过程是根据输入的 128 位密钥,通过一系列的S-盒置换生成 16 对子密钥。信息加密是把输入的 64 位信息分为左右两半 L0 和 R0,通过一系列的循环变换生成 L16 和 R16,然后连接 L16 和 R16 就是输出的密文。对 Cast-128 算法解密也要分为密钥预处理和信息解密两个过程。密钥预处理和加密的时候完全相同,输入的密钥表也一样。而信息解密是把加密时的一系列循环变换倒过来,按相反的顺序从 L16 和 R16 计算出 L0 和 R0。

    CAST-256可以看作CAST-128的扩展版本,同样采用CAST算法设计过程,它的分组长度为128比特,密钥长度为256比特,采用含有4个分支的广义Feistel结构。因为CAST-128和CAST-256拥有良好的密码学性质,并被广泛地使用, 使得它们受到了密码学家的广泛关注。

    这个只是了解,根据资料,CAST算法是在AES算法的海选中出现的一种算法,最终当选的是AES;非密码学专业人士了解一下就可以了;

cast英文本来的意思是铸造;把液态的金属倒入成型的模范这个过程叫cast。编程中把一段数据装成某个数据类型,或者转换一个数据类型为另一种数据类型,让数据具有某个类型的过程叫做cast。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值