S-DES加密算法流程概述

本文介绍了S-DES加密算法的流程,包括密钥生成、明文加密过程。首先通过预定义的初始置换IP和P10置换生成密钥,然后使用循环左移和P8置换进一步处理。在加密过程中,明文经过IP置换、扩展变换、模2加运算、S盒变换、模2加及SW交换等步骤,最后通过IP-1逆置换得到密文。解密过程则与加密相反。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sdes

图中符号含义:
IP:预定义的初始置换
Fk:包含置换、替代操作且依赖于密钥的变换,公式:

f

具体算法如图所示:

fk


SW:将输入的数据进行高四位和第四位交换;
IP-1:IP的逆置换;
RLC_1:循环左移1位;
RLC_2:循环左移2位

算法概述:

先生成密钥:
1. 需要产生两个密钥,输入的10位密钥,然后进行P10置换(类似于DES中的IP置换),将结果分为两组,设为L和R;
2. 两组分别进行循环左移1位操作,得到L1和R1;
3. 将L1和R1合并,并将合并的数据经过P8置换,得到8位的密钥K1;
4. L1和R1再次进行循环左移2位操作,得到L2和R2;
5. 将L2和R2进行合并,并将合并的数据通过P8置换,得到8位的密钥K2;

明文加密:
1. 对8位明文M0进行IP置换,得到M1;
2. 将M1分为两部分M1L和M1R,然后将M1L和M1R代入到fk中进行变换
3. 在fk中,首先对M1R通过E/P扩展变换将四位M1R扩展位八位,然后这八位同密钥K1进行模2加运算,将得到的结果分为两部分并且分别通过S0和S1进行和变换,变换后每一部分只剩2位。这两位进行合并,通过P4变换得四位的M1RP,然后将M1RP和M1L进行模2加运算得到四位的L,然后将L同M1R进行合并得到M2。
4. 然后将M2通过SW变换,即将其高四位和低四位进行交换。
5. 再通过fk函数(过程同3)
6. 再通过IP-1变换得到八位密文。

解密的时候其实就是把密钥使用的顺序颠倒一下。

有了DES的基础,这个就比较容易了

不过要把fk函数叙述清楚了还真不是件容易事,哎,文学呀,文学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值