CN112329038B - 一种基于usb接口的数据加密控制系统及芯片 - Google Patents

一种基于usb接口的数据加密控制系统及芯片 Download PDF

Info

Publication number
CN112329038B
CN112329038B CN202011274235.1A CN202011274235A CN112329038B CN 112329038 B CN112329038 B CN 112329038B CN 202011274235 A CN202011274235 A CN 202011274235A CN 112329038 B CN112329038 B CN 112329038B
Authority
CN
China
Prior art keywords
data
encryption
decryption module
data encryption
plaintext
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
CN202011274235.1A
Other languages
English (en)
Other versions
CN112329038A (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.)
Zhuhai Amicro Semiconductor Co Ltd
Original Assignee
Zhuhai Amicro Semiconductor 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 Zhuhai Amicro Semiconductor Co Ltd filed Critical Zhuhai Amicro Semiconductor Co Ltd
Priority to CN202011274235.1A priority Critical patent/CN112329038B/zh
Publication of CN112329038A publication Critical patent/CN112329038A/zh
Application granted granted Critical
Publication of CN112329038B publication Critical patent/CN112329038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Information Transfer Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种基于USB接口的数据加密控制系统及芯片,该数据加密控制系统使用AHB总线读取数据加密控制系统的加密数据和向数据加密控制系统传输密钥,然后结合到EPSRAM存储器、数据加解密模块和USB串行接口控制器中,采用硬件电路的方式完成DES算法的加密传输,DES算法的每一数据传输步骤都在逻辑状态控制器的调度下由对应的硬件模块完成,做到:逻辑状态控制器内部的端点寄存器控制传输方向、枚举过程不执行加解密操作、执行加密之前检验数据位宽的有效性,提高USB接口电路加解密的速度,保证数据加密控制系统收发信息内容的安全性,使得系统面积与速度获得最优化,降低相关的硬件电路生产成本。

Description

