【技术实现步骤摘要】
一种用于密码协处理器的配置方法、装置、CPU及电子设备
[0001]本申请实施例涉及密码
,具体涉及一种用于密码协处理器的配置方法、装置、CPU及电子设备。
技术介绍
[0002]随着数据安全和隐私保护需求的不断增加,密码算法得到了越来越广泛的应用;为减轻CPU(Central Processing Unit,中央处理器)的运算负担、提升密码运算效率,计算机体系中可设置独立于CPU的CCP(Cryptographic Co
‑
Processor,密码协处理器)来使用密码算法,即密码协处理器可利用密码算法实现运算功能,以将源数据转换为目标数据,例如将明文转换为密文等。
[0003]为在用户层实现调用密码协处理器,CPU的内核(kernel)需要在内核驱动(kernel dirver)中加入对密码协处理器的支持,在此基础上,由于源数据在用户层分配的是连续的虚拟地址,而物理内存是以物理页(page)为单位对应虚拟地址,因此在用户层调用密码协处理器时,内核需要对用户层传递的源数据的虚拟地址进行处理(即将源数据的虚拟地址,解析为物理地址相应的物理页,并对物理页进行组织),从而在进行虚拟地址处理后,密码协处理器再利用密码算法处理物理页,来实现密码协处理器的运算功能。
[0004]然而,目前的虚拟地址处理方式,并不利于密码协处理器提升运算效率,因此如何提供改进的用于密码协处理器的配置方案,以至少在处理虚拟地址时,为提升密码协处理器的运算效率提供基础,成为了本领域技术人员亟需解决的问题。 />
技术实现思路
[0005]有鉴于此,本申请实施例提供一种用于密码协处理器的配置方法、装置、CPU及电子设备,以至少在处理虚拟地址时,为提升密码协处理器的运算效率提供基础。
[0006]为实现上述目的,本申请实施例提供如下技术方案:
[0007]一种用于密码协处理器的配置方法,包括:
[0008]获取第一聚散链表,所述第一聚散链表中的一个物理块对应一个物理页,其中,所述物理页基于源数据的虚拟地址解析得到;
[0009]申请第二聚散链表,所述第二聚散链表具有多个用于填充物理块的空白的条目;
[0010]将在第一聚散链表中相邻、且物理地址相链接的多个连续物理块相合并,得到与所述多个连续物理块对应的合并物理块;
[0011]将所述合并物理块按序填充到第二聚散链表中空白的条目,其中,一个空白的条目填充一个所述合并物理块。
[0012]本申请实施例还提供一种用于密码协处理器的配置装置,包括:
[0013]第一链表获取模块,用于获取第一聚散链表,所述第一聚散链表中的一个物理块对应一个物理页,其中,所述物理页基于源数据的虚拟地址解析得到;
[0014]第二链表申请模块,用于申请第二聚散链表,所述第二聚散链表具有多个用于填
充物理块的空白的条目;
[0015]合并模块,用于将在第一聚散链表中相邻、且物理地址相链接的多个连续物理块相合并,得到与所述多个连续物理块对应的合并物理块;
[0016]填充模块,用于将所述合并物理块按序填充到第二聚散链表中空白的条目,其中,一个空白的条目填充一个所述合并物理块。
[0017]本申请实施例还提供一种CPU,所述CPU具有内核,所述内核被配置为执行如上述所述的用于密码协处理器的配置方法。
[0018]本申请实施例还提供一种电子设备,其特征在于,包括如上述所述的CPU。
[0019]本申请实施例提供的用于密码协处理器的配置方法,在基于源数据的虚拟地址解析得到物理页,并以一个物理块对应一个物理页的方式组织物理页,得到第一scatterlist(聚散)链表后,为对第一scatterlist链表中的物理块数量进行调整,本申请实施例可申请新的第二scatterlist链表,且所述第二scatterlist链表具有多个用于填充物理块的空白的条目;从而,本申请实施例可将在第一scatterlist链表中相邻、且物理地址相链接的多个连续物理块相合并,得到与所述多个连续物理块对应的合并物理块;进而,将所述合并物理块按序填充到第二scatterlist链表中空白的条目,且一个空白的条目填充一个所述合并物理块,以使得第二scatterlist链表中的一个条目,可填充第一scatterlist链表中所述多个连续物理块合并后的合并物理块,使得第二scatterlist链表中的物理块的数量可小于第一scatterlist链表中的物理块,达到减少scatterlist链表中的物理块数量的目的。由于scatterlist链表中的物理块数量减少,因此后续CCP driver解析处理scatterlist链表需要的次数可相应减少,可为后续提升CCP的运算效率提供基础。
附图说明
[0020]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0021]图1为加密框架的软件架构图;
[0022]图2为页表示例结构图;
[0023]图3为scatterlist链表的示例结构图;
[0024]图4为本申请实施例提供的用于密码协处理器的配置方法的流程图;
[0025]图5为合并物理块的示例图;
[0026]图6为本申请实施例提供的合并物理块的方法流程图;
[0027]图7为第二scatterlist链表的示例图;
[0028]图8为VQ的示例图;
[0029]图9为scatterlist链表的处理过程图;
[0030]图10为本申请实施例提供的scatterlist链表的处理示例图;
[0031]图11为本申请实施例提供的用于密码协处理器的配置方法的另一流程图;
[0032]图12为本申请实施例提供的用于密码协处理器的配置装置的框图;
[0033]图13为本申请实施例提供的用于密码协处理器的配置装置的另一框图;
crypto driver和CCP driver可启动CCP,以通过CCP的运算功能,将源数据转换为目标数据;例如,以加密为例,源数据指明文,通过调用CCP得到的目标数据可以是加密数据,即密文;以解密为例,源数据指密文,通过调用CCP得到的目标数据可以是明文;以签名为例,源数据指需要处理的消息,通过调用CCP得到的目标数据可以是数字签名;以验签为例,源数据可以是数字签名信息,通过调用CCP可得到是否签名通过的结果。
[0043]在内核驱动支持CCP后,若用户层调用CCP,由于源数据在用户层分配的是连续的虚拟地址,而目标数据在物理内存中是以物理页(page)为单位,来进行虚拟地址的对应,且多个物理页之间不一定是连续的,因此在用户层调用密码协处理器时,针对用户层传递的源数据的虚拟地址,kerne本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种用于密码协处理器的配置方法,其特征在于,包括:获取第一聚散链表,所述第一聚散链表中的一个物理块对应一个物理页,其中,所述物理页基于源数据的虚拟地址解析得到;申请第二聚散链表,所述第二聚散链表具有多个用于填充物理块的空白的条目;将在第一聚散链表中相邻、且物理地址相链接的多个连续物理块相合并,得到与所述多个连续物理块对应的合并物理块;将所述合并物理块按序填充到第二聚散链表中空白的条目,其中,一个空白的条目填充一个所述合并物理块。2.根据权利要求1所述的用于密码协处理器的配置方法,其特征在于,所述将在第一聚散链表中相邻、且物理地址相链接的多个连续物理块相合并,得到与所述多个连续物理块对应的合并物理块包括:从第一聚散链表中确定当前物理块,其中,所述当前物理块为所述第一聚散链表中的首个物理块,或者,第一聚散链表中与相邻的上一物理块在物理地址上不相链接的物理块;从所述当前物理块开始,按照物理块在第一聚散链表中的顺序,至少一次迭代的将物理地址相链接的连续物理块进行合并,得到合并物理块;其中,所述合并物理块在所述当前物理块的物理地址基础上,表达所合并的物理块的整体物理地址。3.根据权利要求2所述的用于密码协处理器的配置方法,其特征在于,所述从所述当前物理块开始,按照物理块在第一聚散链表中的顺序,至少一次迭代的将物理地址相链接的连续物理块进行合并,得到合并物理块包括:从当前物理块开始,若当前物理块与下一相邻的物理块在物理地址上相链接,则将当前物理块与下一相邻的物理块进行合并;若合并后的结果与下一相邻的物理块在物理地址上相链接,则再次合并,直至出现上一合并的结果与下一相邻的物理块不在物理地址上相链接时,停止合并,得到所述合并物理块。4.根据权利要求3所述的用于密码协处理器的配置方法,其特征在于,所述物理块表达相应物理页的物理地址,偏移以及数据长度;所述当前物理块与下一相邻的物理块在物理地址上相链接,具体为:所述当前物理块对应的物理地址,偏移以及数据长度的和,与下一相邻的物理块的物理地址相等。5.根据权利要求4所述的用于密码协处理器的配置方法,其特征在于,所述合并物理块在所述当前物理块的物理地址基础上,表达所合并的物理块的整体物理地址,具体为:所述合并物理块的物理地址为所合并的物理块中第一个物理块的物理地址,偏移为所合并的物理块中第一个物理块的偏移,数据长度为所合并的物理块的数据长度的和。6.根据权利要求1
‑
5任一项所述的用于密码协处理器的配置方法,其特征在于,还包括:将第一聚散链表中与前后相邻的物理块均不在物理地址上相链接的独立物理块,按序独立的填充到第二聚散链表中的一个空白的条目。7.根据权利要求1所述的用于密码协处理器的配置方法,其特征在于,所述将所述合并物理块按序填充到第二聚散链表中空白的条目包括:根据第二聚散链表中当前已填充物理块的条目的序号,将所述合并物理块填充到第二
聚散链表中还未填充物理块的下一个条目。8.根据权利要求1所述的用于密码协处理器的配置方法,其特征在于,所述第一聚散链表以及所述第二聚散链表中,最后一个物理块的后一条目填充表示结束的结束信息。9.根据权利要求1所述的用于密码协处理器的配置方法,其特征在于,还包括:从第一聚散链表或第二聚散链表中解析出所有的物理块,将解析出的各物理块的信息分别封装进结构体中,得到多个封装后的结构体,其中,一个物理块的信息封装进一个结构体中;将多个封装后的结构体统一放入密码协处理器的虚拟队列中,并在所述虚拟队列中的第一个结构体的位置设置起始标志,在所述虚拟队列中最后一个结构体的位置设置结束标志,以使密码协处理器启动后,根据所述...
【专利技术属性】
技术研发人员:李亚斌,顾海华,应志伟,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。