CN108028756B - 消息认证码生成装置、消息认证码生成方法和记录介质 - Google Patents

消息认证码生成装置、消息认证码生成方法和记录介质 Download PDF

Info

Publication number
CN108028756B
CN108028756B CN201580083257.0A CN201580083257A CN108028756B CN 108028756 B CN108028756 B CN 108028756B CN 201580083257 A CN201580083257 A CN 201580083257A CN 108028756 B CN108028756 B CN 108028756B
Authority
CN
China
Prior art keywords
value
bit
authentication code
key
message
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
CN201580083257.0A
Other languages
English (en)
Other versions
CN108028756A (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 CN108028756A publication Critical patent/CN108028756A/zh
Application granted granted Critical
Publication of CN108028756B publication Critical patent/CN108028756B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

消息认证码生成装置(10)针对各整数i,将根据消息M生成的值m’[i]和密钥K作为输入,通过块加密E计算值c[i]。消息认证码生成装置(10)将与各整数i有关的值c[i]作为输入,计算维持着值c[i]的随机数性的值w[1]、值w[2]和值w[3]。消息认证码生成装置(10)将值w[2]和密钥K作为输入,通过固定密钥K时成为置换函数的函数e计算值K’,将值w[1]和值K’作为输入,通过块加密E计算值c,将值w[3]和值c作为输入,通过固定值w[3]时成为置换函数的函数d计算认证码T。

Description

消息认证码生成装置、消息认证码生成方法和记录介质
技术领域
本发明涉及利用块加密而安全且高效地生成消息的认证码的技术。
背景技术
如果使用消息认证算法,则在两者之间交换消息的情况下,接收者能够确认所发送的消息是否被篡改。
在使用消息认证算法进行篡改检测的情况下,在两者之间预先共用密钥K。消息的发送者根据消息M和密钥K生成消息M的认证码T,向接收者发送消息M和认证码T。消息的接收者根据接收到的消息M和密钥K生成认证码T’。如果接收到的认证码T和所生成的认证码T’一致,则接收者判断为未被篡改,如果不一致,则接收者判断为被篡改。
消息认证算法的安全性用与随机函数之间的不可识别性表示。
消息认证算法F满足不可识别性意味着,考虑与现实世界和理想世界中的任意一方进行对话的识别者D,无法确定识别者D与哪一方进行对话。
在现实世界中,随机选择密钥K,识别者D选择消息M,能够得到F(K,M)的消息认证码。在理想世界中,针对随机函数R,识别者D选择消息M,能够得到R(M)的输出值。这里,识别者D能够多次选择消息M,能够得到与选择出的消息M对应的F(K,M)或R(M)的输出值。
更严格地讲,考虑输出1比特的值的识别者D。根据识别者D在现实世界中输出1的概率与识别者D在理想世界中输出1的概率之差,对消息认证算法F的不可识别性进行评价。
识别者D在现实世界中能够得到多个消息认证算法F的输出,在理想世界中能够得到多个随机函数R的输出。此时,针对任意的识别者D,在上述概率之差为p以下且p是能够忽略的较小值的情况下,消息认证算法F满足不可识别性。该p被称作识别概率。
块加密E将k比特的密钥K和n比特的明文m作为输入,输出n比特的密文c。即,c=E(K,m)。以下设k≧n。块加密E在固定密钥时成为输入输出长度为n比特的置换函数。
在非专利文献4~6中记载有块加密。
存在基于块加密的消息认证算法。在基于块加密的消息认证算法中,消息M被分割成每n比特的消息块,按照分割后的每个消息块实施块加密的计算。
以下说明的调用次数、并列性、密钥大小影响着基于块加密的消息认证算法的有效性。
调用次数:有效性根据为了对n比特的消息块进行计算而调用几次块加密而变化。在针对n比特的消息块调用x次块加密的情况下,1/x被称作速率。该速率越接近1,则块加密的调用次数越少,效率越高。
并列性:在算法能够进行并列处理的情况下,通过并列进行硬件或多核的运算能够缩短计算时间,效率较高。
密钥大小:消息认证算法的密钥大小根据使用几个内部的块加密的密钥而变化。密钥大小最小的情况是块加密的密钥K仅为一个的情况。即,仅使用一个k比特的密钥K进行处理的情况。
在对基于块加密的消息认证算法的识别概率进行评价的情况下,假设块加密是理想的块加密,或者密钥K固定的块加密E(K,·)是随机置换。
根据块加密E的密文c的大小n比特、识别者D能够得到的消息认证算法的输出的个数q、针对消息认证算法的输入消息的最大长度除以n而得到的值bmax,求出识别概率p。这里,在设输入消息的最大长度为lmax比特的情况下,bmax=lmax/n。利用成为p=1的bmax×q的值对消息认证算法的安全性进行评价,该值越大,则越是安全的算法。
在非专利文献1、2中记载有密钥大小为k比特、能够进行并列处理、速率为1的基于块加密的消息认证算法。
非专利文献1中记载的消息认证算法示出,在将密钥K固定的块加密E置换成随机置换的情况下,p=(bmax×q)2/2n。即,在bmax×q=2n/2的情况下,p=1。
在非专利文献3中记载有对非专利文献1、2的安全性改良后的基于块加密的消息认证算法。非专利文献3中记载的消息认证算法使用3个k比特的密钥,因此,密钥大小为3k比特,能够进行并列处理,速率为1。
非专利文献3中记载的消息认证算法示出,在将密钥K固定的块加密E置换成随机置换的情况下,p=(bmax×q)3/22n。即,在bmax×q=22n/3的情况下,p=1。
现有技术文献
非专利文献
非专利文献1:John Black and Phillip Rogaway.A Block-Cipher Mode ofOperation for Parallelizable Message Authentication.EUROCRYPT 2002.p384-397.
非专利文献2:Phillip Rogaway.Efficient Instantiations of TweakableBlockciphers and Refinements to Modes OCB and PMAC.ASIACRYPT 2004.p16-31.
非专利文献3:Kan Yasuda.A New Variant of PMAC:Beyond the BirthdayBound.CRYPTO 2011.p596-609.
非专利文献4:AES-Advanced Encryption Standard-FIPS PUB 197.
非专利文献5:Camellia http://www.cryptrec.go.jp/cryptrec_03_spec_cypherlist_files/PDF/06_01jspec.pdf
非专利文献6:MISTY1http://www.mitsubishielectric.co.jp/corporate/randd/information_technology/security/code/pdf/misty_j.pdf
发明内容
发明要解决的课题
非专利文献3中记载的消息认证算法与非专利文献1、2中记载的消息认证算法相比,安全性较高,但是,密钥大小较大。
本发明的目的在于,与非专利文献1中记载的消息认证算法相比,能够实现提高安全性并且不会使效率劣化的基于块加密的消息认证算法。
用于解决课题的手段
本发明的消息认证码生成装置具有:随机化部,其针对i=1,...,b的各整数i,将根据消息M生成的n比特的值m’[i]和k比特的密钥K作为输入,通过块加密计算具有随机数性的n比特的值c[i];压缩部,其将与i=1,...,b的各整数i有关的所述值c[i]作为输入,计算维持着所述值c[i]的随机数性的n比特的值w[1]、k比特的值w[2]和n比特的值w[3];以及认证码生成部,其将所述值w[2]和所述密钥K作为输入,通过固定所述密钥K时成为置换函数的函数e计算k比特的值K’,将所述值w[1]和所述值K’作为输入,通过块加密计算n比特的值c,将所述值w[3]和所述值c作为输入,通过固定所述值w[3]时成为置换函数的函数d计算所述消息M的认证码T。
发明效果
在本发明中,与非专利文献1中记载的消息认证算法相比,能够实现提高安全性并且具有同等效率的消息认证算法。
附图说明
图1是实施方式1的消息认证码生成装置10的结构图。
图2是示出实施方式1的消息认证码生成装置10的动作的流程图。
图3是通过实施方式1的消息认证码生成装置10实现的消息认证算法的结构图。
图4是通过软件实现各功能时的消息认证码生成装置10的结构图。
图5是通过实施方式2的消息认证码生成装置10实现的消息认证算法的结构图。
图6是通过实施方式3的消息认证码生成装置10实现的消息认证算法的结构图。
具体实施方式
实施方式1
***结构的说明***
图1是实施方式1的消息认证码生成装置10的结构图。
消息认证码生成装置10具有处理电路11。处理电路11是实现填充部110、分割部120、副密钥计算部130、加工部140、随机化部150、压缩部160、认证码生成部170、控制部180的各功能的专用电子电路。
假设处理电路11为单一电路、复合电路、程序化的处理器、并列程序化的处理器、逻辑IC、GA、ASIC、FPGA。GA是Gate Array(门阵列)的简称。ASIC是Application SpecificIntegrated Circuit(面向特定用途的集成电路)的简称。FPGA是Field-ProgrammableGate Array(现场可编程门阵列)的简称。
可以通过一个处理电路11实现各功能,也可以在多个处理电路11中分散实现各功能。
表示通过处理电路11实现的各功能的处理结果的信息、数据、信号值、变量值存储在处理电路11内的寄存器这样的存储区域中。
***动作的说明***
图2是示出实施方式1的消息认证码生成装置10的动作的流程图。
图3是通过实施方式1的消息认证码生成装置10实现的消息认证算法的结构图。在图3中虚线包围的处理通过对虚线标注的标号所示的功能实现。
实施方式1的消息认证码生成装置10的动作相当于实施方式1的消息认证码生成方法。并且,实施方式1的消息认证码生成装置10的动作相当于实施方式1的消息认证码生成程序的处理。
在步骤S101的填充处理中,填充部110将任意长度的消息M作为输入,通过单射函数pad生成n比特的b倍的比特数的值M’。b是1以上的整数。
在步骤S102的分割处理中,分割部120将在步骤S101中生成的值M’作为输入,通过函数div,从开头起按照每n比特对值M’进行分割,生成与i=1,...,b的各整数i有关的值m[i]。即,M’=m[1]||m[2]||...||m[b]。||意味着比特串的结合。
在步骤S103的变量设定处理中,控制部180对变量i设定1作为初始值。
在步骤S104的变量判定处理中,控制部180判定变量i是否为b以下。在变量i为b以下的情况下(步骤S104:是),控制部180使处理进入步骤S105。另一方面,在变量i大于b的情况下(步骤S104:否),控制部180使处理进入步骤S109。
在步骤S105的副密钥计算处理中,副密钥计算部130将密钥K和变量i作为输入,通过函数f计算n比特的副密钥L[i]。
在步骤S106的加工处理中,加工部140将在步骤S102中生成的值m[i]和在步骤S105中生成的副密钥L[i]作为输入,通过固定副密钥L[i]时成为置换函数的函数g计算n比特的值m’[i]。
在步骤S107的随机化处理中,随机化部150针对变量i,将在步骤S106中生成的n比特的值m’[i]和k比特的密钥K作为输入,通过块加密E计算具有随机数性的n比特的值c[i]。
块加密E是将k比特的密钥K和n比特的明文m作为输入而输出具有随机数性的n比特的密文c的块加密的函数。与各变量i有关的运算中使用的块加密E可以是相同的函数,也可以是不同的函数。
在步骤S108的变量相加处理中,控制部180对变量i加上1。然后,控制部180使处理返回步骤S104。
即,在步骤S105中,副密钥计算部130针对i=1,...,b的各整数i,将密钥K和整数i作为输入,通过函数f计算副密钥L[i]。
并且,在步骤S106中,加工部140使用根据消息M生成的与i=1,...,b的各整数i有关的n比特的值m[i]、根据密钥K生成的与i=1,...,b的各整数i有关的n比特的副密钥L[i]。然后,加工部140针对i=1,...,b的各整数i,将值m[i]和副密钥L[i]作为输入,通过固定副密钥L[i]时成为置换函数的函数g计算值m’[i]。
并且,在步骤S107中,随机化部150针对i=1,...,b的各整数i,将根据消息M生成的n比特的值m’[i]和k比特的密钥K作为输入,通过块加密E计算具有随机数性的n比特的值c[i]。
接着,在步骤S109的压缩处理中,压缩部160将与i=1,...,b的各整数i有关的值c[i]作为输入,通过函数h计算维持着值c[i]的随机数性的n比特的值w[1]、k比特的值w[2]、n比特的值w[3]。
另外,压缩部160也可以除了与i=1,...,b的各整数i有关的值c[i]以外还将消息M作为输入,计算值w[1]、k比特的值w[2]、n比特的值w[3]。
在步骤S110的密钥转换处理中,认证码生成部170将在步骤S109中计算出的值w[2]和密钥K作为输入,通过固定密钥K时成为置换函数的函数e计算k比特的值K’。
在步骤S111的加密处理中,认证码生成部170将在步骤S109中计算出的值w[1]和在步骤S110中计算出的值K’作为输入,通过块加密E计算n比特的值c。
在步骤S111的运算中使用的块加密E可以是与在步骤S107的运算中使用的块加密E相同的函数,也可以是不同的函数。
在步骤S112的认证码计算处理中,认证码生成部170将在步骤S109中计算出的值w[3]和在步骤S111中计算出的值c作为输入,通过固定值w[3]时成为置换函数的函数d计算n比特的值T’。认证码生成部170将n比特的值T’中的t比特作为消息M的认证码T。也可以提取值T’的某个部分的t比特作为认证码T。另外,t≦n。
另外,步骤S110~步骤S112的处理是认证码生成处理。
***实施方式1的效果***
如上所述,实施方式1的消息认证码生成装置10实现基于块加密的消息认证算法。
特别地,实施方式1的消息认证码生成装置10实现的消息认证算法仅使用一个k比特的密钥K作为密钥,因此,密钥大小为k比特。并且,消息认证算法能够针对i=1,...,b的各整数i并列执行一部分处理。并且,消息认证算法针对n比特的消息块仅调用一次块加密,因此速率为1。
即,在实施方式1的消息认证码生成装置10实现的消息认证算法中,密钥大小为k比特,能够进行并列处理,速率为1。
并且,在实施方式1的消息认证码生成装置10实现的消息认证算法中,在以下条件下,安全性成为p=(bmax×q)/2n。条件是如下情况:块加密E是理想的块加密,并且,如果密钥K固定的函数f的输出为bmax×q<2n,则无法识别为随机数,并且,在函数h的输出为bmax×q<2n的情况下,无法识别为随机数。
即,实施方式1的消息认证码生成装置10实现的消息认证算法在bmax×q=2n的情况下,p=1。
***其他结构***
在上述说明中,设消息认证码生成装置10具有实现各功能的专用电子电路即处理电路11。这里,各功能是填充部110、分割部120、副密钥计算部130、加工部140、随机化部150、压缩部160、认证码生成部170、控制部180的功能。但是,各功能也可以通过软件实现。
图4是通过软件实现各功能时的消息认证码生成装置10的结构图。
消息认证码生成装置10是计算机。
消息认证码生成装置10具有处理器12和存储装置13这样的硬件。处理器12经由信号线而与其它硬件连接,对这些其他硬件进行控制。
在存储装置13中存储有实现各功能的程序。该程序读入到处理器12中,通过处理器12来执行。
处理器12是进行处理的IC。IC是Integrated Circuit(集成电路)的简称。具体而言,处理器12是CPU、DSP、GPU。CPU是Central Processing Unit(中央处理单元)的简称。DSP是Digital Signal Processor(数字信号处理器)的简称。GPU是Graphics ProcessingUnit(图形处理单元)的简称。
具体而言,存储装置13是ROM、RAM、闪存、HDD。ROM是Read Only Memory(只读存储器)的简称。RAM是Random Access Memory(随机存取存储器)的简称。HDD是Hard DiskDrive(硬盘驱动器)的简称。
表示通过处理器12实现的各功能的处理结果的信息、数据、信号值、变量值存储在存储装置13或处理器12内的寄存器或缓存这样的存储区域中。
另外,在上述说明中,设实现通过处理器12实现的各功能的程序存储在存储装置13中。但是,该程序也可以存储在磁盘、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD等移动存储介质中。
并且,在图4中示出一个处理器12。但是,处理器12也可以是多个,多个处理器12协作执行实现各功能的程序。
并且,也可以通过硬件实现一部分功能,通过软件实现其他功能。并且,也可以通过固件实现各功能。
将处理电路11、处理器12、存储装置13统称作“处理电路系统”。即,各功能通过处理电路系统实现。
并且,也可以将上述说明中的“部”改写成“工序”或“步骤”或“处理”。
实施方式2
在实施方式2中,说明将实施方式1中的各函数具体化而成的结构。
在实施方式2中,对与实施方式1的不同之处进行说明。
根据图2对实施方式2的消息认证码生成装置10的动作进行说明。
图5是通过实施方式2的消息认证码生成装置10实现的消息认证算法的结构图。与图3同样,在图5中虚线包围的处理通过对虚线标注的标号所示的功能实现。
实施方式2的消息认证码生成装置10的动作相当于实施方式2的消息认证码生成方法。并且,实施方式2的消息认证码生成装置10的动作相当于实施方式2的消息认证码生成程序的处理。
在步骤S101的填充处理中,填充部110将消息M作为输入,通过函数pad生成值M’。这里,填充部110在消息M的后方附加1,在其后方附加0的比特串,生成长度为n比特的b倍的比特数的值M’。附加的0的个数为0个以上,并且是值M’为n的倍数的最小数量。填充部110也可以使1和0相反,在消息M的后方附加0,在其后方附加1的比特串。
步骤S102~步骤S104的处理与实施方式1相同,因此省略说明。
在步骤S105的副密钥计算处理中,副密钥计算部130将密钥K和变量i作为输入,通过函数f计算n比特的副密钥L[i]。这里,首先,副密钥计算部130将n比特的固定值const[1]和密钥K作为输入,通过块加密E计算n比特的值L。接着,副密钥计算部130针对变量i,使用值x计算(L×xi)而作为副密钥L[i]。
在设N=2n的情况下,这里的乘法运算是由N个元素构成的有限体上的乘法运算。并且,值x是有限体上的元素,具有x,x2,...,xN-1全部为不同值的性质,L[i]能够利用n比特的值来表现。值xi是在该有限体上乘以i次值x而得到的值。
在步骤S105的运算中使用的块加密E可以是与在步骤S107和步骤S111的运算中使用的块加密E相同的函数,也可以是不同的函数。
在步骤S106的加工处理中,加工部140将在步骤S102中生成的值m[i]和在步骤S105中生成的副密钥L[i]作为输入,通过函数g计算值m’[i]。这里,加工部140计算副密钥L[i]与值m[i]的异或而计算值m’[i]。
步骤S107~步骤S108的处理与实施方式1相同,因此省略说明。
在步骤S109的压缩处理中,压缩部160将与i=1,...,b的各整数i有关的值c[i]作为输入,通过函数h计算n比特的值w[1]、k比特的值w[2]、n比特的值w[3]。
这里,首先,压缩部160使用值y计算与i=1,...,b的各整数i有关的(c[i]×yb -(i-1))的异或而作为值w。然后,压缩部160计算与i=1,...,b的各整数i有关的值c[i]与值w的异或而作为值w[1]。并且,压缩部160对值w连结(k-n)比特的固定值const[2]而作为值w[2]。并且,压缩部160将值w作为所述值w[3]。
即,首先,压缩部160计算w=(c[1]×yb)xor(c[2]×yb-1)xor...xor(c[b-1]×y2)xor(c[b]×y)。然后,压缩部160计算w[1]=c[1]xor c[2]xor...xor c[b-1]xor c[b]xorw。并且,压缩部160使用(k-n)比特的固定值const[2]计算w[2]=w||const[2]。并且,压缩部160设w[3]=w。
在设N=2n的情况下,这里的乘法运算是由N个元素构成的有限体上的乘法运算。并且,值y是有限体上的元素,具有y,y2,...,yN-1全部为不同值的性质,w能够利用n比特的值来表现。值yi是在该有限体上乘以i次值y而得到的值。
另外,在计算值w[2]时,附加const[2]的位置也可以是w的后方以外的位置。
在步骤S110的密钥转换处理中,认证码生成部170将在步骤S109中计算出的值w[2]和密钥K作为输入,通过函数e计算k比特的值K’。这里,认证码生成部170计算值w[2]与密钥K的异或而计算值K’。
步骤S111的处理与实施方式1相同,因此省略说明。
在步骤S112的认证码计算处理中,认证码生成部170将在步骤S109中计算出的值w[3]和在步骤S111中计算出的值c作为输入,通过函数d计算消息M的认证码T。这里,认证码生成部170计算值w[3]与值c的异或而计算值T’,将值T’的t比特作为认证码T。也可以提取值T’的某个部分的t比特作为认证码T。
另外,在步骤S105的函数f和步骤S109的函数h中使用的有限体可以是相同体,也可以是不同体。
***实施方式2的效果***
如上所述,实施方式2的消息认证码生成装置10实现基于块加密的消息认证算法。
在实施方式2的消息认证码生成装置10实现的消息认证算法中,密钥大小为k比特,能够进行并列处理,速率为1。并且,在实施方式2的消息认证码生成装置10实现的消息认证算法中,在实施方式1所述的条件下,在bmax×q=2n的情况下,p=1。
实施方式3
在实施方式2说明的结构中,在消息M为n比特的倍数的比特数的情况下,也通过填充部110对消息M附加比特。实施方式3与实施方式2的不同之处在于,在消息M为n比特的倍数的比特数的情况下,不对消息M附加比特。
在实施方式3中,对与实施方式2的不同之处进行说明。
根据图2对实施方式3的消息认证码生成装置10的动作进行说明。
图6是通过实施方式3的消息认证码生成装置10实现的消息认证算法的结构图。与图5同样,在图6中虚线包围的处理通过对虚线标注的标号所示的功能实现。
实施方式3的消息认证码生成装置10的动作相当于实施方式3的消息认证码生成方法。并且,实施方式3的消息认证码生成装置10的动作相当于实施方式3的消息认证码生成程序的处理。
在步骤S101的填充处理中,填充部110将消息M作为输入,通过函数pad生成值M’。
这里,填充部110在消息M不是n比特的倍数的比特数的情况下,在消息M的后方附加1,在其后方附加0的比特串,生成长度为n比特的b倍的比特数的值M’。附加的0的个数为0个以上,并且是值M’为n的倍数的最小数量。填充部110也可以在消息M的后方附加0,在其后方附加1的比特串。
另一方面,填充部110在消息M是n比特的倍数的比特数的情况下,将消息M直接作为值M’。
步骤S102~步骤S108的处理与实施方式2相同,因此省略说明。
在步骤S109的压缩处理中,压缩部160将与i=1,...,b的各整数i有关的值c[i]作为输入,通过函数h计算n比特的值w[1]、k比特的值w[2]、n比特的值w[3]。
这里,首先,压缩部160在消息M是n比特的倍数的比特数的情况下,使用值y、z计算与i=1,...,b的各整数i有关的(c[i]×z×yb-i)的异或而作为值w。另一方面,压缩部160在消息M不是n比特的倍数的比特数的情况下,使用值y计算与i=1,...,b的各整数i有关的(c[i]×yb-(i-1))的异或而作为值w。
然后,压缩部160计算与i=1,...,b的各整数i有关的值c[i]与值w的异或而作为值w[1]。并且,压缩部160对值w连结(k-n)比特的固定值const[2]而作为值w[2]。并且,压缩部160将值w作为所述值w[3]。
即,首先,压缩部160在消息M是n比特的倍数的比特数的情况下,计算w=(c[1]×z×yb-1)xor(c[2]×z×yb-2)xor...xor(c[b-1]×z×y)xor(c[b]×z)。另一方面,压缩部160在消息M不是n比特的倍数的比特数的情况下,计算w=(c[1]×yb)xor(c[2]×yb-1)xor...xor(c[b-1]×y2)xor(c[b]×y)。然后,压缩部160计算w[1]=c[1]xor c[2]xor...xor c[b-1]xor c[b]xor w。并且,压缩部160使用k-n比特的固定值const[2]计算w[2]=w||const[2]。并且,压缩部160设w[3]=w。
在设N=2n的情况下,这里的乘法运算是由N个元素构成的有限体上的乘法运算。并且,值y、z是有限体上的元素,具有y,y2,...,ybmax,z,z×y,z×y2,...,z×ybmax-1全部为不同值的性质,w能够利用n比特的值来表现。值yi是在该有限体上乘以i次值y而得到的值。
另外,消息M是n比特的倍数的比特数时和消息M不是n比特的倍数的比特数时的值w的计算方法也可以相反。并且,在计算值w[2]时,附加const[2]的位置也可以是w的后方以外的位置。
步骤S110~步骤S112的处理与实施方式2相同,因此省略说明。
***实施方式3的效果***
如上所述,实施方式3的消息认证码生成装置10实现基于块加密的消息认证算法。
在实施方式3的消息认证码生成装置10实现的消息认证算法中,在消息M是n比特的倍数的比特数的情况下,不对消息M附加比特。因此,从步骤S102起的处理中输入的比特长度较短,能够加快处理速度。
消息认证算法在满足不可识别性的安全性的情况下,还能够用作伪随机数生成算法。伪随机数生成算法用作在Key Derivation Function或流加密中使用的函数。
标号说明
10:消息认证码生成装置;11:处理电路;12:处理器;13:存储装置;110:填充部;120:分割部;130:副密钥计算部;140:加工部;150:随机化部;160:压缩部;170:认证码生成部;180:控制部。

Claims (10)

1.一种消息认证码生成装置,其中,所述消息认证码生成装置具有:
随机化部,其针对i=1,...,b的各整数i,将根据消息M生成的n比特的值m’[i]和k比特的密钥K作为输入,通过块加密计算具有随机数性的n比特的值c[i];
压缩部,其将与i=1,...,b的各整数i有关的所述值c[i]作为输入,计算维持着所述值c[i]的随机数性的n比特的值w[1]、k比特的值w[2]和n比特的值w[3];以及
认证码生成部,其将所述值w[2]和所述密钥K作为输入,通过固定所述密钥K时成为置换函数的函数e计算k比特的值K’,将所述值w[1]和所述值K’作为输入,通过块加密计算n比特的值c,将所述值w[3]和所述值c作为输入,通过固定所述值w[3]时成为置换函数的函数d计算所述消息M的认证码T。
2.根据权利要求1所述的消息认证码生成装置,其中,
所述压缩部使用值y计算与i=1,...,b的各整数i有关的(c[i]×yb-(i-1))的异或而作为值w,计算与i=1,...,b的各整数i有关的所述值c[i]与所述值w的异或而作为所述值w[1],对所述值w连结(k-n)比特的固定值const[2]而作为所述值w[2],将所述值w作为所述值w[3]。
3.根据权利要求1所述的消息认证码生成装置,其中,
所述压缩部在所述消息M是n比特的倍数的比特数的情况和不是n比特的倍数的比特数的情况中的一种情况下,使用值y计算与i=1,...,b的各整数i有关的(c[i]×yb-(i-1))的异或而作为值w,在另一种情况下,使用值y、z计算与i=1,...,b的各整数i有关的(c[i]×z×yb-i)的异或而作为值w,计算与i=1,...,b的各整数i有关的所述值c[i]与所述值w的异或而作为所述值w[1],对所述值w连结(k-n)比特的固定值const[2]而作为所述值w[2],将所述值w作为所述值w[3]。
4.根据权利要求1~3中的任意一项所述的消息认证码生成装置,其中,
所述消息认证码生成装置还具有加工部,该加工部使用根据所述消息M生成的与i=1,...,b的各整数i有关的n比特的值m[i]和根据所述密钥K生成的与i=1,...,b的各整数i有关的n比特的副密钥L[i],针对i=1,...,b的各整数i,将值m[i]和副密钥L[i]作为输入,通过固定所述副密钥L[i]时成为置换函数的函数g计算所述值m’[i]。
5.根据权利要求4所述的消息认证码生成装置,其中,
所述消息认证码生成装置还具有:
填充部,其将所述消息M作为输入,生成n比特的b倍的比特数的值M’;以及
分割部,其按照每n比特对所述值M’进行分割,生成与i=1,...,b的各整数i有关的所述值m[i]。
6.根据权利要求4所述的消息认证码生成装置,其中,
所述消息认证码生成装置还具有副密钥计算部,该副密钥计算部针对i=1,...,b的各整数i,将所述密钥K和整数i作为输入,通过函数f计算所述副密钥L[i]。
7.根据权利要求6所述的消息认证码生成装置,其中,
所述副密钥计算部将n比特的固定值const[1]和所述密钥K作为输入,通过块加密计算n比特的值L,使用值x计算(L×xi)而作为所述副密钥L[i]。
8.根据权利要求1所述的消息认证码生成装置,其中,
所述认证码生成部计算所述值w[2]与所述密钥K的异或而计算所述值K’,计算所述值w[3]与所述值c的异或而计算所述认证码T。
9.一种消息认证码生成方法,其中,
针对i=1,...,b的各整数i,将根据消息M生成的n比特的值m’[i]和k比特的密钥K作为输入,通过块加密计算具有随机数性的n比特的值c[i],
将与i=1,...,b的各整数i有关的所述值c[i]作为输入,计算维持着所述值c[i]的随机数性的n比特的值w[1]、k比特的值w[2]和n比特的值w[3],
将所述值w[2]和所述密钥K作为输入,通过固定所述密钥K时成为置换函数的函数e计算k比特的值K’,将所述值w[1]和所述值K’作为输入,通过块加密计算n比特的值c,将所述值w[3]和所述值c作为输入,通过固定所述值w[3]时成为置换函数的函数d计算所述消息M的认证码T。
10.一种记录有消息认证码生成程序的计算机能读取的记录介质,其中,所述消息认证码生成程序使计算机执行以下处理:
随机化处理,针对i=1,...,b的各整数i,将根据消息M生成的n比特的值m’[i]和k比特的密钥K作为输入,通过块加密计算具有随机数性的n比特的值c[i];
压缩处理,将与i=1,...,b的各整数i有关的所述值c[i]作为输入,计算维持着所述值c[i]的随机数性的n比特的值w[1]、k比特的值w[2]和n比特的值w[3];以及
认证码生成处理,将所述值w[2]和所述密钥K作为输入,通过固定所述密钥K时成为置换函数的函数e计算k比特的值K’,将所述值w[1]和所述值K’作为输入,通过块加密计算n比特的值c,将所述值w[3]和所述值c作为输入,通过固定所述值w[3]时成为置换函数的函数d计算所述消息M的认证码T。
CN201580083257.0A 2015-09-28 2015-09-28 消息认证码生成装置、消息认证码生成方法和记录介质 Expired - Fee Related CN108028756B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/077311 WO2017056150A1 (ja) 2015-09-28 2015-09-28 メッセージ認証子生成装置、メッセージ認証子生成方法及びメッセージ認証子生成プログラム

Publications (2)

Publication Number Publication Date
CN108028756A CN108028756A (zh) 2018-05-11
CN108028756B true CN108028756B (zh) 2019-04-09

Family

ID=58422784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580083257.0A Expired - Fee Related CN108028756B (zh) 2015-09-28 2015-09-28 消息认证码生成装置、消息认证码生成方法和记录介质

Country Status (5)

Country Link
US (1) US10326589B2 (zh)
JP (1) JP6305642B2 (zh)
CN (1) CN108028756B (zh)
DE (1) DE112015006865T5 (zh)
WO (1) WO2017056150A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10326589B2 (en) * 2015-09-28 2019-06-18 Mitsubishi Electric Corporation Message authenticator generating apparatus, message authenticator generating method, and computer readable recording medium
US11177936B2 (en) 2017-02-22 2021-11-16 Mitsubishi Electric Corporation Message authenticator generation apparatus
CN111052670B (zh) * 2017-09-01 2024-02-09 三菱电机株式会社 加密装置、解密装置、加密方法、解密方法和计算机能读取的存储介质
CN112640359B (zh) * 2018-08-30 2024-05-03 三菱电机株式会社 消息认证装置、消息认证方法及计算机可读取的存储介质
WO2020213114A1 (ja) 2019-04-18 2020-10-22 日本電気株式会社 Macタグリスト生成装置、macタグリスト検証装置、方法及びプログラム
JP7253470B2 (ja) * 2019-07-31 2023-04-06 株式会社デンソーテン 情報処理装置
CN115039374A (zh) * 2020-02-06 2022-09-09 三菱电机株式会社 加密装置、解密装置、加密方法、解密方法、加密程序和解密程序
CN112737767B (zh) * 2020-12-30 2022-03-15 山东大学 抗差分功耗分析与时间攻击的消息认证码生成方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757913A (en) * 1993-04-23 1998-05-26 International Business Machines Corporation Method and apparatus for data authentication in a data communication environment
WO2010131563A1 (ja) * 2009-05-11 2010-11-18 日本電気株式会社 タグ生成装置、タグ検証装置、通信システム、タグ生成方法、タグ検証方法および記録媒体
CN102138300A (zh) * 2008-08-28 2011-07-27 阿尔卡特朗讯美国公司 消息认证码预计算在安全存储器中的应用

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140634A (en) * 1987-09-07 1992-08-18 U.S Philips Corporation Method and apparatus for authenticating accreditations and for authenticating and signing messages
US5218637A (en) * 1987-09-07 1993-06-08 L'etat Francais Represente Par Le Ministre Des Postes, Des Telecommunications Et De L'espace Method of transferring a secret, by the exchange of two certificates between two microcomputers which establish reciprocal authorization
US5319705A (en) * 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5651069A (en) * 1994-12-08 1997-07-22 International Business Machines Corporation Software-efficient message authentication
US5664016A (en) * 1995-06-27 1997-09-02 Northern Telecom Limited Method of building fast MACS from hash functions
US20020051537A1 (en) * 2000-09-13 2002-05-02 Rogaway Phillip W. Method and apparatus for realizing a parallelizable variable-input-length pseudorandom function
JP2002374239A (ja) * 2001-05-30 2002-12-26 World Top Technology Co Ltd 情報暗号化方法
EP1467512B1 (en) * 2003-04-07 2008-07-23 STMicroelectronics S.r.l. Encryption process employing chaotic maps and digital signature process
CA2627136A1 (en) 2005-11-04 2007-05-10 Nec Corporation Message authentication device, message authentication method, message authentication program and storage medium therefor
WO2009020060A1 (ja) 2007-08-06 2009-02-12 Nec Corporation 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
JP4914381B2 (ja) 2008-02-07 2012-04-11 日本電信電話株式会社 メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、プログラム、および記録媒体
JP5333450B2 (ja) 2008-08-29 2013-11-06 日本電気株式会社 調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラム
US8190892B2 (en) * 2008-12-29 2012-05-29 King Fahd University Of Petroleum & Minerals Message authentication code with blind factorization and randomization
JP2011040932A (ja) 2009-08-10 2011-02-24 Nippon Telegr & Teleph Corp <Ntt> 認証付き暗号化装置、認証付き暗号化方法、検証付き復号装置、検証付き復号方法、暗号システム、プログラム、記録媒体
US20120314857A1 (en) 2010-02-24 2012-12-13 Kazuhiko Minematsu Block encryption device, block decryption device, block encryption method, block decryption method and program
JP5427117B2 (ja) * 2010-06-11 2014-02-26 日本電信電話株式会社 メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム
JP5367023B2 (ja) 2011-07-29 2013-12-11 日本電信電話株式会社 情報暗号化方法、情報暗号化装置、プログラム、および記録媒体
WO2014136386A1 (ja) * 2013-03-04 2014-09-12 日本電気株式会社 タグ生成装置、タグ生成方法およびタグ生成プログラム
US9571270B2 (en) * 2013-11-29 2017-02-14 Portland State University Construction and uses of variable-input-length tweakable ciphers
US9584310B2 (en) * 2014-03-19 2017-02-28 Nxp B.V. Protecting a white-box implementation against attacks
US10326589B2 (en) * 2015-09-28 2019-06-18 Mitsubishi Electric Corporation Message authenticator generating apparatus, message authenticator generating method, and computer readable recording medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757913A (en) * 1993-04-23 1998-05-26 International Business Machines Corporation Method and apparatus for data authentication in a data communication environment
CN102138300A (zh) * 2008-08-28 2011-07-27 阿尔卡特朗讯美国公司 消息认证码预计算在安全存储器中的应用
WO2010131563A1 (ja) * 2009-05-11 2010-11-18 日本電気株式会社 タグ生成装置、タグ検証装置、通信システム、タグ生成方法、タグ検証方法および記録媒体

Also Published As

Publication number Publication date
JPWO2017056150A1 (ja) 2017-10-05
JP6305642B2 (ja) 2018-04-04
CN108028756A (zh) 2018-05-11
DE112015006865T5 (de) 2018-05-17
WO2017056150A1 (ja) 2017-04-06
US10326589B2 (en) 2019-06-18
US20180241544A1 (en) 2018-08-23

Similar Documents

Publication Publication Date Title
CN108028756B (zh) 消息认证码生成装置、消息认证码生成方法和记录介质
Beaulieu et al. The SIMON and SPECK lightweight block ciphers
US6829355B2 (en) Device for and method of one-way cryptographic hashing
EP2691906B1 (en) Method and system for protecting execution of cryptographic hash functions
EP3075097B1 (en) Construction and uses of variable-input-length tweakable ciphers
Indrayani et al. Increasing the security of mp3 steganography using AES Encryption and MD5 hash function
JP6035459B2 (ja) 暗号化装置、復号化装置、及びプログラム
KR101393806B1 (ko) 다단계 물리적 복제 불가 함수 시스템
JPWO2009020060A1 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
KR20180081559A (ko) 암호화 동작을 위한 키 시퀀스 생성
JP2008513811A (ja) 計算変換の方法及びシステム
Walia et al. Implementation of new modified MD5-512 bit algorithm for cryptography
Morawiecki Malicious Keccak
Smart et al. Hash functions, message authentication codes and key derivation functions
Jiteurtragool et al. A topologically simple keyed hash function based on circular chaotic sinusoidal map network
Gholipour et al. A pseudorandom number generator with keccak hash function
JP6305643B2 (ja) メッセージ認証子生成装置、メッセージ認証子生成方法及びメッセージ認証子生成プログラム
Liu et al. A Fast New Cryptographic Hash Function Based on Integer Tent Mapping System.
US11177936B2 (en) Message authenticator generation apparatus
Sasaki et al. A preimage attack for 52-step HAS-160
Shahapure et al. Variation and security enhancement of block ciphers by embedding
Sumathi et al. Study of Data Security Algorithms using Verilog HDL.
Sarkar et al. Sycon v1. 0 Submission to Lightweight Cryptographic Standards
JP6033504B1 (ja) メッセージ認証子生成装置
RP Keyed-CAHASH: a new fast keyed hash function based on cellular automata for authentication

Legal Events

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

Granted publication date: 20190409

Termination date: 20200928