高速加解密usb桥接芯片以及芯片高速加解密方法

文档序号:6481519阅读:158来源:国知局
专利名称:高速加解密usb桥接芯片以及芯片高速加解密方法
技术领域
本发明涉及加解密芯片以及高速加解密方法,尤其涉及主机与移动存储 设备之间利用USB接口连接的一种高速加解密USB桥接芯片以及提高芯片 加解密速度的方法,属于信息安全加密技术领域。
背景技术
目前,移动存储设备被广泛使用,对移动存储设备的数据进行加密可以 有效保障数字资产信息的安全,使其不被非法用户获取。因此,数据加密, 特别是移动存储设备上的数据加密是保护数字信息安全的重要手段。将原文 数据高速加密保存到移动存储设备被广泛应用于各种信息安全领域。
目前,为了对移动存储设备中保存的数据进行加密,采取的措施是在普 通移动存储设备中增加一加密模块。主机向移动存储设备写入数据前,先将 原文数据经过加密模块加密,然后将密文数据存入移动存储设备中。主机从 移动存储设备读出数据时,先将密文数据经过加密模块解密,然后将解密后 的原文数据读入主机。目前的设计普遍存在数据加密速度慢、数据加密方式 简单、加密手段有限等问题。这对要将大数据量存储到移动存储设备、需要 更多加密手段和方式的现实需求来说,对加密芯片的数据加解密传输速度、 加密手段和方式都提出了更高的要求。