一种基于USB接口的数据加密控制系统及芯片
技术领域
本发明涉及USB数据处理的技术领域,具体涉及一种基于USB接口的数据加密控制系统及芯片。
背景技术
随着计算机网络技术的发展,黑客袭击事件逐年递增,给用户的数据安全造成很大的威胁。密码技术是实现网络信息安全的核心技术,是保护数据的重要工具。作为设备间传输数据的重要接口,USB接口的加密性应较高,但实际上USB接口的加密性却比较低。现有技术中对USB数据加密的方法有许多种,多为软件加密或者外挂硬件加密,前者加密算法灵活保密性高,但耗时较长复杂性较高,后者则会增加硬件成本。
发明内容
针对这些情况,本发明设计了一种基于USB接口的数据加密控制系统及芯片,目的在于克服软件加密和外挂硬件加密在复杂程度和成本上的缺陷;该数据加密控制系统将DES加密算法集成至SOC芯片中,通过硬件电路的方式对USB传输的数据进行加密即可实时有效的完成USB数据的加解密过程,使该数据加密控制系统的面积与速度获得最优化,比目前其他DES硬件加密电路,更适合在普通USB接口数据加密场合上的产业化应用。具体的技术方案如下:
一种基于USB接口的数据加密控制系统,该数据加密控制系统的外围设置USB收发器,该数据加密控制系统的外围还通过设置接口挂载在AHB总线上;该数据加密控制系统包括逻辑状态控制器、EPSRAM存储器、数据加解密模块和USB串行接口控制器,EPSRAM存储器、数据加解密模块和USB串行接口控制器都与逻辑状态控制器存在电性连接关系;EPSRAM存储器与数据加解密模块之间存在电性连接关系,USB串行接口控制器与数据加解密模块之间存在电性连接关系;逻辑状态控制器用于控制EPSRAM存储器、数据加解密模块和USB串行接口控制器之间进行数据传输和加解密处理,其中,这些传输的数据是来源于USB收发器或AHB总线,逻辑状态控制器内部的端点寄存器用于控制来源于USB收发器或AHB总线的数据在EPSRAM存储器、数据加解密模块和USB串行接口控制器之间的传输方向;USB串行接口控制器,用于在逻辑状态控制器的控制下进行枚举操作,再将枚举获得描述符信息不经所述数据加解密模块而直接写入EPSRAM存储器;逻辑状态控制器,还用于在来源于USB收发器或AHB总线的数据输入所述数据加解密模块之前,进行位填充操作,以使得输入数据加解密模块的数据满足DES算法的密文的分组位宽或DES算法的明文的分组位宽要求;数据加解密模块,数据加解密模块是集成置换、异或运算结构以及迭代循环结构的运算逻辑电路,用于将DES算法硬件化处理,以实现来源于USB收发器或AHB总线的数据在加密后以密文的形式出现在EPSRAM存储器、数据加解密模块和USB串行接口控制器之间的通路上;其中,所述数据加解密模块加密或解密所需的密钥是由所述AHB总线直接传输进入所述数据加解密模块,且只由所述AHB总线传输提供。
与现有技术相比,本技术方案能够实现使用AHB总线读取所述数据加密控制系统的加密数据和向所述数据加密控制系统传输密钥,然后结合到EPSRAM存储器、数据加解密模块和USB串行接口控制器中,采用硬件电路的方式完成DES算法的加密传输,DES算法的每一数据传输步骤都在逻辑状态控制器的调度下由对应的硬件模块完成,做到:逻辑状态控制器内部的端点寄存器控制传输方向、枚举过程不执行加解密操作、执行加密之前检验数据位宽的有效性,从而提高USB接口传输数据的速度和加解密的速度,提高所述数据加密控制系统传输的信息内容的安全性。使得系统面积与速度获得最优化,降低相关的硬件电路生产成本。
进一步地,所述EPSRAM存储器包括发送数据缓冲区和接收数据缓冲区;所述数据加解密模块用于对输入的数据执行加密操作或解密操作;其中,发送数据缓冲区支持复用为接收数据缓冲区;当AHB总线将第一数据发送到发送数据缓冲区时,根据逻辑状态控制器产生的加解密控制信号以及所述端点寄存器配置的端点信息,逻辑状态控制器控制发送数据缓冲区内的第一数据传输给所述数据加解密模块,再经过所述数据加解密模块解密或加密后传输给USB串行接口控制器,然后传输到USB收发器;其中,所述第一数据是明文数据或密文数据;当USB串行接口控制器通过USB收发器接收到第二数据时,根据逻辑状态控制器产生的加解密控制信号以及所述端点寄存器配置的端点信息,逻辑状态控制器控制USB串行接口控制器将第二数据传输到所述数据加解密模块,再经过所述数据加解密模块加密或解密后传输给接收数据缓冲区,然后控制AHB总线读取接收数据缓冲区内的第二数据;其中,所述第二数据是明文数据或密文数据。
与现有技术相比,该技术方案支持USB收发器同时进行密文和明文的收发操作,进而支持所述数据加解密模块同时执行明文的加密和密文的解密,特别是第一数据不是第二数据时,利用所述端点寄存器配置的端点信息提高所述EPSRAM存储器内存空间的利用率,提高所述数据加密控制系统的数据传输速度。
进一步地,所述EPSRAM存储器和所述数据加解密模块之间连接有第二缓冲存储器,所述数据加解密模块和所述USB串行接口控制器之间连接有第一缓冲存储器;当所述第一数据由所述发送数据缓冲区传输到第二缓冲存储器时,第二缓冲存储器用于缓存填满第一数据,再将其发送给所述数据加解密模块;第一缓冲存储器,用于缓存填满经过所述数据加解密模块加密或解密的第一数据,再将加密后或解密后的第一数据传输给所述USB串行接口控制器;当所述第二数据由所述USB串行接口控制器传输到第一缓冲存储器时,第一缓冲存储器用于缓存填满第二数据,再将其发送给所述数据加解密模块;第二缓冲存储器,用于缓存填满经过所述数据加解密模块加密或解密的第二数据,再将加密后或解密后的第二数据传输给所述接收数据缓冲区;其中,所述密钥不传输过第一缓冲存储器、第二缓冲存储器、所述EPSRAM存储器和所述USB串行接口控制器。
与现有技术相比,所述EPSRAM存储器和所述数据加解密模块之间的缓冲存储器可以并行执行数据的填充,且所述数据加解密模块和所述USB串行接口控制器之间的缓冲存储器可以并行执行数据填充,且用于执行接收功能的缓冲存储器可以复用为用于执行发送功能的缓冲存储器,从而保证同一加密传输周期或解密传输周期内,这些缓冲存储器可以接收一个数据并发送另一个数据,从而缩短一个明文数据或密文数据的平均处理时间,也节省存储器资源的使用量。
进一步地,所述数据加密控制系统的外围还存在可移动存储设备,该可移动存储设备通过外设接口挂载在所述AHB总线上,用于为所述数据加密控制系统提供明文数据、密文数据或所述密钥,支持所述AHB总线所属的片上存储系统共享这些数据;所述USB收发器用于建立起其与所述数据加密控制系统的外围的主机装置的数据收发通信联系,使得所述数据加密控制系统对数据的加解密情况被监控。从而减少主机的CPU的不必要干预,减少CPU的代码量。
进一步地,所述第一数据和所述第二数据是同一数据,使得:所述USB串行接口控制器将第二数据传输给所述第一缓冲存储器,经过所述数据加解密模块加密后传输至所述第二缓冲存储器,所述第二缓冲存储器再将这个加密后的第二数据写入所述EPSRAM存储器;所述AHB总线从所述EPSRAM存储器读取加密后的第二数据,然后所述AHB总线将这个加密后的第二数据写入所述EPSRAM存储器,然后由所述EPSRAM存储器传输到所述第二缓冲存储器,经过所述数据加解密模块解密后传输至所述第一缓冲存储器,所述第一缓冲存储器将第二数据传输给所述USB串行接口控制器;其中,第二数据是来自所述USB收发器的明文数据;其中,当所述逻辑状态控制器产生加密控制信号时,所述逻辑状态控制器控制所述数据加解密模块对输入的第二数据进行加密操作;当所述逻辑状态控制器产生解密控制信号时,所述逻辑状态控制器控制所述数据加解密模块对输入的第二数据进行解密操作。
与现有技术相比,本技术方基于数据加解密模块集成的加解密运算结构,控制一个数据以密文的形式先后出现在EPSRAM存储器和数据加解密模块之间的通路上,再控制这个数据以明文的形式出现在数据加解密模块和USB串行接口控制器之间的通路上,有效地保证数据流在AHB总线上传输的实时性和安全性。
进一步地,所述第一数据和所述第二数据是同一数据,使得:所述USB串行接口控制器将第二数据传输给所述第一缓冲存储器,经过所述数据加解密模块解密后传输至所述第二缓冲存储器,再将这个解密后的第二数据写入所述EPSRAM存储器;所述AHB总线从所述EPSRAM存储器读取解密后的第二数据,然后所述AHB总线将这个解密后的第二数据写入所述EPSRAM存储器,所述AHB总线从所述EPSRAM存储器读取解密后的第二数据,然后由所述EPSRAM存储器传输到所述第二缓冲存储器,经过所述数据加解密模块加密后传输至所述第一缓冲存储器,所述第一缓冲存储器将第二数据传输给所述USB串行接口控制器;其中,第二数据是来自所述USB收发器的密文数据;其中,当所述逻辑状态控制器产生加密控制信号时,所述逻辑状态控制器控制所述数据加解密模块对输入的第二数据进行加密操作;当所述逻辑状态控制器产生解密控制信号时,所述逻辑状态控制器控制所述数据加解密模块对输入的第二数据进行解密操作。
与现有技术相比,该技术方案还能控制同一个数据在以明文的形式先后出现在EPSRAM存储器和数据加解密模块之间的通路上,再控制同一数据在加密后以密文的形式出现在数据加解密模块和USB串行接口控制器之间的通路上,让数据在USB接口处安全地流动。
进一步地,所述USB串行接口控制器进行枚举操作的过程中,在所述逻辑状态控制器的控制下,获取所述AHB总线上挂载的可移动存储设备或所述数据加密控制系统所属的存储设备的设备描述、配置描述、接口描述、端点描述、字符串描述以及最大逻辑单元数,然后使用相应的存储设备获得的上述描述响应所述USB收发器连接的主机装置所发出的相应的请求命令;其中,所述逻辑状态控制器控制所述数据加解密模块不执行加解密操作,且所述逻辑状态控制器控制所述USB串行接口控制器输出的数据不经过所述数据加解密模块。与现有技术相比,该技术方案能够根据不同的USB传输类型确定是否进行加密传输,进而实现对枚举期间的控制传输不加密,以便设备能迅速完成枚举过程。
进一步地,所述USB收发器采用双端口的USB接口,所述USB收发器内部设置的差分信号线上连接相匹配的上拉电阻,以使得USB接口连接的主机装置通过上拉电阻及高速握手通信确定数据传输速度;其中,高速握手通信是建立在主机装置和所述数据加密控制系统之间,数据传输速度是来源于USB收发器或AHB总线的数据在所述EPSRAM存储器、所述数据加解密模块和所述USB串行接口控制器之间的数据传输速度。
进一步地,在所述逻辑状态控制器的控制作用下,所述第一数据或所述第二数据每一次进入所述数据加解密模块之前,检测位宽是否达到64位,是则进入所述数据加解密模块执行加密操作或解密操作,否则使用“0”比特位将输入所述数据加解密模块的数据的位宽填充至64位,以使得输入所述数据加解密模块的数据位宽等于DES算法的64位的分组位宽;其中,所述AHB总线传输给所述数据加解密模块的密钥是64位的数据位宽。保证所述数据加解密模块的正常执行,能有效防止经过所述数据加解密模块加密的数据被逆向破解。
进一步地,所述数据加解密模块包括加密模块、解密模块和密钥生成模块;加密模块包括初始置换单元、扩展置换单元和迭代循环结构;密钥生成模块包括移位寄存器和压缩置换单元;加密模块用于在控制输入加密模块的64位的明文数据先通过执行初始置换,以将这64位的明文数据分组为左明文和右明文,然后利用迭代循环结构进行16轮迭代运算,其中,初始置换获得的左明文和右明文成为第一轮迭代运算的左明文和右明文,第一轮迭代运算使用的密钥是由所述AHB总线传输过来的,以使每一轮迭代运算都存在当前左明文、当前右明文和当前密钥;在每一轮迭代运算中,控制密钥生成模块将输入的当前密钥移位生成一个48位的扩展密钥,再将这个扩展密钥通过压缩置换生成子密钥;同时将扩展置换后的当前右明文与子密钥作异或运算以得到一个新的48位数据,再通过S盒置换为新的32位数据,然后控制这个新的32位数据执行P盒置换以得到一个函数指令结果,再控制这个函数指令结果与当前左明文作异或运算以得到新的右明文,同时将当前右明文设置为新的左明文,以使得新的左明文和新的右明文合并成为当前一轮迭代运算输出的当前一轮的密文,并控制新的左明文、新的右明文以及所述当前密钥参与下一轮迭代运算;经过16轮迭代运算后,将最后一轮迭代运算得到的新的左明文与新的右明文结合为最后一轮的密文,再将最后一轮的密文执行一次初始置换的逆置换以输出基于前述64位的明文数据的密文数据;其中,这个时钟周期是由所述数据加密控制系统上设置的片上系统时钟源发出计数的;所述解密模块中执行的解密过程是加密模块执行的前述的加密过程的反过程。该技术方案利用AHB总线输入的密钥对缓冲存储器输入数据加解密模块的64位数据进行:初始置换、16次循环迭代和逆初始置换,产生最终的密文或者明文,使得设计电路简单,节省逻辑单元的数目,减小USB传输延时的影响。
一种芯片,该芯片是一个包括所述的数据加密控制系统的SOC芯片。该技术方案利用一颗芯片内的硬件模块完成数据的加密和高速传输的功能,安全度更高,传输速度更快。通过设计专用USB接口的集成电路实现。与现有技术相比,摒弃了传统的数据进出均由CPU搬运查询的方式,而是采用芯片中的硬件模块实现USB协议通信、数据加解密、传输、缓存的过程,每一个步骤均由专门的硬件模块负责。专用算法模块完成对数据流的快速加密解密,AHB总线接口和USB串行接口控制器完成数据的高速并行传输,使大批量数据能真正地、安全地流动起来。加密的同时在高速传输,从而实现了对数据流的实时加密传输,满足安全移动存储、激光采集、图像、地图数据传输、软件指令的USB接口烧录等领域对速度和安全性的需求。
附图说明
图1为本发明公开的一种基于USB接口的数据加密控制系统的系统框架示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。以下实施方式中所涉及到的各模块均为逻辑电路单元,一个逻辑电路单元可以是一个物理单元、也可以是由多个逻辑器件按照一定的读写时序和信号逻辑变化组合而成的状态机,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本发明实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本发明实施方式中不存在其它的单元。
本发明实施例公开一种基于USB接口的数据加密控制系统及芯片,目的在于克服软件加密和外挂硬件加密在复杂程度和成本上的缺陷;该数据加密控制系统将DES加密算法集成至SOC芯片中,通过硬件电路的方式对USB传输的数据进行加密即可实时有效的完成USB数据的加解密过程,使该数据加密控制系统的面积与速度获得最优化,比目前其他DES硬件加密电路,更适合在普通USB接口数据加密场合上的产业化应用。
如图1所示,本发明实施例一种基于USB接口的数据加密控制系统,该数据加密控制系统的外围设置USB收发器;该数据加密控制系统内还设置有存储设备,通过设置接口挂载在AHB总线上;优选地,所述数据加密控制系统的外围还存在可移动存储设备,该可移动存储设备通过外设接口挂载在所述AHB总线上,用于为所述数据加密控制系统提供明文数据、密文数据或所述密钥;所述USB收发器用于建立起其与所述数据加密控制系统的外围的主机装置的数据收发通信联系,使得所述数据加密控制系统对数据的加解密情况被监控,并及时将解密后的明文返回计算机,还接收待加密的明文。
需要说明的是,USB收发器在与主机装置建立数据收发通信联系后,先完成DP、DM差分信号的数据编解码、串并转换、速度识别、插入检测等功能。
如图1所示,所述数据加密控制系统包括逻辑状态控制器、EPSRAM存储器、数据加解密模块和USB串行接口控制器,EPSRAM存储器;本发明实施在数据加密控制系统内使用的总线协议是AHB总线协议,来完成其它存储设备与EPSRAM存储器之间的数据(明文或密文)传输。EPSRAM存储器是一块内部随机存储器,该内部随机存储器用作存储AHB总线上发送的数据,这些数据可以根据逻辑状态控制器内部的配置的端点序号的不同缓存在EPSRAM存储器的不同的分组缓冲区中。逻辑状态控制器包括控制寄存器及其控制逻辑电路、中断寄存器及其控制逻辑电路、端点寄存器及其控制逻辑电路,这些控制逻辑电路用于控制USB逻辑状态、寄存器配置、数据传输方向控制等功能。USB串行接口控制器所执行的功能包括:输入数据(明文或密文)的帧头同步域的识别、输入数据(明文或密文)的位填充、输入数据(明文或密文)的CRC的产生和校验、输入数据(明文或密文)的PID(设备识别码)的验证/产生、握手分组处理等功能。
如图1所示,数据加解密模块和USB串行接口控制器都与逻辑状态控制器存在电性连接关系,EPSRAM存储器与数据加解密模块之间存在电性连接关系,USB串行接口控制器与数据加解密模块之间存在电性连接关系。逻辑状态控制器用于控制EPSRAM存储器、数据加解密模块和USB串行接口控制器之间进行数据传输和加解密处理,其中,这些传输的数据是来源于USB收发器或AHB总线;逻辑状态控制器内部的端点寄存器用于控制来源于USB收发器或AHB总线的数据在EPSRAM存储器、数据加解密模块和USB串行接口控制器之间的传输方向;逻辑状态控制器,还用于在来源于USB收发器或AHB总线的数据输入所述数据加解密模块之前,进行位填充操作,以使得输入数据加解密模块的数据满足DES算法的密文的分组位宽或DES算法的明文的分组位宽要求,这里的位填充是检测到输入所述数据加解密模块的数据的位宽不足加解密所需的分组位宽要求时,对这个数据的高位进行补0操作,直到这个数据的位宽达到加解密所需的分组位宽。因此,在本发明实施例中,逻辑状态控制器可以最大限度地利用所述数据加密控制系统内部的所有电路模块资源,大大提高数据流加密的速度,使实时USB加密通讯和AHB总线下的高速加密存储成为可能,逻辑状态控制器在本实施例中内嵌入一种SOC芯片,用于统一调配各模块与EPSRAM存储器之间的对应关系。
在本发明实施例中,所述EPSRAM存储器还与USB串行接口控制器之间存在电性连接关系,用于在逻辑状态控制器的控制下进行枚举操作,再将枚举获得描述符信息不经所述数据加解密模块而直接写入EPSRAM存储器;在逻辑状态控制器的控制下,USB串行接口控制器在进行数据传输之前,先进入枚举阶段以获取所述数据加密控制系统所属的设备的描述符,但这些描述符不传输过所述数据加解密模块而是由USB串行接口控制器直接识别写入所述EPSRAM存储器。
在本发明实施例中,数据加解密模块是集成置换、异或运算结构以及迭代循环结构的运算逻辑电路,用于将DES这一对称加解密算法硬件化处理,用硬件电路的方式实现来源于USB收发器或AHB总线的数据在加密后以密文的形式出现在EPSRAM存储器、数据加解密模块和USB串行接口控制器之间的通路上,还以实现来源于USB收发器或AHB总线的数据在解密后以明文的形式出现在EPSRAM存储器、数据加解密模块和USB串行接口控制器之间的通路上;需要说明的是,所述数据加解密模块(内置的DES加密运算结构)加密所需的密钥或解密所需的密钥是由所述AHB总线直接传输进入所述数据加解密模块,不需缓存,且只由所述AHB总线传输提供,不能从USB串行接口控制器传输进所述数据加解密模块,从而增加逆向破解的难度。
与现有技术相比,本发明实施例能够实现使用AHB总线读取所述数据加密控制系统的加密数据和向所述数据加密控制系统传输密钥,然后结合到专用芯片的EPSRAM存储器、数据加解密模块和USB串行接口控制器中,采用硬件电路的方式完成DES算法的加密传输,DES算法的每一数据传输步骤都在逻辑状态控制器的调度下由对应的硬件模块完成,做到:逻辑状态控制器内部的端点寄存器控制传输方向、枚举过程不执行加解密操作、执行加密之前检验数据位宽的有效性,从而提高USB接口传输数据的速度和加解密的速度,提高所述数据加密控制系统传输的信息内容的安全性。使得系统面积与速度获得最优化,降低相关的硬件电路生产成本。
作为一种实施例,如图1所示,所述EPSRAM存储器包括发送数据缓冲区和接收数据缓冲区,其中,发送数据缓冲区支持复用为接收数据缓冲区;所述数据加解密模块用于对输入的数据执行加密操作或解密操作;当AHB总线将第一数据发送到发送数据缓冲区时,根据逻辑状态控制器产生的加解密控制信号以及所述端点寄存器配置的端点信息,逻辑状态控制器控制发送数据缓冲区内的第一数据传输给所述数据加解密模块,再经过所述数据加解密模块解密或加密后传输给USB串行接口控制器,然后传输到USB收发器;其中,所述第一数据是明文数据或密文数据;其中,端点信息用于决定所述发送数据缓冲区向所述数据加解密模块传输待加密数据或待解密数据(执行加密还是解密则由逻辑状态控制器产生的加解密控制信号决定)。在同一传输周期内,当USB串行接口控制器通过USB收发器接收到第二数据时,根据逻辑状态控制器产生的加解密控制信号以及所述端点寄存器配置的端点信息,逻辑状态控制器控制USB串行接口控制器将第二数据传输到所述数据加解密模块,再经过所述数据加解密模块加密或解密后传输给接收数据缓冲区,然后控制AHB总线读取接收数据缓冲区内的第二数据;其中,所述第一数据是明文数据或密文数据。其中,端点信息用于决定所述数据加解密模块向所述发送数据缓冲区传输待加密数据或待解密数据(执行加密还是解密则由逻辑状态控制器产生的加解密控制信号决定)。本实施例支持USB收发器同时进行密文和明文的收发操作,进而支持所述数据加解密模块同时执行明文的加密和密文的解密,支持所述EPSRAM存储器的并行传输;特别是第一数据不是第二数据时,这些数据根据所述端点寄存器配置的端点序号的不同缓存在不同的在发送数据缓冲区和接收数据缓冲区中,所述数据加密控制系统外部连接的主机上的应用软件可以直接访问发送数据缓冲区和接收数据缓冲区。本实施例利用所述端点寄存器配置的端点信息提高所述EPSRAM存储器内存空间的利用率,提高所述数据加密控制系统的数据传输速度。
作为一种实施例,如图1所示,所述EPSRAM存储器和所述数据加解密模块之间连接有第一缓冲存储器,所述数据加解密模块和所述USB串行接口控制器之间连接有第二缓冲存储器;其中,第一缓冲存储器和第二缓冲存储器都是支持读写功能复用的FIFO(先进先出存储器)。当所述第一数据由所述发送数据缓冲区传输到第二缓冲存储器时,第二缓冲存储器用于缓存填满第一数据,再将其发送给所述数据加解密模块;,需要说明的是,只要第二缓冲存储器没有填满,则就可以继续接收新的数据;第一缓冲存储器,用于缓存填满经过所述数据加解密模块加密或解密的第一数据,再将加密后或解密后的第一数据传输给所述USB串行接口控制器;当所述第二数据由所述USB串行接口控制器传输到第一缓冲存储器时,第一缓冲存储器用于缓存填满第二数据,再将其发送给所述数据加解密模块;第二缓冲存储器,用于缓存填满经过所述数据加解密模块加密或解密的第二数据,再将加密后或解密后的第二数据传输给所述接收数据缓冲区;其中,所述密钥不传输过第一缓冲存储器、第二缓冲存储器、所述EPSRAM存储器和所述USB串行接口控制器,且发送数据缓冲区和接收数据缓冲区的收发功能可以互换执行。与现有技术相比,所述EPSRAM存储器和所述数据加解密模块之间的缓冲存储器可以并行执行数据的填充,且所述数据加解密模块和所述USB串行接口控制器之间的缓冲存储器可以并行执行数据填充,且用于执行接收功能的缓冲存储器可以复用为用于执行发送功能的缓冲存储器,从而保证同一加密传输周期或解密传输周期内,这些缓冲存储器可以接收一个数据并发送另一个数据,从而缩短一个明文数据或密文数据的平均处理时间,也节省存储器单元的使用量。
作为一种实施例,当所述第一数据和所述第二数据是同一数据,使得:所述USB串行接口控制器将第二数据传输给所述第一缓冲存储器,经过所述数据加解密模块加密后传输至所述第二缓冲存储器,所述第二缓冲存储器再将这个加密后的第二数据写入所述EPSRAM存储器;所述AHB总线从所述EPSRAM存储器读取加密后的第二数据,然后所述AHB总线将这个加密后的第二数据写入所述EPSRAM存储器,然后由所述EPSRAM存储器传输到所述第二缓冲存储器,经过所述数据加解密模块解密后传输至所述第一缓冲存储器,所述第一缓冲存储器将第二数据传输给所述USB串行接口控制器;其中,第二数据是来自所述USB收发器的明文数据;从而将所述USB收发器传来的明文加密传输,再解密,再将原来的明文返回所述USB收发器,需要说明的是,当所述逻辑状态控制器产生加密控制信号时,所述逻辑状态控制器控制所述数据加解密模块对输入的第二数据进行加密操作;当所述逻辑状态控制器产生解密控制信号时,所述逻辑状态控制器控制所述数据加解密模块对输入的第二数据进行解密操作。与现有技术相比,本实施例基于数据加解密模块集成的加解密运算结构,控制一个数据以密文的形式出现在EPSRAM存储器和数据加解密模块之间的通路上,而控制这个数据以明文的形式出现在数据加解密模块和USB串行接口控制器之间的通路上,从而保证数据流从USB传输向AHB总线的过程中的实时性和安全性,能有效防止明文逆向破解。
作为一种实施例,当所述第一数据和所述第二数据是同一数据,使得:所述USB串行接口控制器将第二数据传输给所述第一缓冲存储器,经过所述数据加解密模块解密后传输至所述第二缓冲存储器,再将这个解密后的第二数据写入所述EPSRAM存储器;所述AHB总线从所述EPSRAM存储器读取解密后的第二数据,然后所述AHB总线将这个解密后的第二数据写入所述EPSRAM存储器,所述AHB总线从所述EPSRAM存储器读取解密后的第二数据,然后由所述EPSRAM存储器传输到所述第二缓冲存储器,经过所述数据加解密模块加密后传输至所述第一缓冲存储器,所述第一缓冲存储器将第二数据传输给所述USB串行接口控制器;其中,第二数据是来自所述USB收发器的密文数据;从而将所述USB收发器传来的密文解密传输,再加密,再将原来的密文返回所述USB收发器,需要说明的是,当所述逻辑状态控制器产生加密控制信号时,所述逻辑状态控制器控制所述数据加解密模块对输入的第二数据进行加密操作;当所述逻辑状态控制器产生解密控制信号时,所述逻辑状态控制器控制所述数据加解密模块对输入的第二数据进行解密操作。与现有技术相比,本实施例还能控制同一个数据在以明文的形式先后出现在EPSRAM存储器和数据加解密模块之间的通路上,而控制同一数据在加密后以密文的形式出现在数据加解密模块和USB串行接口控制器之间的通路上,让数据在USB接口处安全地流动。
作为另一种实施例,所述EPSRAM存储器和所述数据加解密模块之间连接有第一缓冲存储器和第二缓冲存储器,所述数据加解密模块和所述USB串行接口控制器之间连接有第三缓冲存储器和第四缓冲存储器,本实施例的缓冲存储器不同于:前述实施例的第一缓冲存储器和前述实施例的第二缓冲存储器。当所述第一数据由所述发送数据缓冲区传输到第一缓冲存储器时,第一缓冲存储器用于缓存填满第一数据,再将其发送给所述数据加解密模块;第三缓冲存储器,用于缓存填满经过所述数据加解密模块加密或解密的第一数据,再将加密后或解密后的第一数据传输给所述USB串行接口控制器;当所述第二数据由所述USB串行接口控制器传输到第四缓冲存储器时,第四缓冲存储器用于缓存填满第二数据,再将其发送给所述数据加解密模块;第二缓冲存储器,用于缓存填满经过所述数据加解密模块加密或解密的第二数据,再将加密后或解密后的第二数据传输给所述接收数据缓冲区;其中,所述密钥不传输过第一缓冲存储器、第三缓冲存储器、第二缓冲存储器、第四缓冲存储器、所述EPSRAM存储器和所述USB串行接口控制器。与现有技术相比,所述EPSRAM存储器和所述数据加解密模块之间的缓冲存储器可以并行执行数据的填充,且所述数据加解密模块和所述USB串行接口控制器之间的缓冲存储器可以并行执行数据填充,且用于执行接收功能的缓冲存储器可以复用为用于执行发送功能的缓冲存储器,从而保证同一加密传输周期或解密传输周期内,这些缓冲存储器可以接收一个数据并发送另一个数据,从而缩短一个明文数据或密文数据的平均处理时间,也节省存储器资源的使用量。
在前述实施例的基础上,所述USB串行接口控制器进行枚举操作的过程中,在所述逻辑状态控制器的控制下,获取所述AHB总线上挂载的可移动存储设备或所述数据加密控制系统所属的存储设备的设备描述、配置描述、接口描述、端点描述、字符串描述以及最大逻辑单元数,然后使用相应的存储设备获得的上述描述响应所述USB收发器连接的主机装置所发出的相应的请求命令,使得主机装置响应识别出所述数据加密控制系统所属的存储设备,便于后续的数据传输通信,在这一枚举过程中,所述逻辑状态控制器控制所述数据加解密模块不执行加解密操作,且所述逻辑状态控制器控制所述USB串行接口控制器输出的数据不经过所述数据加解密模块,所述USB串行接口控制器将数据直接写入所述EPSRAM存储器。本实施例能够根据不同的USB传输类型确定是否进行加密传输,进而实现对枚举期间的控制传输不加密,以便设备能迅速完成枚举过程。优选地,所述USB收发器采用双端口的USB接口,所述USB收发器内部设置的差分信号线上连接相匹配的上拉电阻,以使得USB接口连接的主机装置通过上拉电阻及高速握手通信确定数据传输速度;其中,高速握手通信是建立在主机装置和所述数据加密控制系统之间,数据传输速度是来源于USB收发器或AHB总线的数据在所述EPSRAM存储器、所述数据加解密模块和所述USB串行接口控制器之间的数据传输速度。
作为一种实施例,所述USB收发器将数据传输给所述数据加密控制系统进行加密的过程包括:
步骤1、所述数据加密控制系统上电后,控制所述USB串行接口控制器初始化,开始USB接口解析配置过程;然后进入步骤2;
步骤2、USB接口连接的主机装置通过USB接口的差分信号线完成上电通信,其中,主机装置通过上拉电阻及高速握手通信确定所述数据加密控制系统内的数据传输速度;然后进入步骤3;
步骤3、主机装置与所述数据加密控制系统进行上述实施例的枚举操作,在这一枚举过程中,所述USB串行接口控制器将数据直接写入所述EPSRAM存储器;在枚举结束后,进入步骤4;
步骤4、所述逻辑状态控制器控制来源于USB收发器或AHB总线的数据在EPSRAM存储器、数据加解密模块和USB串行接口控制器之间进行加密传输,实现实时USB加密通讯和AHB总线下的高速加密存储,其中,所述数据加解密模块还根据所述逻辑状态控制器产生加密控制信号和软件配置的密钥设置数据加、解密操作;然后进入步骤5;
步骤5、完成数据的加密传输后,由AHB总线读取加密后的数据,加密后的数据经所述数据加解密模块解密后搬移至USB接口。结束数据加密操作。
在前述实施例的基础上,在所述逻辑状态控制器的控制作用下,所述第一数据或所述第二数据每一次进入所述数据加解密模块之前,开始执行加密操作之前,先检测数据的位宽是否达到64位,是则进入所述数据加解密模块执行加密操作或解密操作,否则使用“0”比特位将输入所述数据加解密模块的数据的位宽填充至64位,即对输入所述数据加解密模块的数据的高位补充“0”,以使得输入所述数据加解密模块的数据位宽等于DES算法的64位的分组位宽,且保证输入所述数据加解密模块的数据的数值大小保持不变;其中,所述AHB总线传输给所述数据加解密模块的密钥是64位的数据位宽。需要说明的是,当大批量的数据经过AHB总线分批次传输时,AHB总线每一次突发传输过来的、且经过FIFO缓存入所述数据加解密模块的数据宽度不一定一次性满足DES算法的64位的分组位宽,所以需提前检测数据的位宽是否达到64位,使得输入所述数据加解密模块的数据宽度都被填充到64位后才开始启动所述数据加解密模块执行加密操作。因此,本实施例保证输入所述数据加解密模块的数据分组执行加密运算,保证所述数据加解密模块的迭代运算高效执行,能有效防止经过所述数据加解密模块加密的数据被逆向破解。
具体地,所述数据加解密模块包括加密模块、解密模块和密钥生成模块;DES是一种分组加密算法,它是以64位为分组对数据加密。64位一组的明文从所述数据加解密模块的一端输入,可作为初始向量在移位寄存器中存储;64位的密文从所述数据加解密模块的另一端输出,密钥的长度可以是56位的数,且可在任意的时候改变,其中极少量的数被认为是弱密钥,但能容易地避开它们。所有的保密性依赖于密钥。简单地说,算法是加密的两个基本技术——混乱和扩散的组合。DES基本组建分组是这些技术的一个组合,它基于密钥作用于明文。DES有16轮,这意味着要在明文分组上16次实施相同的组合技术。
在上述的位填充实施例的基础上,加密模块包括初始置换单元、扩展置换单元和迭代循环结构,密钥生成模块包括移位寄存器和压缩置换单元;输入加密模块的64位的明文数据先在初始置换单元中执行初始置换,以将这64位的明文数据分组为左明文和右明文,左明文和右明文都是32位长;然后利用迭代循环结构进行16轮迭代运算,在运算过程中的数据与密钥结合;前述的置换结构包括初始置换单元;其中,初始置换获得的左明文和右明文成为第一轮迭代运算的左明文和右明文,第一轮迭代运算使用的密钥是由所述AHB总线传输过来的,以使每一轮迭代运算都存在当前左明文、当前右明文和当前密钥。
在所述迭代循环结构执行的每一轮迭代运算中,密钥生成模块将最新输入密钥数据(当前密钥)移位生成一个48位的扩展密钥,以使得当前密钥在每一轮迭代运算中都输入移位寄存器进行移位操作,从所述密钥的56位中移位出48位,即生成48位扩展密钥,然后将这个扩展密钥输入压缩置换单元执行压缩置换以生成当前一轮迭代运算的加密运算所需的子密钥,值得注意的是16轮迭代运算中使用的当前密钥是相同的,参与加密运算的是基于同一当前密钥移位生成的48位的扩展密钥;同时通过一个扩展置换单元将当前右明文做一次扩展置换,再使用异或运算结构将扩展置换后的当前右明文与扩展密钥作异或运算以得到一个新的48位数据,再通过S盒置换为新的32位数据,然后控制这个新的32位数据执行P盒置换以得到一个函数指令结果,其中,这里的“函数”是对当前右明文所执行的4个运算步骤;再控制这个函数指令结果与当前左明文作异或运算以得到新的右明文,即32位的新的右明文,同时将当前右明文设置为新的左明文,以使得新的左明文和新的右明文合并成为当前一轮迭代运算输出的当前一轮的密文,即当前一轮的64位密文数据,等效于当前左明文的地址位置和当前右明文的地址位置互换,并控制新的左明文、新的右明文以及所述扩展密钥参与下一轮迭代运算,让新的左明文成为下一轮迭代运算的当前左明文、新的右明文成为下一轮迭代运算的当前右明文、所述当前密钥成为下一轮迭代运算使用的当前密钥;需要注意的是,本实施例中,所述的S盒和所述的P盒是寻址内存空间,所述的S盒置换和所述的P盒置换实际上是执行相应的寻址地址上的数据的矩阵运算,这些是都是本领域技术人员熟悉的DES算法的具体技术术语和运算步骤,故不再赘述。
经过16轮迭代运算后,将最后一轮迭代运算得到的新的左明文与新的右明文结合为最后一轮的密文,再将最后一轮的密文执行一次初始置换的逆置换以输出基于前述64位的明文数据的密文数据;其中,这个时钟周期是由所述数据加密控制系统上设置的片上系统时钟源发出计数的。
由本领域技术人员可知,所述解密模块中执行的解密过程是所述加密模块执行的前述的加密过程的反过程,其中执行的解密运算的方向相对于前述加密运算的方向是相反的。因为所述数据加解密模块执行的执行的是对称加密算法,其加密运算和解密运算使用相同的密钥。
综上,本实施例利用AHB总线输入的密钥对缓冲存储器输入所述数据加解密模块的64位数据进行:初始置换、16次循环迭代和逆初始置换,产生最终的密文或者明文,结合循环结构和流水线结构,使得设计电路简单,节省逻辑单元的数目,减小USB传输延时的影响,从而让所述数据加密控制系统的加密传输速度大于传统的方法,有效解决在激光地图定位导航、图像帧处理的USB数据存储中加入DES加密算法后速度明显降低的问题,为实现高速大批数据加密、高安全性的加密USB存储设备以及安全通讯设备提供了可靠的硬件和技术保障。
一种芯片,该芯片是一个包括所述的数据加密控制系统的SOC芯片。本实施例利用一颗芯片内的硬件模块完成数据的加密和高速传输的功能,安全度更高,传输速度更快。通过设计专用USB接口的集成电路实现。与现有技术相比,摒弃了传统的数据进出均由CPU搬运查询的方式,而是采用芯片中的硬件模块实现USB协议通信、数据加解密、传输、缓存的过程,每一个步骤均由专门的硬件模块负责。专用算法模块完成对数据流的快速加密解密,AHB总线接口和USB串行接口控制器完成数据的高速并行传输,使大批量数据能真正地、安全地流动起来。加密的同时在高速传输,从而实现了对数据流的实时加密传输,满足安全移动存储、激光采集、图像、地图数据传输、软件指令的USB接口烧录等领域对速度和安全性的需求。
优选地,本实施例可运用于64位SOC芯片中,该芯片内置DES算法,功能强接口多,为USB接口提供时钟模块、电源管理模块等外设功能电路。组成一种USB硬件加密电路模组。
在本申请所提供的实施例中,应该理解到,所揭露的系统、芯片,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

