CN114697094B - 兼容多加密算法的加密方法和加密装置、存储介质 - Google Patents

兼容多加密算法的加密方法和加密装置、存储介质 Download PDF

Info

Publication number
CN114697094B
CN114697094B CN202210281834.9A CN202210281834A CN114697094B CN 114697094 B CN114697094 B CN 114697094B CN 202210281834 A CN202210281834 A CN 202210281834A CN 114697094 B CN114697094 B CN 114697094B
Authority
CN
China
Prior art keywords
encryption
encryption algorithm
data
ciphertext
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210281834.9A
Other languages
English (en)
Other versions
CN114697094A (zh
Inventor
王金成
程春河
唐丕强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jiaoda Microunion Tech Co ltd
Original Assignee
Beijing Jiaoda Microunion Tech Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jiaoda Microunion Tech Co ltd filed Critical Beijing Jiaoda Microunion Tech Co ltd
Priority to CN202210281834.9A priority Critical patent/CN114697094B/zh
Publication of CN114697094A publication Critical patent/CN114697094A/zh
Application granted granted Critical
Publication of CN114697094B publication Critical patent/CN114697094B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种兼容多加密算法的加密方法和加密装置、存储介质,所述方法包括:针对多个加密算法中的每个加密算法的实现过程构建相应的加密算法实现文件,并构建多个加密算法的加密算法调度文件;将多个加密算法实现文件封装在加密算法调度文件中,并将加密算法调度文件封装在RSSP‑II协议的安全功能模块中;在确定目标加密算法时,RSSP‑II协议的消息鉴定安全层将调用加密算法调度文件,以通过加密算法调度文件根据目标加密算法调用相应的加密算法实现文件以对目标数据进行加解密。本发明的加密方法,通过将多个加密算法进行封装,便于铁路信号系统通信模块的快速搭建和加密技术的快速移植,使铁路信号系统同时兼容多种加密算法,增加了系统的通信广度。

Description

兼容多加密算法的加密方法和加密装置、存储介质
技术领域
本发明涉及加密技术领域,尤其涉及一种兼容多加密算法的加密方法、一种计算机可读存储介质、一种计算机设备和一种兼容多加密算法的加密装置。
背景技术
目前的各种数据加密体制可分为对称密码加密体制和公钥密码加密体制常用的对称密码算法有DES(Data Encryption Standard,数据加密标准)、SM4(分组密码算法)。
RSSP-II(铁路信号安全通信协议II)安全通信协议是一种铁路信号设备间通信采用的协议,已有的RSSP-II协议都是基于3DES算法,在铁路信号系统中,3DES(三重DES加密算法)加密算法、SM4加密算法在消息鉴定层中兼容,并未实现加密算法代码的模块化、集成化,不利于信号系统加密技术的快速移植和应用普遍化,并且当前铁路信号系统不能同时兼容两种加密算法,且加密算法的计算效率较低。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种兼容多加密算法的加密方法,通过将多个加密算法进行封装,便于铁路信号系统通信模块的快速搭建和加密技术的快速移植,使铁路信号系统同时兼容多种加密算法,增加了系统的通信广度,使用该加密算法的信号系统,如作为服务器的无线闭塞RBC(Raid Block Center,无线闭塞中心)信号系统升级加密算法后,地面设备如联锁设备无需跟随RBC同时升级加密算法,并且在现场信号设备维护方面,在一定程度上可以避免铁路信号系统中某一信号设备升级加密算法时,必须同时升级对端设备的问题,减少了信号系统的更换同步性,降低多个系统同时更换带来的问题,提高系统的稳定性。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种兼容多加密算法的加密装置。
为达到上述目的,本发明第一方面实施例提出了一种兼容多加密算法的加密方法,包括:针对多个加密算法中的每个加密算法的实现过程构建相应的加密算法实现文件,并构建多个加密算法的加密算法调度文件;将多个加密算法实现文件封装在加密算法调度文件中,并将加密算法调度文件封装在RSSP-II协议的安全功能模块中;在确定目标加密算法时,RSSP-II协议的消息鉴定安全层将调用加密算法调度文件,以通过加密算法调度文件根据目标加密算法调用相应的加密算法实现文件以对目标数据进行加解密。
根据本发明实施例的兼容多加密算法的加密方法,首先针对多个加密算法中的每个加密算法的实现过程构建相应的加密算法实现文件,并构建多个加密算法的加密算法调度文件,然后将多个加密算法实现文件封装在加密算法调度文件中,并将加密算法调度文件封装在RSSP-II协议的安全功能模块中,最后在确定目标加密算法时,RSSP-II协议的消息鉴定安全层将调用加密算法调度文件,以通过加密算法调度文件根据目标加密算法调用相应的加密算法实现文件以对目标数据进行加解密。由此,该方法通过将多个加密算法进行封装,便于铁路信号系统通信模块的快速搭建和加密技术的快速移植,使铁路信号系统同时兼容多种加密算法,增加了系统的通信广度。
另外,根据本发明上述实施例的兼容多加密算法的加密方法还可以具有如下的附加技术特征:
根据本发明的一个实施例,多个加密算法包括DES加密算法和SM4加密算法。
根据本发明的一个实施例,当目标加密算法为SM4加密算法时,对目标数据进行加密,包括:按照预设长度将目标数据划分为多个数据块,并对最后一个数据块进行补位;根据会话密钥采用明文异或加密方式对多个数据块进行加密得到数据密文。
根据本发明的一个实施例,根据会话密钥采用明文异或加密方式对多个数据块进行加密得到数据密文,包括:利用会话密钥对第一个数据块进行加密以生成对应的中间密文;除第一个数据块之外的每个数据块均先与前一个数据块对应的中间密文异或后再利用会话密钥进行加密以生成对应的中间密文,且将最后一个数据块对应的中间密文作为数据密文。
根据本发明的一个实施例,当目标加密算法为SM4加密算法时,对目标数据进行加密,包括:按照预设长度将目标数据划分为多个数据块,并对最后一个数据块进行补位;根据会话密钥采用密文异或加密方式对多个数据块进行加密得到数据密文。
根据本发明的一个实施例,根据会话密钥采用密文异或加密方式对多个数据块进行加密得到数据密文,包括:利用会话密钥对第一个数据块进行异或加密以生成对应的中间密文;除第一个数据块之外的每个数据块均利用前一个数据块对应的中间密文进行异或加密生成对应的中间密文,且将最后一个数据块对应的中间密文作为数据密文。
根据本发明的一个实施例,当目标加密算法为SM4加密算法时,对目标数据进行加密,包括:按照预设长度将目标数据划分为多个数据块,并对最后一个数据块进行补位;采用查表法获取多个数据块中每个数据块的置换数据;将多个置换数据进行异或得到数据密文。
为达到上述目的,本发明第二方面实施例提出一种计算机可读存储介质,其上存储有兼容多加密算法的加密程序,该兼容多加密算法的加密程序被处理器执行时实现上述的兼容多加密算法的加密方法。
本发明实施例的计算机可读存储介质,通过执行时实现上述的兼容多加密算法的加密方法,能够便于铁路信号系统通信模块的快速搭建和加密技术的快速移植,使铁路信号系统同时兼容多种加密算法,增加了系统的通信广度。
为达到上述目的,本发明第三方面实施例提出的一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的兼容多加密算法的加密程序,处理器执行兼容多加密算法的加密程序时,实现上述的兼容多加密算法的加密方法。
本发明实施例的计算机设备,通过执行上述的兼容多加密算法的加密方法,能够便于铁路信号系统通信模块的快速搭建和加密技术的快速移植,使铁路信号系统同时兼容多种加密算法,增加了系统的通信广度。
为达到上述目的,本发明第四方面实施例提出了一种兼容多加密算法的加密装置,包括:构建模块,用于针对多个加密算法中的每个加密算法的实现过程构建相应的加密算法实现文件,并构建多个加密算法的加密算法调度文件;封装模块,用于将多个加密算法实现文件封装在加密算法调度文件中,并将加密算法调度文件封装在RSSP-II协议的安全功能模块中;加解密模块,用于在确定目标加密算法时,RSSP-II协议的消息鉴定安全层将调用加密算法调度文件,以通过加密算法调度文件根据目标加密算法调用相应的加密算法实现文件以对目标数据进行加解密。
根据本发明实施例的兼容多加密算法的加密装置,构建模块针对多个加密算法中的每个加密算法的实现过程构建相应的加密算法实现文件,并构建多个加密算法的加密算法调度文件,封装模块将多个加密算法实现文件封装在加密算法调度文件中,并将加密算法调度文件封装在RSSP-II协议的安全功能模块中,在确定目标加密算法时,加解密模块RSSP-II协议的消息鉴定安全层将调用加密算法调度文件,以通过加密算法调度文件根据目标加密算法调用相应的加密算法实现文件以对目标数据进行加解密。由此,该装置通过将多个加密算法进行封装,便于铁路信号系统通信模块的快速搭建和加密技术的快速移植,使铁路信号系统同时兼容多种加密算法,增加了系统的通信广度。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为根据本发明实施例的兼容多加密算法的加密方法的流程图;
图2为根据本发明一个实施例的RSSP-II协议与加密算法的层次结构示意图;
图3为根据本发明一个实施例的明文异或时序加密示意图;
图4为根据本发明一个实施例的密文异或时序加密示意图;
图5为根据本发明实施例的加密过程的置换表部分数据示意图;
图6为根据本发明实施例的密钥拓展过程的置换表部分数据示意图;
图7为根据本发明实施例的计算机设备的方框示意图;
图8为根据本发明实施例的兼容多加密算法的加密装置的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例提出的兼容多加密算法的加密方法、计算机可读存储介质、计算机设备和兼容多加密算法的加密装置。
在本发明的实施例当中,在RSSP-II协议报文格式中,加密数据主要指消息结构中的MAC(Message Authentication Code,消息验证码),对于使用DES(Data EncryptionStandard,数据加密标准)加密算法时,输出密文MAC数据长度为8字节;对于SM4加密算法(也称SM4分组加密算法)时,输出密文MAC数据长度为16字节。采用3DES加密算法时,在安全层中数据密文MAC在报文中的数据结构如下:帧头(类型与方向)为1字节,用户数据为变量,可为n字节,输出密文MAC为8字节。采用SM4加密算法时,在安全层中数据密文MAC在报文中的数据结构如下:帧头(类型与方向)为1字节,用户数据为变量,可为n字节,输出密文MAC为16字节。
如图1所示,本发明实施例的兼容多加密算法的加密方法可包括以下步骤:
S1,针对多个加密算法中的每个加密算法的实现过程构建相应的加密算法实现文件,并构建多个加密算法的加密算法调度文件。
S2,将多个加密算法实现文件封装在加密算法调度文件中,并将加密算法调度文件封装在RSSP-II协议的安全功能模块中。
根据本发明的一个实施例,多个加密算法可包括DES加密算法和SM4加密算法。
具体而言,对于DES加密算法和SM4加密算法的具体实现过程均可以通过C++语言或者C语言进行编程,并可通过VisualStudio2012编程软件将代码保存为.c文件(加密算法实现文件)。将DES加密算法实现文件和SM4加密算法实现文件处理封装在加密算法调度文件中,并将加密算法调度文件封装在RSSP-II协议的安全功能模块中,并将SM4加密算法实现文件命名为rsp2_sm4.c,将DES加密算法实现文件命名为rsp2_des.c,将加密算法调度文件命名为rsp2_ss.c。通过调用加密算法调度文件,选择不同的加密算法实现文件对用户输入的明文进行加密,以此将DES和SM4两种加密算法进行模块化、集成化,使铁路信号系统将同时兼容两种加密算法,增强铁路信号系统的通信广度。其中,RSSP-II协议的安全功能模块明细如表1所示。
表1
RSP2 RSSP-II安全功能模块
├─rsp2_ss.c 兼容加密算法调度模块
└─rsp2_sm4.c SM4加密算法实现模块
└─rsp2_des.c DES加密算法实现模块
├─rsp2.c 安全通信实现模块
├─rsp2.h 安全通信数据结构及相关数据声明模块
├─rsp2_api.h 安全通信接口函数模块
由表1可知,可通过调用RSSP-II安全功能模块中的加密算法调度模块rsp2_ss.c来调用SM4加密算法实现模块rsp2_sm4.c以及DES加密算法实现模块rsp2_des.c。在客户端与服务器进行通信时,通过安全通信实现模块rsp2.c通信双方进行连接,并调用安全通信接口函数模块rsp2_api.h确定加密算法。对于作为服务器的铁路信号系统可以同时调用不同的加密算法与多个接口进行通信,对于作为客户端的铁路信号系统可以根据厂家约定配置加密算法。
在本发明的一些实施例中,考虑到密钥是否容易被破解的问题,DES加密算法可以使用3DES加密算法。其中,3DES加密算法使用3条56位的密钥对数据进行三次加密,其中第一次和第三次是采用DES的加密算法,第二次采用的则是解密算法,即,加密—解密—加密,执行3次DES来达到增加密钥长度和安全,使得加密后的数据难以再短时间内破击,使数据更加安全。
S3,在确定目标加密算法时,RSSP-II协议的消息鉴定安全层将调用加密算法调度文件,以通过加密算法调度文件根据目标加密算法调用相应的加密算法实现文件以对目标数据进行加解密。
具体而言,如图2所示,3DES和SM4主要应用于RSSP-II协议中,RSSP-II协议的消息鉴定安全层对3DES和SM4的加密算法调度文件进行调用,并根据相应的加密算法实现文件对目标数据进行加解密,保证数据的安全。通过在安全通信接口函数模块中设置初始化函数void rsp2_SSInit(SecretServer_p pstrSS,uint8_td pu8MK[],uint8_td u8SaF)来对不同的算法进行选择,其中,pstrSS代表密钥服务数据结构,pu8MK代表验证密钥,u8SaF代表安全服务类型,包括3DES,SM4,该函数返回值为安全服务ID。当客户端配置加密算法时,通过在初始化函数中配置数据u8SaF=SM4或3DES的值便可以选择相应的加密方式。在u8SaF=SM4时,消息鉴定安全层调用SM4加密算法对应的算法调度文件,通过SM4加密算法实现文件对明文数据进行加密;在u8SaF=3DES时,消息鉴定安全层调用3DES加密算法对应的算法调度文件,通过3DES加密算法实现文件对明文数据进行加密。服务器端可以根据与通信接口中数据中u8SaF的值是否为SM4或3DES来判断与该接口通信时使用SM4加密算法还是3DES加密算法进行加密通信。由此,可以兼容两种加密算法,将3DES和SM4两种加密算法标准化、模块化、集成化,铁路信号系统通信模块的快速搭建和加密技术的快速移植,增强铁路信号系统的通信广信度。根据本发明的一个实施例,当目标加密算法为SM4加密算法时,对目标数据进行加密,包括:按照预设长度将目标数据划分为多个数据块,并对最后一个数据块进行补位;根据会话密钥采用明文异或加密方式对多个数据块进行加密得到数据密文。
根据本发明的一个实施例,根据会话密钥采用明文异或加密方式对多个数据块进行加密得到数据密文,包括:利用会话密钥对第一个数据块进行加密以生成对应的中间密文;除第一个数据块之外的每个数据块均先与前一个数据块对应的中间密文异或后再利用会话密钥进行加密以生成对应的中间密文,且将最后一个数据块对应的中间密文作为数据密文。
具体而言,当客户端配置数据是SM4加密算法进行数据加密时,默认SM4加密算法采用的是明文异或加密方式。当对目标数据进行加密时,可按照预设长度将目标数据划分为多个数据块,例如,如图3所示,可根据用户输入的数据总长度,按照预设长度为8位对用户输入的数据分成q个数据块,即D1、D2、D3…Dq,其中,q可以根据实际情况而定,以输入的数据为36位,每块数据长度为8位为例,q就可以设定为5。当最后一个数据块q未达到预设长度8位时,即位数不够的情况下用0进行补位,如最后一个数据块q差四位即可达到预设长度,那么只需在数据块q的数据末尾依次添加4个0。当数据处理完成之后,首先通过会话密钥KN对第一个数据块D1的明文数据进行加密,得到中间密文数据H1,当对第二个数据块D2的明文数据进行加密时,将数据块D2与中间密文H1进行逻辑异或处理后,会话密钥KN对异或后的结果再次加密,得到中间密文数据H2,…,当对第q个数据块Dq的明文数据进行加密时,首先将数据块Dq与中间密文Hq-1进行逻辑异或处理,会话密钥KN对异或后的结果再次加密,得到中间密文数据Hq。此时最后一个数据块对应的中间密文Hq即为整个数据的数据密文MAC。由此,通过明文异或加密方式完成了对明文数据的加密,保障了数据安全。
根据本发明的另一个实施例,当目标加密算法为SM4加密算法时,对目标数据进行加密,包括:按照预设长度将目标数据划分为多个数据块,并对最后一个数据块进行补位;根据会话密钥采用密文异或加密方式对多个数据块进行加密得到数据密文。
根据本发明的一个实施例,根据会话密钥采用密文异或加密方式对多个数据块进行加密得到数据密文,包括:利用会话密钥对第一个数据块进行异或加密以生成对应的中间密文;除第一个数据块之外的每个数据块均利用前一个数据块对应的中间密文进行异或加密生成对应的中间密文,且将最后一个数据块对应的中间密文作为数据密文。
具体而言,为了适应不同的加密场景的需要,如需提高加密的复杂度,提高数据的安全性,还可以使用密文异或的加密方式。例如,如图4所示,可根据用户输入的数据总长度,按照预设长度为8位对用户输入的数据分成q个数据块,即D1、D2、D3…Dq,其中,q可以根据实际情况而定,以输入的数据为36位,每块数据长度为8位为例,q就可以设定为5。当最后一个数据块q未达到预设长度8位时,即位数不够的情况下用0进行补位,如最后一个数据块q差四位即可达到预设长度,那么只需在数据块q的数据末尾依次添加4个0。当数据处理完成之后,首先通过会话密钥KN与第一个数据块D1的明文数据进行逻辑异或处理,生成第一个数据块D1对应的中间密文KN1,当对第二个数据块D2进行加密时,将中间密文KN1与第二个数据块D2的明文数据进行逻辑异或处理,生成第二个数据块D2对应的中间密文KN2,…,当对第q个数据块Dq的明文数据进行加密时,将中间密文KNq-1与第q个数据块Dq的明文数据进行逻辑异或处理,生成第q个数据块Dq对应的中间密文KNq,此时最后一个数据块对应的中间密文KNq即为整个数据的数据密文MAC。由此,通过密文异或的加密方式,会话密钥迭代变化,而非固定值,完成了明文数据的加密,提高了加密的复杂度以及数据的安全性。
根据本发明的一个实施例,当目标加密算法为SM4加密算法时,对目标数据进行加密,包括:按照预设长度将目标数据划分为多个数据块,并对最后一个数据块进行补位;采用查表法获取多个数据块中每个数据块的置换数据;将多个置换数据进行异或得到数据密文。
具体而言,为了提高SM4加密算法计算效率,可以通过查表法进行加密,提高系统对数据的处理能力。根据GB/T32907-2016 SM4算法合成置换T函数由非线性变换S函数和线性变换L函数组成,即T(z)=L(S(z))。令LSn(x)表示x循环左移n位,并令x=S(z)。即T(z)=L(x)。对于加密过程:L(x)=LS0(x)⊕LS2(x)⊕LS10(x)⊕LS18(x)⊕LS24(x),对于密钥扩展过程:L(x)=LS0(x)⊕LS13(x)⊕LS23(x)。由于a与b逻辑异或后循环左移n位等于a与b分别循环左移n位后再逻辑异或,即LSn(a⊕b)=LSn(a)⊕LSn(b)。其中,⊕表示逻辑异或运算符。假设宽度为32位的输入明文数据x,划分为宽度为8位x1、x2、x3、x4的数据块,记为(x1,x2,x3,x4),则x=(x1,0,0,0)⊕(0,x2,0,0)⊕(0,0,x3,0)⊕(0,0,0,x4)。则L(x)=L(x1,0,0,0)⊕L(0,x2,0,0)⊕L(0,0,x3,0)⊕L(0,0,0,x4)。由于非线性变换S函数为对输入x按照每8位进行变换,将S函数的输入z表示为(z1,z2,z3,z4),则S(z)=(S(z1),S(z2),S(z3),S(z4))。则置换T函数可表示为:T(z)=L(S(z1),0,0,0)⊕L(0,S(z2),0,0)⊕L(0,0,S(z3),0)⊕L(0,0,0,S(z4))。令T1(z1)=L(S(z1),0,0,0),T2(z2)=L(0,S(z2),0,0),T3(z3)=L(0,0S(z4),0),T4(z4)=L(0,0,0,S(z4)),T函数可进一步表示为:T(z)=T1(z1)⊕T2(z2)⊕T3(z3)⊕T4(z4)。由于x1,x2,x3,x4的取值范围为[0,255],故可通过查表快速获得相应的置换数据T1,T2,T3,T4。最后将置换数据进行异或得到数据密文。其中,如图5和图6所示,加密过程和密钥扩展过程的置换表分别为g_pu32T1323Tbl和g_pu32T02101824Tbl。需要说明的是,该加密过程和密钥扩展过程的置换表仅代表了部分数据,没有给出全部的数据。
另外,对于按照预设长度将目标数据划分为多个数据块,有数据块中未达到预设长度时,对该数据块进行补位处理。例如,待加密的数据为36位,按照8位数据长度划分,得到两组数据块。第一组为X1、X2、X3、X4,第二组为X5、X6、X7、X8,其中,X5至X8数据块中位数不足时,用0进行补位。然后先将X1、X2、X3、X4分别输入表中,查表得到相应的置换数据,每个数据都是32位,对查表得到的4个32位的数据进行逻辑异或处理,再将X5、X6、X7、X8分别输入表中,查表得到相应的置换数据,每个数据都是32位,对查表得到的4个32位的数据进行逻辑异或处理,最后将两次置换数据异或的结果再次进行逻辑异或处理,以此将输入的36位明文数据进行快速加密,得到密文数据。
在本发明的一些实施例中,不同的层次间接口的通信配合不同,对应的功能不同,例如,在RSSP-II协议层与消息鉴定安全层之间的接口初始化,通过设置初始化函数voidrsp2_SSInit(SecretServer_p pstrSS,uint8_td pu8MK[],uint8_td u8SaF)来对不同的算法进行选择,其中,pstrSS代表密钥服务数据结构,pu8MK[]代表验证密钥,u8SaF代表安全服务类型,包括3DES,SM4,该函数返回值为安全服务ID。然后在接口上配置加密函数,例如,uint8_td rsp2_SSEncode(SecretServer_ppstrSS,const uint8_td pu8DataIn[],uint16_td u16Len,uint8_td pu8DataOut[],uint8_td u8MsgType),其中,pstrSS表示秘钥服务数据结构,pu8DataIn表示输入SaPDU,u16Len表示输入数据长度,pu8DataOut表示输出MAC,u8MsgType表示消息类型[AU2|AU3|AR|DT],返回值表示MAC的长度。程序处理:当MsgType为AU2时,解析AU2SaPDU获得RA和服务器CTCSID,生成会话秘钥;将输入SaPDU扩展为输入明文;对输入明文进行加密,获得输出MAC。
消息鉴定安全层和核心算法层之间的接口,在接口上进行秘钥拓展,void mu_ExtrenR KSim4(in uint32_td MK[4],out uint32_td RK[32]),其中,Sim4表示秘钥拓展函数,MK表示验证秘钥,RK表示会话秘钥。在接口上配置加密函数和解密函数,包括:DES加密函数、3DES解密函数、SM4加密函数和SM4解密函数,其中,DES加密函数为void rsp2_FastDes(const uint8_td pu8Blockin[],uint8_td pu8Lockout[],constuint32_tdpu32Subkey[]),3DES解密函数为void mu_Decode3DES(uint8_td pu8DataIn[],uint8_tdpu8DataOut[],uint32_td pu32RK[]),SM4加密函数为static void BasicEncodeSm4(uint8_td pu8DataIn[],uint8_td pu8DataOut[],uint32_td pu32RK[]),SM4解密函数为void mu_Decode Sm4(uint8_td pu8DataIn[],uint8_td pu8DataOut[],uint32_tdpu32RK[])。其中,pu8Blockin代表待处理的位(字节)数据块,pu8Lockout代表存储处理后数据的字节数据块,pu32Subkey代表3DES算法的会话秘钥,pu8DataIn代表分组明文,pu8DataOut代表分组密文,pu32RK代表SM4算法的会话秘钥。
应用层同步密钥参数的接口,在接口中配置接收密钥服务数据函数,uint16_tdrsp2_SSRecvSynData(SecretServer_p pstrSS,uint8_td pu8DataIn[]),其中,pstrSS表示秘钥服务数据结构,pu8DataIn表示分组明文;配置发送密钥服务数据函数,uint16_tdrsp2_SSSendSynData(const SecretServer_s*pstrSS,uint8_td pu8DataOut[]),其中,pstrSS表示秘钥服务数据结构,pu8DataOut表示分组密文;配置获取密钥服务数据长度函数,uint16_td rsp2_SSGetSynLen(void)。
综上,本发明的加密方法,将3DES和SM4两种加密算法标准化、模块化、集成化,铁路信号系统通信模块的快速搭建和加密技术的快速移植;使用该加密方法的铁路信号系统将同时兼容两种加密算法,增强铁路信号系统的通信广度,对于作为客户端的铁路信号系统可以根据厂家约定配置加密算法,对于作为服务器的铁路信号系统可以同时调用不同的加密算法与多个接口进行通信;在标准SM4标准明文异或加密算法中,增加密文异或的加密算法,可通过配置选择取用哪种加密算法,提高加密算法的可拓展性;对SM4标准算法进行升级,通过查表法快速计算得到输出密钥,提高系统处理效率,提高信号系统对通信数据处理能力。
综上所述,根据本发明实施例的兼容多加密算法的加密方法,针对多个加密算法中的每个加密算法的实现过程构建相应的加密算法实现文件,并构建多个加密算法的加密算法调度文件;将多个加密算法实现文件封装在加密算法调度文件中,并将加密算法调度文件封装在RSSP-II协议的安全功能模块中;在确定目标加密算法时,RSSP-II协议的消息鉴定安全层将调用加密算法调度文件,以通过加密算法调度文件根据目标加密算法调用相应的加密算法实现文件以对目标数据进行加解密。由此,该方法能够便于铁路信号系统通信模块的快速搭建和加密技术的快速移植,使铁路信号系统同时兼容多种加密算法,增加了系统的通信广度。
对应上述实施例,本发明还提出了一种计算机可读存储介质。
本发明的计算机可读存储介质,其上存储有兼容多加密算法的加密程序,该兼容多加密算法的加密程序被处理器执行时实现上述的兼容多加密算法的加密方法。
本发明实施例的计算机可读存储介质,通过执行上述的兼容多加密算法的加密方法,能够便于铁路信号系统通信模块的快速搭建和加密技术的快速移植,使铁路信号系统同时兼容多种加密算法,增加了系统的通信广度。
对应上述实施例,本发明还提出了一种计算机设备。
如图7所示,本发明的计算机设备200可包括:存储器210、处理器220及存储在存储器210上并可在处理器220上运行的兼容多加密算法的加密程序,处理器220执行兼容多加密算法的加密程序时,实现上述的兼容多加密算法的加密方法。
本发明的计算机设备,通过执行上述的兼容多加密算法的加密方法,能够便于铁路信号系统通信模块的快速搭建和加密技术的快速移植,使铁路信号系统同时兼容多种加密算法,增加了系统的通信广度。
对应上述实施例,本发明还提出了一种兼容多加密算法的加密装置。
如图8所示,本发明实施例的兼容多加密算法的加密装置300可包括:构建模块310、封装模块320和加解密模块330。
其中,构建模块310用于针对多个加密算法中的每个加密算法的实现过程构建相应的加密算法实现文件,并构建多个加密算法的加密算法调度文件。封装模块320用于将多个加密算法实现文件封装在加密算法调度文件中,并将加密算法调度文件封装在RSSP-II协议的安全功能模块中。加解密模块330用于在确定目标加密算法时,RSSP-II协议的消息鉴定安全层将调用加密算法调度文件,以通过加密算法调度文件根据目标加密算法调用相应的加密算法实现文件以对目标数据进行加解密。
根据本发明的一个实施例,多个加密算法包括DES加密算法和SM4加密算法。
根据本发明的一个实施例,当目标加密算法为SM4加密算法时,对目标数据进行加密,加解密模块330具体用于:按照预设长度将目标数据划分为多个数据块,并对最后一个数据块进行补位;根据会话密钥采用明文异或加密方式对多个数据块进行加密得到数据密文。
根据本发明的一个实施例,加解密模块330根据会话密钥采用明文异或加密方式对多个数据块进行加密得到数据密文,具体用于:利用会话密钥对第一个数据块进行加密以生成对应的中间密文;除第一个数据块之外的每个数据块均先与前一个数据块对应的中间密文异或后再利用会话密钥进行加密以生成对应的中间密文,且将最后一个数据块对应的中间密文作为数据密文。
根据本发明的一个实施例,当目标加密算法为SM4加密算法时,对目标数据进行加密,加解密模块330具体用于:按照预设长度将目标数据划分为多个数据块,并对最后一个数据块进行补位;根据会话密钥采用密文异或加密方式对多个数据块进行加密得到数据密文。
根据本发明的一个实施例,加解密模块330根据会话密钥采用密文异或加密方式对多个数据块进行加密得到数据密文,具体用于:利用会话密钥对第一个数据块进行异或加密以生成对应的中间密文;除第一个数据块之外的每个数据块均利用前一个数据块对应的中间密文进行异或加密生成对应的中间密文,且将最后一个数据块对应的中间密文作为数据密文。
根据本发明的一个实施例,当目标加密算法为SM4加密算法时,对目标数据进行加密,加解密模块330具体用于:按照预设长度将目标数据划分为多个数据块,并对最后一个数据块进行补位;采用查表法获取多个数据块中每个数据块的置换数据;将多个置换数据进行异或得到数据密文。
需要说明的是,本发明实施例的兼容多加密算法的加密装置中未披露的细节,请参照本发明实施例的兼容多加密算法的加密方法中所披露的细节,具体这里不再赘述。
根据本发明实施例的兼容多加密算法的加密装置,构建模块针对多个加密算法中的每个加密算法的实现过程构建相应的加密算法实现文件,并构建多个加密算法的加密算法调度文件,封装模块将多个加密算法实现文件封装在加密算法调度文件中,并将加密算法调度文件封装在RSSP-II协议的安全功能模块中,在确定目标加密算法时,加解密模块RSSP-II协议的消息鉴定安全层将调用加密算法调度文件,以通过加密算法调度文件根据目标加密算法调用相应的加密算法实现文件以对目标数据进行加解密。由此,该装置通过将多个加密算法进行封装,便于铁路信号系统通信模块的快速搭建和加密技术的快速移植,使铁路信号系统同时兼容多种加密算法,增加了系统的通信广度。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (4)

1.一种兼容多加密算法的加密方法,其特征在于,包括:
针对多个加密算法中的每个加密算法的实现过程构建相应的加密算法实现文件,并构建所述多个加密算法的加密算法调度文件;
将多个所述加密算法实现文件封装在所述加密算法调度文件中,并将所述加密算法调度文件封装在RSSP-II协议的安全功能模块中;
在确定目标加密算法时,所述RSSP-II协议的消息鉴定安全层将调用所述加密算法调度文件,以通过所述加密算法调度文件根据所述目标加密算法调用相应的加密算法实现文件以对目标数据进行加解密;
所述多个加密算法包括DES加密算法和SM4加密算法;
当所述目标加密算法为所述SM4加密算法时,对所述目标数据进行加密,包括:
按照预设长度将所述目标数据划分为多个数据块,并对最后一个数据块进行补位;
根据会话密钥采用明文异或加密方式对所述多个数据块进行加密得到数据密文;
所述根据会话密钥采用明文异或加密方式对所述多个数据块进行加密得到数据密文,包括:
利用所述会话密钥对第一个数据块进行加密以生成对应的中间密文;
除所述第一个数据块之外的每个数据块均先与前一个数据块对应的中间密文异或后再利用所述会话密钥进行加密以生成对应的中间密文,且将最后一个数据块对应的中间密文作为所述数据密文;
当所述目标加密算法为所述SM4加密算法时,对所述目标数据进行加密,包括:
按照预设长度将所述目标数据划分为多个数据块,并对最后一个数据块进行补位;
根据会话密钥采用密文异或加密方式对所述多个数据块进行加密得到数据密文;
所述根据会话密钥采用密文异或加密方式对所述多个数据块进行加密得到数据密文,包括:
利用所述会话密钥对第一个数据块进行异或加密以生成对应的中间密文;
除所述第一个数据块之外的每个数据块均利用前一个数据块对应的中间密文进行异或加密生成对应的中间密文,且将最后一个数据块对应的中间密文作为所述数据密文;
当所述目标加密算法为所述SM4加密算法时,对所述目标数据进行加密,包括:
按照预设长度将所述目标数据划分为多个数据块,并对最后一个数据块进行补位;
采用查表法获取所述多个数据块中每个数据块的置换数据;
将多个所述置换数据进行异或得到数据密文;
还包括:
根据GB/T32907-2016 SM4算法对算法进行优化:合成置换T函数由非线性变换S函数和线性变换L函数组成,T(z)=L(S(z)),令LSn(x)表示x循环左移n位,并令x=S(z),使T(z)=L(x),对于加密过程:L(x)=LS0(x)⊕LS2(x)⊕LS10(x)⊕LS18(x)⊕LS24(x),对于密钥扩展过程:L(x)=LS0(x)⊕LS13(x)⊕LS23(x),LSn(a⊕b)=LSn(a)⊕LSn(b),L函数可表示为:L(x)=L(x1,0,0,0)⊕L(0,x2,0,0)⊕L(0,0,x3,0)⊕L(0,0,0,x4),则S函数可表示为:S(z)=(S(z1),S(z2),S(z3),S(z4)),T函数可进一步表示为:T(z)=T1(z1)⊕T2(z2)⊕T3(z3)⊕T4(z4),其中,⊕表示逻辑异或运算符。
2.一种计算机可读存储介质,其特征在于,其上存储有兼容多加密算法的加密程序,该兼容多加密算法的加密程序被处理器执行时实现根据权利要求1所述的兼容多加密算法的加密方法。
3.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的兼容多加密算法的加密程序,所述处理器执行所述计算机设备的加密程序时,实现根据权利要求1所述的兼容多加密算法的加密方法
4.一种兼容多加密算法的加密装置,其用于实现如权利要求1所述的兼容多加密算法的加密方法,其特征在于,包括:
构建模块,用于针对多个加密算法中的每个加密算法的实现过程构建相应的加密算法实现文件,并构建所述多个加密算法的加密算法调度文件;
封装模块,用于将多个所述加密算法实现文件封装在所述加密算法调度文件中,并将所述加密算法调度文件封装在RSSP-II协议的安全功能模块中;
加解密模块,用于在确定目标加密算法时,所述RSSP-II协议的消息鉴定安全层将调用所述加密算法调度文件,以通过所述加密算法调度文件根据所述目标加密算法调用相应的加密算法实现文件以对目标数据进行加解密。
CN202210281834.9A 2022-03-21 2022-03-21 兼容多加密算法的加密方法和加密装置、存储介质 Active CN114697094B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210281834.9A CN114697094B (zh) 2022-03-21 2022-03-21 兼容多加密算法的加密方法和加密装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210281834.9A CN114697094B (zh) 2022-03-21 2022-03-21 兼容多加密算法的加密方法和加密装置、存储介质

Publications (2)

Publication Number Publication Date
CN114697094A CN114697094A (zh) 2022-07-01
CN114697094B true CN114697094B (zh) 2024-03-26

Family

ID=82139649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210281834.9A Active CN114697094B (zh) 2022-03-21 2022-03-21 兼容多加密算法的加密方法和加密装置、存储介质

Country Status (1)

Country Link
CN (1) CN114697094B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116015981B (zh) * 2023-03-21 2023-06-23 深圳市星火数控技术有限公司 一种缝纫数控文件数据加密方法
CN117098120B (zh) * 2023-10-19 2024-01-02 国网山西省电力公司晋城供电公司 一种北斗短报文数据加解密方法、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710412A (zh) * 2012-05-07 2012-10-03 北京握奇数据系统有限公司 加密算法兼容管理的方法及装置
CN105049194A (zh) * 2015-06-01 2015-11-11 北京时代民芯科技有限公司 一种流水线结构的sm4算法实现系统
CN108011867A (zh) * 2017-11-13 2018-05-08 北京全路通信信号研究设计院集团有限公司 一种铁路信号的安全加密方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710412A (zh) * 2012-05-07 2012-10-03 北京握奇数据系统有限公司 加密算法兼容管理的方法及装置
CN105049194A (zh) * 2015-06-01 2015-11-11 北京时代民芯科技有限公司 一种流水线结构的sm4算法实现系统
CN108011867A (zh) * 2017-11-13 2018-05-08 北京全路通信信号研究设计院集团有限公司 一种铁路信号的安全加密方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Linux上内核多加密卡容错实时并行调度系统的研究与实现;寇家林;《CNKI硕士电子期刊》;第1-73页 *

Also Published As

Publication number Publication date
CN114697094A (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
CN114697094B (zh) 兼容多加密算法的加密方法和加密装置、存储介质
US5142578A (en) Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors
US20200259647A1 (en) Quantum-augmentable hybrid encryption system and method
AU687524B2 (en) Digital radio transceiver with encrypted key storage
US5568554A (en) Method for improving the processing and storage performance of digital signature schemes
CN110912690A (zh) 一种数据加密和解密方法、车辆和存储介质
KR101594553B1 (ko) 암호화 키를 생성하는 방법, 이를 위한 네트워크 및 컴퓨터 프로그램
RU2636109C2 (ru) Использующее общий ключ сетевое устройство и его конфигурирование
US20130145169A1 (en) Efficient authentication for mobile and pervasive computing
KR20050084877A (ko) 장치 특정 보안 데이터의 안전한 실시 및 이용
EP3086585B1 (en) Method and system for securing data communicated in a network
US10476664B2 (en) Methods and systems for data protection
US20080192924A1 (en) Data encryption without padding
KR102285885B1 (ko) 무선 데이터 통신용 대칭형 양자 암호화 키 기반 암호화 장치
US20120027198A1 (en) System and method for cryptographic communications using permutation
CN114218594A (zh) 加解密初始化配置方法、边缘端、加解密平台及安全系统
US7606363B1 (en) System and method for context switching of a cryptographic engine
US10608822B2 (en) Efficient calculation of message authentication codes for related data
KR102334443B1 (ko) Can 통신 시스템에서 데이터 보안 방법 및 장치
CN113922956A (zh) 基于量子密钥的物联网数据交互方法、系统、设备及介质
CN110213764B (zh) 无线安全通讯方法和装置
CN113132980A (zh) 应用于北斗导航系统的密钥管理系统方法和装置
CN102474413B (zh) 私钥压缩
KR20220000537A (ko) 차량 네트워크 기반의 데이터 송수신 시스템 및 그 방법
CN114866309B (zh) 数据传输方法、系统、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant