本发明专利技术公开一种生成认证码的方法及相关的加密处理装置。在生成与包括多个有序的数据块(C
【技术实现步骤摘要】
生成认证码的方法及相关的加密处理装置
本专利技术总体涉及用于认证加密的加密算法领域。本专利技术具体涉及认证码的生成方法及相关的加密处理装置。
技术介绍
诸如所谓的GCM(即“伽罗瓦计数器模式”)算法的认证加密算法是公知的。在这种加密算法中,将用于生成包括多个有序的数据块的加密数据的分组加密算法与生成和加密数据相关的认证码的算法相结合。例如,期望在GCM算法的框架内,针对每个数据块根据将组合码与乘数相乘后取得的第一乘积确定输出码(在相关伽罗瓦域内),该组合码本身可通过输入码与相关数据块的异或组合取得。
技术实现思路
在此上下文中,该专利技术提供一种生成与包括多种有序数据块的数据(例如加密数据)相关的认证码的方法,其中针对每个数据块,根据所述组合码与乘数相乘之后取得的第一乘积确定输出码(在相关伽罗瓦域内),该组合码通过输入码与相关数据块的异或组合取得,特征在于,该方法包括以下步骤:确定掩码的步骤、确定校正码的步骤,校正码等于掩码与掩码乘以乘数之后取得的第二乘积的异或组合,以及对于每个数据块,通过多个数据的异或组合确定输出码,多个数据包括第一乘积以及与数据块相关的校正码。实际上,专利技术者已认识到,介绍中提出的认证加密算法可能是附加通道的攻击对象以获取能够用于后续生成错误认证码的乘数。以上提出的方法能够以掩蔽的形式操作数据(至少通过掩码)。校正码的使用(尤其是在确定输出码期间应用)还可以在整个过程中使掩码保持不变,不论是否使用乘法(理论上来讲,乘法意味着相乘之后掩码的更新,这意味着昂贵的计算成本)。需要注意,上述提出的乘法是在伽罗瓦域内的乘法,准确来讲是Cardinal伽罗瓦域2l,其中l是上述每个数据块(和/或输入码和/或输出码和/或乘数和/或校正码和/或认证码)的位长度。其他可选特征如下:-对于每个数据块,输入码被掩码掩蔽;-对于至少一个数据块,输入码等于由先前数据块确定的输出码;-对于第一数据块,输入码根据认证数据及乘数取得;-方法包括认证数据的至少一部分与掩码进行异或组合的步骤;-根据掩码及针对最后的数据块获得的输出码确定认证码;-输入码和/或所述组合码和/或输出码和/或掩码的长度为128位。根据一个可能的实施方式(其示例由以下参考图4参考描述),方法可包括以下步骤:-确定初始附加掩码;-将初始附加掩码作为当前掩码存储在存储器中;-对于每个数据块,读取存储器中的当前掩码,获得当前掩码与乘数相乘后取得的第三乘积,将第三乘积作为新的当前掩码存储在存储器中。如果使用多个掩码,则如上所述在整个过程中存储掩码,并且附加掩码在乘法之后更新。换句话说,方法包括以下几个步骤:-确定第一掩码数集及第二掩码数集,其中第一掩码集包括掩码,-确定第一掩码集的每个掩码的校正码,该校正码等于相关掩码与相关掩码乘以乘数之后取得的乘积的异或组合。对于每个数据块,根据与数据块相关的第一乘积与和第一掩码集的掩码相关的校正码进行异或组合而确定输出码。因此整个过程中都需要保存第一掩码集的掩码。为确定每个输出码,方法还包括将第二掩码集的每个掩码乘以乘数之后更新第二掩码集的掩码的步骤。为优化处理时间与安全性之间的平衡关系,例如可以使第二掩码集的掩码数量与第一掩码集的掩码数量之间的差值为0或1。该专利技术还提供包括加密模块的加密处理装置,该加密处理装置被设计为生成包括多个有序的数据块的数据(诸如加密数据);以及认证模块,用于生成与上述数据相关的认证码,其中,认证模块被设计为通过输入码和相关的数据块的异或组合取得每个数据块的所述组合码并根据所述组合码乘以乘数之后取得的第一乘积确定输出码,特征在于包括掩码确定单元和校正码确定单元,校正码等于掩码和掩码乘以乘数之后获取的第二乘积的异或组合,并且对于每个数据块,认证模块通过多个数据的异或组合而确定输出码,多个数据包括第一乘积以及与数据块相关的校正码。上述所展示的方法的可选特征可以适用于这种装置。附图说明参照附图的以下描述提供了非限制性示例,其使得本专利技术的构成以及实现方式变得清晰,在附图中:-图1示意性地示出了实现本专利技术的电子实体的主要元件;-图2是图1的电子实体的元件的功能性表示;-图3示出了根据本专利技术的生成认证码的方法的第一示例;以及-图4示出了根据本专利技术的生成认证码的方法的第二示例。具体实施方式图1示意性地示出了实现本专利技术的电子实体1的主要元件。例如,该电子实体是微电路板,诸如通用集成电路卡(UICC或“通用集成电路卡”)。可选地,可以是安全元件(或“安全元件”SE)—例如安全微控制器;例如,这种安全元件集成到诸如通信终端或电子护照的便携式电子装置(或英文名称“手持式电子装置”)中。根据其他变型,电子实体1可以是计算机或硬件安全模块(或“硬件安全模块”HSM)。电子实体1包括处理器2(本文指微处理器)、随机存取存储器4及可写入非易失性存储器6(例如“电可擦除可编程只读存储器”EEPROM型)。电子实体1可以还包括只读存储器。随机存取存储器4及可写入非易失性存储器6(以及如果合适的话,固定存储器)均与处理器2相连接,以使得处理器2可在这些存储器的每一个中读取或写入数据。这些存储器中的一个存储器(例如可写入非易失性存储器6)存储计算机程序指令,当一些指令被处理器2执行时,允许实现下面参考图3至图4描述的方法中的一种。随机存取存储器4及可写入非易失性存储器6还存储表示在实现该方法时使用的数值的数据。可写入非易失性存储器6特别存储加密密钥K(如以下描述所使用的)。如下所述,电子实体1被设计为使用存储在电子实体1的随机存取存储器4及可写入非易失性存储器6中以及可由电子实体的处理器2执行的一些指令执行生成认证码T(英语:“认证标志)的方法。此处,这种方法包括至少一个加密处理步骤(例如,通过使用加密密钥K应用加密密码算法而加密数据块Di的步骤)。因此,电子实体1是加密处理装置。电子实体1还包括与外部电子装置相接的通信接口8。例如在本文描述的电子实体1是微电路板的情况下,通信接口8包括在微电路板的一侧裸露的触点。可选地,通信接口8可以由非接触通信模块实现。通常,通信接口8可以是与其他电子实体相接的(有线或无线)通信模块。在一些实施方式中,因此,处理器2可通过通信接口8从其他电子实体接收数据(此处为由m个数据块Ai构成的认证数据A和/或n个数据块Di构成的待加密的数据D)和/或通过通信接口8向其他电子实体输出其他数据(此处例如,n个数据块Ci组成的加密数据C及/或以下描述的生成的认证码T)。下面描述根据GCM算法(即“伽罗瓦域计数器模式”)对待加密的数据D进行分组加密并生成加密数据C的认证码T(仅认证)及认证数据A的方案。待加密的数据D的n个(有序)数据块Di、(以及加密数据C的n个(有序)数据块Ci)、认证数据A的m本文档来自技高网...
【技术保护点】
1.一种用于生成认证码(T)的方法,所述认证码与包括多个有序的数据块(C
【技术特征摘要】
20180924 FR 18586421.一种用于生成认证码(T)的方法,所述认证码与包括多个有序的数据块(Ci)的数据相关,其中,对于每个所述数据块(Ci),根据将组合码和乘数(H)相乘之后获得的第一乘积确定输出码(Xm+i),所述组合码通过输入码(Xm+i-1)和相关的数据块(Ci)的异或组合获得,其特征在于,所述方法包括以下:
确定掩码(M;Mt)的步骤(E4;E54)以及确定校正码(P;Pt)的步骤(E6;E56),所述校正码(P;Pt)等于所述掩码(M;Mt)与所述掩码(M;Mt)乘以所述乘数(H)之后取得的第二乘积(M·H;Mt·H)的异或组合,以及
对于每个所述数据块(Ci),所述输出码(Xm+i)由多个数据的异或组合确定,所述多个数据包括第一乘积以及与所述数据块(Ci)相关的所述校正码(P;Pt)。
2.根据权利要求1所述的方法,其中,对于每个所述数据块(Ci),所述输入码(Xm+i-1)由所述掩码(M;Mt)掩蔽。
3.根据权利要求1或2所述的方法,其中,对于至少一个所述数据块(Ci),所述输入码等于由先前数据块确定的输出码。
4.根据权利要求1至3中任一项所述的方法,其中,对于第一数据块(Ci),根据认证数据(A)与所述乘数(H)获得输入码(Xm)。
5.根据权利要求4所述的方法,包括所述认证数据(A)的至少一部分(A1)与所述掩码(M;Mt)进行异或组合的步骤。
6.根据权利要求1至5中任一项所述的方法,其中,由所述掩码(M;Mt)与针对最后的数据块(Cn)获得的输出码(Xm+n)确定所述认证码。
7.根据权利要求1至6中任一项所述的方法,所述方法包括以下步骤:
-确定(E54)初始附加掩码(M1);
-将初始附加掩码(M1)作为当前掩码存储在存储器中;
-对于每个所述数据块(Ci),读取所述存储器中的当前掩码(M1),通过将当前掩码(M1)与所述乘数(H)相乘取得第三乘积(M1·H),将所述第三乘积(M1·H)作为新的当...
【专利技术属性】
技术研发人员:弗兰克·隆德皮埃尔,吉勒·皮雷,
申请(专利权)人:艾德米亚法国,
类型:发明
国别省市:法国;FR
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。