CN102521037B - 使用双上下文存储的密码学算法协处理器及数据流处理方法 - Google Patents

使用双上下文存储的密码学算法协处理器及数据流处理方法 Download PDF

Info

Publication number
CN102521037B
CN102521037B CN 201110398170 CN201110398170A CN102521037B CN 102521037 B CN102521037 B CN 102521037B CN 201110398170 CN201110398170 CN 201110398170 CN 201110398170 A CN201110398170 A CN 201110398170A CN 102521037 B CN102521037 B CN 102521037B
Authority
CN
China
Prior art keywords
context
task
data
cryptographic algorithm
memory
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
CN 201110398170
Other languages
English (en)
Other versions
CN102521037A (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.)
Solomon Systech Shenzhen Ltd
Original Assignee
Solomon Systech Shenzhen 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 Solomon Systech Shenzhen Ltd filed Critical Solomon Systech Shenzhen Ltd
Priority to CN 201110398170 priority Critical patent/CN102521037B/zh
Publication of CN102521037A publication Critical patent/CN102521037A/zh
Application granted granted Critical
Publication of CN102521037B publication Critical patent/CN102521037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种使用双上下文存储的密码学算法协处理器及数据流处理方法,其包括:上下文存储器,所述协处理器包括两个完全等价的上下文存储器;密码学算法处理单元,用于执行密码学算法;本地存储器,用于缓存输入、输出数据和中间结果。本发明中两套上下文可以快速切换,因此可以快速的在两个任务之间切换;同时可以支持任意多的任务并消灭了上下文存取的时间开销,解决了软件进行多任务调度时的性能损失。

Description

