CN101044535A - 数据变换装置以及数据变换方法 - Google Patents

数据变换装置以及数据变换方法 Download PDF

Info

Publication number
CN101044535A
CN101044535A CNA2005800362270A CN200580036227A CN101044535A CN 101044535 A CN101044535 A CN 101044535A CN A2005800362270 A CNA2005800362270 A CN A2005800362270A CN 200580036227 A CN200580036227 A CN 200580036227A CN 101044535 A CN101044535 A CN 101044535A
Authority
CN
China
Prior art keywords
computing
storage part
mentioned
input
converting apparatus
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.)
Granted
Application number
CNA2005800362270A
Other languages
English (en)
Other versions
CN101044535B (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN101044535A publication Critical patent/CN101044535A/zh
Application granted granted Critical
Publication of CN101044535B publication Critical patent/CN101044535B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • G06F2207/7242Exponent masking, i.e. key masking, e.g. A**(e+r) mod n; (k+r).P

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明的目的例如是将与数据的加密或者解密有关的运算的电力消耗量减小,以使电力分析变得困难。在进行32位的输入数据与32位的密钥的异或运算,并得到32位的输出数据的情况下,分别将输入数据保持在32位的输入移位寄存器(105)中,将密钥保持在32位的密钥移位寄存器(106)中,并将输入数据与密钥各自的1位作为对串行运算器(107)的输入,取异或1位并使之移位到输入移位寄存器(105)的左端。密钥移位寄存器(106)进行循环右移位。通过将其进行32次,32位的运算结束,最终结果被保持在输入移位寄存器(105)中。

Description

数据变换装置以及数据变换方法
技术领域
本发明涉及数据变换装置以及数据变换方法。
背景技术
专利文献1(特开2000-66585号公报(第7-13页、第4图))的加密装置以及解密装置,通过掩码a和掩码b对数据进行保密,并且在加密或者解密的运算后除去这些掩码的影响,由此得到不使用掩码的数据。这样通过使用掩码a和掩码b,就可防止预测内部数据,使利用电力分析的解读难以进行。
在如上述那样的现有的加密装置以及解密装置中,必须新发生掩码,需要使掩码发生的电路,所以招致电路的增大。另外,运算通过块单位的并列处理来进行,所以若块长变长,则同时使用的运算元件的数目就变多,电力就需要较多,其结果就有电力分析变得容易之类的课题。进而,在块长较长的情况下,各块内的每个位的运算延迟不同,由于该延迟而存在电力分析变得容易之类的课题。
图21是表示每个位的运算迟延的差异给电力消耗量带来的影响的例子的图。在图21中,输入位A、B的迟延之差对AND门的输出位带来影响。如该图那样,输入的迟延之差越大,电力变化就变得越易于表现,单位时间的电力消耗量就变得越大。
发明内容
本发明以例如使涉及数据的加密或者解密的运算的电力消耗量减小,使电力分析变得困难为其目的。
本发明的数据变换装置是一种通过多个位的运算组合对数据进行变换的数据变换装置,其特征在于:
将可进行多个位的并行运算的处理用串行运算来进行处理,由此使每单位时间的电力消耗量比并行运算时的电力消耗量减小。
其特征在于,上述数据变换装置具备:
存储多个位并逐个位进行输出的第1存储部;
存储其他的多个位并逐个位进行输出的第2存储部;以及
对上述第1存储部输出的位和上述第2存储部输出的位进行运算,并使运算后的结果存储在上述第1存储部中的运算部。
其特征在于,上述数据变换装置还具备:
选择由上述运算部进行的运算种类的选择部。
其特征在于,上述第1存储部和上述第2存储部是移位寄存器。
其特征在于,上述数据变换装置将可进行m(m>1)位输入n(n>1)位输出的并行运算的处理用m位输入1位输出的串行运算来进行处理。
另外,本发明的数据变换装置是一种通过多个位的运算组合对数据进行变换的数据变换装置,其特征在于:
将可进行前后连结的运算的处理,用在前一运算与后一运算之间设置存储部并经过分离后的运算来进行处理,由此使每单位时间的电力消耗量比前后连结的运算时的电力消耗量减小。
其特征在于:上述存储部在将前一运算的结果中所包含的全部位存储起来以后,将该全部位提供给后一运算。
其特征在于:上述数据变换装置具备:
具有输入前一运算的结果的多个输入端口,并且通过该多个输入端口的输入来进行后一运算的运算部,
上述存储部被设置在上述运算部的各输入端口之前。
本发明的数据变换方法是一种使用通过多个位的运算组合对数据进行变换的数据变换装置的数据变换方法,其特征在于:
将可进行多个位的并行运算的处理用串行运算来进行处理,由此使每单位时间的电力消耗量比并行运算时的电力消耗量减小。
其特征在于:上述数据变换方法,
在第1存储部中存储多个位并逐个位进行输出,
在第2存储部中存储其他的多个位并逐个位进行输出,
对从上述第1存储部输出的位和从上述第2存储部输出的位进行运算,并将运算后的结果存储在上述第1存储部中。
其特征在于:上述数据变换方法进一步,
选择对从上述第1存储部输出的位和从上述第2存储部输出的位进行运算的运算种类。
其特征在于:上述数据变换方法,
将可进行m(m>1)位输入n(n>1)位输出的并行运算的处理用m位输入1位输出的串行运算来进行处理。
另外,本发明的数据变换方法是一种使用通过多个位的运算组合对数据进行变换的数据变换装置的数据变换方法,其特征在于:
将可进行前后连结的运算的处理,用在前一运算与后一运算之间设置存储部并经过分离后的运算来进行处理,由此使每单位时间的电力消耗量比前后连结的运算时的电力消耗量减小。
其特征在于:在上述存储部中将前一运算的结果中所包含的全部位存储起来以后,将该全部位提供给后一运算。
其特征在于:上述数据变换方法,
使用具有将前一运算的结果输入的多个输入端口的运算部,通过该多个输入端口的输入来进行后一运算,
将上述存储部设置在上述运算部的各输入端口之前。
根据本发明,在数据变换装置中,将可进行多个位的并行运算的处理用串行运算来进行处理,由此就可以使每单位时间的电力消耗量比并行运算时的电力消耗量减小,使电力分析变得困难。
另外,在数据变换装置中,第1存储部存储多个位并逐个位进行输出,第2存储部存储其他的多个位并逐个位进行输出,运算部将对第1存储部输出的位和第2存储部输出的位进行运算后的结果存储在第1存储部中,由此就可以高效率地利用第1存储部。
另外,在数据变换装置中,选择部选择由运算部进行的运算种类,由此就可以高效率地利用第1存储部和第2存储部。
另外,在数据变换装置中,第1存储部和第2存储部是移位寄存器,由此就可以使电力消耗的特异状态难以发生。
另外,在数据变换装置中,将可进行m(m>1)位输入n(n>1)位输出的并行运算的处理用m位输入1位输出的串行运算来进行处理,由此就可以对n位输出的各位的输出定时进行调整。
根据本发明,在数据变换装置中,将可进行前后连结的运算的处理,用在前一运算与后一运算之间设置存储部并经过分离后的运算来进行处理,由此就可以使每单位时间的电力消耗量比前后连结的运算时的电力消耗量减小,使电力分析变得困难。
另外,在数据变换装置中,存储部在将前一运算的结果中所包含的全部位存储起来以后,将该全部位提供给后一运算,由此就可以对存储部的输出定时进行调整。
另外,在数据变换装置中,运算部具有输入前一运算的结果的多个输入端口,并且通过该多个输入端口的输入来进行后一运算,存储部被设置在运算部的各输入端口之前,由此就可以使向后一运算的多个输入的定时一致。
根据本发明,在使用数据变换装置的数据变换方法中,将可进行多个位的并行运算的处理用串行运算来进行处理,由此就可以使每单位时间的电力消耗量比并行运算时的电力消耗量减小,使电力分析变得困难。
另外,在数据变换方法中,在数据变换装置具备的第1存储部中存储多个位并逐个位进行输出,在第2存储部中存储其他的多个位并逐个位进行输出,对从第1存储部输出的位与从第2存储部输出的位进行运算,并将运算后的结果存储在第1存储部中,由此就可以高效率地利用第1存储部。
另外,在数据变换方法中,选择对从第1存储部输出的位与从第2存储部输出的位进行运算的运算种类,由此就可以高效率的利用第1存储部与第2存储部。
另外,在数据变换方法中,将可进行m(m>1)位输入n(n>1)位输出的并行运算的处理用m位输入1位输出的串行运算来进行处理,由此就可以对n位输出的各位的输出定时进行调整。
根据本发明,在利用数据变换装置的数据变换方法中,将可进行前后连结的运算的处理,用在前一运算与后一运算之间设置存储部并经过分离后的运算来进行处理,由此就可以使每单位时间的电力消耗量比前后连结的运算时的电力消耗量减小,使电力分析变得困难。
另外,在数据变换方法中,在存储部中将前一运算的结果中所包含的全部位存储起来以后,将该全部位提供给后一运算,由此就可以对存储部的输出定时进行调整。
另外,在数据变换方法中,使用具有输入前一运算的结果的多个输入端口的运算部,通过该多个输入端口的输入来进行后一运算,将存储部设置在运算部的各输入端口之前,由此就可以使向后一运算的多个输入的定时一致。
附图说明
图1是表示从实施方式1到5中的数据变换装置的外观的一个例子的图。
图2是表示从实施方式1到5中的数据变换装置的硬件构成的一个例子的图。
图3是表示成为DES运算之基本的圈的构造的图。
图4是表示混和函数(MF)的运算处理之细节的图。
图5是表示圈的密钥的生成处理的图。
图6是表示与实施方式1相关的数据变换算法的基本形式的图。
图7是表示与实施方式1相关的数据变换装置的构成的一个例子的图。
图8是表示与实施方式1相关的数据变换装置的动作的一个例子的流程图。
图9是表示与实施方式2相关的数据变换算法的基本形式的图。
图10是表示与实施方式2相关的数据变换装置的构成的一个例子的图。
图11是表示与实施方式2相关的数据变换装置的动作的一个例子的流程图。
图12是表示与实施方式3相关的数据变换装置的构成的一个例子的图。
图13是表示与实施方式3相关的数据变换装置的动作的一个例子的流程图。
图14是表示与实施方式4相关的数据变换算法的基本形式的图。
图15是表示与实施方式4相关的数据变换装置的构成的一个例子的图。
图16是表示与实施方式4相关的数据变换算法的基本形式的具体例的图。
图17是表示与实施方式4相关的数据变换算法的具体例的图。
图18是表示与实施方式4相关的数据变换装置的动作的一个例子的流程图。
图19是表示与实施方式5相关的数据变换算法的基本形式的图。
图20是表示与实施方式5相关的数据变换装置的构成的一个例子的图。
图21是表示每位的运算迟延的差异给电力消耗量带来影响的例子的图。
附图标记说明
100数据变换装置、101,108输入寄存器、102密钥寄存器、103并行运算器、104,113输出寄存器、105,115输入移位寄存器、106密钥移位寄存器、107串行运算器、109第1密钥寄存器、110第1并行运算器、111第2密钥寄存器、112第2并行运算器、114暂时寄存器、116第1密钥移位寄存器、117第1串行运算器、118第2密钥移位寄存器、119第2串行运算器、120第1选择器、121第2选择器、122m×n查找表、123m×1查找表、124OR门、125AND门、126XOR门、127触发器、201混和函数、202,203异或运算、204S-Box、901CRT显示装置、902K/B、903鼠标、904FDD、905CDD、906打印机装置、907扫描仪装置、910***单元、911CPU、912总线、913ROM、914RAM、915通信板、920磁盘装置、921OS、922窗口***、923程序组、924文件组、931电话机、932FAX机、940因特网、941网关、942LAN。
具体实施方式
以下,利用附图就本发明的实施方式进行说明。
图1是表示下述实施方式中的数据变换装置的外观的一个例子的图。
在图1中,数据变换装置100具备:***单元910、CRT(CathodeRay Tube)显示装置901、键盘(K/B)902、鼠标903、致密盘装置(CDD)905、打印机装置906、扫描仪装置907,它们用电缆连接起来。进而,数据变换装置100与FAX机932、电话机931用电缆进行连接,另外,还经由局域网(LAN)942、网关941连接到因特网940。
图2是表示下述实施方式中的数据变换装置的硬件构成的一个例子的图。
在图2中,数据变换装置100具有执行程序的CPU(CentralProcessing Unit)911。CPU911经由总线912与ROM913、RAM914、通信板915、CRT显示装置901、K/B902、鼠标903、FDD(FlexibleDisk Drive)904、磁盘装置920、CDD905、打印机装置906、扫描仪装置907连接起来。
RAM914是易失性存储器的一例。ROM913、FDD904、CDD905、磁盘装置920是非易失性存储器的一个例子。它们是存储装置或者存储部的一例。
通信板915被连接到FAX机932、电话机931、LAN942等。
例如,通信板915、K/B902、扫描仪装置907、FDD904等是输入部的一个例子。另外,例如,通信板915、CRT显示装置901等是输出部的一个例子。
这里,通信板915并不限于连接到LAN942,还可以直接连接到因特网940或者ISDN(Integrated Services Digital Network)等WAN(广域网)。在直接连接到因特网940或者ISDN等WAN的情况下,数据变换装置100被连接到因特网940或者ISDN等WAN,就不用网关941。
在磁盘装置920中存储着操作***(OS)921、窗口***922、程序组923、文件组924。程序组923通过CPU911、OS921、窗口***922而得以执行。
在上述程序组923中存储着执行在以下将叙述的实施方式的说明中作为「~部」来说明的机能的程序。程序由CPU911读出执行。
在以下将叙述的实施方式的说明中,作为「~的判定结果」、「~的计算结果」、「~的处理结果」来说明的内容作为「~文件」被存储在文件组924中。
另外,在以下将叙述的实施方式的说明中进行说明的流程图的箭头部分主要表示数据的输入输出,为了该数据的输入输出,数据被记录在磁盘装置920、FD(Flexible Disk)、光盘、CD(致密盘)、MD(袖珍盘)、DVD(Digital Versatile Disk)等其他的记录介质中。或者,通过信号线和其他的传送介质来进行传送。
另外,在以下将叙述的实施方式的说明中作为「~部」来说明的部件也可以用ROM913中所存储的固件来实现。或者,还可以仅用软件、或者仅用硬件、或者软件与硬件的组合、进而与固件的组合来实施。
另外,实施以下将叙述的实施方式的程序也可以使用借助于磁盘装置920、FD(Flexible Disk)、光盘、CD(致密盘)、MD(袖珍盘)、DVD(Digital Versatile Disk)等其他的记录介质的记录装置来存储。
以下将叙述的实施方式能够应用于例如安装了块加密算法的装置、方法、程序。
这里,就作为块加密算法的一个例子的DES(Data EncryptionStandard)简单地进行说明。
图3是表示作为DES运算之基本的圈的构造的图。
DES将此圈反复16次,对64位的数据进行加密或者解密。圈的输入是64位的数据。此输入数据被分成高位32位和低位32位,分别被称之为L和R的块。图中,n是计数编号。
Rn-1是被称之为混和函数(MF)201的函数的输入。在混和函数201上还输入n圈的密钥(Kn)。若进行混和函数201的运算处理,就输出32位的数据。
接着,进行混和函数201的32位输出与Ln-1的异或运算202。其结果为32位的Rn。32位的Ln与32位的Rn-1相同。将这些Ln和Rn合起来的64位的数据作为n圈的输出得以输出。
圈的输出成为下一圈的输入,再次进行圈的运算。通过将此操作反复16次,DES的运算结束(准确地讲包含被称之为转置的运算处理,但省略说明)。
图4是表示混和函数(MF)的运算处理之细节的图。
在混和函数上输入32位的R。对该块的位允许重复每6位分成8个块。进行其与48位圈的密钥的异或运算203。通过此操作得到8个6位的块。对于此各块,用所规定的被称为S-Box204的6位输入4位输出的表来进行换字处理,由此得到8个4位的块。此32位的数据被改排(关于改排处理的细节省略说明),而成为混和函数的输出。
另外,圈的密钥(Kn)如图5那样得以生成。
在DES的64位的密钥之中,对除去奇偶校验的8位后的56位,进行所规定的改排,分成2个28位的R和L。将其中一方的块在图5中表示为「28-bitKey」。此「28-bitKey」的寄存器通过圈向左回转1位或者2位。将回转后的「28-bitKey」之中24位按照规则进行改排(P),而得到Kn一方的24位。Kn的另一方的24位也通过同样的处理而得到。在下一圈中,通过再次将「28-bitKey」左回转,进行改排,就能够求得Kn+1。
这样,块加密算法将异或、表处理、改排之类的单纯的运算元件组合起来而构成。
接着,就电力分析简单地进行说明。
块加密以HW(硬件)或SW(软件)的形式安装来使用。能够使用安装了块加密的装置、方法、程序来进行数据的保密。在作为HW或SW而安装的加密算法中,测定HW或SW动作中的瞬间的电力比较容易。例如,能够将对半导体芯片供给电力的模式切断,并在此***适当的电阻,用示波器等测定该电阻两端的电位差。可知根据此测定出的电力能够抽取出各种各样的信息(关于细节参照因特网<http://www.cryptography.com/resources/whitepapers/DPA-technical.html>)。在仅安装了先前所述的DES的HW或SW中,通过预测MF内的S-Box的输出值,就可以通过上述文献的方法求出Kn。
实施方式1.
如前述那样,异或、表处理、改排之类的单纯的运算元件组合起来,构成块加密算法。在本实施方式中,用1位输出的元件构成这种运算进行安装。但是,本实施方式不仅可应用于块加密算法,还可以应用于其他加密算法等。
图6是表示涉及本实施方式的数据变换算法的基本形式的图,图7是表示涉及本实施方式的数据变换装置的构成的一个例子的图。
图6以及图7表示加密算法的一部分,图6的算法为基本形式。即,对32位的密钥与32位的输入数据的异或进行并行运算,而得到32位的输出数据。在此图中,32位的密钥被存储在密钥寄存器102中,32位的输入数据被存储在输入寄存器101中。32位的密钥与32位的输入数据的异或,由并行运算器103进行运算,运算结果被存储在输出寄存器104中。在本实施方式中,将此基本形式的算法如图7的算法那样安装并进行计算。将密钥保持于32位的密钥移位寄存器(第2存储部)106,将输入数据保持于32位的输入移位寄存器(第1存储部)105,将密钥与输入数据各自的1位作为对串行运算器(运算部)107的输入,并取异或1位,使之移位到输入移位寄存器105的左端。密钥移位寄存器106进行循环右移位。通过将其进行32次,32位的运算结束,最终结果被保持在输入移位寄存器105中。
图8是表示涉及本实施方式的数据变换装置的动作一例的流程图。图中、「+」是表示异或运算。
涉及本实施方式的数据变换装置,首先,对输入移位寄存器105输入32位的数据(步骤S101),对密钥移位寄存器106输入32位的密钥(步骤S102)。接着,将输入移位寄存器105向右移动1位(步骤S103),从输入移位寄存器105输出1位(步骤S104)。将从输入移位寄存器105输出的位设为i。接着,将密钥移位寄存器106向右移动1位(步骤S105),从密钥移位寄存器106输出1位(步骤S106)。将从密钥移位寄存器106输出的位设为k。然后,用串行运算器107进行i与k的异或运算(步骤S107),将运算结果输入到输入移位寄存器105(步骤S108)。在密钥移位寄存器106中输入k(步骤S109)。按32位相应地反复从步骤S103到步骤S109。
图8所示的数据变换装置的动作,一部分处理的顺序既可以替换,也可以将一部分处理与其他的处理并行执行。
这样,在本实施方式中,通过按顺序(顺次或者串行)地执行2位输入1位输出的异或,而完结32位的密钥与32位的输入数据的异或运算。
在本实施方式中,表示了“异或”(XOR)的例子,但利用“或”(OR)、“与”(AND)也能够同样地构成。另外,在算术加法运算、算术减法运算、算术乘积的情况下,以最小的运算单位来进行运算。具体而言,在算术加法运算中,对1位+1位以2位输出来处理,在算术减法运算中对2位-1位以1位输出来处理,在算术乘法运算中,对1位×1位以1位输出来处理。
若如这种构成那样,安装算法,则反复进行最小单位的运算,而具有能够减小瞬时电力之类的效果。另外,由于运算结果一边逐个位进行移位一边进行确定,所以就具有以下效果:造出特征性的电力消耗状态的可能性变低,而不会使许多位一次发生状态变化。这种效果就使电力分析变得困难。
在本实施方式中,串行运算器107进行每1位的串行运算,但即便是每2位或3位的运算,也可以取得如上述那样的效果。
另外,在本实施方式中,借助于HW的构成来实现串行运算,但也可以例如创建进行每1位的串行运算的函数,并反复执行此函数,由此借助于SW的构成来实现串行运算。
另外,在本实施方式中,使用移位寄存器,使串行运算器107的运算结果存储在输入移位寄存器105中,但也可以使其存储在其他的寄存器中。在此情况下,输入移位寄存器105以及密钥移位寄存器106也可以是移位寄存器以外种类的寄存器。
另外,在本实施方式中,使用了32位的数据,还可以使用64位的数据等其他位数的数据。
如以上那样,利用本实施方式,在数据变换装置中,通过将可进行多个位的并行运算的处理用串行运算来进行处理,就可以使每单位时间的电力消耗量比并行运算时的电力消耗量减小,使电力分析变得困难。
另外,在数据变换装置中,第1存储部存储多个位并逐个位进行输出,第2存储部存储其他的多个位并逐个位进行输出,运算部使对第1存储部输出的位和第2存储部输出的位进行运算后的结果存储在第1存储部中,从而就可以高效率地利用第1存储部。
另外,在数据变换装置中,第1存储部和第2存储部是移位寄存器,由此就可以使其难以发生电力消耗的特异状态。
在本实施方式中,在使用数据变换装置的数据变换方法中,将可进行多个位的并行运算的处理用串行运算来进行处理,由此就可以使每单位时间的电力消耗量比并行运算时的电力消耗量减小,使电力分析变得困难。
另外,在数据变换方法中,在数据变换装置具备的第1存储部中存储多个位并逐个位进行输出,在第2存储部中存储其他的多个位并逐个位进行输出,对从第1存储部输出的位与从第2存储部输出的位进行运算,并将运算后的结果存储在第1存储部中,由此就可以高效率地利用第1存储部。
如以上那样,与本实施方式相关的装置,是一种安装加密算法并对输入数据进行加密、解密的装置,其中,
在安装加密算法之际,
将加密算法细分化,
分解至1位输出的单位运算元件,
设置保持这些元件的结果的机构,并按顺序使其动作而使运算完结。
实施方式2.
图9是表示与本实施方式相关的数据变换算法的基本形式的图,图10是表示与本实施方式相关的数据变换装置的构成的一个例子的图。
图9以及图10表示了加密算法的一部分,图9的算法为基本形式。即,对32位的输入数据与32位的密钥的“异或”进行并行运算,接着,对此运算所得到的数据与其他32位的密钥的“或”进行并行运算,输出32位的数据。在该图中,32位的输入数据被存储在输入寄存器108中,32位的密钥被存储在第1密钥寄存器109中,其他32位的密钥被存储在第2密钥寄存器111中。32位的输入数据与32位的密钥的“异或”通过第1并行运算器110来运算,其运算结果与其他32位的密钥的“或”通过第2并行运算器112来运算。此“或”运算结果被存储在输出寄存器113中。在这种算法的情况下,由于“异或”和“或”运算负荷较低,所以大多连续进行运算(前后连结的运算),但在本实施方式中如图10所示,在“异或”和“或”之间设置暂时寄存器114,一旦保持数据后,从前一运算转移到后一运算。
图11是表示与本实施方式相关的数据变换装置的动作的一个例子的流程图。图中,「+」表示异或运算,「|」表示或运算。
与本实施方式相关的数据变换装置,首先,在输入寄存器108上输入32位的数据(步骤S201)。将输入寄存器108上所输入的数据设为I。然后,在第1密钥寄存器109上输入32位的密钥(步骤S202)。将第1密钥寄存器109上所输入的密钥设为K。接着,从输入寄存器108输出I(步骤S203)。接着,从第1密钥寄存器109输出K(步骤S204)。然后,用第1并行运算器110进行I与K的“异或”运算(步骤S205),将运算结果输入到暂时寄存器114(步骤S206)。将被输入到暂时寄存器114的数据设为I′。
在第2密钥寄存器111上输入其他32位的密钥(步骤S207)。将第2密钥寄存器111上所输入的密钥设为K′。在暂时寄存器114将32位的运算结果I′全部的位存储起来以后,从暂时寄存器114输出I′(步骤S208)。接着,从第2密钥寄存器111输出K′(步骤S209)。然后,用第2并行运算器112进行I′与K′的或运算(步骤S210),将运算结果输入到输出寄存器113(步骤S211)。
图11所示的数据变换装置的动作,一部分处理的顺序既可以替换,也可以将一部分处理与其他的处理并行执行。另外,第1密钥寄存器与第2密钥寄存器上所输入的密钥还可以是同一密钥。
本实施方式中,表示了“异或”(XOR)和“或”(OR)的组合的例子,但包含“与”(AND)等其他运算的组合也能够同样地构成。
过进行这种安装,针对每个运算不同的处理时间的偏差就一次用寄存器接受,使定时恒定化。由此就具有防止定时的延迟向后级传播的效果。如果定时恒定化,就能够减小伴随运算的过渡状态(直到最终结果确定为止发生的不稳定的运算结果的状态),进一步,还具有减小电力的效果。这种效果就使电力分析变得困难。
在本实施方式中,使用了32位的数据,但也可以使用64位的数据等其他位数的数据。
如以上那样,利用本实施方式,在数据变换装置中,将可进行前后连结的运算的处理,用在前一运算与后一运算之间设置存储部并经过分离后的运算来进行处理,由此使每单位时间的电力消耗量比前后连结的运算时的电力消耗量减小,从而就可以使电力分析变得困难。
另外,在数据变换装置中,存储部在将前一运算的结果中所包含的全部位存储起来以后,将全部位提供给后一运算,由此就可以对存储部的输出定时进行调整。
在本实施方式中,在使用数据变换装置的数据变换方法中,将可进行前后连结的运算的处理,用在前一运算与后一运算之间设置存储部并经过分离后的运算来进行处理,由此使每单位时间的电力消耗量比前后连结的运算时的电力消耗量减小,从而就可以使电力分析变得困难。
另外,在数据变换方法中,在存储部中将前一运算的结果中所包含的全部位存储起来以后,将该全部位提供给后一运算,由此就可以对存储部的输出定时进行调整。
如以上那样,与本实施方式相关的装置是一种安装加密算法,并对输入数据进行加密、解密的装置,其中,
在加密算法的一部分,基本运算连续进行的情况下,
在连续进行的基本运算之间,设置保持运算结果的机构。
实施方式3.
在实施方式1的安装方式中,能够设置如在实施方式2中已说明的图10的暂时寄存器114那样的临时的寄存器。
图12是表示与本实施方式相关的数据变换装置的构成一例的图。
在图12中,输入数据被存储在32位的输入移位寄存器(第1存储部)115中,密钥被存储在32位的第1密钥移位寄存器(第2存储部)116和第2密钥移位寄存器(第2存储部)118中。第1串行运算器(运算部)117对密钥与输入数据各自的1位进行异或运算,第2串行运算器(运算部)119对密钥与输入数据各自的1位进行或运算。第1选择器(选择部)120选择第1串行运算器117与第2串行运算器119中的某一个,第2选择器(选择部)121选择第1密钥移位寄存器116与第2密钥移位寄存器118中的某一个。这样,在本实施方式中,按定时切换“异或”和“或”的输出,并输入到输入数据用的32位的移位寄存器。密钥则准备正与副的移位寄存器,并按定时进行切换,输入到密钥的正移位寄存器。
图13是表示与本实施方式相关的数据变换装置的动作的一个例子的流程图。图中,「+」表示异或运算,「|」表示或运算。
与本实施方式相关的数据变换装置,首先,在输入移位寄存器115上输入32位的数据(步骤S301),在第1密钥移位寄存器116上输入32位的密钥(步骤S302)。接着,用第1选择器120选择串行运算器(步骤S303)。在这里,设第1串行运算器117被选择。然后,用第2选择器121选择密钥移位寄存器(步骤S304)。在这里,设第1密钥移位寄存器116被选择。
接着,将输入移位寄存器115向右移动1位(步骤S305),从输入移位寄存器115输入1位(步骤S306)。将从输入移位寄存器115输出的位设为i。接着,将第1密钥移位寄存器116向右移动1位(步骤S307),从第1密钥移位寄存器116输出1位(步骤S308)。将从第1密钥移位寄存器116输出的位设为k。然后,用在步骤S303中所选择的在第1串行运算器117进行i与k的异或运算(步骤S309),将运算结果输入到输入移位寄存器115(步骤S310)。由于在步骤S304中第1密钥移位寄存器116被选择,所以在第1密钥移位寄存器116中输入k(步骤S313)。按32位相应地反复从步骤S305到步骤S313。当32位的异或的串行运算结束时,返回到步骤S303。
接着,再次用第1选择器120选择串行运算器(步骤S303)。在这里,设第2串行运算器119被选择。然后,用第2选择器121对密钥移位寄存器进行选择(步骤S304)。在这里,设第2密钥移位寄存器118被选择。
接着,将输入移位寄存器115向右移动1位(步骤S305),从输入移位寄存器115输出1位(步骤S306)。将从输入移位寄存器115输出的位设为i。接着,将第1密钥移位寄存器116向右移动1位(步骤S307),从第1密钥移位寄存器116输出1位(步骤S308)。将从第1密钥移位寄存器116输出的位设为k。然后,用在步骤S303中所选择的第2串行运算器119进行i与k的或运算(步骤S311),将运算结果输入到输入移位寄存器115(步骤S312)。由于在步骤S304中第2密钥移位寄存器118被选择,所以从第2密钥移位寄存器118输出1位(步骤S314)。将从第2密钥移位寄存器118输出的位设为k′。在第1密钥移位寄存器116中输入k′(步骤S315)。按32位相应地反复从步骤S305到步骤S315。
图13所示的数据变换装置的动作,一部分处理的顺序既可以替换,也可以将一部分处理与其他的处理并行执行。另外,在利用图12所示的构成的情况下,由于用第1选择器120选择来自串行运算器的「输出」,所以实际上步骤S309和步骤S311两方得以执行。另外,在利用图12所示的构成的情况下,在步骤S304中第2选择器121所选择的密钥移位寄存器保持的密钥并不是在紧跟其之后的运算中使用,而使首先被输入到第1密钥移位寄存器116,在下一32位的运算中使用。为取得与本实施方式同样的效果,也可以以第2选择器121选择从密钥移位寄存器向串行运算器的输出的方式来构成数据变换装置。
在本实施方式中,使用了32位的数据,但也可以使用64位的数据等其他位数的数据。
如以上那样,利用本实施方式,在数据变换装置中,选择部选择由运算部进行的运算种类,由此就可以高效率地利用第1存储部与第2存储部。
在本实施方式中,在使用数据变换装置的数据变换方法中,通过选择对从第1存储部输出的位与从第2存储部输出的位进行运算的运算种类,就可以高效率地利用第1存储部与第2存储部。
实施方式4.
图14是表示与本实施方式相关的数据变换算法的基本形式的图,图15是表示与本实施方式相关的数据变换装置的构成一例的图。
图14以及图15表示了加密算法的一部分,图14的算法为基本形式。图14的算法表示m位输入、n位输出的表处理。在该图中,m位的输入数据被输入到m×n查找表(m位输入n位输出并行运算器)122,并变换成n位的输出数据后一次输出。图中,LUT表示查找表。在本实施方式中,将此基本形式的算法如图15的算法那样进行安装。即,准备n个m位输入、1位输出的m×1查找表(m位输入1位输出串行运算器)123,使定时相互不同来进行n个表处理,并用未图示的寄存器保持其输出。
在图16以及图17的概念图中示出m=2、n=2时的例子。图16对应上述的图14,图17对应上述的图15。
在图16中,在m×n查找表122的输入为「00」的情况下,输出为「01」。同样,在输入为「01」、「10」、「11」的情况下,与各自的输入相对的输出顺次为「00」、「10」、「11」。与此相对,在图17中,在一方的m×1查找表123中,与输入「00」、「01」、「10」、「11」相对的输出顺次为「0」、「0」、「1」、「1」。而且,在另一方的m×1查找表123中,与输入「00」、「01」、「10」、「11」相对的输出顺次为「1」、「0」、「0」、「1」。这样,各自的m×1查找表123输出m×n查找表122输出的n位之中的某一位。
图18是表示与本实施方式相关的数据变换装置的动作的一个例子的流程图。
与本实施方式相关的数据变换装置,在m×1查找表123上输入m位的数据(步骤S401),输出1位(步骤S402)。将其反复n次,最后将全部的输出存储在n位的寄存器等中。
通过进行这种安装,在单位定时m位输入、1位输出的表处理就仅进行一次。由此,就具有防止n位输出的情况下的各位的定时偏差,使定时恒定化的效果。另外,由于为1位输出,所以能够抑制每单位时间的电力消耗,就具有造出特征性的电力消耗状态的可能性变低之类的效果。这种效果使电力分析变得困难。
在本实施方式中,既可以用存储器来进行表处理,也可以不使用存储器,而用以1位输出的方式构成的逻辑元件来进行。
如以上那样,利用本实施方式,在数据变换装置中,将可进行多个位的并行运算的处理用串行运算来进行处理,由此使每单位时间的电力消耗量比并行运算时的电力消耗量减小,从而就可以使电力分析变得困难。
另外,在数据变换装置中,将可以进行m(m>1)位输入n(n>1)位输出的并行运算用m位输入1位输出的串行运算来进行处理,由此就可以对n位输出的各位的输出定时进行调整。
在本实施方式中,在使用数据变换装置的数据变换方法中,将可进行多个位的并行运算的处理,用串行运算来进行处理,由此使每单位时间的电力消耗量比并行运算时的电力消耗量减小,从而就可以使电力分析变得困难。
另外,在数据变换方法中,将可以进行m(m>1)位输入n(n>1)位输出的并行运算的处理,用m位输入1位输出的串行运算来进行处理,由此就可以对n位输出的各位的输出定时进行调整。
如以上那样,与本实施方式相关的装置是一种安装加密算法,对输入数据进行加密、解密的装置,其中,
在加密算法的一部分用表处理来进行的情况下,
将表分成1位输出的多个小表,
通过使定时相互不同进行多次与其相关的小表处理的安装方式,使表处理完结。
实施方式5.
图19是表示与本实施方式相关的数据变换算法的基本形式的图,图20是表示与本实施方式相关的数据变换装置的构成的一个例子的图。
图19以及图20表示安装了加密算法的一部分的电路,图19的算法为基本形式。如图19以及图20那样的电路是表处理等逻辑变复杂时的电路。在图19中,在6位的输入同时进入的情况下,在AND门(运算部)125a的输入中,向2个输入端口输入的定时错开。另外,AND门(运算部)125a的输出定时与OR门(运算部)124b的输出定时错开。因而,在图20中,在XOR门(运算部)126a的各输入端口之前设置触发器(存储部)127,对向XOR门(运算部)126a的各输入端口的输入定时进行调整。
图20所示的电路例如能够用作在实施方式4中所说明的图15的m×1查找表。在此情况下,还可以如图20那样,设置接受XOR门(运算部)126a的1位输出的触发器127c。
另外,为了调整向AND门125a的2个输入端口的输入定时,还可以将未图示的触发器设置在AND门125a的各输入端口之前。进而,还可以在全部的逻辑元件的各输入端口之前设置触发器。
通过进行这种安装,就可防止电路元件中的定时偏差,具有使定时恒定化的效果。另外,由于定时恒定化,所以能够减小伴随运算的过渡状态(直到最终结果确定为止发生的不稳定的运算结果的状态),进一步,还具有减小电力的效果。这种效果就使电力分析变得困难。
如以上那样,利用本实施方式,在数据变换装置中,将可进行前后连结的运算的处理,用在前一运算与后一运算之间设置存储部并经过分离后的运算来进行处理,由此使每单位时间的电力消耗量比前后连结的运算时的电力消耗量减小,就可以使电力分析变得困难。
另外,在数据变换装置中,运算部具有输入前一运算的结果的多个输入端口,并且通过该多个输入端口的输入来进行后一运算,存储部被设置在运算部的各输入端口之前,由此就可以使向后一运算的多个输入的定时一致。
在本实施方式中,在使用数据变换装置的数据变换方法,将可进行前后连结的运算的处理,用在前一运算与后一运算之间设置存储部并经过分离后的运算来进行处理,由此使每单位时间的电力消耗量比前后连结的运算时的电力消耗量减小,就可以使电力分析变得困难。
另外,在数据变换方法中,使用具有输入前一运算的结果的多个输入端口的运算部,通过该多个输入端口的输入来进行后一运算,将存储部设置在运算部的各输入端口之前,由此就可以使向后一运算的多个输入的定时一致。
如以上那样,与本实施方式相关的装置是一种安装加密算法,对输入数据进行加密、解密的装置,其中,
在加密算法用一系列的逻辑元件构成的情况下,
在所输入的信号的定时错开的逻辑元件的输出级设置保持输出的机构,并且,
在与上述逻辑元件相同的定时相当的逻辑元件的输出级也设置保持输出的机构,进而,
设置接受最终输出的1位输出的保持机构。

Claims (15)

1.一种通过多个位的运算组合对数据进行变换的数据变换装置,其特征在于:
通过将可进行多个位的并行运算的处理用串行运算来进行处理,使每单位时间的电力消耗量比并行运算时的电力消耗量减小。
2.按照权利要求1所述的数据变换装置,其特征在于:
上述数据变换装置具备:
第1存储部,存储多个位并逐位进行输出;
第2存储部,存储其他的多个位并逐位进行输出;以及
运算部,对上述第1存储部输出的位和上述第2存储部输出的位进行运算,并使运算后的结果存储在上述第1存储部中。
3.按照权利要求2所述的数据变换装置,其特征在于:
上述数据变换装置还具备:
选择部,选择由上述运算部进行的运算种类。
4.按照权利要求2所述的数据变换装置,其特征在于:
上述第1存储部和上述第2存储部是移位寄存器。
5.按照权利要求1所述的数据变换装置,其特征在于:
上述数据变换装置将可进行m位输入n位输出的并行运算的处理用m位输入1位输出的串行运算来进行处理,其中m>1,n>1。
6.一种通过多个位的运算组合对数据进行变换的数据变换装置,其特征在于:
将可进行前后连结的运算的处理,通过用在前一运算与后一运算之间设置存储部并经过分离后的运算来进行处理,使每单位时间的电力消耗量比前后连结的运算时的电力消耗量减小。
7.按照权利要求6所述的数据变换装置,其特征在于:
上述存储部在将前一运算的结果中所包含的全部位存储起来以后,将该全部位提供给后一运算。
8.按照权利要求6所述的数据变换装置,其特征在于:
上述数据变换装置具备:
运算部,具有输入前一运算的结果的多个输入端口,并且通过该多个输入端口的输入来进行后一运算,
上述存储部被设置在上述运算部的各输入端口之前。
9.一种使用通过多个位的运算组合对数据进行变换的数据变换装置的数据变换方法,其特征在于:
通过将可进行多个位的并行运算的处理用串行运算来进行处理,使每单位时间的电力消耗量比并行运算时的电力消耗量减小。
10.按照权利要求9所述的数据变换方法,其特征在于:
上述数据变换方法,
在第1存储部中存储多个位并逐位进行输出,
在第2存储部中存储其他的多个位并逐位进行输出,
对从上述第1存储部输出的位和从上述第2存储部输出的位进行运算,并将运算后的结果存储在上述第1存储部中。
11.按照权利要求10所述的数据变换方法,其特征在于:
上述数据变换方法进一步,
选择对从上述第1存储部输出的位和从上述第2存储部输出的位进行运算的运算种类。
12.按照权利要求9所述的数据变换方法,其特征在于:
上述数据变换方法,
将可进行m位输入n位输出的并行运算的处理用m位输入1位输出的串行运算来进行处理,其中m>1,n>1。
13.一种使用通过多个位的运算组合对数据进行变换的数据变换装置的数据变换方法,其特征在于:
将可进行前后连结的运算的处理,通过用在前一运算与后一运算之间设置存储部并经过分离后的运算来进行处理,使每单位时间的电力消耗量比前后连结的运算时的电力消耗量减小。
14.按照权利要求13所述的数据变换方法,其特征在于:
在上述存储部中将前一运算的结果中所包含的全部位存储起来以后,将该全部位提供给后一运算。
15.按照权利要求13所述的数据变换方法,其特征在于:
上述数据变换方法,
使用具有将前一运算的结果输入的多个输入端口的运算部,通过该多个输入端口的输入来进行后一运算,
将上述存储部设置在上述运算部的各输入端口之前。
CN2005800362270A 2005-03-16 2005-03-16 数据变换装置以及数据变换方法 Expired - Fee Related CN101044535B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/004637 WO2006098015A1 (ja) 2005-03-16 2005-03-16 データ変換装置及びデータ変換方法

Publications (2)

Publication Number Publication Date
CN101044535A true CN101044535A (zh) 2007-09-26
CN101044535B CN101044535B (zh) 2011-06-15

Family

ID=36991375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800362270A Expired - Fee Related CN101044535B (zh) 2005-03-16 2005-03-16 数据变换装置以及数据变换方法

Country Status (5)

Country Link
US (1) US7949807B2 (zh)
EP (1) EP1860630B1 (zh)
JP (1) JP4700051B2 (zh)
CN (1) CN101044535B (zh)
WO (1) WO2006098015A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009067929A1 (en) * 2007-11-19 2009-06-04 China Iwncomm Co., Ltd Packet cipher algorithm based encryption processing device
CN101697116B (zh) * 2009-10-27 2011-11-09 飞天诚信科技股份有限公司 数据变换方法及装置
US8385540B2 (en) 2007-11-19 2013-02-26 China Iwncomm Co., Ltd. Block cipher algorithm based encryption processing method
CN108604987A (zh) * 2016-03-03 2018-09-28 密码研究公司 将布尔掩码值转换为用于加密操作的算术掩码值

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110022852A1 (en) * 2008-03-25 2011-01-27 Mitsubishi Electric Corporation Cryptographic computation apparatus, cryptographic computation program, and storage medium
US20100329450A1 (en) * 2009-06-30 2010-12-30 Sun Microsystems, Inc. Instructions for performing data encryption standard (des) computations using general-purpose registers
KR101646705B1 (ko) * 2009-12-01 2016-08-09 삼성전자주식회사 에스-박스를 구현한 암호화 장치
US8924741B2 (en) 2012-12-29 2014-12-30 Intel Corporation Instruction and logic to provide SIMD secure hashing round slice functionality
US10038550B2 (en) 2013-08-08 2018-07-31 Intel Corporation Instruction and logic to provide a secure cipher hash round functionality
US10503510B2 (en) 2013-12-27 2019-12-10 Intel Corporation SM3 hash function message expansion processors, methods, systems, and instructions
GB2524335A (en) * 2014-03-22 2015-09-23 Primary Key Associates Ltd Methods and apparatus for resisting side channel attack
US9912481B2 (en) * 2014-03-27 2018-03-06 Intel Corporation Method and apparatus for efficiently executing hash operations
US9317719B2 (en) 2014-09-04 2016-04-19 Intel Corporation SM3 hash algorithm acceleration processors, methods, systems, and instructions
US9658854B2 (en) 2014-09-26 2017-05-23 Intel Corporation Instructions and logic to provide SIMD SM3 cryptographic hashing functionality
JP2018182429A (ja) * 2017-04-06 2018-11-15 株式会社村田製作所 データ変換装置
CN108763982B (zh) * 2018-05-30 2021-07-09 无锡矽微智能科技有限公司 一种适用于rfid阅读器的des加密解密装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265706A (ja) 1992-03-17 1993-10-15 Fujitsu Ltd 演算装置
US5694143A (en) * 1994-06-02 1997-12-02 Accelerix Limited Single chip frame buffer and graphics accelerator
JP3088337B2 (ja) * 1997-05-30 2000-09-18 三菱電機株式会社 暗号処理装置、icカード及び暗号処理方法
WO1999067766A2 (en) 1998-06-03 1999-12-29 Cryptography Research, Inc. Balanced cryptographic computational method and apparatus for leak minimization in smartcards and other cryptosystems
JP3600454B2 (ja) 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP4596686B2 (ja) 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
JP4191915B2 (ja) * 2001-08-30 2008-12-03 独立行政法人情報通信研究機構 変換装置、暗号化復号化システム、多段変換装置、プログラム、ならびに、情報記録媒体
JP4128395B2 (ja) * 2002-05-23 2008-07-30 三菱電機株式会社 データ変換装置
JP2004318670A (ja) 2003-04-18 2004-11-11 Fujitsu Ltd 演算装置及び演算器
US7006021B1 (en) * 2003-06-27 2006-02-28 Cypress Semiconductor Corp. Low power serializer circuit and method
EP1496641A3 (en) * 2003-07-07 2005-03-02 Sony Corporation Cryptographic processing apparatus, cryptographic processing method and computer program
US20050114663A1 (en) * 2003-11-21 2005-05-26 Finisar Corporation Secure network access devices with data encryption
US20060176241A1 (en) * 2004-09-27 2006-08-10 Sampsell Jeffrey B System and method of transmitting video data

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009067929A1 (en) * 2007-11-19 2009-06-04 China Iwncomm Co., Ltd Packet cipher algorithm based encryption processing device
US8311216B2 (en) 2007-11-19 2012-11-13 China Iwncomm Co., Ltd. Packet cipher algorithm based encryption processing device
US8385540B2 (en) 2007-11-19 2013-02-26 China Iwncomm Co., Ltd. Block cipher algorithm based encryption processing method
CN101697116B (zh) * 2009-10-27 2011-11-09 飞天诚信科技股份有限公司 数据变换方法及装置
CN108604987A (zh) * 2016-03-03 2018-09-28 密码研究公司 将布尔掩码值转换为用于加密操作的算术掩码值
CN108604987B (zh) * 2016-03-03 2022-03-29 密码研究公司 将布尔掩码值转换为用于加密操作的算术掩码值
US11620109B2 (en) 2016-03-03 2023-04-04 Cryptography Research, Inc. Converting a boolean masked value to an arithmetically masked value for cryptographic operations

Also Published As

Publication number Publication date
JP4700051B2 (ja) 2011-06-15
WO2006098015A1 (ja) 2006-09-21
EP1860630B1 (en) 2018-12-26
CN101044535B (zh) 2011-06-15
JPWO2006098015A1 (ja) 2008-08-21
EP1860630A1 (en) 2007-11-28
EP1860630A4 (en) 2009-07-15
US7949807B2 (en) 2011-05-24
US20080276106A1 (en) 2008-11-06

Similar Documents

Publication Publication Date Title
CN101044535A (zh) 数据变换装置以及数据变换方法
CN1136692C (zh) 数据变换装置及数据变换方法
CN1728634A (zh) 伽罗瓦域中相乘的方法和设备与求逆设备及字节替换设备
CN1221032C (zh) 密钥安装***和实现这一***的lsi以及密钥安装方法
CN1160901C (zh) 内容保护***中的密码核心
CN1296817C (zh) 模乘方法及装置及模乘计算单元
CN1921382A (zh) 一种基于aes算法的加解密方法及加解密器
CN1867889A (zh) 数据转换器
CN1758178A (zh) 非法分析/伪造预防***
CN1275846A (zh) 数据加密装置和方法
CN1364284A (zh) 数据变换装置和数据变换方法以及记录用以在计算机上执行数据变换方法的程序的计算机可读取存储媒体
CN1852089A (zh) 用于生成模数混合混沌信号的***和方法
CN1252144A (zh) 一可编程组件中可构元件的自同步方法
CN1897517A (zh) 加密、解密电路
CN1845213A (zh) 一种实现sms4密码算法中加解密处理的方法
CN1630204A (zh) 具有矩阵转换技术的循环冗余码计算方法及***
CN1530824A (zh) 用于执行蒙哥马利型模乘法的装置及方法
CN1601578A (zh) 密码处理装置、密码处理方法以及计算机程序
CN1909023A (zh) 发送/接收***和方法、发送/接收装置和方法及所用程序
CN1242321C (zh) 应用蒙哥马利算法的幂剩余运算器
CN1259617C (zh) 一种加快rsa加/解密过程的方法及其模乘、模幂运算电路
CN1771483A (zh) 半导体存储装置
CN1402920A (zh) 使用单向函数的数学约束型密钥的生成
CN1497414A (zh) 数据转换电路和半导体装置
CN1186901C (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: 20110615

Termination date: 20210316

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