CN1648967A - 加密装置、加密方法及其存储介质 - Google Patents

加密装置、加密方法及其存储介质 Download PDF

Info

Publication number
CN1648967A
CN1648967A CNA2005100565332A CN200510056533A CN1648967A CN 1648967 A CN1648967 A CN 1648967A CN A2005100565332 A CNA2005100565332 A CN A2005100565332A CN 200510056533 A CN200510056533 A CN 200510056533A CN 1648967 A CN1648967 A CN 1648967A
Authority
CN
China
Prior art keywords
result
data
computing
carry out
masking
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
CNA2005100565332A
Other languages
English (en)
Other versions
CN100583739C (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1648967A publication Critical patent/CN1648967A/zh
Application granted granted Critical
Publication of CN100583739C publication Critical patent/CN100583739C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/0202Portable telephone sets, e.g. cordless phones, mobile phones or bar type handsets
    • H04M1/0206Portable telephones comprising a plurality of mechanically joined movable body parts, e.g. hinged housings
    • H04M1/0208Portable telephones comprising a plurality of mechanically joined movable body parts, e.g. hinged housings characterized by the relative motions of the body parts
    • H04M1/0235Slidable or telescopic telephones, i.e. with a relative translation movement of the body parts; Telephones using a combination of translation and other relative motions of the body parts
    • H04M1/0237Sliding mechanism with one degree of freedom
    • 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]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

一种加密装置、加密方法及其计算机可读存储介质,其提供布尔掩蔽数据和算术掩蔽数据之间的转换,其转换方式使计算开销和硬件开销降低。加密装置包括:第一掩蔽电路,用于接收第一随机数和数据,并输出第一掩蔽数据;第二掩蔽电路,用于接收第二随机数和由第一掩蔽电路输出的第一掩蔽数据,并输出第二掩蔽数据。第二掩蔽电路包括:一与电路,执行第一掩蔽数据和第二随机数之间的与运算;一移位电路,接收与电路的输出信号,并在预定方向对接收的输出信号移预定的位;一减法器,接收第一掩蔽数据和移位电路的输出信号,执行从第一掩蔽数据中减去移位电路的输出的减法运算,输出第二掩蔽数据。第一掩蔽数据为布尔掩蔽数据,第二掩蔽数据为算术掩蔽数据。

Description