发明内容
本发明提供一种高速加解密USB桥接芯片以及芯片高速加解密方法,目 的旨在解决主机与移动存储设备之间数据加解密速度慢、数据加密方式简 单、加密手段有限等技术问题,在主机与移动存储设备之间利用USB接口连 接,就可以通过高速加解密USB桥接芯片对主机与移动存储设备之间传输的 数据进行高速加解密。
为达到上述目的,本发明桥接芯片采用的技术方案是 一种高速加解密 USB桥接芯片,包括
第一 USB接口 ,该接口为用于连接主机的USB接口 ,实现从主机读出数 据或向主机写入数据;
第二 USB接口 ,该接口为用于连接移动存储设备的USB接口 ,实现从移 动存储设备读出数据或向移动存储设备写入数据;
加密算法模块,用于加密从主机读出的原文数据以及解密从移动存储设 备读出的密文数据;
6内部存储器,用于存储所述USB桥接芯片的固件或开机引导程序
(BootLoader);
CPU,用于执行存储于内部存储器上的固件,完成对所述USB桥接芯片 的控制和管理;
数据緩存器,该数据緩存器具有第一数据緩存区、第二数据緩存区和第 三数据緩存区,在所述USB桥接芯片初始化时,第一USB接口的逻辑地址 分配给第一数据緩存区,加密算法模块的逻辑地址分配给第二数据緩存区, 第二 USB接口的逻辑地址分配给第三数据緩存区;
数据緩存控制器,由寄存器构成,该寄存器设有三个控制位,其中,第 一控制位使能后使得第一 USB接口的逻辑地址与第二 USB接口的逻辑地址 进行交换,第二控制位使能后使得第一 USB接口的逻辑地址与加密算法模块 的逻辑地址进行交换,第三控制位使能后使得第二 USB接口的逻辑地址与加 密算法模块的逻辑地址进行交换;
通讯I/O模块,用于与外部通讯设备的通讯,实现从外部通讯设备上获取 指令或下载数据;
所述CPU分别与加密算法模块、数据緩存器控制器、内部存储器、数据 緩存器、第一USB接口、第二USB接口和通讯I/0模块通过总线连接。
为达到上述目的,本发明高速加解密方法采用的技术方案是 一种USB 桥接芯片的高速加解密方法,其创新在于在主机向移动存储设备进行写操 作或读操作过程中,利用数据緩存控制器中第二控制位和第三控制位的交替 使能来切换第一USB接口、加密算法模块和第二USB接口的逻辑地址,与 第 一数据緩存区、第二数据緩存区和第三数据緩存区的物理地址之间的映射 关系,使第 一数据緩存区、第二数据緩存区和第三数据緩存区轮流跟随第一 USB接口、加密算法模块和第二 USB接口并行工作,在主机与移动存储设 备之间传递数据批次,其中,写操作时所述第二控制位和第三控制位的交替 使能从第二控制位开始,读操作时所述第二控制位和第三控制位的交替使能 从第三控制位开始。
上述技术方案中的有关内容解释如下
1、上述方案中,所述"第一USB接口"和"第二USB接口"均为USB 接口。 USB的全称是Universal Serial Bus, USB支持热插拔,即插即用的优 点,所以USB接口已经成为一种标准的4妄口方式。USB有两个规范,即 USB 1.1和USB2.0。 USBU是目前较为普遍的USB规范,USB2.0规范是由USB1.1规范演变而来的。它的传输速率达到了 480Mbps,折算为MB为 60MB/s,足以满足大多数外设的速率要求。在本发明中,第一USB接口用 于连接主机,USB接口为从设,而第二 USB接口用于连接移动存储设备, USB接口为主设,但USB接口选择USB1.1或USB2.0均可以使用,其中 USB2.0更好。
2、 上述方案中,所述"数据緩存器"是一种数据存储器,用于存储数据。 本发明中数据緩存器可以采用FIFO。 FIFO是英文First In First Out的缩写, 是一种先进先出的数据緩存器,他与普通存储器的区别是没有外部读写地址 线,这样使用起来非常筒单,但缺点就是只能顺序写入数据,顺序的读出数 据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以 由地址线决定读取或写入某个指定的地址。
3、 上述方案中,所述"固件,,(Firmware)就是写入E2ROM或E2pROM(可 编程只读存储器)中的程序,通俗的理解就是"固化的软件"。与普通软件完 全不同,它是固化在集成电路内部的程序代码,负责控制和协调集成电路的 功能。
4、 上述方案中,所述"数据緩存控制器"是用于管理第一 USB接口、 第二 USB接口和加密算法模块所对应的数据緩存器,即数据緩存器中的第一 数据緩存区、第二数据緩存区和第三数据緩存区,完成数据的转移。数据緩 存控制器中设有三个控制位,第一控制位用于主机与移动存储设备之间透明 操作,即使能该控制位后主机与移动存储设备之间的数据流操作不经过力口密 或解密,而是直接将主机中的数据写入移动存储设备,或直接从移动存储设 备中读出数据。这个控制位一般在不需要对数据进行加密的情况下使用。在 需要对主机与移动存储设备之间传输的数据进行加密或解密时需要使用第 二控制位和第三控制位。
5、 上述方案中,所述"加密算法模块,,是用于加密原文数据或解密密文 数据的模块。加密算法模块采用的算法可包括RSA、 DES、 3DES、 SHA等 或自定义的编解码方式。加密算法还可以通过通讯1/0模块从外部来补充。
总之,本发明高速加解密USB桥接芯片作为主机与移动存储设备之间的 连接设备,当数据从主机写到移动存储设备时,进行实时加密,并将加密后 的数据写入移动存储设备的存储区中;当数据需要被读取或使用的时候,将 根据配置调用相应的解密算法模块对需要读取的数据进行实时解密,然后传 送给主机端4吏用。由于上述技术方案运用,本发明与现有技术相比具有下列优点和效果
1、 本发明克服了现有主机与移动存储设备之间数据加解密速度慢、数据 加密方式简单、加密手段有限等技术缺陷,在主机与移动存储设备之间利用 USB接口连接,就可以通过本发明高速加解密USB桥接芯片对主机与移动 存储设备之间传输的数据进行高速加解密。特别是本发明在USB桥接芯片中 利用数据緩存控制器中第二控制位和第三控制位的交替使能来切换第一 USB接口、加密算法模块和第二USB接口的逻辑地址,与第一数据緩存区、 第二数据緩存区和第三数据緩存区的物理地址之间的映射关系,使第一数据 緩存区、第二数据緩存区和第三数据緩存区轮流跟随第一USB接口、加密算 法模块和第二 USB接口并行工作,在主机与移动存储设备之间传递数据批 次,从而提高了数据的加解密速度。
2、 本发明在保证数据加解密速度的同时,还可以建立两道安全屏障,其 一由于移动存储设备的操作系统也被加密,得到移动存储设备者会误认为移 动存储设备是空盘,存入信息可以隐藏;其二,即使非法得到移动存储设备, 如果没有密钥也无法读取移动存储设备中的明文数据。
3、 由于本发明USB桥接芯片增加了通讯I/0模块可以与外部设备进行通 讯,进而为移动存储设备的安全处理方式增加了更多的可能,增强了数据信 息的保密性。


