CN103279325B - 加密文本数据时可提高SoC处理器指令运算效率的方法 - Google Patents

加密文本数据时可提高SoC处理器指令运算效率的方法 Download PDF

Info

Publication number
CN103279325B
CN103279325B CN201310078711.6A CN201310078711A CN103279325B CN 103279325 B CN103279325 B CN 103279325B CN 201310078711 A CN201310078711 A CN 201310078711A CN 103279325 B CN103279325 B CN 103279325B
Authority
CN
China
Prior art keywords
stages
data
pretreatment stage
group
place computation
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.)
Expired - Fee Related
Application number
CN201310078711.6A
Other languages
English (en)
Other versions
CN103279325A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201310078711.6A priority Critical patent/CN103279325B/zh
Publication of CN103279325A publication Critical patent/CN103279325A/zh
Application granted granted Critical
Publication of CN103279325B publication Critical patent/CN103279325B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种加密文本数据时可提高SoC处理器指令运算效率的方法。本发明包括预处理阶段,运算阶段和后处理阶段;预处理阶段是将每组需要处理的明文中对应位抽取出来,重新组成一组数据,并按照次序存储在内存当中以供运算阶段使用。运算阶段是将根据置换运算的具体法则,将每组数据在内存中的相对位置进行移动。后处理阶段是将经过运算阶段后的每组数据中的每一位按照先后次序重新插入每组相应结果中的相应位。本发明在无需使用特别设计的加解密运算指令的条件下,大大提升处理器指令执行置换运算的效率,从而提高通用处理器进行置换运算的速度。

Description