使用双上下文存储的密码学算法协处理器及数据流处理方法
技术领域
本发明涉及集成电路信息处理技术领域,尤其涉及一种使用双上下文存储的密码学算法协处理器及数据流处理方法。
背景技术
随着信息安全日趋重要,密码学算法和安全方案也在蓬勃发展。专用于密码学运算的协处理器可以提供硬件加速和安全性,在嵌入式系统中被广泛应用。
在实际应用中,常出现以下三种情况:
1、单数据流、级连处理。一个输入数据流被一个操作处理后,其结果马上作为另一个操作的输入,依次类推。比如,对一个DES加密的数据流解密后再用AES加密。
2、单数据流、并行处理。一个输入数据流同时被两个以上的操作处理。比如,对一个AES加密的数据解密的同时计算该数据流的MD5信息摘要。
3、多数据流、多种处理。存在许多短数据流被不同操作处理的情形。比如微软DRM中就存在连续的短数据流的处理,或者同一个数据流会有阶段性不同的处理方式。
对于第1和第2种情况,通过软件调度可以实现功能并减少系统带宽和功耗,对于第3种情况,软件调度同样能实现其功能。虽然如此,软件调度在不同任务的上下文切换时的开销降低了数据处理吞吐量,尤其在多数据流、多种处理的情况。
有鉴于此,有必要提供一种使用双上下文存储的密码学算法协处理器及数据流处理方法以解决上述问题。
发明内容
本发明的目的在于提供一种使用双上下文存储的密码学算法协处理器及数据流处理方法。
本发明的一种使用双上下文存储的密码学算法协处理器,所述协处理器包括:
上下文存储器,所述协处理器包括两个完全等价的上下文存储器;
密码学算法处理单元,用于执行密码学算法;
本地存储器,用于缓存输入、输出数据和中间结果。
作为本发明的进一步改进,所述两个上下文存储器由两个不同的ID标记。
作为本发明的进一步改进,所述协处理器还包括ID选择单元,用于当前上下文ID选择密码学算法处理单元要使用的上下文。
4、一种根据权利要求1所述的使用双上下文存储的密码学算法的数据流处理方法,其特征在于,所述方法包括以下步骤:
S11、读入两个任务的初始上下文,并使能第一个任务的上下文;
S12、读入一定数据到输入缓存中;
S13、第一个任务处理输入缓存中的数据,并将处理结果存入中间缓存;
S14、切换当前ID使能第二个任务的上下文;
S15、判断数据流是否结束,若是,执行步骤S16,若否,执行步骤S17;
S16、读入中间缓存数据,执行第二个任务,输出最终结果;
S17、读入中间缓存数据,执行第二个任务,输出最终结果,同时,读取一定的新数据到输入缓存中,然后切换当前ID使能第一个任务的上下文后继续执行步骤S13。
作为本发明的进一步改进,所述数据流处理为单数据流、级连处理。
相应地,一种使用双上下文存储的密码学算法的数据流处理方法,所述方法包括以下步骤:
S21、读入两个任务的初始上下文,并使能第一个任务的上下文;
S22、读入一定数据到输入缓存中;
S23、第一个任务处理输入缓存中的数据,并输出最终结果。;
S24、切换当前ID使能第二个任务的上下文;
S25、判断数据流是否结束,若是,执行步骤S26,若否,执行步骤S27;
S26、第二个任务处理输入缓存中的数据,并输出最终结果;
S27、第二个任务处理输入缓存中的数据,并输出最终结果,同时,读取一定新数据到输入缓存中,然后切换当前ID使能第一个任务的上下文后继续执行步骤S23。
作为本发明的进一步改进,所述数据流处理为单数据流、并行处理。
相应地,一种使用双上下文存储的密码学算法的数据流处理方法,所述方法包括以下步骤:
S31、读入第一个任务的初始上下文到当前使能上下文中;
S32、判断所有任务是否结束,若是,执行步骤S33,若否执行步骤S34;
S33、执行当前上下文所示任务并输出结果直到任务结束;
S34、执行当前上下文所示任务并输出结果直到任务结束,同时,读入下一个任务的上下文到未被使用的上下文中,然后切换当前ID以切换上下文后执行步骤S32。
作为本发明的进一步改进,所述步骤S34中“读入下一个任务的上下文到未被使用的上下文中”前还包括:输出未被使用的上下文。
作为本发明的进一步改进,所述数据流处理为多数据流、多种处理。
本发明的有益效果是:本发明在硬件内部存储两套上下文,两套上下文可以快速切换,因此可以快速的在两个任务之间切换;同时本发明支持对指定其中任一个上下文的存取,并且对该上下文的存取和对另一个上下文的使用可以同时发生,因此可以支持任意多的任务并消灭了上下文存取的时间开销,解决了软件进行多任务调度时的性能损失。
附图说明
图1为本发明一实施方式中使用双上下文存储的密码学算法协处理器的结构示意图。
图2为本发明一实施方式中使用双上下文存储的密码学算法的数据流处理方法流程图。
图3为本发明另一实施方式中使用双上下文存储的密码学算法的数据流处理方法流程图。
图4为本发明再一实施方式中使用双上下文存储的密码学算法的数据流处理方法流程图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
参图1所示为本发明一实施方式中使用双上下文存储的密码学算法协处理器100的结构示意图,其包括:
上下文存储器10、11,用于上下文的存取,两个上下文都可以被存入到外部存储器、或者从外部存储器读入。上下文存储器10和上下文存储器11为两个完全等价的上下文存储器。用两个上下文存储器仅为本发明一优选的实施方式,在其他实施方式中也可以设为两个以上的上下文存储器,同样可以达到本发明的效果;
密码学算法处理单元20,用于执行密码学算法;
本地存储器30,用于缓存输入、输出数据和中间结果。
进一步地,该存储器100还包括:
ID选择单元40,用于当前上下文ID选择密码学算法处理单元30要使用的上下文。所述上下文存储器10和上下文存储器11由两个不同的ID标记,ID选择单元40可以根据当前上下文ID选择密码学算法处理单元30要使用的上下文。
参图2所示,应用上述协处理器处理单数据流、级连处理的情况中,以两个任务为例,该数据流处理方法包括以下步骤:
S11、读入两个任务的初始上下文,并使能第一个任务的上下文;
S12、读入一定数据到输入缓存中;
S13、第一个任务处理输入缓存中的数据,并将处理结果存入中间缓存;
S14、切换当前ID使能第二个任务的上下文;
S15、判断数据流是否结束,若是,执行步骤S16,若否,执行步骤S17;
S16、读入中间缓存数据,执行第二个任务,输出最终结果;
S17、读入中间缓存数据,执行第二个任务,输出最终结果,同时,读取一定的新数据到输入缓存中,然后切换当前ID使能第一个任务的上下文后继续执行步骤S13。
参图3所示,应用上述协处理器处理单数据流、并行处理的情况中,以两个任务为例,该数据流处理方法包括以下步骤:
S21、读入两个任务的初始上下文,并使能第一个任务的上下文;
S22、读入一定数据到输入缓存中;
S23、第一个任务处理输入缓存中的数据,并输出最终结果。;
S24、切换当前ID使能第二个任务的上下文;
S25、判断数据流是否结束,若是,执行步骤S26,若否,执行步骤S27;
S26、第二个任务处理输入缓存中的数据,并输出最终结果;
S27、第二个任务处理输入缓存中的数据,并输出最终结果,同时,读取一定新数据到输入缓存中,然后切换当前ID使能第一个任务的上下文后继续执行步骤S23。
参图4所示,应用上述协处理器处理单数据流、级连处理的情况中,以两个任务为例,该数据流处理方法包括以下步骤:
S31、读入第一个任务的初始上下文到当前使能上下文中;
S32、判断所有任务是否结束,若是,执行步骤S33,若否执行步骤S34;
S33、执行当前上下文所示任务并输出结果直到任务结束;
S34、执行当前上下文所示任务并输出结果直到任务结束,同时,读入下一个任务的上下文到未被使用的上下文中,然后切换当前ID以切换上下文后执行步骤S32。其中,在“读入下一个任务的上下文到未被使用的上下文中”前还可包括:输出未被使用的上下文。
与现有技术相比,本发明在硬件内部存储两套上下文,两套上下文可以快速切换,因此可以快速的在两个任务之间切换;同时本发明支持对指定其中任一个上下文的存取,并且对该上下文的存取和对另一个上下文的使用可以同时发生,因此可以支持任意多的任务并消灭了上下文存取的时间开销,解决了软件进行多任务调度时的性能损失。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

