【技术实现步骤摘要】
一种单字节数据加解密算法
[0001]本公开涉及卫星通信领域
,尤其涉及一种单字节数据加解密算法,具体涉及一种单字节数据加密算法、轮密钥rKi的获取算法和单字节数据解密算法以及电子设备。
技术介绍
[0002]各类数据通信领域,均有需求对数据进行加密,且领域要求传输的数据量越小越好。如访问网页常用HTTPS(TLS)对访问数据进行加解密,蜂窝通信领域对数据短信要进行加解密。每种场景使用,都会依照使用场景的安全要求、数据承载量等情况设计安全机制,选定对应的加解密算法。
[0003]目前常用的数据加解密算法,要对数据数据进行分块处理,最小加解密数据单元长度是8字节、16字节、64字节等的整数倍。对于数据长度达不到8字节、16字节、64字节的整数倍,需要填充数据,加密后的填充数据需要传递给接收方,接收方才能解密数据。这就带来了如下技术问题:
[0004]为了加密做了数据填充就会增加传输的数据量,对于互联网传输、数据短信等场景,增加的传输数据量,对于系统通信带宽来说是可以接受的。但是对于卫星通信等其它一些通信带宽窄的通信系统,额外增加的数据,是不能被接受的。
技术实现思路
[0005]为了解决上述问题,本申请提出一种单字节数据加密算法、轮密钥rKi的获取算法和单字节数据解密算法以及电子设备。
[0006]本申请一方面,提出一种单字节数据加密算法,适用于卫星通信领域的数据加解密,包括如下步骤:
[0007]将单字节M分为高半字节Xi和低半字节X(i+1);
[000 ...
【技术保护点】
【技术特征摘要】
1.一种单字节数据加密算法,适用于卫星通信领域的数据加解密,其特征在于,包括如下步骤:将单字节M分为高半字节Xi和低半字节X(i+1);执行轮函数F,采用预设的轮密钥rKi对所述高半字节Xi和所述低半字节X(i+1)执行轮次加密运算,得到2个4bit数:X
A
和X
B
;对所述X
A
和所述X
B
进行反序变换,并合并为一个字节,得到密文N:N=X
A
X
B
;保存并输出所述密文N。2.根据权利要求1所述的单字节数据加密算法,其特征在于,将单字节M分为高半字节Xi和低半字节X(i+1),包括:配置C盒,C盒是256个数,值从0~255,每个数字不重复;将单字节M,经过C盒变化,转换成另一个的单字节X;将单字节X分为高半字节Xi和低半字节X(i+1)。3.根据权利要求1所述的单字节数据加密算法,其特征在于,执行轮函数F,采用预设的轮密钥rKi对所述高半字节Xi和所述低半字节X(i+1)执行轮次加密运算,得到2个4bit数:X
A
和X
B
,包括:预设轮函数F的异或运算规则;将所述X(i+1)和所述轮密钥rKi,按照所述异或运算规则进行异或运算,得到一个4bit的第一异或运算数据:Sin=X(i+1)
⊕
rKi,
⊕
符号代表异或运算;将所述第一异或运算数据作为S盒变换的输入,进行S盒变换,将Sin转换成另外一个4bit的数字Sout;S盒是一个16个数字,值从0~15,每个数字不重复;将Sout左移1位,得到一个4bit的结果Y;计算:X(i+2)=Xi
⊕
Y
⊕
Sout完成本轮的加密运算。4.根据权利要求3所述的单字节数据加密算法,其特征在于,执行轮函数F,采用预设的轮密钥rKi对所述高半字节Xi和所述低半字节X(i+1)执行轮次加密运算,得到2个4bit数:X
A
和X
B
,还包括:配置4个不同的轮密钥rKi;按照权利要求3所述的加密运算步骤,每轮采用1个轮密钥rKi进行加密运算;轮次进行,完成4轮的每轮加密运算后,得到2个4bit数:X
A
和X
B
。5.一种轮密钥rKi的获取算法,其特征在于,包括如下步骤:将一个字节的初始秘钥MK分为2个4bit的数:MKi和MK(i+1);将初始密钥MKi和MK(i+1),与系统的固定参数FK0和FK1,分别进行异或运算,得到用于轮函数F
’
运算的Ki和K(i+1):Ki=MKi
⊕
FK0;K(i+1)=MK(i+1)
⊕
FK1,
⊕
符号代表异或运算;执行轮函数F
’
,对所述Ki和所述K(i+1)进行轮次异或云端,得到并输出轮密钥rKi。
6.根据权利要求5...
【专利技术属性】
技术研发人员:高岚,闫楠,耿炎,
申请(专利权)人:芯安微众上海微电子技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。