加密装置、加密方法及其存储介质
本申请要求2004年1月7日在韩国知识产权局申请的专利申请号为NO.2004-879的韩国专利申请作为优先权,在此引用了其所披露的全部内容。
技术领域
本发明涉及一种加密装置,尤其涉及一种有效防止差分功率分析(DPA:differential power analysis)攻击的加密装置和加密方法,以及执行该加密方法的计算机可读的存储介质。
背景技术
密码术最初被用于国防及外交领域,以防止泄漏国家机密。在电子时代,金融机构已经应用密码术来管理资金的电子转账。另外,自从在经济和金融领域中开始使用加密时,它已经广泛地被用于标识的认证、加密密钥的管理、数字签名以及身份确认。
解密密钥的管理疏忽、密码的可预测性,或者在通信网络中对键盘输入的监控可能使越权人以解密的形式导致其安全性被破坏。这里,解密表示一种试图通过确定最初用来加密文本的一个密钥而将一个加密文本解密为一个明文的行为,它是在***中的所有信息——如加密明文的算法类型和采用的操作***——已知、而只有使用的密钥未知的时候进行的。
通常解密技术包括只针对密文的攻击(ciphertext-only attack)、已知明文攻击、选定明文攻击、自适应性选定明文攻击、定时攻击以及差分功率分析(DPA)攻击。
定时攻击是表示通过应用与一个加密算法的计算时间相关联的信息来决定一个预定位的值是0还是1,并根据这个结果使加密文本被解密的一种方法。DPA攻击是表示根据一个输入位的值,分析由加密算法所消耗的能量(amount of power),获得密钥的输入位的值,然后使加密文本被解密的方法。
因此,作为防止这种攻击而导致信息泄漏的方法,一种将确定数据转换为随机数据的掩蔽(masking)法被应用。该掩蔽法包括应用布尔运算技术及应用算术运算和布尔运算相结合的技术。
发明内容
本发明提供一种防止DPA攻击的加密装置和加密方法,以及执行该方法的计算机可读的存储介质。
依照本发明的一个方面,提供的加密装置包括:与电路,执行一随机数和第一掩蔽数据之间的与运算;移位电路,接收与电路的输出信号,并向右手方向或左手方向中任一个将接收的信号移m位(这里,m表示一个自然数);以及减法器,接收第一掩蔽数据和移位电路的输出信号,执行从第一掩蔽数据中减去移位电路的输出信号的运算,并作为结果,输出第二掩蔽数据。
依据本发明的另一个方面,提供的加密装置包括:与电路,执行随机数和第一掩蔽数据之间的与运算;异或(XOR)电路,接收与电路的输出信号和随机数,并执行该输出信号和随机数之间的异或运算;移位电路,接收异或电路的输出信号,并向右手方向或左手方向中任一个将接收的信号移m位(这里,m表示一个自然数);以及加法器,接收第一掩蔽数据和移位电路的输出信号,执行第一掩蔽数据和移位电路的输出信号之间的加法运算,并作为结果,输出第二掩蔽数据。
依据本发明的又一方面,提供的加密方法包括:接收n-位数据和具有n-位长度的第一随机数,输出n-位算术掩蔽数据an,an-1,...,a2,a1;接收具有n-位长度的第二随机数rn,rn-1,...,r2,r1和算术掩蔽数据an,an-1,...,a2,a1,并输出n-位布尔掩蔽数据yn,yn-1,...,y2,y1,其中,输出的算术掩蔽数yn,yn-1,...,y2,y1包括:输出a1作为y1;执行r1和y1之间的与运算,将其结果存储在存储设备中,执行a2和存储在存储设备中的数据之间的异或运算,输出的结果作为y2,执行a2和存储在存储设备中的数据之间之间的与运算,产生的结果作为进位(carry);执行yk-1和rk-1之间的与运算,将其结果存储在存储设备中,执行ak和进位之间的异或运算以及存储在存储设备中的数据和进位之间的异或运算,输出的结果作为yk,执行[ak和存储在存储设备中的数据之间的与运算的结果]和[ak和进位之间的与运算的结果]之间的或运算,执行上述或运算的结果和[存储在存储设备中的数据和进位之间的与运算的结果]之间的与运算,产生的结果作为进位;执行yn-1和rn-1之间的与运算,将其结果存储在存储设备中,执行an和存储在存储设备中的数据之间的异或运算,输出的结果作为yn,并将预定变量k从3逐次增加1直到(n-1)。
执行上述方法的每一步的程序存储在计算机可读的存储介质中。
附图说明
通过参照附图对具体实施例的详细描述可使本发明的上述以及其它改进方式的特征和进步性更加明显。
图1表示本发明优选实施例的加密装置的方块示意图;
图2表示根据本发明,当图1所示的第二掩蔽模块为将布尔掩蔽数据转换成算术掩蔽数据的模块时的第二掩蔽模块的第一电路示意图;
图3表示根据本发明,当图1所示的第二掩蔽模块为将布尔掩蔽数据转换成算术掩蔽数据的模块时的第二掩蔽模块的第二电路示意图;
图4表示根据本发明,当图1所示的第二掩蔽模块为将算术掩蔽数据转换成布尔掩蔽数据的模块时的第二掩蔽模块的电路示意图。
具体实施方式
参照附图解释本发明的优选实施例,以获得对本发明、本发明的优点和通过执行本发明所要达到的目的的充分理解。
以下,将参照附图,通过对本发明优选实施例的解释详细描述本发明。在附图中,只要在随后的附图中重复出现的相同的元件,都用相同的附图标记表示。
已提出三种将布尔掩蔽转换成算术掩蔽的算法。
作为n-位二进制序列x∈{0,1}n的x的布尔掩蔽表示满足x=x′r的一个有序偶(x′,r)∈{0,1}n×{0,1}n,其中“”表示异或(XOR)运算。按照这种方式,通过执行原始数据和预定的随机数之间的异或运算,布尔掩蔽过程操作隐藏了原始数据成分(element)。
作为n-位二进制序列x∈{0,1}n的x的算术掩蔽表示满足x=x′modr的一个有序偶(x′,r)∈{0,1}n×{0,1}n,其中“mod”表示模2n加法或者模2n减法。按照这种方式,通过执行原始数据和预定随机数的模数(modulo)相加或者模数相减运算,算术掩蔽操作隐藏了原始数据成分。
在由快速软件加密工作室(FSE)的T.S.Messerges于2000年提出的方法中,布尔掩蔽(或算术掩蔽)数据表示首先被随机转换成原始数据或者逻辑补偿数据,然后再次被转换成算术掩蔽(或布尔掩蔽)数据。然而,已经证实该方法不能提供反DPA攻击的圆满对策。
同时,在由加密硬件和嵌入式***工作室(CHESS)的L.Goubin于2001年提出的方法中,采用了5个n-位之间的异或运算(这里,n表示一个自然数)和2个n-位的模数相减运算来将布尔掩蔽转换成算术掩蔽。而且,在该方法中,算术掩蔽能够通过采用(2n+4)个n-位之间的异或运算、(2n+1)个n-位之间的与运算,以及n个n-位的左移运算被转换成布尔掩蔽,然而,该方法由于需要大量的处理开销而不能很好地投入实际应用。
最后,在由CHESS工作室的J.S.Coron等人于2003年提出的方法中,一个表被预先计算,以减少将算术掩蔽转换成布尔掩蔽的Goubin算法的开销。然而,所需的存储设备有其固有的开销。
图1表示依照本发明的优选实施例的加密装置的方块示意图。参照图1,加密装置100包括第一掩蔽模块110和第二掩蔽模块200。
当第一掩蔽模块110为布尔掩蔽模块时,第二掩蔽模块200为算术掩蔽模块。也就是说,第一掩蔽模块110接收数据(X)和第一随机数(R1),响应于第一随机数(R1)将数据(X)转换成布尔掩蔽数据(X′),并输出布尔掩蔽数据(X′)。
第二掩蔽模块200接收布尔掩蔽数据(X′)和第二随机数(R2),响应于第二随机数(R2)将布尔掩蔽数据(X′)转换成算术掩蔽数据(OUT),并输出该算术掩蔽数据(OUT)。这里,若第一随机数(R1)和第二随机数(R2)为相同的数则更好。
然而,当第一掩蔽模块110为算术掩蔽模块时,第二掩蔽模块200为布尔掩蔽模块。也就是说,第一掩蔽模块110接收数据(X)和第一随机数(R1),响应于第一随机数(R1)将数据(X)转换成算术掩蔽数据(X′),并输出算术掩蔽数据(X′)。
第二掩蔽模块200接收算术掩蔽数据(X′)和第二随机数(R2),响应于第二随机数(R2)将算术掩蔽数据(X′)转换成布尔掩蔽数据(OUT),并输出该算术掩蔽数据(OUT)。这里,若第一随机数(R1)和第二随机数(R2)为相同的数则更好。
图2表示当如图1所示的第二掩蔽模块是将布尔掩蔽数据转换成算术掩蔽数据的模块时的第二掩蔽模块的第一电路示意图。
参照图1和图2,现将进一步描述第二掩蔽模块200的运算。首先,根据本发明的优选实施例,将应用了布尔掩蔽的数据(以下称为“布尔掩蔽数据”)转换成应用了算术掩蔽的数据(以下称为“算术掩蔽数据”)的第一算法为:
输入:X′(=XR1),R2
输出:OUT=X-R2
1.temp=X′∧R2
2.temp=(temp<<1)
3.Return(X′-temp)
这里,“∧”表示与运算,“<<”表示逻辑左移1位,“”表示异或运算,并且“-”表示减法运算。还有,“temp”表示数据的暂时存储,并能用数据存储电路实现,例如,包括门电路或寄存器。
图2表示根据本发明,实现将布尔掩蔽数据转换成算术掩蔽数据的算法的硬件。在图2中,第二掩蔽模决200包括与电路210,移位电路220和减法器230。
与电路210接收布尔掩蔽数据(X′)和第二随机数(R2),在接收的数据(X′)和数(R2)之间执行按位之间的与运算,并输出与运算的结果到移位电路220。布尔掩蔽数据(X′)和第二随机数(R2)都包括n-位。
移位电路220接收由与电路210输出的n-位数据,向左手方向和右手方向中任一个将该数据移m位(这里,m为一个自然数,比如,m为1)。例如,移位电路220可以执行左移1位。移位电路220的输出提供给减法器230。
减法器230接收布尔掩蔽数据(X′)和移位电路220的输出信号,执行从布尔掩蔽数据(X′)中减去移位电路220的输出信号的减法运算,并输出由移位运算结果所产生的算术掩蔽数据(OUT)。因此,本发明的加密装置能够提供一个圆满的反DPA攻击的对策。
图3表示当图1所示的第二掩蔽模块为将布尔掩蔽数据转换成算术掩蔽数据的模块时的第二掩蔽模块的第二电路示意图。
现将参照图1和图3,详细介绍第二掩蔽模块200的第二实施例的操作。根据本发明的优选实施例,将布尔掩蔽数据转换成算术掩蔽数据的第二算法为:
输入:X′(=XR1),R2
输出:OUT=X+R2
1.temp=(X′∧R2)R2
2.temp=(temp<<1)
3.Re turn(X′+temp)
这里,“+”表示算术加法运算。
图3表示根据本发明,执行将布尔掩蔽数据转换成算术掩蔽数据的算法的硬件。在图3中,第二掩蔽模块200包括与电路240,异或电路250,移位电路260和加法器270。
与电路240接收布尔掩蔽数据(X′)和第二随机数(R2),执行接收的数据(X′)和数(R2)之间的按位与运算,并将与运算的结果输出到异或电路250。布尔掩蔽数据(X′)和第二随机数(R2)都包括n-位。
异或电路250接收与电路240的输出信号和第二随机数(R2),执行与电路的输出信号和第二随机数(R2)之间的按位之间的异或运算,并将结果输出到移位电路260。
移位电路260接收由异或电路250输出的n-位数据,向左手方向或者右手方向中任一个将该数据移m位(这里,m为一个自然数,比如,m为1)。例如,移位电路260可以执行左移1位。
加法器270接收布尔掩蔽数据(X′)和移位电路260的输出信号,执行布尔掩蔽数据(X′)和输出信号之间的加法运算,并输出由移位运算结果所产生的算术掩蔽数据(OUT)。因此,本发明的加密装置能够提供一个圆满的反DPA攻击的对策。
图4表示当如图1所示的掩蔽模块为将算术掩蔽数据转换成布尔掩蔽数据时的第二掩蔽模块的电路示意图。
根据本发明的优选实施例,将算术掩蔽数据转换成布尔掩蔽数据的算法如下:
输入:X′(=X-R2)=an,...,a1,R2=rn,...,r1
输出:OUT=XR2=yn,....,y1
1.y1=a1
2.temp=y1∧r1
y2=a2temp
carry=a2∧temp
3.For k=3 to(n-1)by 1
temp=yk-1∧rk-1
yk=aktempcarry;
carry=(ak∧temp)∨(ak∧carry)∨(temp∧carry);
4.temp=yn-1∧rn-1
yn=antempcarry;
5.Return(yn,...,y1)
这里,“∨”表示或运算,而“carry”表示一个进位。因此,将算术掩蔽数据转换成布尔掩蔽数据的算法,通过应用(2n-3)个1-位异或电路、(4n-9)个1-位与电路和2(n-3)个1-位或电路,能够实现。
图4表示根据本发明,执行将算术掩蔽数据转换成布尔掩蔽数据的算法的硬件。也就是说,第二掩蔽模块200包括多个与门201、203、205、215、225和227,多个或门207和209,多个异或门211、213、217、219和223。在图4所示的电路示意图中,输入和输出数据的宽度n等于4,以便于说明。
与门201执行算术掩蔽数据(X<4:1>)的LSB(X′<1>)和第二随机数(R2<4:1>)的LSB(R2<1>)之间的与运算,与门203执行算术掩蔽数据(X′<4:1>)的第二位(X′<2>)和与门201的输出信号之间的与运算,以及与门205执行算术掩蔽数据(X′<4:1>)的第三位(X′<3>)和与门203的输出信号之间的与运算。
或门207执行与门205的输出信号和与门225的输出信号之间的或运算,或门209执行或门207的输出信号和与门227的输出信号的或运算,以及异或门211执行或门209的输出信号和异或门223的输出信号的异或运算。
异或门213执行与门201的输出信号和算术掩蔽数据(X′<4:1>)的第二位(X′<2>)之间的异或运算,与门215执行第二随机数(R2<4:1>)的第二位(R2<2>)和异或门213的输出信号之间的与运算。
异或门217执行与门215的输出信号和算术掩蔽数据(X′<4:1>)的第三位(X′<3>)之间的异或运算,异或门219执行与门203的输出信号和异或门217的输出信号之间的异或运算。
与门221执行第二随机数(R2<4:1>)的第三位(R2<3>)和异或门219的输出信号之间的与运算,异或门223执行与门221的输出信号和算术掩蔽数据(X′<4:1>)的MSB(X′<4>)之间的异或运算。与门225执行算术掩蔽数据(X′<4:1>)的第三位(X′<3>)和与门215的输出信号之间的与运算,与门227执行与门215的输出信号和与门203的输出信号之间的与运算。
因此,第二掩蔽模块200的输出信号(XR=OUT<4:1>)的最低有效位LSB(OUT<1>)与算术掩蔽数据(X′<4:1>)的最低有效位LSB(X′<1>)相同,并且第二掩蔽模块200的输出信号(OUT<4:1>)的第二位(OUT<2>)是异或门213的输出信号。第二掩蔽模块200的输出信号(OUT<4:1>)的第三位(OUT<3>)是异或门219的输出信号,并且第二掩蔽模块200的输出信号(0UT<4:1>)的最高有效位MSB(OUT<4>)是异或门211的输出信号。
因此,本发明的第二掩蔽模块200,与CHESS的L.Goubin于2001年提出的方法相比,能够大大地减少了***和计算的开销。另外,由于本发明的第二掩蔽模块200不运用预先计算好的查表,本发明的第二掩蔽模块200不需要附加存储模块的开销,而其在CHESS的J.S.Coron等于2003年提出的方法中是需要的。
本发明的加密装置能够应用于各种用于加密技术的装置中,如小功率消耗的装置,如智能卡或其他形式的有源式存储介质。而且,该加密方法和加密装置及其记录媒体提供圆满反DPA攻击的算法,或同时利用布尔运算和算术运算执行该算法的硬件。
如上所述,本发明的加密装置和方法使硬件和计算的开销降低。
尽管参照实施方式具体地展示并说明了本发明,但本领域技术人员应当理解,在不脱离权利要求限定主旨和范围内,可以对其的形式和细节作各种变化。

Claims (19)

1、一种加密装置包括:
一与电路,执行一随机数和第一掩蔽数据之间的与运算;
一移位电路,接收与电路的输出信号,并将接收的信号向右手方向或左手方向中任一个移m位(这里,m为一自然数);以及
一减法器,接收第一掩蔽数据和上述移位电路的输出信号,并执行从第一掩蔽数据中减去移位电路的输出信号的减法运算,输出第二掩蔽数据作为结果。
2、根据权利要求1所述的加密装置,其特征在于:
移位电路对与电路的输出信号向左手方向移1位。
3、一种加密装置包括:
一与电路,执行一随机数和第一掩蔽数据之间的与运算;
一异或电路,接收上述与电路的输出信号和随机数,执行该输出信号和随机数之间的异或运算;
一移位电路,接收异或电路的输出信号,并将接收的信号向右手方向或左手方向中任一个移m位(这里,m为一自然数);以及
一加法器,接收第一掩蔽数据和移位电路的输出信号,执行第一掩蔽数据和移位电路的输出信号之间的加法运算,并输出第二掩蔽数据作为结果。
4、一种加密装置包括:
第一掩蔽电路,接收第一随机数和数据,并输出布尔掩蔽数据;和
第二掩蔽电路,接收第二随机数和由第一掩蔽电路输出的布尔掩蔽数据,并输出算术掩蔽数据,
其中,第二掩蔽电路包括:
一与电路,执行第二随机数和第一掩蔽数据之间的与运算;
一移位电路,接收与电路的输出信号,并将接收的信号向右手方向或左手方向中任一个,移m位(这里,m为一自然数);以及
一减法器,接收第一掩蔽数据和上述移位电路的输出信号,并执行从布尔掩蔽数据中减去移位电路的输出信号的减法运算,输出算术掩蔽数据作为结果。
5、根据权利要求4所述的加密装置,其特征在于:
移位电路将与电路的输出信号向左手方向移1位。
6、根据权利要求4所述的加密装置,其特征在于:
第一和第二随机数为相同的数。
7、一种加密装置,包括:
第一掩蔽电路,接收第一随机数和数据,并输出布尔掩蔽数据;和
第二掩蔽电路,接收第二随机数和由第一掩蔽电路输出的布尔掩蔽数据,并输出算术掩蔽数据;
其中,第二掩蔽电路包括:
一与电路,执行第二随机数和第一掩蔽数据之间的与运算;
一异或电路,接收上述与电路的输出信号和第二随机数,执行该输出信号和随机数之间的异或运算;
一移位电路,接收异或电路的输出信号,并将接收的信号向右手方向或左手方向中任一个移m位(这里,m为一自然数);以及
一加法器,接收第一掩蔽数据和移位电路的输出信号,执行布尔掩蔽数据和移位电路的输出信号之间的加法运算,并输出算术掩蔽数据作为结果。
8、根据权利要求7所述的加密装置,其特征在于:
移位电路对与电路的输出信号向左手方向移1位。
9、根据权利要求7所述的加密装置,其特征在于:
第一和第二随机数为相同的数。
10、一种加密方法,包括:
执行一随机数和第一掩蔽数据之间的与运算;
接收与运算的结果,并将该接收的结果向右手方向或左手方向中任一个移m位(这里,m为一自然数);和
接收第一掩蔽数据和移位的结果,执行从第一掩蔽数据中减去移位的结果的减法运算,并输出第二掩蔽数据作为结果。
11、一种加密方法,包括:
执行一随机数和第一掩蔽数据之间的与运算;
接收与运算的结果和随机数,执行与运算的结果和该随机数之间的异或运算;
接收异或运算的结果,并将接收的信号向右手方向或左手方向中任一个移m位(这里,m为一自然数);和
接收第一掩蔽数据和移位的结果,执行第一掩蔽数据和移位的结果的加法运算,并输出第二掩蔽数据作为结果。
12、一种计算机可读的存储介质,其上包含有用之于加密方法的计算机程序,其加密方法包括:
执行一随机数和第一掩蔽数据之间的与运算;
接收与运算的结果,并将该接收的结果向右手方向或左手方向中任一个移m位(这里,m为一自然数);和
接收第一掩蔽数据和移位的结果,执行从第一掩蔽数据中减去移位的结果的减法运算,并输出第二掩蔽数据作为结果。
13、一种计算机可读的存储介质,其上包含有用于加密方法的计算机程序,其特征在于该加密方法包括:
执行一随机数和第一掩蔽数据之间的与运算;
接收与运算的结果和该随机数,执行与运算的结果和随机数之间的异或运算;
接收异或运算的结果,并将接收的信号向右手方向或左手方向中任一个移m位(这里,m为一自然数);和
接收第一掩蔽数据和移位的结果,执行第一掩蔽数据和移位的结果的加法运算,并输出第二掩蔽数据作为结果。
14、一种加密方法,包括:
接收第一随机数和数据,并输出布尔掩蔽数据;和
接收第二随机数和布尔掩蔽数据,并输出算术掩蔽数据,
其中,输出的算术掩蔽数据包括:
执行第二随机数和布尔掩蔽数据之间的与运算;
接收与运算的结果,将接收的信号向右手方向或左手方向中任一个移m位(这里,m为一自然数);和
接收布尔掩蔽数据和移位的结果,执行从布尔掩蔽数据中减去该移位结果的减法运算,并输出算术掩蔽数据作为结果。
15、一种加密方法,包括:
接收第一随机数和数据,并输出布尔掩蔽数据;和
接收第二随机数和布尔掩蔽数据,并输出算术掩蔽数据,
其中,输出算术掩蔽数据包括:
执行第二随机数和布尔掩蔽数据之间的与运算;
接收与运算的结果和该随机数,执行与运算的结果和该随机数之间的异或运算;
接收异或运算的结果,并将接收的信号向右手方向或左手方向中任一个移m位(这里,m为一自然数);和
接收布尔掩蔽数据和移位的结果,执行布尔掩蔽数据和移位的结果的加法运算,并输出算术掩蔽数据作为结果。
16、一种加密方法,包括:
接收n-位的数据和具有n-位长度的第一随机数,并输出n-位的算术掩蔽数据an,an-1,...,a2,a1;和
接收具有n-位长度的第二随机数rn,rn-1,...,r2,r1和算术掩蔽数据an,an-1,...,a2,a1,并输出n-位的布尔掩蔽数据yn,yn-1,...,y2,y1
其中,输出的算术掩蔽数据yn,yn-1,...,y2,y1包括:
输出a1作为y1
执行y1和r1的与运算,并将其结果存储在存储设备中,执行a2和存储在存储设备中的数据之间的异或运算,并将输出的结果作为y2,执行a2和存储在存储设备中的数据之间的与运算并将产生的结果作为进位;
执行yk-1和rk-1之间的与运算,并将其结果存储在存储设备中,执行ak和进位之间的异或运算以及存储在存储设备中的数据和进位之间的异或运算,并将输出结果作为yk,执行[ak和存储在存储设备中的数据之间的与运算的结果]和[ak和进位之间的与运算的结果]之间的或运算,执行或运算的结果和[存储在存储设备中的数据和进位之间的与运算的结果]之间的或运算,并将产生的结果作为进位;和
执行yn-1和rn-1之间的与运算,并将其结果存储在存储设备中,执行an和存储在存储设备中的数据之间的异或运算,并将输出的结果作为yn
其中,预定变量k从3逐次增加1直到(n-1)。
17、一种加密方法,用于接收n-位的随机数rn,rn-1,...,r2,r1,和算术掩蔽数据an,an-1,...,a2,a1,并输出n-位的布尔掩蔽数据yn,yn-1,...,y2,y1,该方法包括:
输出a1作为y1
执行y1和r1之间的与运算,并将其结果存储在存储设备中,执行a2和存储在存储设备中的数据之间的异或运算,并将输出的结果作为y2,执行a2和存储在存储设备中的数据之间的与运算并将产生的结果作为进位;
执行yk-1和rk-1之间的与运算,并将其结果存储在存储设备中,执行ak和进位之间的异或运算以及存储在存储设备中的数据和进位之间的异或运算,并将输出结果作为yk,执行[ak和存储在存储设备中的数据之间的与运算的结果]和[ak和进位之间的与运算的结果]之间的或运算,执行或运算的结果和[存储在存储设备中的数据和进位之间的与运算的结果]之间的与运算,并将产生的结果作为进位;和
执行yn-1和rn-1的与运算,并将其结果存储在存储设备中,执行an和存储在存储设备中的数据之间的异或运算,并将输出的结果作为yn
其中,预定变量k从3逐次增加1直到(n-1)。
18、一种计算机可读的存储介质,其上包含有用于加密方法的计算机程序,包括:
接收n-位的数据和具有n-位长度的第一随机数,并输出n-位算术掩蔽数据an,an-1,...,a2,a1;和
接收具有n-位长度的第二随机数rn,rn-1,...,r2,r1和算术掩蔽数据an,an-1,...,a2,a1,并输出n-位的布尔掩蔽数据yn,yn-1,...,y2,y1
其中,输出的算术掩蔽数据yn,yn-1,..,y2,y1包括:
输出a1作为y1
执行y1和r1之间的与运算,并将其结果存储在存储设备中,执行a2和存储在存储设备中的数据之间的异或运算,并将输出的结果作为y2,执行a2和存储在存储设备中的数据之间的与运算并将产生的结果作为进位;
执行yk-1和rk-1的与运算,并将其结果存储在存储设备中,执行ak和进位之间的异或运算以及存储在存储设备中的数据和进位之间的异或运算,并将输出结果作为yk,执行[ak和存储在存储设备中的数据之间的与运算的结果]和[ak和进位之间的与运算的结果]之间的与运算,执行或运算的结果和[存储在存储设备中的数据和进位之间的与运算的结果]之间的或运算,并将产生的结果作为进位;和
执行yn-1和rn-1之间的与运算,并将其结果存储在存储设备中,执行an和存储在存储设备中的数据之间的异或运算,并将输出的结果作为yn
其中,预定变量k从3逐次增加1直到(n-1)。
19、一种计算机可读的记录媒体,其上包含有用于加密方法的计算机程序,该加密方法用于接收n-位的随机数rn,rn-1,...,r2,r1和算术掩蔽数据an,an-1,...,a2,a1,并输出布尔掩蔽数据yn,yn-1,...,y2,y1,其特征在于该加密方法包括:
输出a1作为y1
执行y1和r1的之间与运算,并将其结果存储在存储设备中,执行a2和存储在存储设备中的数据之间的异或运算,并将输出的结果作为y2,执行a2和存储在存储设备中的数据之间的与运算并将产生的结果作为进位;
执行yk-1和rk-1之间的与运算,并将其结果存储在存储设备中,执行ak和进位之间的异或运算以及存储在存储设备中的数据和进位之间的异或运算,并将输出结果作为yk,执行[ak和存储在存储设备中的数据之间的与运算的结果]和[ak和进位之间的与运算的结果]之间的或运算,在或运算的结果和[存储在存储设备中的数据和进位之间的与运算的结果]之间的或运算,并将产生的结果作为进位;和
执行yn-1和rn-1之间的与运算,并将其结果存储在存储设备中,执行an和存储在存储设备中的数据之间的异或运算,并将输出的结果作为yn
其中,预定变量k从3逐次增加1直到(n-1)。
CN200510056533A 2004-01-07 2005-01-07 加密装置、加密方法及其存储介质 Expired - Fee Related CN100583739C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR0000879/04 2004-01-07
KR0000879/2004 2004-01-07
KR1020040000879A KR100585119B1 (ko) 2004-01-07 2004-01-07 암호화 장치, 암호화 방법 및 그 기록매체

Publications (2)

Publication Number Publication Date
CN1648967A true CN1648967A (zh) 2005-08-03
CN100583739C CN100583739C (zh) 2010-01-20

Family

ID=34588124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510056533A Expired - Fee Related CN100583739C (zh) 2004-01-07 2005-01-07 加密装置、加密方法及其存储介质

Country Status (4)

Country Link
US (1) US20050147243A1 (zh)
EP (1) EP1553490A3 (zh)
KR (1) KR100585119B1 (zh)
CN (1) CN100583739C (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102396010A (zh) * 2009-04-24 2012-03-28 日本电信电话株式会社 有限域运算装置、有限域运算方法、程序以及记录介质
CN102396011A (zh) * 2009-04-24 2012-03-28 日本电信电话株式会社 加密装置、解密装置、加密方法、解密方法、安全方法、程序以及记录介质
CN102646078A (zh) * 2012-04-01 2012-08-22 李宗霖 一种硬盘数据的加密方法
CN103004129A (zh) * 2010-07-23 2013-03-27 日本电信电话株式会社 加密装置、解密装置、加密方法、解密方法、程序及记录介质
CN107508663A (zh) * 2017-09-05 2017-12-22 成都三零嘉微电子有限公司 一种布尔异或掩码转算术加法掩码的防护电路
CN107689863A (zh) * 2017-09-05 2018-02-13 成都三零嘉微电子有限公司 一种算术加法掩码转布尔异或掩码的防护电路
CN108256164A (zh) * 2011-12-15 2018-07-06 美光科技公司 状态机晶格中的布尔逻辑

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE493699T1 (de) * 2004-01-27 2011-01-15 Nxp Bv Schutz vor leistungsanalyse-angriffen
GB2443356B (en) * 2005-01-27 2008-08-06 Samsung Electronics Co Ltd Cryptographic logic circuits and method of performing logic operations
KR100725169B1 (ko) * 2005-01-27 2007-06-04 삼성전자주식회사 전력 분석 공격에 안전한 논리 연산 장치 및 방법
GB2443357B (en) * 2005-01-27 2008-10-08 Samsung Electronics Co Ltd Cryptographic logic circuits and method of performing logic operations
GB2443355B (en) * 2005-01-27 2008-08-06 Samsung Electronics Co Ltd Cryptographic logic circuits and method of performing logic operations
KR101566408B1 (ko) 2009-03-13 2015-11-05 삼성전자주식회사 불 마스크와 산술 마스크의 변환 회로 및 변환 방법
KR101818441B1 (ko) * 2011-06-30 2018-01-16 삼성전자주식회사 데이터 처리 장치 및 이의 동작 방법
EP2634953A1 (en) * 2012-03-02 2013-09-04 Gemalto SA Countermeasure method against side channel analysis for cryptographic algorithms using boolean operations and arithmetic operations
US9118441B2 (en) * 2013-01-25 2015-08-25 Freescale Semiconductor, Inc. Layout-optimized random mask distribution system and method
US9635112B2 (en) 2013-05-02 2017-04-25 Intel Corporation Apparatus, system and method of managing an application service platform (ASP) session
WO2017152056A1 (en) * 2016-03-03 2017-09-08 Cryptography Research, Inc. Converting a boolean masked value to an arithmetically masked value for cryptographic operations
DE102017002153A1 (de) * 2017-03-06 2018-09-06 Giesecke+Devrient Mobile Security Gmbh Übergang von einer booleschen Maskierung zu einer arithmetischen Maskierung
KR101977873B1 (ko) 2017-08-25 2019-08-28 국방과학연구소 하드웨어 구현된 모듈러 역원 모듈
EP3874364A4 (en) * 2018-10-29 2022-08-03 Cryptography Research, Inc. TIME CONSTANT SAFE CONVERSION FROM ARITHMETIC TO BOOLEAN MASK
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline
FR3141261A1 (fr) * 2022-10-25 2024-04-26 Stmicroelectronics (Rousset) Sas Protection de données masquées

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1090480B1 (en) * 1998-06-03 2019-01-09 Cryptography Research, Inc. Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
US6263353B1 (en) * 1999-02-17 2001-07-17 Advanced Micro Devices, Inc. Method and apparatus for converting between different digital data representation formats
US6295606B1 (en) * 1999-07-26 2001-09-25 Motorola, Inc. Method and apparatus for preventing information leakage attacks on a microelectronic assembly
FR2820914A1 (fr) * 2001-02-15 2002-08-16 Bull Cp8 Procede de securisation d'un ensemble electronique mettant en oeuvre en algorithme cryptographique utilisant des operations booleennes et des operations arithmetiques, et systeme embarque correspondant
US7403620B2 (en) * 2002-07-02 2008-07-22 Stmicroelectronics S.A. Cyphering/decyphering performed by an integrated circuit
JP4783104B2 (ja) * 2005-09-29 2011-09-28 株式会社東芝 暗号化/復号装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102396010A (zh) * 2009-04-24 2012-03-28 日本电信电话株式会社 有限域运算装置、有限域运算方法、程序以及记录介质
CN102396011A (zh) * 2009-04-24 2012-03-28 日本电信电话株式会社 加密装置、解密装置、加密方法、解密方法、安全方法、程序以及记录介质
CN102396011B (zh) * 2009-04-24 2014-04-16 日本电信电话株式会社 加密装置、解密装置、加密方法、解密方法、安全方法、程序以及记录介质
CN103004129A (zh) * 2010-07-23 2013-03-27 日本电信电话株式会社 加密装置、解密装置、加密方法、解密方法、程序及记录介质
CN103004129B (zh) * 2010-07-23 2015-04-08 日本电信电话株式会社 加密装置、解密装置、加密方法、解密方法、程序及记录介质
CN108256164A (zh) * 2011-12-15 2018-07-06 美光科技公司 状态机晶格中的布尔逻辑
CN108256164B (zh) * 2011-12-15 2022-01-21 美光科技公司 状态机晶格中的布尔逻辑
CN102646078A (zh) * 2012-04-01 2012-08-22 李宗霖 一种硬盘数据的加密方法
CN107508663A (zh) * 2017-09-05 2017-12-22 成都三零嘉微电子有限公司 一种布尔异或掩码转算术加法掩码的防护电路
CN107689863A (zh) * 2017-09-05 2018-02-13 成都三零嘉微电子有限公司 一种算术加法掩码转布尔异或掩码的防护电路

Also Published As

Publication number Publication date
EP1553490A3 (en) 2009-03-04
KR20050072537A (ko) 2005-07-12
EP1553490A2 (en) 2005-07-13
CN100583739C (zh) 2010-01-20
US20050147243A1 (en) 2005-07-07
KR100585119B1 (ko) 2006-06-01

Similar Documents

Publication Publication Date Title
CN1648967A (zh) 加密装置、加密方法及其存储介质
Mathur et al. AES based text encryption using 12 rounds with dynamic key selection
Xu et al. A novel bit-level image encryption algorithm based on chaotic maps
Chen et al. A fast chaos-based image encryption scheme with a dynamic state variables selection mechanism
Chen et al. An efficient image encryption scheme using lookup table-based confusion and diffusion
Wong et al. A fast image encryption scheme based on chaotic standard map
Ye et al. An efficient chaotic image encryption algorithm based on a generalized Arnold map
US7907722B2 (en) Protection against power analysis attacks
Samiullah et al. An image encryption scheme based on DNA computing and multiple chaotic systems
Zhang et al. Cryptanalysis and improvement of an image encryption algorithm based on hyper-chaotic system and dynamic S-box
US8094816B2 (en) System and method for stream/block cipher with internal random states
CN102970132B (zh) 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法
CN112202547B (zh) 一种轻量级分组密码gfcs实现方法、装置及可读存储介质
CN114549266B (zh) 基于dna置换规则和混沌***的图像加密方法
Liu et al. Cryptanalysis and enhancement of an image encryption scheme based on bit-plane extraction and multiple chaotic maps
CN1536810A (zh) 产生由n个数字构成的字的伪随机排列的方法
CN1151628C (zh) 一种数据码的加密和解密的方法
Yan et al. Dynamical analysis of four-dimensional chaotic system and its application in image encryption
CN111314054A (zh) 一种新型高安全的轻量级eceg分组密码实现方法、***及存储介质
Elizabeth et al. HIDE: hyperchaotic image encryption using DNA computing
Wadi et al. A low cost implementation of modified advanced encryption standard algorithm using 8085A microprocessor
CN1397035A (zh) 在电子部件中使用公共密钥加密算法的模求幂算法
RU2503135C1 (ru) Способ криптографического преобразования информации и устройство для его реализации
Hu et al. A novel image secret sharing scheme without third-party scrambling method
CN1243325C (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: 20100120

Termination date: 20160107

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