Claims (7)

1.一种使用双上下文存储的密码学算法协处理器的数据流处理方法,所述协处理器包括:
上下文存储器,所述协处理器包括两个完全等价的上下文存储器;
密码学算法处理单元,用于执行密码学算法;
本地存储器,用于缓存输入、输出数据和中间结果;
所述两个上下文存储器由两个不同的ID标记;
所述协处理器还包括ID选择单元,用于当前上下文ID选择密码学算法处理单元要使用的上下文;
其特征在于,所述方法包括以下步骤:
S11、读入两个任务的初始上下文,并使能第一个任务的上下文;
S12、读入一定数据到输入缓存中;
S13、第一个任务处理输入缓存中的数据,并将处理结果存入中间缓存;
S14、切换当前ID使能第二个任务的上下文;
S15、判断数据流是否结束,若是,执行步骤S16,若否,执行步骤S17;
S16、读入中间缓存数据,执行第二个任务,输出最终结果;
S17、读入中间缓存数据,执行第二个任务,输出最终结果,同时,读取一定的新数据到输入缓存中,然后切换当前ID使能第一个任务的上下文后继续执行步骤S13。
2.根据权利要求1所述的方法,其特征在于,所述数据流处理为单数据流、级连处理。
3.一种使用双上下文存储的密码学算法协处理器的数据流处理方法,所述协处理器包括:
上下文存储器,所述协处理器包括两个完全等价的上下文存储器;
密码学算法处理单元,用于执行密码学算法;
本地存储器,用于缓存输入、输出数据和中间结果;
所述两个上下文存储器由两个不同的ID标记;
所述协处理器还包括ID选择单元,用于当前上下文ID选择密码学算法处理单元要使用的上下文;
其特征在于,所述方法包括以下步骤:
S21、读入两个任务的初始上下文,并使能第一个任务的上下文;
S22、读入一定数据到输入缓存中;
S23、第一个任务处理输入缓存中的数据,并输出最终结果;
S24、切换当前ID使能第二个任务的上下文;
S25、判断数据流是否结束,若是,执行步骤S26,若否,执行步骤S27;
S26、第二个任务处理输入缓存中的数据,并输出最终结果;
S27、第二个任务处理输入缓存中的数据,并输出最终结果,同时,读取一定新数据到输入缓存中,然后切换当前ID使能第一个任务的上下文后继续执行步骤S23。
4.根据权利要求3所述的方法,其特征在于,所述数据流处理为单数据流、并行处理。
5.一种使用双上下文存储的密码学算法协处理器的数据流处理方法,所述协处理器包括:
上下文存储器,所述协处理器包括两个完全等价的上下文存储器;
密码学算法处理单元,用于执行密码学算法;
本地存储器,用于缓存输入、输出数据和中间结果;
所述两个上下文存储器由两个不同的ID标记;
所述协处理器还包括ID选择单元,用于当前上下文ID选择密码学算法处理单元要使用的上下文;
其特征在于,所述方法包括以下步骤:
S31、读入第一个任务的初始上下文到当前使能上下文中;
S32、判断所有任务是否结束,若是,执行步骤S33,若否执行步骤S34;
S33、执行当前上下文所示任务并输出结果直到任务结束;
S34、执行当前上下文所示任务并输出结果直到任务结束,同时,读入下一个任务的上下文到未被使用的上下文中,然后切换当前ID以切换上下文后执行步骤S32。
6.根据权利要求5所述的方法,其特征在于,所述步骤S34中“读入下一个任务的上下文到未被使用的上下文中”前还包括:输出未被使用的上下文。
7.根据权利要求5或6所述的方法,其特征在于,所述数据流处理为多数据流、多种处理。
CN 201110398170 2011-12-05 2011-12-05 使用双上下文存储的密码学算法协处理器及数据流处理方法 Active CN102521037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110398170 CN102521037B (zh) 2011-12-05 2011-12-05 使用双上下文存储的密码学算法协处理器及数据流处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110398170 CN102521037B (zh) 2011-12-05 2011-12-05 使用双上下文存储的密码学算法协处理器及数据流处理方法