附图1为本发明高速加解密USB桥接芯片的系统原理方框图; 附图2为本发明数据緩存控制器的寄存器原理示意图; 附图3为本发明高速加解密USB桥"I妄芯片的工作流程示意图; 附图4为本发明高速加解密USB桥接芯片中的数据流向移动存储设备写 入时,第一数据緩存区、第二数据緩存区和第三数据緩存区轮流跟随第一 USB接口 、加密算法模块和第二 USB接口并行工作示意附图5为本发明高速加解密USB桥接芯片中的数据流从移动存储设备读 出时,第一数据緩存区、第二数据緩存区和第三数据緩存区轮流跟随第一 USB接口 、加密算法模块和第二 USB接口并行工作示意图。
以上附图中10、高速加解密USB桥接芯片;20、主机;30、移动存储 设备;40、外部通讯设备;101、数据緩存控制器;102、加密算法模块;103、 第一USB接口; 104、第二USB接口; 105、 CPU; 106、通讯I/O模块;107、 内部存储器;108、第一数据緩存区;109、第三数据緩存区;110、第二数
9据緩存区。
具体实施例方式
下面结合附图及实施例对本发明作进一步描述 实施例
本发明可作为独立的设备应用于要求信息安全的存储设备中。当本发明 高速加解密USB桥接芯片连接在主机20与移动存储设备30之间后,主机 20向移动存储设备30写入数据是加密过程,从移动存储设备30读出数据是 解密过程。具体的加解密过程完全可以根据实际应用的要求,由保存在内部 存储器107中的固件或由外部通讯设备40进行控制。
图1为本发明高速加解密USB桥接芯片的系统原理方框图。从图l可以 看出,发明高速加解密USB桥接芯片由第一USB接口 103、第二USB接口 104、加密算法模块102、内部存储器107、 CPU105、数据緩存器、数据緩存 控制器101和通讯I/O模块106组成,CPU105分别与加密算法模块102、 数据緩存器控制器IOI、内部存储器107、数据緩存器、第一USB接口 103、 第二USB接口 104和通讯1/0模块106通过总线连接。其中
第一 USB接口 103用于连接主机20,实现从主机20读出数据或向主机 20写入数据。第一 USB接口 103相对主机20为从设,可选择USB1.1接口 或USB2.0接口,但为了适应高速加解密采用USB2.0接口更好。
第二 USB接口 104用于连接移动存储设备30,实现从移动存储设备30 读出数据或向移动存储设备30写入数据。第二 USB接口 104相对移动存储 设备30为主设,可选择USB1.1接口或USB2.0接口,但为了适应高速加解 密采用USB2.0接口更好。
加密算法模块102用于加密从主机20读出的原文数据以及解密从移动存 储设备30读出的密文数据。这部分内容可以采用现有技术,比如背景技术 中指出的"在普通移动存储设备中增加一加密模块"。而本实施例中,加密 算法模块102包括
1) 算法模块组。该算法模块组由至少一种算法模块组成,各算法模块用 于对数据进行不同算法的加解密运算,其中算法可包括RSA、 DES、 3DES、 SHA等或自定义的编解码方式。
2) 控制/状态寄存器组。该控制/状态寄存器组由控制寄存器和状态寄存 器组成,状态寄存器用于反映加密算法模块102的状态信息;控制寄存器用 于定义以下内容A、 定义选择何种算法模块来进行加解密运算;
B、 定义加解密数据量;
C、 设置中断配置;
D、 定义启动算法模块进行加密解运算的使能。
3)算法模块控制器。该算法模块控制器用于控制被选择算法模块的加解 密过程以及控制数据读写操作,在完成数据加解密之后,将中断信号传送给 中断控制器。所述算法模块控制器分别与算法模块组和控制/状态寄存器组双 向连接,控制/状态寄存器组与系统总线或外围总线双向连接。
内部存储器107用于存储所述USB桥接芯片10的固件或开机引导程序 (BootiLoader )。
CPU105作为嵌入式中央处理器用于执行存储于内部存储器107上的固件 或执行从通讯I/O模块106输入的指令,完成对所述USB桥接芯片10的控 制和管理。
数据緩存器为对应第一USB接口 103、第二USB接口 104和加密算法模 块102所设的数据存储器用于存储数据,可以釆用RAM或FIFO, RAM是 从连续地址读写的数据存储器,FIFO是从一个固定地址读写的数据存储器。 本发明中数据緩存器具有第一数据緩存区108、第二数据緩存区110和第三 数据緩存区109,在USB桥接芯片IO初始化时,第一USB接口 103的逻辑 地址分配给第一数据緩存区108,加密算法模块102的逻辑地址分配给第二 数据緩存区110,第二USB接口 104的逻辑地址分配给第三数据緩存区109。
数据缓存控制器101用于管理第一USB接口 103、第二USB接口 104和 加密算法模块102所对应的数据緩存器,即数据緩存器中的第一数据緩存区、 第二数据緩存区和第三数据緩存区,完成数据的转移。数据緩存控制器由寄 存器构成,参见图2所示,该寄存器设有三个控制位,其中,第一控制位201 使能后使得第一 USB接口 103的逻辑地址与第二 USB接口 104的逻辑地址 进行交换,第二控制位202使能后使得第一 USB接口 103的逻辑地址与加密 算法模块102的逻辑地址进行交换,第三控制位203使能后使得第二 USB 接口 104的逻辑地址与加密算法模块102的逻辑地址进行交换。第一控制位 201用于主机20与移动存储设备30之间透明操作,即使能第一控制位201 后主机20与移动存储设备30之间的数据流操作不经过力口密或解密,而是直 接将主机20中的数据写入移动存储设备30,或直接从移动存储设备30中读 出数据。这个控制位一般在不需要对数据进行加密的情况下使用。在需要对
ii主机20与移动存储设备30之间传输的数据进行加密或解密时需要使用第二 控制位202和第三控制位203。
通讯I/O模块106用于与外部通讯设备40的通讯,实现从外部通讯设备 40上获取指令或下载数据。
图3为本发明工作流程示意图,从图3中看出本实施例高速加解密USB 桥接芯片的工作流程分为以下步骤
步骤A1: USB桥接芯片IO进行初始化。
步骤A2:判断是否有移动存储设备30存在。如果没有发现移动存储设 备30,则不会通知主机20完成枚举过程,如果发现移动存储设备30,执行 步骤A3。
步骤A3:主机20完成枚举过程。该过程中USB桥接芯片10负责将主机 20与移动存储设备30的信息进行透明传送。
步骤A4: USB桥接芯片IO进行命令解析,对非数据操作命令进行主机 20与移动存储设备30的信息通讯。
步骤A5:判断是否有对数据的读写命令,如果没有发现数据读写命令, 则不会启动加解密流程;如果发现数据读写命令,执行步骤A6。
步骤A6:当进行数据流写操作时,第一USB接口 103接收来自主机20 的原文数据;当进行数据流读操作时,第二USB接口 104接收来自外部存储 设备30的密文数据。
步骤A7:当进行数据流写操作时,当第一USB接口 103完成原文数据接 收后,由加密算法模块102进行加密操作;当进行数据流读操作时,当第二 USB接口 104完成密文数据接收后,由加密算法模102进行解密操作。
步骤A8:当进行数据流写操作时,第二USB接口 104将加密算法模块 102加密后的数据传输给外部存储设备30;当进行数据流读操作时,第一 USB接口 103将加密算法模块102解密后的数据传输给主机20。
步骤A9:判断是否完成数据传送操作,如果完成,纟丸行步骤A10;如果 没有完成,则执行步骤A4。
步骤A10:结束本次任务。
此外,在上述步骤A6至步骤A8操作之间,是利用数据緩存控制器101 中第二控制位202和第三控制位203的交替使能来切换第一 USB接口 103、 加密算法模块102和第二USB接口 104的逻辑地址,与第一数据緩存区108、 第二数据緩存区IIO和第三数据緩存区109的物理地址之间的映射关系,使
12第一数据緩存区108、第二数据緩存区110和第三数据緩存区109轮流跟随 第一USB接口 103、加密算法模块102和第二USB接口 104并行工作,在 主机20与移动存储设备30之间传递数据批次。图4和图5分别给出数据流 写入和读出时第一数据緩存区108、第二数据緩存区IIO和第三数据緩存区 109轮流跟随第一 USB接口 103、加密算法模块102和第二 USB接口 104 并行工作示意图。下面将对图4和图5分别进行描述
如图4所示,在USB桥接芯片10初始化时,第一数据緩存区108指向 第一USB接口 103的逻辑地址,第二数据緩存区IIO指向加密算法模块102 的逻辑地址,第三数据緩存区109指向第二USB接口 104的逻辑地址。第一 数据緩存区108、第二数据緩存区IIO和第三数据緩存区109都为空(图中 分别用"空白"表示)。
当主机20向移动存储设备30进行写操作时按以下步骤进行工作
步骤一主机20通过第一USB接口 103向第一数据緩存区108输入第 一批原文数据(图中第一数据緩存区108由"空白,,变为"填充斜线");加 密算法模块102不操作,第二数据緩存区IIO为空(图中用"空白"表示); 第二USB接口 104不操作,第三数据緩存区109为空(图中用"空白"表示)。
步骤二第二控制位202使能,使得第一USB接口 103的逻辑地址与加 密算法模块102的逻辑地址进行交换,此时,第一数据緩存区108指向加密 算法才莫块102,第二数据緩存区IIO指向第一USB接口 103,然后主机20 通过第一USB接口 103向第二数据緩存区IIO输入第二批原文数据(图中第 二数据緩存区110由"空白,,变为"填充斜线"),同时加密算法模块102对 第一数据緩存区108中的第一批原文数据进行加密得到第一批密文数据(图 中第一数据緩存区108由"填充斜线"变为"填充黑色")。第二USB接口 104不操作,第三数据緩存区109为空(图中用"空白,,表示)。
步骤三第三控制位203先使能,使得第二USB接口 104的逻辑地址与 加密算法模块102的逻辑地址进行交换,接着第二控制位202再使能,使得 第一 USB接口 103的逻辑地址与加密算法模块102的逻辑地址进行交换,此 时,第一数据缓存区108指向第二USB接口 104,第二数据緩存区110指向 加密算法模块102,第三数据緩存区109指向第一USB接口 103,然后主机 20通过第一 USB接口 103向第三数据緩存区109输入第三批原文数据(图 中第三数据緩存区109由"空白,,变为"填充斜线"),加密算法模块102对 第二数据緩存区110中的第二批原文数据进行加密得到第二批密文数据(图中第二数据緩存区110由"填充斜线"变为"填充黑色"),同时第一数据緩
存区108通过第二USB接口 104向移动存储设备30输出第一批密文邀:据(图 中第一数据缓存区108由"填充黑色"变为"空白")。
步骤四第三控制位203先使能,使得第二USB接口 104的逻辑地址与 加密算法模块102的逻辑地址进行交换,接着第二控制位202再使能,使得 第一USB接口 103的逻辑地址与加密算法模块102的逻辑地址进行交换,此 时,第一数据緩存区108指向第一USB接口 103,第二数据緩存区110指向 第二USB接口104,第三数据緩存区109指向加密算法模块102,然后主机 20通过第一USB接口 103向第一数据缓存区108输入第四批原文数据(图 中第一数据緩存区108由"空白"变为"填充斜线"),加密算法模块102对 第三数据缓存区109中的第三批原文数据进行加密得到第三批密文数据(图 中第三数据緩存区109由"填充斜线"变为"填充黑色,,),同时第二数据緩 存区IIO通过第二USB接口 104向移动存储设备30输出第二批密文数据(图 中第二数据緩存区110由"填充黑色"变为"空白")。
步骤五第三控制位203先使能,使得第二USB接口 104的逻辑地址与 加密算法模块102的逻辑地址进行交换,接着第二控制位202再使能,使得 第一 USB接口 103的逻辑地址与加密算法模块102的逻辑地址进行交换,此 时,第一数据緩存区108指向加密算法模块102,第二数据緩存区110指向 第一USB接口 103,第三数据緩存区109指向第二USB接口 104,然后主机 20通过第一 USB接口 103向第二数据緩存区110输入第五批原文数据(图 中第二数据緩存区110由"空白,,变为"填充斜线,,),加密算法模块102对 第一数据緩存区108中的第四批原文数据进行加密得到第四批密文数据(图 中第一数据緩存区108由"填充斜线"变为"填充黑色"),同时第三数据緩 存区109通过第二USB接口 104向移动存储设备30输出第三批密文数据(图 中第三数据緩存区109由"填充黑色,,变为"空白,,);然后返回到步骤三, 以此构成循环,直到最后一批密文数据输出为止。
如图5所示,在USB桥接芯片IO初始化时,第一数据緩存区108指向 第一USB接口 103的逻辑地址,第二数据緩存区IIO指向加密算法模块102 的逻辑地址,第三数据緩存区109指向第二USB接口 104的逻辑地址。第一 数据緩存区108、第二数据緩存区IIO和第三数据緩存区109都为空(图中 分别用"空白"表示)。
当主机20向移动存储设备30进行读操作时按以下步骤进行工作
14步骤一移动存储设备30通过第二USB接口 104向第三数据緩存区109 输入第一批密文数据(图中第三数据緩存区109由"空白"变为"填充黑色,,); 加密算法模块102不操作,第二数据缓存区IIO为空(图中用"空白"表示); 第一USB接口 103不操作,第一数据緩存区108为空(图中用"空白"表示)。
步骤二第三控制位203使能,使得第二USB接口 104的逻辑地址与加 密算法模块102的逻辑地址进行交换,此时,第二数据緩存区IIO指向第二 USB接口 104,第三数据緩存区109指向加密算法模块102,然后移动存储 设备30通过第二USB接口 104向第二数据緩存区IIO输入第二批密文数据 (图中第二数据緩存区IIO由"空白,,变为"填充黑色,,),同时加密算法模 块102对第三数据緩存区109中的第一批密文数据进行解密得到第一批原文 数据(图中第三数据緩存区109由"填充黑色,,变为"填充斜线")。第一 USB接口 103不操作,第一数据緩存区108为空(图中用"空白"表示)。
步骤三第二控制位202先使能,使得第一USB接口 103的逻辑地址与 加密算法模块102的逻辑地址进行交换,接着第三控制位203再使能,使得 第二USB接口 104的逻辑地址与加密算法模块102的逻辑地址进行交换,此 时,第一数据緩存区108指向第二USB接口 104,第二数据缓存区110指向 加密算法模块102,第三数据緩存区109指向第一USB接口 103,然后移动 存储设备30通过第二USB接口 104向第一数据緩存区108输入第三批密文 数据(图中第一数据缓存区108由"空白"变为"填充黑色"),加密算法才莫 块102对第二数据緩存区110中的第二批密文数据进行解密得到第二批原文 数据(图中第二数据緩存区110由"填充黑色"变为"填充斜线"),同时第 三数据緩存区109通过第一USB接口 103向主机20输出第一批原文数据(图 中第三数据缓存区109由"填充斜线,,变为"空白")。
步骤四第二控制位202先使能,使得第一USB接口 103的逻辑地址与 加密算法模块102的逻辑地址进行交换,接着第三控制位203再使能,使得 第二 USB接口 104的逻辑地址与加密算法模块102的逻辑地址进行交换,第 一数据緩存区108指向加密算法模块102,第二数据緩存区IIO指向第一USB 接口 103,第三数据緩存区109指向第二USB接口 104,然后移动存储设备 30通过第二 USB接口 104向第三数据緩存区109输入第四批密文数据(图 中第三数据緩存区109由"空白"变为"填充黑色,,),加密算法模块102对 第一数据緩存区108中的第三批密文数据进行解密得到第三批原文数据(图 中第一数据缓存区108由"填充黑色"变为"填充斜线"),同时第二数据緩存区110通过第一USB接口 103向主机20输出第二批原文数据(图中第二 数据緩存区110由"填充斜线"变为"空白")。
步骤五第二控制位202先使能,使得第一USB接口 103的逻辑地址与 加密算法模块102的逻辑地址进行交换,接着第三控制位203再使能,使得 第二USB接口 104的逻辑地址与加密算法模块102的逻辑地址进行交换,此 时,第一数据緩存区108指向第一USB接口 103,第二数据緩存区110指向 第二USB接口104,第三数据緩存区109指向加密算法模块102,然后移动 存储设备30通过第二 USB接口 104向第二数据緩存区110输入第五批密文 数据(图中第二数据緩存区IIO由"空白,,变为"填充黑色"),加密算法模 块102对第三数据緩存区109中的第四批密文数据进行解密得到第四批原文 数据(图中第三数据緩存区109由"填充黑色"变为"填充斜线"),同时第 一数据緩存区108通过第一USB接口 103向主机(20)输出第三批原文数据 (图中第一数据緩存区108由"填充斜线"变为"空白");然后返回到步骤 三,以此构成循环,直到最后一批原文数据输出为止。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项 技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保 护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明 的保护范围之内。
权利要求
1、一种高速加解密USB桥接芯片,其特征在于包括第一USB接口(103),该接口为用于连接主机(20)的USB接口,实现从主机(20)读出数据或向主机(20)写入数据;第二USB接口(104),该接口为用于连接移动存储设备(30)的USB接口,实现从移动存储设备(30)读出数据或向移动存储设备(30)写入数据;加密算法模块(102),用于加密从主机(20)读出的原文数据以及解密从移动存储设备(30)读出的密文数据;内部存储器(107),用于存储所述USB桥接芯片(10)的固件或开机引导程序;CPU(105),用于执行存储于内部存储器(107)上的固件,完成对所述USB桥接芯片(10)的控制和管理;数据缓存器,该数据缓存器具有第一数据缓存区(108)、第二数据缓存区(110)和第三数据缓存区(109),在所述USB桥接芯片(10)初始化时,第一USB接口(103)的逻辑地址分配给第一数据缓存区(108),加密算法模块(102)的逻辑地址分配给第二数据缓存区(110),第二USB接口(104)的逻辑地址分配给第三数据缓存区(109);数据缓存控制器(101),由寄存器构成,该寄存器设有三个控制位,其中,第一控制位(201)使能后使得第一USB接口(103)的逻辑地址与第二USB接口(104)的逻辑地址进行交换,第二控制位(202)使能后使得第一USB接口(103)的逻辑地址与加密算法模块(102)的逻辑地址进行交换,第三控制位(203)使能后使得第二USB接口(104)的逻辑地址与加密算法模块(102)的逻辑地址进行交换;所述CPU(105)分别与加密算法模块(102)、数据缓存器控制器(101)、内部存储器(107)、数据缓存器、第一USB接口(103)和第二USB接口(104)通过总线连接。
2、 根据权利要求1所述的高速加解密USB桥接芯片,其特征在于包括 通讯I/O模块(106 ),通讯I/O模块(106 )通过总线与所述CPU ( 105 )连接。
3 、根据权利要求1所述USB桥接芯片的高速加解密方法,其特征在于 在主机(20)向移动存储设备(30)进行写操作或读操作过程中,利用数据緩 存控制器(101)中第二控制位(202)和第三控制位(203 )的交替使能来切 换第一USB接口 (103)、加密算法才莫块(102)和第二USB接口 (104)的逻 辑地址,与第一数据緩存区(108)、第二数据緩存区(110)和第三数据緩存区(109)的物理地址之间的映射关系,使第一数据緩存区(108)、第二数据 緩存区(110)和第三数据緩存区(109)轮流跟随第一USB接口 (103)、加 密算法模块(102)和第二USB接口 (104)并行工作,在主机(20)与移动 存储设备(30)之间传递数据批次,其中,写操作时所述第二控制位(202) 和第三控制位(203 )的交替使能从第二控制位(202)开始,读操作时所述第 二控制位(202)和第三控制位(203 )的交替使能从第三控制位(203 )开始。
4、根据权利要求3所述的高速加解密方法,其特征在于 在所述USB桥接芯片(IO)初始化时,第一数据緩存区(108)、第二数据 緩存区(110)和第三数据緩存区(109)都为空;当主机(20)向移动存储设备(30)进行写操作时按以下步骤进行工作 步骤一主机(20)通过第一USB接口 (103)向第一数据缓存区(108) 输入第一批原文数据;步骤二第二控制位(202)使能,使得第一USB接口 ( 103 )的逻辑地址 与加密算法模块(102)的逻辑地址进行交换,然后主机(20)通过第一USB 接口 (103)向第二数据緩存区(110)输入第二批原文数据,同时加密算法模 块(102)对第一数据缓存区(108)中的第一批原文数据进行加密得到第一批 密文数据;步骤三第三控制位(203 )先使能,使得第二USB接口 (104)的逻辑地 址与加密算法模块(102)的逻辑地址进行交换,接着第二控制位(202)再使 能,使得第一USB接口 (103)的逻辑地址与加密算法模块(102)的逻辑地 址进行交换,然后主机(20 )通过第一 USB接口 ( 103 )向第三数据緩存区(109 ) 输入第三批原文数据,加密算法模块(102)对第二数据緩存区(110)中的第 二批原文数据进行加密得到第二批密文数据,同时第一数据緩存区(108)通 过第二USB接口 (104)向移动存储设备(30)输出第一批密文数据;步骤四第三控制位(203 )先使能,使得第二USB接口 (104)的逻辑地 址与加密算法模块(102)的逻辑地址进行交换,接着第二控制位(202)再使 能,使得第一USB接口 (103)的逻辑地址与加密算法模块(102)的逻辑地 址进行交换,然后主机(20 )通过第一 USB接口 ( 103 )向第一数据緩存区(108 ) 输入第四批原文数据,加密算法模块(102)对第三数据緩存区(109)中的第 三批原文数据进行加密得到第三批密文数据,同时第二数据緩存区(110)通 过第二USB接口 (104)向移动存储设备(30)输出第二批密文数据;步骤五第三控制位(203 )先使能,使得第二USB接口 (104)的逻辑地址与加密算法模块(102)的逻辑地址进行交换,接着第二控制位(202)再使 能,使得第一USB接口 (103)的逻辑地址与加密算法模块(102)的逻辑地 址进行交换,然后主机(20 )通过第一 USB接口 ( 103 )向第二数据緩存区(110 ) 输入第五批原文数据,加密算法模块(102)对第一数据緩存区(108)中的第 四批原文数据进行加密得到第四批密文数据,同时第三数据緩存区(109)通 过第二USB接口 ( 104)向移动存储设备(30)输出第三批密文数据;然后返 回到步骤三,以此构成循环,直到最后一批密文数据输出为止;当主机(20)向移动存储设备(30)进行读操作时按以下步骤进行工作 步骤一移动存储设备(30)通过第二USB接口 (104)向第三数据缓存 区(109)输入第一批密文数据;步骤二第三控制位(203 )使能,使得第二USB接口 (104)的逻辑地址 与加密算法模块(102)的逻辑地址进行交换,然后移动存储设备(30)通过 第二USB接口 (104)向第二数据緩存区(110)输入第二批密文数据,同时 加密算法模块(102)对第三数据緩存区(109)中的第一批密文数据进行解密得到第一批原文数据;步骤三第二控制位(202)先使能,使得第一USB接口 (103)的逻辑地 址与加密算法模块(102)的逻辑地址进行交换,接着第三控制位(203 )再使 能,使得第二USB接口 (104)的逻辑地址与加密算法i^莫块(102)的逻辑地 址进行交换,然后移动存储设备(30)通过第二USB接口 (104)向第一数据 緩存区(108)输入第三批密文数据,加密算法模块(102)对第二数据緩存区 (110)中的第二批密文数据进行解密得到第二批原文数据,同时第三数据緩 存区(109)通过第一USB接口 (103)向主机(20)输出第一批原文数据;步骤四第二控制位(202)先使能,使得第一USB接口 (103)的逻辑地 址与加密算法模块(102)的逻辑地址进行交换,接着第三控制位(203 )再使 能,使得第二USB接口 (104)的逻辑地址与加密算法模块(102)的逻辑地 址进行交换,然后移动存储设备(30)通过第二USB接口 (104)向第三数据 緩存区(109)输入第四批密文数据,加密算法模块(102)对第一数据緩存区 (108)中的第三批密文数据进行解密得到第三批原文数据,同时第二数据緩 存区(110)通过第一USB接口 (103)向主机(20)输出第二批原文数据;步骤五第二控制位(202)先使能,使得第一USB接口 (103)的逻辑地 址与加密算法模块(102)的逻辑地址进行交换,接着第三控制位(203 )再使 能,使得第二USB接口 (104)的逻辑地址与加密算法^^莫块(102)的逻辑地址进行交换,然后移动存储设备(30)通过第二USB接口 (104)向第二数据 緩存区(110)输入第五批密文数据,加密算法模块(102)对第三数据緩存区 (109)中的第四批密文数据进行解密得到第四批原文数据,同时第一数据緩 存区(108)通过第一USB接口 (103)向主机(20)输出第三批原文数据; 然后返回到步骤三,以此构成循环,直到最后一批原文数据输出为止。
全文摘要
一种高速加解密USB桥接芯片以及高速加解密方法,芯片包括第一USB接口(103)、第二USB接口(104)、加密算法模块(102)、内部存储器(107)、CPU(105)、数据缓存器、数据缓存控制器(101)。本发明作为加解密桥接装置应用于主机(20)与移动存储设备(30)之间的连接,在芯片中利用数据缓存控制器中第二控制位和第三控制位的交替使能来切换第一USB接口、加密算法模块和第二USB接口的逻辑地址,与第一数据缓存区、第二数据缓存区和第三数据缓存区的物理地址之间的映射关系,使第一数据缓存区、第二数据缓存区和第三数据缓存区轮流跟随第一USB接口、加密算法模块和第二USB接口并行工作,在主机与移动存储设备之间传递数据批次,从而提高了数据的加解密速度。
文档编号G06F12/14GK101510245SQ20091002547
公开日2009年8月19日 申请日期2009年3月6日 优先权日2009年3月6日
发明者林雄鑫, 王忠海, 肖佐楠, 茳 郑 申请人:苏州国芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1