Claims (10)

1.一种基于USB接口的数据加密控制系统,其特征在于,该数据加密控制系统的外围设置USB收发器,该数据加密控制系统的外围还通过设置接口挂载在AHB总线上;
该数据加密控制系统包括逻辑状态控制器、EPSRAM存储器、数据加解密模块和USB串行接口控制器,EPSRAM存储器、数据加解密模块和USB串行接口控制器都与逻辑状态控制器电性连接;
EPSRAM存储器与数据加解密模块电性连接,USB串行接口控制器与数据加解密模块电性连接;
逻辑状态控制器用于控制EPSRAM存储器、数据加解密模块和USB串行接口控制器之间进行数据传输和加解密处理,其中,这些传输的数据是来源于USB收发器或AHB总线,逻辑状态控制器内部的端点寄存器用于控制来源于USB收发器或AHB总线的数据在EPSRAM存储器、数据加解密模块和USB串行接口控制器之间的传输方向;
EPSRAM存储器还与USB串行接口控制器电性连接,用于在逻辑状态控制器的控制下进行枚举操作,再将枚举获得描述符信息不经所述数据加解密模块而直接写入EPSRAM存储器;
逻辑状态控制器,还用于在来源于USB收发器或AHB总线的数据输入所述数据加解密模块之前,进行位填充操作,以使得输入数据加解密模块的数据满足DES算法的密文的分组位宽或DES算法的明文的分组位宽要求;
数据加解密模块是集成置换结构、异或运算结构以及迭代循环结构的运算逻辑电路,用于将DES算法硬件化处理,以实现来源于USB收发器或AHB总线的数据在加密后以密文的形式出现在EPSRAM存储器、数据加解密模块和USB串行接口控制器之间的通路上;
其中,所述数据加解密模块加密或解密所需的密钥是由所述AHB总线直接传输进入所述数据加解密模块,且只由所述AHB总线传输提供。
2.根据权利要求1所述数据加密控制系统,其特征在于,所述EPSRAM存储器包括发送数据缓冲区和接收数据缓冲区;所述数据加解密模块用于对输入的数据执行加密操作或解密操作;其中,发送数据缓冲区支持复用为接收数据缓冲区;
当AHB总线将第一数据发送到发送数据缓冲区时,根据逻辑状态控制器产生的加解密控制信号以及端点寄存器配置的端点信息,逻辑状态控制器控制发送数据缓冲区内的第一数据传输给所述数据加解密模块,再经过所述数据加解密模块解密或加密后传输给USB串行接口控制器,然后传输到USB收发器;其中,所述第一数据是明文数据或密文数据;
当USB串行接口控制器通过USB收发器接收到第二数据时,根据逻辑状态控制器产生的加解密控制信号以及端点寄存器配置的端点信息,逻辑状态控制器控制USB串行接口控制器将第二数据传输到所述数据加解密模块,再经过所述数据加解密模块加密或解密后传输给接收数据缓冲区,然后控制AHB总线读取接收数据缓冲区内的第二数据;其中,所述第二数据是明文数据或密文数据。
3.根据权利要求2所述数据加密控制系统,其特征在于,所述EPSRAM存储器和所述数据加解密模块之间连接有第二缓冲存储器,所述数据加解密模块和所述USB串行接口控制器之间连接有第一缓冲存储器;
当所述第一数据由所述发送数据缓冲区传输到第二缓冲存储器时,第二缓冲存储器用于缓存填满第一数据,再将其发送给所述数据加解密模块;第一缓冲存储器,用于缓存填满经过所述数据加解密模块加密或解密的第一数据,再将加密后或解密后的第一数据传输给所述USB串行接口控制器;
当所述第二数据由所述USB串行接口控制器传输到第一缓冲存储器时,第一缓冲存储器用于缓存填满第二数据,再将其发送给所述数据加解密模块;第二缓冲存储器,用于缓存填满经过所述数据加解密模块加密或解密的第二数据,再将加密后或解密后的第二数据传输给所述接收数据缓冲区;
其中,所述密钥不传输过第一缓冲存储器、第二缓冲存储器、所述EPSRAM存储器和所述USB串行接口控制器。
4.根据权利要求3所述数据加密控制系统,其特征在于,所述第一数据和所述第二数据是同一数据,使得:
所述USB串行接口控制器将第二数据传输给所述第一缓冲存储器,经过所述数据加解密模块加密后传输至所述第二缓冲存储器,所述第二缓冲存储器再将这个加密后的第二数据写入所述EPSRAM存储器;所述AHB总线从所述EPSRAM存储器读取加密后的第二数据,然后所述AHB总线将这个加密后的第二数据写入所述EPSRAM存储器,然后由所述EPSRAM存储器传输到所述第二缓冲存储器,经过所述数据加解密模块解密后传输至所述第一缓冲存储器,所述第一缓冲存储器将第二数据传输给所述USB串行接口控制器;其中,第二数据是来自所述USB收发器的明文数据;
其中,当所述逻辑状态控制器产生加密控制信号时,所述逻辑状态控制器控制所述数据加解密模块对输入的第二数据进行加密操作;当所述逻辑状态控制器产生解密控制信号时,所述逻辑状态控制器控制所述数据加解密模块对输入的第二数据进行解密操作。
5.根据权利要求3所述数据加密控制系统,其特征在于,所述第一数据和所述第二数据是同一数据,使得:
所述USB串行接口控制器将第二数据传输给所述第一缓冲存储器,经过所述数据加解密模块解密后传输至所述第二缓冲存储器,再将这个解密后的第二数据写入所述EPSRAM存储器;所述AHB总线从所述EPSRAM存储器读取解密后的第二数据,然后所述AHB总线将这个解密后的第二数据写入所述EPSRAM存储器,所述AHB总线从所述EPSRAM存储器读取解密后的第二数据,然后由所述EPSRAM存储器传输到所述第二缓冲存储器,经过所述数据加解密模块加密后传输至所述第一缓冲存储器,所述第一缓冲存储器将第二数据传输给所述USB串行接口控制器;其中,第二数据是来自所述USB收发器的密文数据;
其中,当所述逻辑状态控制器产生加密控制信号时,所述逻辑状态控制器控制所述数据加解密模块对输入的第二数据进行加密操作;当所述逻辑状态控制器产生解密控制信号时,所述逻辑状态控制器控制所述数据加解密模块对输入的第二数据进行解密操作。
6.根据权利要求3所述数据加密控制系统,其特征在于,所述数据加密控制系统的外围还存在可移动存储设备,该可移动存储设备通过外设接口挂载在所述AHB总线上,用于为所述数据加密控制系统提供明文数据、密文数据或所述密钥;所述USB收发器用于建立起其与所述数据加密控制系统的外围的主机装置的数据收发通信联系,使得所述数据加密控制系统对数据的加解密情况被监控。
7.根据权利要求1或4或5所述数据加密控制系统,其特征在于,所述USB串行接口控制器进行枚举操作的过程中,在所述逻辑状态控制器的控制下,获取所述AHB总线上挂载的可移动存储设备或所述数据加密控制系统所属的存储设备的相关联的描述;其中,所述逻辑状态控制器控制所述数据加解密模块不执行加解密操作,且所述逻辑状态控制器控制所述USB串行接口控制器输出的数据不经过所述数据加解密模块。
8.根据权利要求3所述数据加密控制系统,其特征在于,在所述逻辑状态控制器的控制作用下,所述第一数据或所述第二数据每一次进入所述数据加解密模块之前,检测位宽是否达到64位,是则进入所述数据加解密模块执行加密操作或解密操作,否则使用“0”比特位将输入所述数据加解密模块的数据的位宽填充至64位,以使得输入所述数据加解密模块的数据位宽等于DES算法的64位的分组位宽;
其中,所述AHB总线传输给所述数据加解密模块的密钥是64位的数据位宽。
9.根据权利要求8所述数据加密控制系统,其特征在于,所述数据加解密模块包括加密模块、解密模块和密钥生成模块;
加密模块包括初始置换单元、扩展置换单元和迭代循环结构;
密钥生成模块包括移位寄存器和压缩置换单元;
加密模块用于在控制输入加密模块的64位的明文数据先通过执行初始置换,以将这64位的明文数据分组为左明文和右明文,然后利用迭代循环结构进行16轮迭代运算,其中,初始置换获得的左明文和右明文成为第一轮迭代运算的左明文和右明文,第一轮迭代运算使用的密钥是由所述AHB总线传输过来的,以使每一轮迭代运算都存在当前左明文、当前右明文和当前密钥;
在每一轮迭代运算中,控制密钥生成模块将输入的当前密钥移位生成一个48位的扩展密钥,再将这个扩展密钥通过压缩置换生成子密钥;同时将扩展置换后的当前右明文与子密钥作异或运算以得到一个新的48位数据,再通过S盒置换为新的32位数据,然后控制这个新的32位数据执行P盒置换以得到一个函数指令结果,再控制这个函数指令结果与当前左明文作异或运算以得到新的右明文,同时将当前右明文设置为新的左明文,以使得新的左明文和新的右明文合并成为当前一轮迭代运算输出的当前一轮的密文,并控制新的左明文、新的右明文以及所述当前密钥参与下一轮迭代运算;
经过16轮迭代运算后,将最后一轮迭代运算得到的新的左明文与新的右明文结合为最后一轮的密文,再将最后一轮的密文执行一次初始置换的逆置换以输出基于前述64位的明文数据的密文数据,其中,这个时钟周期是由所述数据加密控制系统上设置的片上系统时钟源发出计数的;
其中,所述解密模块中执行的解密过程是加密模块执行的前述的加密过程的反过程。
10.一种芯片,其特征在于,该芯片是一个内嵌权利要求1至9任一项所述的数据加密控制系统的SOC芯片。
CN202011274235.1A 2020-11-15 2020-11-15 一种基于usb接口的数据加密控制系统及芯片 Active CN112329038B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011274235.1A CN112329038B (zh) 2020-11-15 2020-11-15 一种基于usb接口的数据加密控制系统及芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011274235.1A CN112329038B (zh) 2020-11-15 2020-11-15 一种基于usb接口的数据加密控制系统及芯片

Publications (2)

Publication Number Publication Date
CN112329038A CN112329038A (zh) 2021-02-05
CN112329038B true CN112329038B (zh) 2022-10-14

Family

ID=74317509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011274235.1A Active CN112329038B (zh) 2020-11-15 2020-11-15 一种基于usb接口的数据加密控制系统及芯片

Country Status (1)

Country Link
CN (1) CN112329038B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020186125A1 (en) 2019-03-13 2020-09-17 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption
CN113158203B (zh) * 2021-04-01 2024-05-17 深圳市纽创信安科技开发有限公司 一种soc芯片、电路和soc芯片的外部数据读写方法
CN113378194B (zh) * 2021-06-09 2023-02-28 罗克佳华(重庆)科技有限公司 一种加解密运算加速方法、系统及存储介质
CN113849867B (zh) * 2021-08-31 2024-02-23 浪潮电子信息产业股份有限公司 一种加密芯片
EP4145320A1 (en) * 2021-09-07 2023-03-08 Secure Thingz Limited Electronic chip and a method for provisioning such an electronic chip
CN114547663B (zh) * 2022-04-28 2022-07-22 广州万协通信息技术有限公司 基于usb接口的高速芯片实现数据加解密及读取的方法
CN118246080B (zh) * 2024-05-28 2024-08-16 山东云海国创云计算装备产业创新中心有限公司 一种数据处理方法、电子设备、存储介质及产品

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254231B1 (en) * 1999-10-14 2007-08-07 Ati International Srl Encryption/decryption instruction set enhancement
CN101551784B (zh) * 2008-04-02 2011-04-13 西北工业大学 一种usb接口的ata类存储设备中数据的加密方法及装置
JP6054541B2 (ja) * 2012-10-29 2016-12-27 クゥアルコム・インコーポレイテッドQualcomm Incorporated 全二重差動対を有するusbインタフェース上のイーサネット(登録商標)
CN103336920B (zh) * 2013-05-29 2019-01-08 东南大学 用于无线传感网络soc芯片的安全系统
CN106548099A (zh) * 2016-09-28 2017-03-29 深圳市华曦达科技股份有限公司 一种电路系统安全保护的芯片
CN107341405A (zh) * 2017-06-30 2017-11-10 记忆科技(深圳)有限公司 一种数据传输过程的加密方法
CN111400732B (zh) * 2020-03-12 2023-03-21 西安石油大学 一种基于usb通道的加解密模块及设备
CN113905108B (zh) * 2021-10-28 2024-02-23 珠海一微半导体股份有限公司 一种usb通讯的自定义协议分析装置、系统及其运行方法