Publications (2)

Publication Number Publication Date
CN102521037A CN102521037A (zh) 2012-06-27
CN102521037B true CN102521037B (zh) 2013-12-25

Family

ID=46291972

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110398170 Active CN102521037B (zh) 2011-12-05 2011-12-05 使用双上下文存储的密码学算法协处理器及数据流处理方法

Country Status (1)

Country Link
CN (1) CN102521037B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115576645B (zh) * 2022-09-29 2024-03-08 中汽创智科技有限公司 一种虚拟处理器调度方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1309351A (zh) * 2000-02-14 2001-08-22 株式会社东芝 抗干预微处理器
CN1474279A (zh) * 2001-08-08 2004-02-11 ��ʽ���綫֥ 微处理器
CN101042660A (zh) * 2006-03-23 2007-09-26 松下电器产业株式会社 多任务系统中的任务执行环境切换方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1309351A (zh) * 2000-02-14 2001-08-22 株式会社东芝 抗干预微处理器
CN1474279A (zh) * 2001-08-08 2004-02-11 ��ʽ���綫֥ 微处理器
CN101042660A (zh) * 2006-03-23 2007-09-26 松下电器产业株式会社 多任务系统中的任务执行环境切换方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
曹威.高速可配置RSA密码协处理器的ASIC设计.《集成电路应用》.2009,(第1期),44-46页.
高速可配置RSA密码协处理器的ASIC设计;曹威;《集成电路应用》;20090131(第1期);第44页第2部分协处理器体系结构及图1 *

Also Published As

Publication number Publication date
CN102521037A (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
EP2864925B1 (en) Managing use of a field programmable gate array with reprogrammable cryptographic operations
EP2342628B1 (en) Integration of an internal cloud infrastructure with existing enterprise services and systems
Park et al. Secure hadoop with encrypted HDFS
US10204532B2 (en) Multiple input cryptographic engine
WO2013192448A1 (en) Managing use of a field programmable gate array with isolated components
CN104137467A (zh) 信息处理装置、信息处理方法和程序
CN103634339A (zh) 虚拟加密机装置、金融加密机及加密报文的方法
CN110262773A (zh) 一种计算机数据处理方法及装置
EP2822213A1 (en) Information processing device, information processing method, and programme
CN103678143A (zh) 文件存储方法、装置及电子设备
CN104424122A (zh) 一种电子设备及内存划分方法
CN107122634A (zh) 软件安装包的加固保护方法及装置
CN110177083A (zh) 一种网卡、数据发送/接收方法及设备
CN103164659A (zh) 一种实现数据存储安全性的方法和电子设备
CN108880700A (zh) 时钟信号的频率跳变方法、频率跳变装置及移动终端
CN101567781A (zh) 利用排序产生的序号码加密的方法及密码机
CN109522758A (zh) 硬盘数据管理方法及硬盘
CN102521037B (zh) 使用双上下文存储的密码学算法协处理器及数据流处理方法
CN102495980A (zh) 一种可动态重构的可信密码模块
CN110266484A (zh) 一种数据加密方法、装置、设备及介质
CN102279728B (zh) 数据存储设备及数据计算方法
JP6974959B2 (ja) 統合された記憶媒体のための保存データ(dar)暗号化
CN107025390A (zh) 软件安装包的加固方法及装置
CN103488914B (zh) 一种高效自适应模块化数据加密方法及其系统
JP2013182148A (ja) 情報処理装置、および情報処理方法、並びにプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SOLOMON-SYSTECH (SHENZHEN) CO., LTD.

Free format text: FORMER OWNER: SUZHOU XITU SHIDING MICROELECTRONICS CO., LTD.

Effective date: 20130829

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 215021 SUZHOU, JIANGSU PROVINCE TO: 518057 SHENZHEN, GUANGDONG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20130829

Address after: 518057, No. six building, No. two Shenzhen Software Park, central science and technology zone, Nanshan District hi tech Zone, Shenzhen, Guangdong, two

Applicant after: Solomon Systech (Shenzhen) Limited

Address before: Xinghu Street Industrial Park of Suzhou city in Jiangsu province 215021 No. 328 Creative Industry Park 2-B702 unit

Applicant before: Suzhou Xitu Shiding Microelectronics Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant