CN101034978A - 用于密码过程的表分裂 - Google Patents

用于密码过程的表分裂 Download PDF

Info

Publication number
CN101034978A
CN101034978A CNA2007100052881A CN200710005288A CN101034978A CN 101034978 A CN101034978 A CN 101034978A CN A2007100052881 A CNA2007100052881 A CN A2007100052881A CN 200710005288 A CN200710005288 A CN 200710005288A CN 101034978 A CN101034978 A CN 101034978A
Authority
CN
China
Prior art keywords
mask
data word
division
bit
subclauses
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
CNA2007100052881A
Other languages
English (en)
Other versions
CN101034978B (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.)
BlackBerry Ltd
Original Assignee
Research in Motion 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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN101034978A publication Critical patent/CN101034978A/zh
Application granted granted Critical
Publication of CN101034978B publication Critical patent/CN101034978B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/043Masking or blinding of tables, e.g. lookup, substitution or mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Abstract

针对包括原始置换表的所定义的密码过程,提供分裂掩码置换表以抵抗密码攻击。关于随机值数据字组和掩码值来定义分裂掩码置换表。通过以下步骤来定义分裂掩码置换表中的条目:从由随机值数据字组中相应的一个所掩码的原始掩码置换表中相应的条目中选择比特;以及从由掩码值所掩码的随机值数据字组中相应的一项中选择比特。在修改后的密码过程中可使用分裂掩码置换表以允许产生掩码输出,其中修改后的密码过程基于所定义的密码过程。在执行修改后的密码过程期间,当访问分裂掩码置换表中的每一个条目时,对分裂掩码置换表进行刷新。

Description

用于密码过程的表分裂
技术领域
本发明大体上涉及计算系统,更具体地,本发明涉及实现加密操作和对加密操作的如功率分析攻击等的攻击的对策的计算系统。
背景技术
计算系统通常要求以安全的方式执行操作。对于嵌入式计算设备和普及的系统来说,操作安全性通常是至关重要的。为了确保操作和通信的安全,这些系统采用了密码方法。这种密码方法的实施方式本身必须是安全的。然而,密码方法受到了攻击。实施密码方法的计算设备上的一种非入侵攻击是已知的功率分析攻击。另一种攻击则是基于对执行密码过程的设备进行电磁分析。虽然下文参考功率攻击进行描述,可以理解的是,所讨论的对策也适用于电磁分析攻击。
功率分析攻击包括:在设备执行密码方法时,监测设备的一个或多个组件的功耗。随后,使用统计方法来导出密码方法所意欲保密的信息。差分功率分析(PDA)是功率分析攻击的一个示例,它可以用于攻击包括一个或多个表(置换表或“S盒”)的索引的密码操作,其中索引是密钥和明文值的组合(“Differential Power Analysis”,P.Kocher,CRYPTO’99,Lecture Notes in Computer Science,1666,pp.388-397,1999,Springer-Verlag)。
已经提出了用于抵制这种攻击的不同对策,包括:使用不同的随机输出掩码(mask)来频繁地重新产生表(“Securing the AESFinalists Against Power Analysis Attacks”,T.Messerges,FSE2000,Lecture Notes in Computer Science,1978,pp.150-164,2001,Springer-Verlag);以及使用固定值掩码来频繁地重新产生表,其中仅使用了固定数目的掩码(“DPA countermeasure based on the‘masking method’”,K.Itoh et al.,ICICS 2001,Lecture Notes inComputer Science,2288,pp.440-456,2001,Springer-Verlag)。然而,重新产生的表或多重掩码的表的使用或变化都需要额外的存储器、功率和处理器资源,这些资源不总是可用,而且通常不希望分配这些资源。
EP1601132公开了一种针对密码过程或系统的改进对策,其中单独定义的随机值用于对置换表中的条目进行掩码以定义掩码置换表。然而,没有公开对表进行掩码之前的置换表分裂步骤,该步骤产生了分裂的掩码表组。
US2005/232430公开了一种针对计算设备上的差分功率分析攻击的对策。该对策包括分裂掩码值组的定义。分裂的掩码值应用于关键值,该关键值与关于表掩码值而定义的掩码表一同使用。通过随机产生n-1个分裂掩码值,并且通过对表掩码值与n-1个随机产生的分裂掩码值进行异或运算产生第n个分裂掩码值,来定义包括n个分裂掩码值的组。
Kouichi Itoh et al“DPA Countermeasure based on the MaskingMethod”,Proceedings of ICICS,International Conference onInformation Communications and Signal Processing,6 December2001,pages 440 to 456公开了一种基于掩码方法的概率差分功率分析对策,它需要很少的随机存取存储器,因而适用于低成本智能卡。
因此,需要可以抵抗差分功率攻击和相关攻击并具有较小等待时间开销的密码对策。
发明内容
根据本发明的一方面,优选地提供了一种针对密码过程或系统的改进对策。
根据本发明的另一方面,优选地提供了一种由计算设备实施的方法,用于产生在密码过程中使用的分裂掩码表,关于具有数据字条目S[x]的原始置换表S(x)来定义所述密码过程,每一个条目S[x]都具有以比特定义的字长,所述方法包括步骤:定义n组随机值数据字r1(x)..rn(x),每一个数据字都具有限定了比特位置的比特,每一组随机值数据字都包括数据字条目,数据字r1[x]、...rn[x]与原始置换表中的条目S[x]相对应;定义掩码值;针对每个条目S[x],通过利用随机值组中相应的数据字r1[x]、...、rn[x]对数据字S[x]进行掩码,以定义具有限定了比特位置的比特的掩码数据字,从而产生分裂掩码表组;利用相应的随机值组中的所选值rl[x]对掩码值进行掩码,以定义针对具有限定了比特位置的比特的S[x]的随机化掩码数据字;以及通过从掩码数据字、随机化掩码数据字以及(在随机值组的大小为2或更大的情况下)组中除了所选值r1[x]之外的随机值数据字中选择比特,来产生分裂掩码表中的每一个条目,由此从原始数据字中相应的限定比特位置选出用于定义每一个分裂掩码表条目的每一个所选比特,其中分裂掩码置换表中条目的每一个比特按照预先选择的图案来定义。
根据本发明的另一方面,优选地提供了上述方法,其中通过从数据字中选择连续的比特来执行以下步骤:从掩码数据字、随机化掩码数据字以及(在随机值组的大小为2或更大的情况下)组中除了所选值r1[x]之外的随机值数据字中选择比特,而且产生分裂掩码表中每一个条目的步骤包括步骤:把所选的连续比特进行串接以形成条目。
根据本发明的另一方面,优选地提供了上述方法,其中随机值组的大小n为1且掩码数据字的长度和随机化掩码数据字的长度是32位,比特选择包括步骤:选择掩码数据字和随机化掩码数据字中的前16比特,通过串接形成第一分裂掩码表中的条目;另一比特选择包括步骤:选择掩码数据字和随机化掩码数据字中的第二16比特,通过串接形成第二分裂掩码表中的条目。
根据本发明的另一方面,优选地提供了一种由计算设备实施的方法,用于执行抵抗所述计算设备上的密码攻击的密码过程,所述密码过程包括基于所定义的密码过程的密码步骤,所定义的密码过程的特征在于:接受输入并产生输出,使用一个或多个原始定义的置换表。所述方法的特征在于:接受输入并产生掩码输出,所述掩码输出对应于由所述掩码值所掩码的输出。所述方法包括下列步骤:定义掩码值;将一个或多个原始定义的置换表分裂,以产生一个或多个分裂置换表组,并且基于掩码值对一个或多个分裂置换表组进行掩码,从而产生一个或多个分裂掩码表组;通过使用每一个分裂掩码表组,根据所定义的密码过程,执行密码过程中的输入密码步骤,以产生分裂掩码表输出组;以及将分裂掩码表输出组合并,以获得掩码输出,所述掩码输出与由所述掩码值掩码的、所定义密码过程的输出相对应。
根据本发明的另一方面,优选地提供上述方法,还包括刷新步骤,即:在执行密码步骤期间,当访问每一个分裂掩码表中的每一个条目时,对该条目进行刷新。通过以下步骤来实现所述刷新步骤:定义随机刷新数据字,利用所述随机刷新数据字中适合的比特对分裂掩码表条目中的每一个比特进行掩码。
根据本发明的另一方面,优选地提供了上述方法,其中将分裂掩码表输出组组合这个步骤包括:合并步骤,之后是重组步骤。
根据本发明的另一方面,优选地提供了上述方法,其中对于每一个条目S[x]具有以比特定义的字长的数据字条目S[x],针对原始定义的置换表S(x)之一,产生每一个分裂掩码表组这个步骤包括以下步骤:定义n组随机值数据字r1(x)..rn(x),每一个数据字都具有限定了比特位置的比特,每一组随机值数据字包括数据字条目,数据字r1[x]、...、rn[x]与原始置换表中的条目S[x]相对应;针对每个条目S[x],通过利用随机值组中的相应数据字r1[x]、...、rn[x]对数据字S[x]进行掩码,以定义掩码数据字,所述掩码数据字具有限定了比特位置的比特,从而产生与S(x)相对应的分裂掩码表组;利用相应的随机值组中的所选值r1[x]对掩码值进行掩码,以定义S[x]的随机化掩码数据字,它具有限定了比特位置的比特;以及通过从掩码数据字、随机化掩码数据字以及(在随机值组的大小为2或更大的情况下)组中除了所选值rl[x]之外的随机值数据字中选择比特来产生分裂掩码表中的每一个条目,由此从原始数据字中相应的限定比特位置选出用于定义每一个分裂掩码表条目的每一个所选比特,分裂掩码置换表中条目的每一个比特按照预先选择的图案来定义。
根据本发明的另一方面,优选地提供了上述方法,其中通过从数据字中选择连续的比特来执行以下步骤:从掩码数据字、随机化掩码数据字以及(在随机值组的大小为2或更大的情况下)组中除了所选值r1[x]之外的随机值数据字中选择比特,而且产生分裂掩码表中每一个条目这个步骤包括步骤:将选出的连续比特进行串接以形成条目。
根据本发明的另一方面,优选地提供了上述方法,其中随机值组的大小n为1且掩码数据字的长度和随机化掩码数据字的长度是32位,比特选择包括步骤:选择掩码数据字和随机化掩码数据字中的前16比特,通过串接形成第一分裂掩码表中的条目;另一比特选择包括步骤:选择掩码数据字和随机化掩码数据字中的第二16比特,通过串接形成第二分裂掩码表中的条目。
根据本发明的另一方面,优选地提供了上述方法,还包括步骤:在执行密码步骤期间,当访问每一个分裂掩码表中的每一个条目时,对该条目进行刷新。通过以下步骤来实现所述刷新步骤:定义随机刷新数据字,利用所述随机刷新数据字中适合的比特对分裂掩码表条目中的每一个比特进行掩码。由此,与从掩码数据字、随机化掩码数据字以及(在随机值组的大小为2或更大的情况下)组中除了所选值r1[x]之外的随机值数据字中选出的比特相对应的条目中的每一个比特由随机刷新数据字中的相同比特掩码。
根据本发明的另一方面,优选地提供了上述方法,其中所定义的密码过程是AES加密或解密过程。
根据本发明的另一方面,优选地提供了一种计算设备程序产品,用于执行密码过程以抵抗密码攻击,所述计算设备程序产品包括具有计算设备可读程序产品代码的计算设备可用介质,所述程序代码可以由计算设备、仪器和/或系统的处理器执行,以实现上述方法。
根据本发明的另一方面,优选地提供了一种计算设备、仪器和/或系统,用于执行抵抗密码攻击的密码过程,所述密码过程包括基于所定义的密码过程的密码步骤,所定义的密码过程的特征在于:接受输入并产生输出,使用一个或多个原始定义的置换表。所述密码过程的特征在于:接受输入并产生与输出相对应的掩码输出,所述计算设备、仪器和/或系统包括:用于定义掩码值的装置;用于将一个或多个原始定义的置换表分裂,以产生一个或多个分裂置换表组,并且基于掩码值对一个或多个分裂置换表组进行掩码,从而产生一个或多个分裂掩码表组的装置;用于通过使用每一个分裂掩码表组,对输入执行密码过程中的密码步骤,以产生分裂掩码表输出组的装置,其中所述密码步骤基于所定义的密码过程;以及用于将分裂掩码表输出组合并,从而获得掩码输出的装置,所述掩码输出与由所述掩码值掩码的、所定义密码过程的输出相对应。
根据本发明的另一方面,优选地提供了一种数据处理系统或网络,包括根据上文所述的至少一个计算设备、仪器和/或系统。
附图说明
附图中作为示例仅示出了本发明的优选实施例,
图1是示出了根据优选实施例的分裂表产生的简单示例的框图;
图2是示出了根据优选实施例,在AES(高级加密标准)加密过程中使用分裂表的框图;
图3是示出了根据优选实施例,重新组合掩码表中的数据的简单示例的框图;
图4是示出了根据优选实施例,刷新分裂表中的值的步骤的框图;
图5是示出了优选实施例的示例的框图,其中单个原始置换表和两个随机值组用于产生4个分裂掩码置换表;以及
图6是示出了优选实施例的示例的框图,其中单个原始置换表和三个随机值组用于产生4个分裂掩码置换表。
具体实施方式
优选实施例的优点包括:由于按照优选实施例执行的加密具有并行性,所以为实施优选实施例的设备增加了对DPA攻击或其它类似密码攻击的抵抗性。另外,由于可用样本的数量减小,使用如优选实施例所述的表分裂令更高等级的加密攻击(例如DPA攻击)变得更为困难。例如,可能得到反映包括随机掩码比特和掩码表输出比特的数据的单个功率样本,但是这个单个可用样本可能不足以使更高等级的DPA攻击得以实现。
优点包括:针对置换表使用了变化的掩码,这减小了能量、性能和程序代码的开销成本。这种有限的开销允许例如无线移动设备的设备使用这种对策方法,其中所述设备执行的操作要求安全性,然而可能会涉及关于功率和处理器性能的约束。当访问表的值时,对该值重新进行掩码(与需要整个表重新产生步骤的方法进行对照),而且可能使用多个随机掩码。
计算设备中实现的密码操作可以使用置换表(S表或S盒)。例如在AES和三重DES(三重数据加密标准,或“3DES”)中,明文的加密过程和密文的解密过程使用多个S盒。为了提供针对这些密码操作的安全性攻击的对策,可以对这些置换表的输入和输出进行掩码。然而,这种表输出掩码所提供的安全性自身会受到攻击。
优选实施例能够实现为计算机程序产品,所述计算机程序产品包括用于执行所述过程中的步骤的程序代码。优选实施例能够实现为用于加密的计算机系统(包括子系统或被限定用于与其它系统一同工作的系统),所述计算机系统包括执行上述功能的元件。优选实施例中的计算机系统可以由包括因特网的网络所承载的信号来限定,而且计算机程序产品可以具体实现在该网络所承载的信号中,或是包括在例如磁、电或光存储介质的介质中。作为要由计算代码和计算设备中具体实现的硬件这两者的组合来执行的方法,所述过程可以在所述计算设备中实现(这种情况下,所述过程是由计算设备实现的方法)。例如,能够实现优选实施例的计算设备包括具有全部特征的计算机或网络装置。然而可以预料的是,优选实施例可在例如无线手持移动计算设备的移动设备上实现,在这种设备中,例如功率、存储器和处理能力的资源受到对设备的尺寸和重量的所期望限制的约束。在例如无线手持设备的数据处理设备中,有利地以加密的方式存储数据,从而避免对适当用户的信息进行未授权的访问。例如,实施优选实施例实现用于避免这些加密数据可由未授权的个人使用。
参考示出了AES加密过程的加密步骤的示例,对优选实施例进行描述。然而可以理解的是,优选实施例可以关于解密过程和包括密钥和置换表的其它密码过程而实现,这些过程需要针对例如DPA的攻击的对策。可以使用可以在例如移动通信设备的计算设备上定义的不同的可用数据结构中的一种,来实现置换表和根据优选实施例产生的表。本领域的技术人员可以理解,这些表包括根据所选数据结构而存储在计算设备的数据存储器中的值组。如下文所述,本领域的技术人员可以理解,以包括比特的数据字来表示组成这些表的值。
使用逐比特(bit-wise)的异或操作(XOR)来执行优选实施例的描述中提到的掩码,其中这个异或操作典型地关于两个定义的数据字而执行。然而,可以使用其它的掩码操作。例如,可选择地使用运算掩码(包括使用加法和/或减法来代替异或操作)。
根据优选实施例,基于原始置换表(定义以用于加密过程)和掩码值来产生分裂掩码表组。产生分裂掩码表中的值,从而在密码过程中可以使用分裂掩码表来代替原始置换表与掩码值的组合。如文中所述,利用数据重组步骤,使用分裂掩码表的密码过程的输出将与使用原始置换表和掩码值所实现的输出相同。
虽然优选实施例考虑到所定义的分裂掩码表的产生(和刷新)作为修改后的密码过程的初始步骤,可以理解的是分裂掩码表可以在某一时刻部分地产生,或是在需要表条目时产生,而不是在某一具体时间产生整个表。在这些实施方式中任意一种的情况下,如同分裂掩码置换表被最初定义且被永久存储的情况那样,可以在密码过程中使用这些表的条目(利用下文所述的刷新步骤)。此外可以理解的是,下文提到的随机值数据字和掩码值可以由包括随机值发生器或伪随机值发生器的优选实施例而定义,或可以由调用独立过程或系统的优选实施例系统或方法而定义,其中所述独立过程或系统用于提供这些随机值。
图1示出了根据优选实施例的一个简单示例,其中作为原始置换表8(S盒)的S(x)用于产生一对分裂掩码置换表24、26(sm(x)和sm’(x))。在图1涉及的示例中,原始置换表8中每一个条目S[x]包括长度为32比特的数据字。如图1中块10所示,根据优选实施例,产生一组随机值数据字r(x),使得对于原始置换表8中的每一个条目S[x]都存在一个随机值数据字r[x]。如图所示,每一个随机值数据字r[x]都与相应的数据字S[x]进行异或运算(在异或12处)(在图中,异或操作通常由具有两个输入值的小椭圆来表示)。每一个随机值组r(x)还与随机产生的单个掩码值m进行组合(图1中块14所示的产生步骤)。数据字r[x]与数据字值m(异或15)的异或运算以及数据字r[x]与原始S-box值S[x]的异或运算(12)形成了分裂表条目对16、18(分别由S(x)^r(x)和r(x)^m来表示)。在优选实施例中,针对原始置换表S(x)中所有的值x,来执行上文所述的掩码。本领域的技术人员可以理解,可以仅对原始置换表中的某些值进行掩码。然而,使用这种方法将会降低或损害对策的效力。
在图1中,使用分裂表条目对16、18来定义sm(x)和sm’(x)所示的分裂掩码表对24、26。如图1所示,r[x]^S[x]_0..15与r(x)^m_0..15的组合(串接)(数据字20所示)以及r[x]^S[x]_16..31与r[x]^m_16..31的组合示出了分裂表条目对的示例分配排列。符号“_x..y”表示数据字中所包含的位置x至y处的比特。因此,“r[x]^S[x]_0..15”表示值r[x]^S[x]的32比特数据字中的前16比特,而符号“r[x]^S[x]_16..31”表示同一数据字的后16比特。这样,图1示出了把每一个r[x]^S[x]数据字的前16比特与每一个r[x]^m的前16比特组合以创建32比特数据字(数据字20所示),所创建的32比特数据字形成了完整的分裂掩码置换表sm(x)(表24)中的一个条目。类似地,图1示出了把各个分裂表条目对16、18的后16比特进行串接以产生数据字22,而数据字22定义了sm’(x)(表26)。
如上文所述,每一个r[x]^S[x]值(16)具有如每一个r[x]^m值(18)的数据字表示方法。分裂表条目对中的每一个数据字的每一个比特都具有其数据字内的比特位置。根据优选实施例,由每一个表条目对中的一个比特所组成的比特对被置于分裂掩码置换表之一的同一个字中,其中每一个表条目对都具有相应选择的且相同的源比特位置。换句话说,如果值r[x]^S[x]的数据字中比特位置i处的比特被置于数据字sm[x]中,那么对于适合的分裂掩码表定义来说,r[x]^m中相应的比特(位置i)被置于sm[x]中同一数据字中。这种情况同样适于图1示例中的分裂掩码置换表sm’(x)的定义。
可以明显看出,图1所示的简单示例满足了上文陈述的约束。通过把分裂表条目数据字对的一半与分裂表条目对的另一个数据字的相应一半进行串接,产生了用于形成分裂掩码表的表条目的字。然而,优选实施例不限于分裂表条目对的该特定分配设置以形成分裂掩码置换表中的条目的数据字。相反,只要按照如下所示允许重组数据的限定方式来执行分配设置,并且只要满足上文针对适合的分裂掩码表定义而提出的条件,那么可以对分裂掩码置换表中的条目的比特进行设置以呈现任意期望的图案。尽管图1所示的设置或预先选择的图案具有简单的优点,不需要使用图1所示把分裂表条目对中的比特简单地进行串接来定义每一个分裂掩码表中的字的比特的位置。
根据优选实施例定义或产生的分裂掩码置换表能够用于加密过程,其中可以利用掩码值来使用原始置换表。如同在加密过程中以其它方式定义的那样,给分裂掩码表提供输入。分裂掩码表输出的结合在一起的数据值的数据字长度比单个(未分裂)置换表所输出的数据字长度要大。因此,当使用分裂掩码表时,除了最初定义的密码过程步骤之外,还采用数据重组步骤以获得密码过程所期望的输出。这些步骤包括:输出数据中的比特彼此适当地进行异或运算。以逐比特的方式,这个异或操作提供了基于初始置换表的掩码而得到的值。执行其它步骤以便重组这个比特组,从而把这些比特按照与输入到置换表的数据字的原始比特顺序相对应的顺序而放置。这个重新排序基于预先选择的图案,该图案用于产生定义了分裂掩码置换表的多个数据字。
图2和3中示出了分裂掩码置换表的使用示例,以及基于这些表中比特的分配排列而重组输出数据的使用示例。图2是示出了应用于特定的AES加密步骤(使用下述高性能AES的表实施方式:Dr.Brian Gladman,“A Specification for Rijndael,the AES Algorithm”,atfp.gladman.plus.com/cryptography_technology/rijndael/aes.spec.311.pdf,15 April 2003(pages 18-19))的优选实施例示例的高级表示的框图。图2示出了一组4个置换表的输入j(29)(上文提及的AES表实施方式中的值sj/tj)。在图2的示例中,AES加密过程的置换表由分裂掩码表sm1(x)、sm2(x)、sm3(x)、sm4(x)和相应的分裂掩码表sm1’(x)、sm2’(x)、sm3’(x)、sm4’(x)来表示。上文中Gladman所述的AES密码过程需要4个不同的置换表(S1、S2、S3、S4,未示出)。对这4个表进行分裂掩码操作(如图1所示)。所得结果是图2所示的两组分裂掩码置换表。
在图2的示例中,分裂掩码表中的字长为32位,而且分裂掩码表对(sm1(x)和sm1’(x)等)中的每一个都按照上文关于图1中分裂掩码表的产生所述而定义。从图2可以看出,AES输入值施加到两组分裂掩码表中的每一组,并且按照AES过程对两组表中的每一组执行加密。两组分裂掩码置换表中每一组的输出是32位的字值。每一个32位的输出数据字都作为输入而施加到m5(x)所示的合并表(图2中的表32)。这个合并表构造用于通过把r[x]^S[x]值已经处理(异或运算)的比特与r[x]^m值所处理的相应比特进行异或运算而将比特合并为32位的输出数据字。通过定义用于对字中的两个比特执行该操作的表,值m^S[x]将会有效地对作为结果的比特值进行处理。因此,效果就好像是掩码置换值(m^S[x])已经施加到输入,而不需要把掩码值直接施加到输入。
图2所示m5(x)表32的两个副本中每一个的输出字将具有每一组分裂掩码置换表所产生的32位数据字的一半位长。在图2的示例中,m5(x)表32的每一个副本的输出是具有16位长的数据字。图2中的合并框33示出了进一步的重组步骤,通过该步骤把每一个数据字的比特按照掩码置换表过程的输出(34)中正确的比特顺序而放置。在图2的示例中,由于分裂掩码表中的数据字由串接操作所限定,所以正确的比特顺序由把两个作为结果的数据值串接在一起而定义。如上文所示,其它更为复杂的比特图案可以用于定义分裂掩码表,在这些情况下,在图2所示的合并步骤33处执行所需的适合的比特映射。
图3中的框图示出了m5(x)表32的操作细节。M5(x)表32采用8位数据字作为输入,并产生4位数据字作为输出(图2示出m5(x)表32用于接受32位输入并产生16位输出,这可通过反复执行下文所述的m5(x)表32的操作来实现)。
在图3中,符号||表示串接操作。图3中的示例示出了m5(x)的输入由表示值r[x]^S[x]的一组16比特和表示值r[x]^m的另外16比特而定义。这些比特按照图3所示而排列。这个示例中的m5(x)表32定义用于接受8位输入且输出4位值。通过对r[x]^S[x]和r[x]^m的相应比特的异或运算来产生4位值。例如,图3中的8位字节50输入m5(x)表32,从而产生4位字节52。从图3可以看出,存在32位数据字的4个分离的段50、54、56、58,这些段表示图3所示sm(x)的分裂掩码置换表的输出。图3示出了对分裂掩码置换表sm(x)的输入进行异或运算而得到的值,分裂掩码置换表sm(x)的输入如图1所示而定义。如同上文中图1所述的那样,表sm(x)由r(x)^S(x)||r(x)^m而定义。因此,第一个8位字节50是表示串接的值r(x)^S(x)_0...3与r(x)^m_0..3进行异或运算后的值。当8位字节50中的两部分彼此进行异或运算时,所得结果是4位字节52,它等同于对m^S(x)_0..3进行异或运算的输入值。图3示出了按照类似于字节50的方式而定义的其它的8位字节54、56、58。
如图3所示,对字节50、54、56、58重复执行m5(x)操作的结果是,得到了由4位字节52、60、62、64组成的16位字。因此,整个结果数据字等同于用m^S[x]对输入进行异或运算,m^S[x]即由值m进行掩码的原始置换表条目。
图4示出了优选实施例的分裂掩码置换表70的刷新方式,其中不需要完整的表再生成步骤。优选实施例规定:每一次访问分裂掩码置换表70中的表条目时,使用随机掩码步骤(椭圆72所示的异或运算)对所访问的表条目进行刷新。在图4中,用条目sm[x]示出了分裂掩码置换表70,其中sm[x]被定义为r[x]^S[x]||r[x]^m,字长为w位。在访问条目sm[x]之后,该条目值由随机产生的值r(图4中的元件74、76、78所示)进行掩码,从而提供了表条目新的刷新值,其定义为r^r[x]^S[x]||r^r[x]^m。可以理解的是,由于串接值的两个部分都由同一随机值r所掩码,所以能够以直接的方式有效地去除刷新值的掩码。重组步骤对表条目中的比特执行异或运算,从而抵消刷新值的掩码r。
上述方法所允许的是:在任意一个时刻,可对分裂掩码置换表中的值进行刷新而不需要更换或重新产生整个表。由于在分裂掩码置换表访问之后为每一个刷新步骤都定义了新的掩码,所以随机定义的掩码的数目可能较大。
上文关于图1和2的描述示出了怎样使用优选实施例的方法和系统从单个原始置换表中产生两个分裂掩码置换表。然而,可以从单个原始置换表中产生多于两个的分裂掩码置换表。在优选实施例中,从单个原始置换表中可产生的分裂掩码置换表的最大实际数目将取决于使用这些表的加密过程所使用的数据字长度。
图5示出了根据优选实施例的另一个示例,其中单个原始置换表80用于产生4个分裂掩码置换表82、84、86、88(分别是sm(x)、sm’(x)、sm”(x)和sm(x))。在图5的示例中,(在发生器90处)产生了两组随机值rl(x)、r2(x),并且(在发生器92处)产生了单个掩码值m。
在图5的示例中,使用图中所示的掩码比特和未掩码随机比特的组合来定义4个分裂掩码置换表82、84、86、88。原始置换表80中的每一个条目S[x]都由为该条目s[x]产生的值r1[x]和r2[x]掩码。这由图5中的异或操作96所示,该操作产生了掩码数据字98所示的值r1[x]^r2[x]^S[x]。此外,如异或操作100所示,每一个r1[x]都由值m掩码,产生了具有值rl[x]^m的随机化掩码数据字102。在产生分裂掩码置换表82、84、86、88时,使用第二组随机值r2(x)(参见数据字104)而不进行掩码。
在图5中,以示意图的方式在106处示出了用于产生分裂掩码表82、84、86、88的值的组合。可以理解的是,106处的步骤可以由计算设备的程序代码的连续操作而执行,或可以由适合的指定硬件组件来执行。对于原始置换表80中每一个条目,如上文所述而定义的数据字98、102和104每一个都被分为4个部分,对这些部分进行组合以产生分裂表。
对于图5的示例,如106处所示,把数据字98、102、104中每一个的前8比特进行组合以提供表sm(x)中适合的24位字条目(分裂掩码置换表82)。如数据字108所示,针对sm(x)所产生的条目被定义为:r1[x]^r2[x]^S[x]、r1[x]^m和r2[x]的前8比特的串接。类似地,如图5所示,分裂掩码置换表84、86、88的条目由数据字110、112、114定义,这些数据字分别反映了r1[x]^r2[x]^S[x]、r1[x]^m和r2[x]的第二、第三和第四个8比特部分的串接。
可以看出,用于产生优选实施例的分裂掩码置换表的这种方法可能产生与原始置换表的字长不同的分裂掩码表。这可以由图5的示例看出,其中原始置换表80具有32位数据字条目S[x],而作为结果的分裂掩码置换表82、84、86、88每一个都具有24位的数据字条目。在特定的密码操作中,置换表条目的数据字长的这种变化可能不重要。
可以理解,根据优选实施例,特定数目的随机值组(即r1(x)、r2(x),...)的选择将会影响掩码操作的执行方式。如果存在n个这样的组(对应于r1(x),...rn(x)随机值组),那么存在由r1(x)^...rn(x)^s(x)定义的第一掩码操作。在用于产生分裂掩码置换表的数据字上划分出作为结果而产生的数据字。为了允许数据字的组合能够提供对原始置换表的掩码效果(S(x)^m),优选实施例所使用的分裂掩码置换表的数目为偶数。
因此,当所用的随机值组的数目n是1或3时,需要n+1个置换表。例如n=1涉及图1和2中使用随机值组r(x)且仅需要两个分裂掩码置换表(sm(x)和sm’(x))的情况。图6示出了具有3组随机值r1(x)、r2(x)、r3(x)的情况,下文将会详细描述。当使用偶数n=2、4个随机值组时,需要(n+2)个置换表。例如n=2涉及刚刚描述的情况,其中如图5所示随机值组由r1(x)和r2(x)表示,并产生了4个分裂掩码置换表。
图6示出了单个原始置换表120,用于产生分裂掩码置换表122、124、126、128(分别是sm(x)、sm’(x)、sm”(x)、sm(x))。产生这些分裂掩码表的方法类似于图5所示的方法。然而,如图所示使用了3组随机值,所产生的分裂掩码置换表中的条目是32位的字。在图6的示例中,这一点由(在发生器130处)3组随机值r1(x)、r2(x)和r3(x)的产生以及(在发生器132处)随机值m的产生而表示。与图5的示例情况相同,原始置换表120的每一个条目S[x]都由每一个所产生的随机值进行掩码。在图6的情况下,这意味着S[x]值与r1[x]、r2[x]、r3[x]中的每一个进行异或运算。因此,作为结果的数据字136具有值r1[x]^r2[x]^r3[x]^S[x]。使用每一个r1[x]对掩码值m进行掩码(异或138),从而给出具有值r1[x]^m的数据字140。如数据字142、144分别所示,不进行掩码而使用随机值r2(x)和r3(x)。
以类似于上文参考图5所述的方式来产生32位数据字分裂掩码置换表122、124、126、128。然而在图6的示例中,存在4个数据字(136、140、142、144),每一个数据字都被分为8位字节,这些8位字节用于串接以产生分裂掩码表的数据字。因此,在图6所示的方法中,将为每一个分裂掩码置换表产生32位的字。
具体地,如150处所示,把每一个数据字136、140、142、144的前8比特进行组合,从而提供分裂掩码置换表122中适合的条目。按照数据字152所示而定义sm(x)中产生的条目:该条目是r1[x]^r2[x]^r3[x]^S[x]、r1[x]^m、r2[x]和r3[x]的前8比特的串接。类似地,如图6所示,分裂掩码置换表124、126、128的条目由数据字154、156、158定义,这些数据字分别反映了r1[x]^r2[x]^r3[x]^S[x]、r1[x]^m、r2[x]和r3[x]的第二、第三和第四个8比特部分的串接(这些部分来自数据字136、140、142和144)。分裂以及随后的数据字152、154、156、158的串接导产生了分裂掩码置换表组122、124、126、128。可以看出,这些作为结果的表每一个都具有32位的数据字场长。
参考上文,图1至6中的示例示出了分裂和分裂值的串接,用于产生分裂掩码表条目。然而,优选实施例也可以不使用串接而实现,只要分裂掩码表条目包含分裂表条目比特对且这些比特对位于条目中的限定位置,从而可以对两个分裂表条目对的值进行组合,以产生正确的掩码置换表条目比特。此外,对于图2和图3所示的分裂值的合并,还可以使用m5(x)表的替代过程来实现,其中该替代过程用于创建作为结果的数值m^S[x]。例如,对于图1中的布置来说,可以使用值的16位移位以及异或操作来产生作为结果的数值m^S[x],而不使用m5(x)表。
在图5和6所示的步骤中,使用以下内容来产生作为结果的分裂掩码表条目的字:由所产生的不同的随机值组r(x)掩码的原始S盒表条目的一部分;由第一随机值m掩码的那些数值之一的一部分;以及组中所产生的其它随机值r(x)的一部分。这些分裂掩码置换表可以用于修改的密码过程,其中密码过程的输入值副本被输入所产生的分裂掩码置换表组的每一个置换表。
在密码过程的结束处,使用根据例如图5或6中的步骤的步骤所产生的分裂掩码置换表对数据进行重组,这个重组步骤将会以类似于图2和3所述步骤的方式而执行。通过适当定义的异或操作,对分裂掩码置换表组的表输出值进行合并。然后执行的步骤是:按照用于把比特置于分裂掩码置换表的条目中而定义的分配排列,把作为结果的比特重新排列为它们适合的比特顺序。类似地,可以按照关于图4的示例所描述的那样,对分裂掩码置换表条目进行刷新。
这样,以示例的方式对本发明的各个实施例进行了详细描述,对于本领域的技术人员明显的是,在不背离本发明的前提下,可以进行改变和修改。本发明包括落入所附权利要求范围内的所有这些改变和修改。
这个专利文档公开内容的一部分包含受版权保护的材料。如果专利文档或专利公开中任意一种出现在专利和商标局的专利文件或记录中,那么版权所有者不反对对其进行复制,但是在其它情况下保留所有的版权。

Claims (11)

1.一种由计算设备实现的方法,用于执行抵抗所述计算设备上的密码攻击的密码过程,所述密码过程包括基于所定义的密码过程的密码步骤,所定义的密码过程的特征在于接受输入(29)并产生输出,而且使用一个或多个原始定义的置换表(8),所述方法的特征在于接受输入(29)并产生由掩码值所掩码的与输出相对应的掩码输出,所述方法包括下列步骤:
定义掩码值(14);
将一个或多个原始定义的置换表(8)分裂,以产生一个或多个分裂置换表组,并且基于掩码值,对一个或多个分裂置换表组进行掩码,从而产生一个或多个分裂掩码表组(24、26);
通过使用每一个分裂掩码表组(24、26),对输入(29)执行密码过程中的密码步骤,从而产生分裂掩码表输出组;以及
将分裂掩码表输出组合并(32、33),从而获得掩码输出(34),
因此,所述掩码输出与由所述掩码值所掩码的所定义密码过程的输出相对应。
2.根据权利要求1所述的方法,还包括刷新步骤,即:在执行密码步骤期间,当访问每一个分裂掩码表中的每一个条目时,对该条目进行刷新,通过以下步骤来实现所述刷新步骤:定义随机刷新数据字(74),利用所述随机刷新数据字中适合的比特来对分裂掩码表条目中的每一个比特进行掩码(74)。
3.根据权利要求1或2所述的方法,其中将分裂掩码表输出组合这个步骤包括:合并步骤,之后是重组步骤(32、33)。
4.根据上述权利要求中任意一项所述的方法,其中针对每一个条目S[x]具有以比特定义的字长的数据字条目S[x],产生原始定义的置换表S(x)之一的每一个分裂掩码表组这个步骤包括以下步骤:
定义(130)n组随机值数据字r1(x)..rn(x),每一个数据字都具有限定了比特位置的比特,每一组随机值数据字包括数据字条目,使得数据字r1[x]、...、rn[x]与原始置换表中的条目相对应;以及
针对每一个条目S[x],通过以下步骤产生与S(x)相对应的分裂掩码表组,
利用随机值组中的相应数据字r1[x],...,rn[x]对数据字S[x]进行掩码(134),以定义掩码数据字(136),所述掩码数据字具有限定了比特位置的比特,
利用相应的随机值组的所选值r1[x]对掩码值进行掩码(138),以定义S[x]的随机化掩码数据字(140),它具有限定了比特位置的比特,以及
通过从掩码的数据字、随机化掩码数据字中,以及在随机值组的大小为2或更大的情况下,还从组中除了所选值r1[x]之外的随机值数据字中,选择比特来产生(150)分裂掩码表中的每一个条目,由此从原始数据字中相应限定的比特位置选出用于定义每一个分裂掩码表条目的每一个所选比特,分裂掩码置换表的条目中的每一个比特按照预先选择的图案来定义。
5.根据权利要求4所述的方法,其中通过从所述数据字中选择连续的比特来执行以下步骤:从掩码数据字中、随机化掩码数据字中,以及在随机值组的大小为2或更大的情况下,还从组中除了所选值r1[x]之外的随机值数据字中,选择比特;而且产生分裂掩码表中每一个条目这个步骤包括步骤:将选出的连续比特进行串接以形成条目。
6.根据权利要求5所述的方法,其中随机值组的大小n为1且掩码数据字和随机化掩码数据字的长度是32位,比特选择包括步骤:选择掩码数据字和随机化掩码数据字中的前16比特,通过串接形成第一分裂掩码表中的条目(20);另一比特选择包括步骤:选择掩码数据字和随机化掩码数据字中的第二16比特,通过串接形成第二分裂掩码表中的条目(22)。
7.根据权利要求4至6中任意一项所述的方法,还包括步骤:在执行密码步骤期间,当访问每一个分裂掩码表中的每一个条目时,对该条目进行刷新,通过以下步骤来实现所述刷新步骤:定义随机刷新数据字(74),利用所述随机刷新数据字中适合的比特对分裂掩码表条目中的每一个比特进行掩码(72),由此,与从掩码的数据字、随机化掩码数据字中以及在随机值组的大小为2或更大的情况下从组中除了所选值r1[x]之外的随机值数据字中选出的比特相对应的条目中的每一个比特由随机刷新数据字中的相同比特所掩码。
8.根据上述权利要求中任意一项所述的方法,其中所定义的密码过程是AES加密或解密过程。
9.一种计算设备程序产品,用于执行密码过程以抵抗密码攻击,所述计算设备程序产品包括具有计算设备可读程序产品代码的计算设备可用介质,所述程序代码可以由计算设备、仪器和/或系统的处理器执行,以实现权利要求1至8中任意一项所述的方法。
10.一种计算设备、仪器和/或系统,用于执行抵抗密码攻击的密码过程,所述密码过程包括基于所定义的密码过程的密码步骤,所定义的密码过程的特征在于接受输入并产生输出,而且使用一个或多个原始定义的置换表(8),所述加密过程的特征在于接受输入(29)并产生与输出相对应的掩码输出,所述计算设备、仪器和/或系统包括:
用于定义掩码值(14)的装置;
用于将一个或多个原始定义的置换表(8)分裂,以产生一个或多个分裂置换表组,并且基于掩码值对一个或多个分裂置换表组进行掩码,从而产生一个或多个分裂掩码表组(24、26)的装置;
用于通过使用每一个分裂掩码表组(24、26),对输入执行密码过程中的密码步骤,从而产生分裂掩码表输出组的装置,其中所述密码步骤基于所定义的密码过程;以及
用于将分裂掩码表输出组合并(32、33),从而获得掩码输出(34)的装置,所述掩码输出与由所述掩码值所掩码的所定义密码过程的输出相对应。
11.一种数据处理系统或网络,包括根据权利要求10所述的至少一个计算设备、仪器和/或系统。
CN2007100052881A 2006-03-07 2007-02-14 用于执行抵抗密码攻击的密码过程的方法和计算设备、以及数据处理系统 Active CN101034978B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06110747A EP1833190B1 (en) 2006-03-07 2006-03-07 Table splitting for cryptographic processes
EP06110747.0 2006-03-07

Publications (2)

Publication Number Publication Date
CN101034978A true CN101034978A (zh) 2007-09-12
CN101034978B CN101034978B (zh) 2013-09-04

Family

ID=36676717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100052881A Active CN101034978B (zh) 2006-03-07 2007-02-14 用于执行抵抗密码攻击的密码过程的方法和计算设备、以及数据处理系统

Country Status (6)

Country Link
EP (1) EP1833190B1 (zh)
CN (1) CN101034978B (zh)
AT (1) ATE476803T1 (zh)
CA (1) CA2578316C (zh)
DE (1) DE602006015902D1 (zh)
SG (2) SG136033A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010045843A1 (zh) * 2008-10-23 2010-04-29 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
CN103647637A (zh) * 2013-11-19 2014-03-19 国家密码管理局商用密码检测中心 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法
CN107111966A (zh) * 2014-11-10 2017-08-29 德国捷德有限公司 用于测试并且加固软件应用的方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899190B2 (en) 2004-04-16 2011-03-01 Research In Motion Limited Security countermeasures for power analysis attacks
US7848514B2 (en) 2004-05-24 2010-12-07 Research In Motion Limited Table masking for resistance to power analysis attacks
US8473751B2 (en) 2007-12-13 2013-06-25 Oberthur Technologies Method for cryptographic data processing, particularly using an S box, and related device and software
WO2009074727A1 (fr) * 2007-12-13 2009-06-18 Oberthur Technologies Procede d'acces a un sous-mot dans un mot binaire, dispositif et programme associes
PL2520041T3 (pl) * 2009-12-30 2016-09-30 Sposób generowania tabeli korelacji dla białej skrzynki kryptograficznej
EP2363974A1 (en) * 2010-02-26 2011-09-07 Research In Motion Limited Variable table masking for cryptographic processes
DE102012018924A1 (de) 2012-09-25 2014-03-27 Giesecke & Devrient Gmbh Seitenkanalgeschützte Maskierung
CN103413084B (zh) * 2013-07-22 2016-07-06 中国联合网络通信集团有限公司 密码框显示内容的控制方法及装置
CN107547194A (zh) * 2016-06-28 2018-01-05 埃沙尔公司 免受侧信道分析的保护方法和设备
CN115348066B (zh) * 2022-08-05 2023-03-28 昆仑数智科技有限责任公司 数据加密传输方法、装置及电子设备、存储介质
JP2024053189A (ja) * 2022-10-03 2024-04-15 キヤノン株式会社 暗号処理装置、暗号処理装置の暗号処理方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4596686B2 (ja) * 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
US7899190B2 (en) * 2004-04-16 2011-03-01 Research In Motion Limited Security countermeasures for power analysis attacks
ATE345620T1 (de) * 2004-05-24 2006-12-15 Research In Motion Ltd Tabellenmaskierung zur beständigkeit gegen angriffe durch analyse der leistungsaufnahme.

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010045843A1 (zh) * 2008-10-23 2010-04-29 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
CN101729241B (zh) * 2008-10-23 2012-01-25 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
CN103647637A (zh) * 2013-11-19 2014-03-19 国家密码管理局商用密码检测中心 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法
CN103647637B (zh) * 2013-11-19 2017-01-04 国家密码管理局商用密码检测中心 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法
CN107111966A (zh) * 2014-11-10 2017-08-29 德国捷德有限公司 用于测试并且加固软件应用的方法

Also Published As

Publication number Publication date
CA2578316C (en) 2011-11-08
CN101034978B (zh) 2013-09-04
DE602006015902D1 (de) 2010-09-16
CA2578316A1 (en) 2007-09-07
SG136033A1 (en) 2007-10-29
ATE476803T1 (de) 2010-08-15
SG157375A1 (en) 2009-12-29
EP1833190A1 (en) 2007-09-12
EP1833190B1 (en) 2010-08-04

Similar Documents

Publication Publication Date Title
CN101034978B (zh) 用于执行抵抗密码攻击的密码过程的方法和计算设备、以及数据处理系统
Wang et al. A novel and effective image encryption algorithm based on chaos and DNA encoding
US7720225B2 (en) Table splitting for cryptographic processes
EP3154217B1 (en) Scrambled tweak mode of block ciphers for differential power analysis resistant encryption
Xiao et al. A chaos-based hash function with both modification detection and localization capabilities
US8619985B2 (en) Table splitting for cryptographic processes
CN101383703B (zh) 基于广义信息域的动态加解密方法
Li et al. Cryptanalysis of a novel bit-level color image encryption using improved 1D chaotic map
Riman et al. Comparative analysis of block cipher-based encryption algorithms: a survey
CN101022331B (zh) 一种基于载体的混沌加密方法
Chen et al. Cryptanalysis of a chaotic image cipher based on plaintext-related permutation and lookup table
Nkapkop et al. A fast image encryption algorithm based on chaotic maps and the linear diophantine equation
Siswanto et al. Chaotic-based encryption algorithm using henon and logistic maps for fingerprint template protection
Gupta et al. Ensuring data security in databases using format preserving encryption
Kar et al. An improved data security using DNA sequencing
CN106921486A (zh) 数据加密的方法和装置
Muhalhal et al. A hybrid modified lightweight algorithm for achieving data integrity and confidentiality
Luo et al. Research of chaos encryption algorithm based on logistic mapping
Dweik et al. A survey of lightweight image encryption for IoT
Jeddi et al. Redundant bit security in RFIDs: Architecture design and security performance evaluation
Liu et al. Secure storage and fuzzy query over encrypted databases
Chen et al. Research on Improved Data Encryption Algorithm Based on AES
Wang et al. Improved DES algorithm based on irrational numbers
Lan et al. A Color Image Encryption Algorithm Based on Improved DES
CN201252558Y (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