Also Published As

Publication number Publication date
CN112329038A (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
CN112329038B (zh) 一种基于usb接口的数据加密控制系统及芯片
US7336783B2 (en) Cryptographic systems and methods supporting multiple modes
CN108073353B (zh) 一种数据处理的方法及装置
US10313128B2 (en) Address-dependent key generator by XOR tree
US20110255689A1 (en) Multiple-mode cryptographic module usable with memory controllers
JP2004226966A (ja) 多数の動作モードを支援する暗号化装置
EP3803672B1 (en) Memory-efficient hardware cryptographic engine
CN115549911B (zh) 一种加解密系统、方法、处理器和服务器
US11429751B2 (en) Method and apparatus for encrypting and decrypting data on an integrated circuit
CN111566987B (zh) 数据处理方法、电路、终端设备及存储介质
JP2021507343A (ja) 高性能周辺バスベースのシリアル周辺インターフェース通信装置
US10776294B2 (en) System architecture with secure data exchange
US6549622B1 (en) System and method for a fast hardware implementation of RC4
JP2021507569A (ja) 高性能周辺バスベースの集積回路間通信装置
CN111832051A (zh) 一种基于fpga的对称加解密方法及系统
CN114401081A (zh) 数据加密传输方法、应用及系统
CN113177210A (zh) 芯片结构及其操作方法
CN103077362B (zh) 具有安全机制的gpio ip核
CN105049203A (zh) 一种支持多工作模式的可配置3des加解密算法电路
CN113853588A (zh) 用于非易失性存储器的总线加密
CN105721139A (zh) 一种适用于有限io资源的fpga的aes加解密方法及电路
CN114650138A (zh) 一种i2c通信方法、系统、设备以及介质
CN108763982B (zh) 一种适用于rfid阅读器的des加密解密装置
CN113158203A (zh) 一种soc芯片、电路和soc芯片的外部数据读写方法
CN111143897A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong

Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd.

Address before: Room 105-514, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province

Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd.

GR01 Patent grant
GR01 Patent grant