加密文本数据时可提高SoC处理器指令运算效率的方法
技术领域
本发明涉及一种在加密文本数据时,在进行置换运算时可提高SoC处理器指令效率的方法,尤其涉及在SoC中处理器位宽较宽,而处理器又没有特别设计的置换运算指令的情况下,对数据进行置换运算时可以采用的新的方法。
背景技术
置换运算是一种在特定领域,如加解密运算领域中使用比较频繁的运算。而由于置换运算所述的应用领域的专用性原因,当前很多通用嵌入式处理器的设计并没有考虑到处理器在进行置换运算的效率问题,而一些有专门设计加解密运算加速功能的嵌入式处理器,则通过专门设计专用指令集来实现提高加解密运算效率的目的。因此,如果由于技术或者商业原因需要使用通用处理器来实现加解密运算,则必然面临一个运算效率不高的问题。当前SoC处理器的其中一个发展趋势就是处理位宽将会越来越大,如果在通用处理器中采用通用指令进行加解密运算中的置换运算,则每次运算只能操作1位,效率比较低下。随着处理器位宽的扩大,这种缺点将会越来越凸显出来。
发明内容
本发明的目的是提高SoC处理器进行加解密运算中的置换运算的效率,根据处理器位宽将越来越大的发展趋势,提出一种加密文本数据时可提高SoC处理器指令运算效率的方法,特别是在SoC中处理器位宽较宽,而处理器又没有特别设计的置换运算指令的情况下,进行置换运算可以采用的新方法。
本发明将加密文本数据时可能使用到的整个置换运算分成三个部分:预处理阶段、运算阶段、后处理阶段。
所述的预处理阶段所做的工作是将各组待操作的明文中根据置换运算法则的对应位抽取出来,集中放在某一内存处。
所述的运算阶段所做的工作时将经过预处理后的结果,根据置换法则进行移位。
所述的后处理阶段所做的工作是根据置换运算法则的对应位,将移位后的结果重新整合成最终结果,实际上是预处理阶段的逆运算。
采用本发明的技术方案后,特别是针对位宽较高的嵌入式处理器,充分利用处理器位宽较高的优势,在无需使用特别设计的加解密运算指令的条件下,大大提升处理器指令执行置换运算的效率,从而提高通用处理器进行置换运算的速度。而且处理器位宽越大,该种方法的优势也就越明显。
附图说明
图1是DES加密运算的流程图;
图2是DES算法中IP置换运算法则的简要描述。
图3是本发明的预处理阶段示意图;
图4是本发明的运算阶段示意图;
图5是本发明的后处理阶段示意图。
具体实施方式
以下结合附图和具体实施方式对本发明做进一步的详细说明。其中假设处理器位64位处理器,并以采用DES算法对文本数据进行加密为例。
采用DES算法来加密文本数据的基本步骤是首先对一组64位明文进行移位操作,即图1中的IP置换运算。运算完成后分成高32位和低32位,分别是。然后经过16轮相同的运算,其每一轮具体为:。完成16轮运算后,最后将两组32位数据合并起来,再一次进行图1中的置换运算,就能得到最终的64位密文。
而在进行IP和置换运算的时候,就可以运用本发明的内容了。其具体过程如下:
图2是置换运算法则的一个示意图。当中选取了DES加密运算中的IP置换运算作为例子说明。IP置换运算的具体过程是,上面的方框对一组64位明文的各个位进行编号:1~64号。然后经过置换运算后,要求结果输出为下面方框中的结果。原来存放1号位的地方,现在把原来58号位的数值放入其中;原来存放2号位的地方,现在把原来50号位的数值放入其中,以此类推。
在进行置换运算时,本发明将整个过程分为三个阶段:预处理阶段,运算阶段和后处理阶段。
图3是本发明的预处理阶段示意图。如图所示,最初每组明文按先后次序在内存中存放。将每组明文中的每一位分别抽取出来(如虚线框所示),形成新的一组64位数据,并按次序保存在内存当中。假设明文被分成64组64位明文,并分别标号为1~64号64位明文。则这个阶段的处理过程是:
1.将1~64号明文的第1位抽取出来,按照先后次序组成1组64位结果,并存放在内存的中,称为第1个预处理阶段结果。
2.将1~64号明文的第2位抽取出来,按照先后次序组成1组64位结果,并存放在内存的中,称为第2个预处理阶段结果,地址为紧接着第1个预处理阶段结果的地址。
3.将1~64号明文的第3位抽取出来,按照先后次序组成1组64位结果,并存放在内存的中,称为第3个预处理阶段结果,地址为紧接着第2个预处理阶段结果的地址。
……
64.将1~64号明文的第64位抽取出来,按照先后次序组成1组64位结果,并存放在内存的中,称为第3个预处理阶段结果,地址为紧接着第63个预处理阶段结果的地址。
图4是本发明的运算阶段示意图。根据置换运算法则,将每组经过预处理的明文的相对位置进行置换。例如,规则中明确写出,将原来的第58位作为结果的第1位,则将经过预处理阶段后的结果中,第58个预处理阶段结果移动到存放第1个预处理阶段结果的地址。按照置换运算法则完成所有运算后,形成新的64组64位运算阶段结果,并按次序重新编号为1~64号64位运算阶段结果。
图5是本发明的后处理阶段示意图。经过运算阶段后,将每组64位运算阶段结果重新组合,即将一组运算结果中的每一位分别插入每一组最终结果相应位(上图1号框对应下图1号框,上图2号框对应下图2号框)。如此类推。其实质是预处理的逆运算。即:
1.将1号64位运算阶段结果的第1位抽取出来作为第1位,将2号64位运算阶段结果的第1位抽取出来作为第2位,将3号64位运算阶段结果的第1位抽取出来作为第3位,……,将64号64位运算阶段结果的第1位抽取出来作为第64位,从而形成新的一组64位后处理阶段结果,并保存在内存中并重新编号为1号后处理阶段结果。
2.将1号64位运算阶段结果的第2位抽取出来作为第1位,将2号64位运算阶段结果的第2位抽取出来作为第2位,将3号64位运算阶段结果的第2位抽取出来作为第3位,……,将64号64位运算阶段结果的第2位抽取出来作为第64位,从而形成新的一组64位后处理阶段结果,并保存在内存中并重新编号为2号后处理阶段结果。
3.将1号64位运算阶段结果的第3位抽取出来作为第1位,将2号64位运算阶段结果的第3位抽取出来作为第2位,将3号64位运算阶段结果的第3位抽取出来作为第3位,……,将64号64位运算阶段结果的第3位抽取出来作为第64位,从而形成新的一组64位后处理阶段结果,并保存在内存中并重新编号为3号后处理阶段结果。
……
64.将1号64位运算阶段结果的第64位抽取出来作为第1位,将2号64位运算阶段结果的第64位抽取出来作为第2位,将3号64位运算阶段结果的第64位抽取出来作为第3位,……,将64号64位运算阶段结果的第64位抽取出来作为第64位,从而形成新的一组64位后处理阶段结果,并保存在内存中并重新编号为64号后处理阶段结果。
经过上述三个阶段处理后,就是明文经过置换运算后的结果。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改和改变,都落入本发明的保护范围。

Claims (1)

1.加密文本数据时可提高SoC处理器指令运算效率的方法,其特征在于:
将其中的对数据的置换运算分为3个阶段:预处理阶段,运算阶段和后处理阶段;
所述的预处理阶段是将每组需要处理的明文中对应位抽取出来,重新组成一组数据,并按照次序存储在内存当中以供运算阶段使用;其中后一个预处理阶段结果的地址紧接着前一个预处理阶段结果的地址;所述的对应位是指不同组明文中位置相同的位;
所述的运算阶段是将根据置换运算的具体法则,将每组数据在内存中的相对位置进行移动;
所述的后处理阶段是将经过运算阶段后的每组数据中的每一位按照先后次序重新插入每组相应结果中的相应位,该阶段为预处理阶段的逆运算。
CN201310078711.6A 2013-03-11 2013-03-11 加密文本数据时可提高SoC处理器指令运算效率的方法 Expired - Fee Related CN103279325B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310078711.6A CN103279325B (zh) 2013-03-11 2013-03-11 加密文本数据时可提高SoC处理器指令运算效率的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310078711.6A CN103279325B (zh) 2013-03-11 2013-03-11 加密文本数据时可提高SoC处理器指令运算效率的方法

Publications (2)

Publication Number Publication Date
CN103279325A CN103279325A (zh) 2013-09-04
CN103279325B true CN103279325B (zh) 2015-12-09

Family

ID=49061868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310078711.6A Expired - Fee Related CN103279325B (zh) 2013-03-11 2013-03-11 加密文本数据时可提高SoC处理器指令运算效率的方法

Country Status (1)

Country Link
CN (1) CN103279325B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546552A (en) * 1992-03-31 1996-08-13 Seiko Epson Corporation Method for translating non-native instructions to native instructions and combining them into a final bucket for processing on a host processor
CN101378314A (zh) * 2008-09-26 2009-03-04 北京数字太和科技有限责任公司 一种密钥序列的生成方法和密钥产生装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546552A (en) * 1992-03-31 1996-08-13 Seiko Epson Corporation Method for translating non-native instructions to native instructions and combining them into a final bucket for processing on a host processor
CN101378314A (zh) * 2008-09-26 2009-03-04 北京数字太和科技有限责任公司 一种密钥序列的生成方法和密钥产生装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DES加密算法在低成本FPGA上的实现;应君等;《电子器件》;20060930;第29卷(第3期);第895页至第897页,第901页 *
DES算法的高速流水线实现;汪翼等;《微电子学与计算机》;20030831;第158页至第160页 *

Also Published As

Publication number Publication date
CN103279325A (zh) 2013-09-04

Similar Documents

Publication Publication Date Title
JP6928104B2 (ja) ブロック・チェーンにサービス・データを書き込むための方法および装置、ならびにサービス・サブセットを判定するための方法
Ullrich et al. Finding optimal bitsliced implementations of 4× 4-bit S-boxes
CN101553856B (zh) 密码处理装置和密码处理方法
CN103699820A (zh) 用于相对跳转指令的混淆方法
CN103906039A (zh) 一种防止手机号码泄露的方法和装置
CN101986259B (zh) 无符号定点除法器
CN107885864A (zh) 一种加密数据查询方法、系统、装置及可读存储介质
CN103279325B (zh) 加密文本数据时可提高SoC处理器指令运算效率的方法
CN102081513A (zh) Aes加密算法中列混淆过程指令优化方法及其指令集处理器
Zhang China's 5G and supercomputing industrial policies: A critical (comparative) analysis
CN105553646A (zh) 面向分组密码算法并行计算的可重构s盒电路结构
CN107872317A (zh) 一种用于aes密钥扩展的随机掩码方法及其装置
CN105933120A (zh) 一种基于Spark平台的口令哈希值恢复方法和装置
CN108845844A (zh) 一种状态转换方法及装置
US8358653B1 (en) Generating a pipeline of a packet processor from a parsing tree
US8385340B1 (en) Pipeline of a packet processor programmed to concurrently perform operations
CN103955445A (zh) 一种数据处理方法、处理器及数据处理设备
Avanzi et al. Faster 128-EEA3 and 128-EIA3 software
CN105094746A (zh) 一种椭圆曲线密码的点加/点倍的实现方法
US20160344551A1 (en) Area efficient cryptographic method and apparatus
CN103258035B (zh) 数据处理的方法和装置
US20160336995A1 (en) Method and Vector Computing Unit for Implementing De-scrambling and De-spreading, and Computer Storage Medium
CN105260405A (zh) 一种网络爬虫方法及装置
CN105653500A (zh) 蝶形模块、快速傅里叶变换处理器及控制方法
CN105786882A (zh) 一种数据表标识生成、数据写入方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151209

Termination date: 20160311

CF01 Termination of patent right due to non-payment of annual fee