用于生成消息验证码的装置和方法与流程

文档序号:11964698阅读:204来源:国知局
用于生成消息验证码的装置和方法与流程
本发明涉及一种消息验证码的生成以及,具体的说,用于基于第一消息和原始密钥生成消息验证码的装置和方法。

背景技术:
十几年以来,人们一直使用侧通道攻击,例如简单功耗分析(英语:SimplePowerAnalysis=SPA)和差分功耗分析(英语:DifferentialPowerAnalysis=DPA),对于对称块加密(Blockchiffren)的实施进行攻击,该对称块加密例如由DES-加密算法(英语:DES=DataEncryptionStandard数据加密标准)或者由AES-加密算法(英语:AES=AdvancedEncryptionStandard高级加密标准)所使用。同样地,还使用如SPA和DPA一类的侧通道攻击对像例如RSA加密算法(RSA=RivestShamirAdleman)和椭圆曲线密码系统一类的非对称的加密算法进行攻击。“攻击”在这里的意思是,攻击者提取出运行加密算法的机密的密钥。不用机密的密钥运行的加密算法,例如哈希算法,就较少遭受侧通道攻击,因为这里在大部分情况下没有更多的秘密在其中,例如密钥,而只要以消息的形式(英语:message)M压缩预先给定的信息。然而,存在一种哈希算法的应用,其中,使用了需要防止泄漏的机密的密钥,具体来说就是计算所谓的消息验证码(英语:messageauthenticationcode)。“消息验证码”这个概念在下面用“MAC”缩略表示。MAC,粗略来说,就是由密钥k和消息M组成的哈希值。此外,消息验 证码不仅仅是用来确保消息的完整性,而是还要额外地确保只能由拥有机密的密钥k的一方使用该消息验证码。图7描绘了根据现有技术的MAC生成法。以消息M形式的信息连同机密的密钥k一起被输入执行MAC算法的装置700。该装置700计算与消息M和机密的密钥k相关的消息验证码Mack(M)。因为在原则上,每一种没有特别针对加强的算法的应用(该算法将像例如机密的密钥一样的不变的秘密内容与变量和已知的输入“混合”)都能够通过DPA进行攻击,所以这对于MAC计算也同样适用。侧通道攻击经常为了攻击而利用关于处理器的耗电量的信息。在许多加密算法中,处理器在处理密钥或中间结果的值为1的一个位时的耗电量,不同于处理器在处理密钥或中间结果的值为0的一个位时的耗电量。所以,通常只有当密钥或者与密钥相关的中间结果的一个比特位的值为1时,才用加密算法进行计算,而在比特位值为0时,不进行计算。在这个实例中,相对于比特位值为0时,当比特位值为1时导致的耗电量更高。在其他情况下,例如只有当密钥的特定的一个比特位或者与密钥相关的中间结果的特定的一个比特位的值为0时,才执行特定的指示。这也会导致处理器的耗电量不同,依据的是一比特位比特比特位的值是1还是0。所以,在原则上有可能的是,在知道关于处理器的耗电量的情况下,推导出关于机密的密钥的结论,或者获得关于与机密的密钥相关的中间结果的结论,然后这个中间结果就又允许关于机密的密钥的结论。于是以这种方法可能通过侧通道攻击确定由芯片卡使用的机密的密钥,只要该芯片卡不针对侧通道攻击进行保护。然而,侧通道攻击不局限于分析耗电量。所以,在侧通道攻击的框架内作为可选地例如也可以分析其他的特征变量,如电磁辐射量同样可能依赖于密钥或与密钥相关的中间结果的比特位比特比特位值而有所不同。侧通道攻击的实例有简单功耗分析(英语:SimplePowerAnalysis),在下文中称为“SPA”,还有差分功耗分析(英语:DifferentialPowerAnalysis),在下文中称为“DPA”。也可以采用错误攻击法(Fehlerattacken)来进行攻击。简单来说,SPA是这样工作的,即,记录处理器的耗电量。然后观察记录下的功耗分布图,并且对异常情况进行调查。于是,在可视地观察功耗分布图时,即例如时间变化趋势图中的耗电量,经常在时间变化过程中出现明显差异。耗电量较高的阶段和耗电量较低的阶段通常能够明显地区分开。如果分析例如处理器执行DES加密算法的功耗分布图,那么就能够例如经常明显地识别出在DES加密时的16个重复的轮回。如果然后对功耗分布图的这些被识别的轮回进行更详尽的观察,就经常能够推导出结论,例如以多少的比特位比特比特位值在何时进行了何种操作。而差分功耗分析(DPA)不是像在使用SPA时那样可视地观察例如处理器的功耗分布图,而是使用统计工具确定在加密算法中使用的机密的密钥。此外,在执行加密算法时首先对于多个利用机密的密钥而被加密的消息相应记录下功耗分布图,即例如处理器在时间趋势图中的耗电量,并且紧接着统计地进行分析。于是例如能利用以下经常出现的情况,即,由加密算法计算得出的中间结果随同被加密的消息经常仅仅与加密的密钥的一部分比特位相关。如果例如一个中间结果(例如可以是0或1)只与一个56位密钥的6个比特位相关,那么攻击者在知道输入值的情况下(即例如在密钥的六个相关的比特位的所有26=64种不同的变化情况下的需要加密的消息)计算中间结果的值,并且然后例如为这64种不同变化情况的每一种情况从所有功耗分布图中计算出平均功耗分布图,这些功耗分布图的中间结果采用一个特定的值,例如对于需要计算的比特位的值1。很有可能的是,对于这六个比特位值的64种不同可能性当中,那个正确的变化情况的平均的功耗分布图,相比其他的平均功耗分布图具有明显的特点,因为通常这是唯一的,其中,所有为了计算平均功耗分布图使用的功耗分布图的消息在加密时实际上全部都导出同一个中间结果。为了防止DPA攻击,人们建议了各种技术。一种技术例如是在进行使用密钥的运算时添加噪声。另一种技术是使用掩码技术,例如布尔掩码和算术掩码基本上,掩码技术指的是在使用秘密信息的情况下(例如使用机密的密钥)采用一种运算之前,首先掩码使用密钥的消息,也就是说改动消息。例如可以如下地实现掩码,即,以一种攻击者不知道的方式更换消息的若干比特位。另一种可能性是,这样改动对其使用密钥的消息,即,在使用秘密的位串情况下改动该消息,例如其中进行XOR运算,该运算将消息和秘密的位串彼此联系起来。作为可选地或者作为补充,也可以进行AND运算和/或OR运算,从而对消息进行掩码。然后,其中要使用密钥的关键运算用到被掩码的消息上,从而得出运算结果。那么该结果以被掩码的形式存在。相应地,在进行运算以后再逆向去除掩码,从而得到无掩码的结果。需要保护的算法(其中,不仅要保护布尔运算还要保护算术运算),在采用掩码技术时经常需要常常将布尔掩码换算成算术掩码,并且反之亦然。例如对于哈希运算是如此,其中,与机密的位串进行哈希运算,并且必须针对侧通道攻击对其进行保护。为此,这种算法例如通过掩码法进行保护,这些掩码法或者用在软件中时,需要耗费大量的计算时间,或者在硬件中实现时,需要占用相应大的面积。在计算MAC时,为那些在它们那方面在使用需要机密地保持的密钥的情况下计算出的值计算哈希值。此外,值得做的是,发展能够有效实现的方案来防止那些分析消息验证码的生成的侧通道攻击。

技术实现要素:
因此,本发明的目的在于提出一种有效的方案,针对侧通道攻击对MAC的生成进行保护。在传统的针对像例如DPA这样的侧通道攻击的保护中,应用了传统的MAC计算,正如例如这能够在芯片卡上实现的那样,人们可能采用例如那些也用来保护例如DES、AES、RSA等等的常见的技术。其中例如有掩码法。因为MAC计算就是多次执行哈希压缩函数,所以防DPA地设计哈希计算就已经足够。然而,针对侧通道攻击对哈希计算进行保护的耗费极大。如果在硬件模块中应用哈希计算,那么设计的领域就会大幅度增加。如果在软件中应用哈希计算,那么掩码法的计算时间要增加好几倍。本发明的实施方式能避免这些缺点,走的是另一条途径。根据本发明的一种实施方式,提供一种用于基于第一消息和原始密钥生成消息验证码的装置。该装置包括用于基于原始密钥和第一消息产生生成的密钥的密钥生成器。此外,该装置还包括用于基于被生成的密钥和第一消息生成消息验证码的消息验证码生成器。以上实施方式避免了将MAC计算简单地与常规的针对侧通道攻击的保护方案进行组合,这样会有很多缺点。根据以上的实施例,保护问题转移到另一种像例如防DPA的AES运算,或者另一种运算一样的算法上,该另一种运算能满足一定的条件,并且能够容易设计为防DPA。所以,对于防DPA的应用场合,许多哈希算法不如对称块加密更适合;或者反过来说,对于防DPA的应用场合,对称块加密比哈希算法更适合。将针对侧通道攻击进行保护的问题例如转移到防DPA的AES运算上,正如在优选的实施方式中设计的那样,除了其他原因,因而特别有利的是,因为防DPA的AES运算的实施一般总归在芯片卡上存在。这种解决方案的其中一个优点是,不必将哈希硬件或哈希软件防DPA地实施, 而是取而代之针对侧通道攻击能够动用标准实施方案,和/或动用在速度方面最优化的实施方案,并且这种实施方案例如在芯片卡上经常总归存在。此外,可以利用以下情况,即,相比块加密,哈希计算耗费的时间或者面积要多出几倍,或者说反过来,块加密能设计得比哈希计算在时间或面积上更有效率。根据一种实施方式,密钥生成器能够设置用于在使用密码编写的加密算法的情况下产生生成的密钥。在另一种实施方式中,密钥生成器能够设置用于通过对第一消息进行哈希计算产生被生成的密钥。在另一种实施方式中,密钥生成器能够设置用于产生被生成的密钥,其中,对第一消息的一部分进行哈希计算。根据另一种实施方式,密钥生成器能够设置用于这样产生被生成的密钥,即,使被生成的密钥的熵(Entropie)不小于原始密钥的熵。在另一种实施方式中,密钥生成器能够设置用于这样产生被生成的密钥,即,当正好改变了第一消息或者原始密钥的一个比特位时,在重新产生被生成的密钥时,对具有第一预定义的比特位长度的所有可能的密钥和具有第二预定义的比特位长度的所有第一消息而言,平均有45%到55%之间的被生成的密钥的比特位发生变动。根据另一种实施方式,密钥生成器能够设置用于使用AES加密来产生被生成的密钥。在另一种实施方式中,密钥生成器能够设置用于运用AESk(H(M))公式,其中,M表示第一消息,其中,H(M)表示第一消息M的哈希计算,其中,k表示原始密钥,并且其中,AESk表示在使用原始密钥k的情况下进行AES加密。根据另一种实施方式,密钥生成器能够具有保护装置,该保护装置设置用于针对侧通道攻击保护被生成的密钥的产生。优选地,保护装置被设计用于针对第一消息进行掩码运算,从而得到被掩码的消息,其中,密钥生成器能够设置用于在原始密钥和被掩码的第一消息的基础上产生被生成的密钥。在另一种实施方式中,掩码运算在此可以包括第一消息的更换或者第一消息与位串的XOR、AND或OR关联。在另一种实施方式中,消息验证码生成器能够设置用于进行M的哈希计算,从而计算出消息验证码。在另一种实施方式中,消息验证码生成器能够设置用于,将被生成的密钥在第一XOR运算中与第一常数进行关联,并且将被生成的密钥在第二XOR运算中与第二常数进行关联。根据另一种实施方式,消息验证码生成器能够设置用于运用公式其中,M表示第一消息,其中,k′表示被生成的密钥,其中,表示XOR运算,其中,||表示级联运算,并且其中,H表示哈希运算。此外,提供了一种用于检查消息的准确性和可信度的装置,该装置包括用于产生获得的消息验证码的装置和比较单元。该比较单元设置用于检查获得的消息验证码和接收到的消息验证码的一致性,从而检查消息的准确性和可信度。根据一种实施方式,提供一种用于基于第一消息M和原始密钥k的产生消息验证码的方法。以原始密钥k和消息M为基础,产生被生成的 密钥k′。然后,在被生成的密钥k′和消息M的基础上产生一个消息验证码。在另一种实施方式中,提供一种利用密钥k基于消息M生成消息验证码MAC的流程或者说方法。该流程或者说方法具有以下特征:(i)通过一种相对消息来说防冲突的流程或者说方法从M和k中生成会议密钥k′,即,如下地设计流程或者说方法,即,通过密码很难找到两个消息M1和M2,能使得k′(k,M1)=k′(k,M2)。(ii)在MAC算法中使用会议密钥k′,从而利用被生成的密钥k′由消息M产生MAC。优选地,产生被生成的密钥k′涉及到对消息M的哈希计算。此外还优选的是,由输入M、或者基于M计算出的哈希值、并且由原始密钥k进行的密码编写的加密算法产生一个被生成的密钥k′作为密码。附图说明参照附图阐述优选的实施方式,其中:图1示出一种根据一种实施方式基于第一消息和原始密钥产生消息验证码的装置,图2示出一种根据另一种实施方式基于第一消息和原始密钥产生消息验证码的装置,图3示出一种根据一种实施方式基于第一消息和原始密钥产生被生成的密钥的装置,图4示出一种根据另一种实施方式,基于第一消息和原始密钥,在使用HMAC的情况下产生消息验证码的装置,图5示出一种根据一种实施方式检查消息的正确性和可信度的装置,图6示出一个流程图,即描绘了根据另一种实施方式,基于第一消息和原始密钥用于产生消息验证码的方法,图7示出根据现有技术的消息验证码的产生,并且图8示出根据现有技术的HMAC的产生。具体实施例方式图1示出一种用于基于第一消息M和原始密钥k产生消息验证码的装置。该装置包括用于基于原始密钥k和第一消息M产生被生成的密钥k′的密钥生成器110。此外,该装置还包括用于产生消息验证码MAC′k的消息验证码生成器120。装置获得消息M和原始密钥k作为输入。密钥生成器设置用于在使用原始密钥k和使用第一消息M的情况下产生被生成的密钥k′。然后这个被生成的密钥k′就被用于产生消息验证码。优选地,密钥生成器设置用于,在为不同的消息M1和M2编码时,使得被生成的密钥k′在绝大多数情况下与另一个被生成的密钥相区别。因为像DPA这样的侧通道攻击要求在密钥k不变的情况下为多个消息获得多个功耗分布图,所以在本实施方式中成功进行侧通道攻击的前提条件不复存在,因为用于产生消息验证码的密钥k′因此在不同的消息M1和M2的情况下几乎总是不同的。于是,攻击者不再能够通过使用DPA获得用于产生消息验证码的所使用的密钥k′,或者至少要难得多。通过在图1中描述的方案,仅仅基于被生成的密钥k′和消息M实现的消息验证码的真 正的生成针对侧通道攻击进行了保护。此外,对侧通道攻击的抵抗力弱的问题被推到了另一个流程中,也就是在用于产生被生成的密钥k′的流程中,该密钥是基于原始密钥k和消息M由密钥生成器110产生的。因为这里的密钥k也与(潜在已知的)消息M有接触,所以在这里也有DPA的问题。所以,被生成的密钥k′的产生对于例如以确定原始密钥k为目标的侧通道攻击原则上是抵抗力弱的。所以,在本实施方式中,尽管不再可能针对侧通道攻击基于被生成的密钥k′和消息M保护实际的MAC的产生;然而,应该针对侧通道攻击保护了从原始密钥k和消息M中产生被生成的密钥k′。所以要确保的是,针对侧通道攻击保护推导出的k′=k′(k,M)。然而,正如在本实施方式中设计的那样,转移安全问题的方案在此被证明特别有利:于是,相比为了在产生MAC的过程中保护哈希运算,能够针对像例如DPA一样的侧通道攻击更轻松地保护被生成的密钥的产生,其中,例如通过块加密产生该被生成的密钥,例如其中使用AES加密算法。相比在消息验证码的产生过程中所使用的哈希运算,这种AES运算能够轻松得多地针对侧通道攻击被予以保护。此外,在产生消息的MAC时只需要针对侧通道攻击保护运算,然而在保护哈希运算在生成MAC的时候,就必须针对侧通道攻击保护一系列运算。在产生密钥k′时,可以使用传统的机制,用于保护被生成密钥k′的产生,例如掩码或者添加噪声。总而言之,这种实施方式的一个重要方面在于,利用可变的机密的密钥k′计算的MAC,取代利用机密的密钥k的实际的MAC计算值MACk(M)。当这个可变的密钥k′不仅与机密的密钥k相关还与消息M本身相关时,并且当这些以带密码的有意义的方式发生时,就能够确保,即利用两个不同的推导出的密钥为两个不同的消息M1和M2进行MAC计算。甚至在攻击者能够确定出进行了MAC计算的消息本身时,也能够确保这一点。在这种情况下,一条固定消息的MAC总是使用相同的密钥k′,使得MAC能够重复生成。但是,因为用这个密钥k′通常不能为第二消息 进行MAC运算(或者至少几乎不能),所以不能通过DPA获得k′。特别有利的是,当从a)至e)的以下几点都得到满足时:a)系统的加密强度不应降低。换句话说,计算k′不应该减小密钥的熵。但是尽管如此,可以容忍在一定的情况下损失若干比特位的熵,例如当密钥长度仍然长于必要长度时。b)对输入的每一个比特位,也就是说对原始密钥k和消息M的每一个比特位,都应该做出反应,例如被生成的密钥的产生应该与输入的每一个比特位相关。优选地,当输入任意一个比特位颠倒,例如原始密钥k的一个比特位或者消息M的一个比特位,那么平均有45%到55%之间的输出比特位颠倒。换句话说,在被生成的密钥k′中,平均有45%到55%之间的比特位发生改变。特别优选地是,发生雪崩效应,这就是说:平均有50%的输出比特位颠倒。换句话说,在被生成的密钥k′中,平均有50%的比特位发生改变。c)应该不可能的是,对于第一消息M1生成另一个第二消息M2,使得对于原始密钥k和被生成的密钥k′来说,以下等式成立:k′(k,M1)=k′(k,M2)首先,即使在不知道k的情况下,也不应该能够成立。d)有利的是,如果不能够从信息k′(被生成的密钥)和M(为之计算MAC的消息)中计算出原始密钥k。e)计算k′=k′(k,M)不应该允许通过侧通道攻击推导出k。即使已知M或者甚至允许选择M也不行。根据一种实施方式,能提供一种满足a)到d)这几点的装置。在一种优选的实施方式中,能提供一种满足a)到e)这几点的装置。根据一种实施方式,能提供一种装置,该装置设置用于为了产生消息验证码而用被生成的密钥k′取代原始密钥k,被生成的密钥是通过以下方式产生的:k′:=k′(k,M):=AESk(H(M))。其中,M表示消息;H表示运用到这个消息上以获得哈希值H(M)的哈希运算;AESk表示AES加密算法,该算法利用原始密钥k用于为哈希值M加密;并且k′表示产生的要被生成的密钥。这种装置自动满足a)至d)这几点。要点e)是通过实施得以确保的。例如可以采用根据现有技术的掩码方案来实现要点e),例如用于AES加密算法掩码的一项已知技术。除了其他原因,这样产生被生成的密钥之所以特别有利的原因还有,因为使用的哈希运算不必强制性针对侧通道攻击进行保护,因为该运算不运用到保持秘密的密钥k上,而是仅仅用到消息M上。因此,在产生MAC时,只有AES计算是唯一的必须有侧信道防护的计算。除了使用AES算法,还有许多其他产生被生成的密钥k′的可能性。例如可以使用DES算法或者三重DES算法来产生被生成的密钥k′。在有些实施方式中,a)至e)这几点要依据情况可能逐渐地或者部分地得以满足。所以,在有些实施方式中,不一定必须使用强大的加密算法。图2在这里就提供了一种能够进行安全的MAC计算的实施方式。根据这种新的方案,首先由密钥生成器210从消息M和原始密钥k中产生一个被生成的密钥,例如会议密钥(英语:Session-key)。然后该会议密钥被消息验证码生成器220使用以产生消息验证码Mac′k。图3示出一种用于产生被生成的密钥的实施方式,例如产生会议密钥k′。例如能够通过在第一模块312中对消息M进行哈希计算来产生会议密钥k′。然后就可以例如在使用针对侧通道攻击受到保护的AES的情况下在第二模块315中利用密钥k对结果进行加密。根据另一种实施方式,例如能够通过在第一模块312中对一部分消息M进行哈希计算来产生会议密钥k′。然后就可以例如在使用针对侧通道攻击受到保护的AES的情况下在第二模块315中利用密钥k对结果进行加密。还有多个其他的产生被生成的密钥的可能性,其针对侧通道攻击予以保护,只要注意遵守上面所述的a)至e)几点。下面示出本发明的另一种实施方式,其涉及HMAC(HMAC=基于哈希运算的消息验证码;英语:Hash-basedMessageAuthenticationCode)。然而,首先为了更好地理解HMAC消息验证码,正如由现有技术中已知的那样,参照图8进行阐述。此外,将信息以消息M的形式连同机密的密钥输送给执行MAC算法的装置。这个装置计算消息验证码。在图8的装置中,如果原始密钥k太长,可能缩短该密钥,从而获得(步骤810)密钥K。如果不需要缩短密钥k,那么接受不改变的密钥k作为密钥K。紧接着,将密钥K和位串ipad进行XOR关联(820)。然后所得结果与消息M级联运算(830),从而获得第一级联结果,该结果在步骤835中提供用于第一哈希运算。然后对这个第一级联结果运用(840)第一哈希运算,从而获得第一哈希运算结果,该结果在步骤845中提供用于第二级联运算860。在另一个步骤850中,将密钥K和另一种位串opad进行XOR关联,并且然后通过步骤855同样提供用于第二级联。然后,在步骤855中提供的XOR运算的结果与在步骤845中提供的第一哈希运算结果级联运算(860)。然后将第二级联的结果运用第二哈希运算,由此最终获得消息验证码Mac。作为HMAC方法的基础的常见哈希函数是通过以下条件定义的H:{0,1}*→{0,1}l输出长度l公知的哈希方法例如有SHA-1、SHA-2家族(SHA=安全哈希算法;英语=secureHashAlgorithm),其包括SHA256、SHA384、SHA512。这种形式的哈希算法的核心是由循环函数h构成的:{0,1}L×{0,1}l,→{0,1}l,其中L≥l。例如在SHA-1中,L=512,l=180。交互地运用循环函数,从而对任意长度的消息进行哈希运算。正如在图8中已经描绘的那样,利用密钥K对于消息M的HMAC就被定义为其中,opad和ipad是常数,代表XOR运算,并且其中,||代表简单的级联运算。这就是说,首先,K连同消息M进行哈希运算,并且然后该结果又连同K进行哈希运算。其中,K满足哈希运算H的输入长度,即,例如K:=k||0.........0。于是例如能够通过HMAC借助通常的哈希算法产生MAC算法。为此,首先将消息连同密钥k以铺垫的形式进行一次哈希运算。然后将这个哈希结果再一次与密钥k进行哈希运算。图4示出根据本发明的实施方式的一种装置,其中,借助HMAC产生消息验证码。该装置设计用于通过以下方式产生被生成的密钥k′,即,在第一哈希运算单元410中对消息M进行哈希运算,从而获得第一哈希运算结果,并且其中,预设了AES单元420,其设计用于在使用针对侧通道攻击受保护的AES算法的情况下利用密钥k为第一哈希运算结果加密。第一修改器430和第二修改器470设计用于在被生成的密钥k′太长时,缩短该密钥,从而获得密钥K′。如果不需要缩短被生成的密钥k′,那么接受不改变的被生成的密钥k′作为密钥K′。第一XOR单元440设计用于将密钥K′与位串ipad进行XOR运算,从而得到第一XOR结果。第一级联单元450设计用于将第一XOR结果与消息M级联运算,从而获得第一级联的结果。此外,第二哈希运算单元460设计用于将哈希运算运用到第一级联结果上,从而获得第二哈希运算结果。第二XOR单元480设置用于将密钥K′和另一外的位串opad进行XOR关联,从而获得第二XOR结果。第二级联单元490设置用于运算第二哈希运算结果和第二XOR结果,从而获得第二级联结果。此外,第三哈希运算单元495设置用于将哈希运算运用到第二级联结果上,从而获得消息验证码Mac。图5示出一种用于检查消息的准确性和可信度的装置。该装置设置用于借助接收到的消息验证码MACempfangen检查消息的准确性和可信度。为此,用于检查该消息的准确性和可信度的装置具有根据以上描述的实施方式之一的用于产生消息验证码的装置510和比较单元520。用于产生消息验证码的装置510基于(原始)密钥和消息M产生计算出的消息验证码MACberechnet。比较单元520设置用于检查产生的消息验证码MACberechnet和接收到的消息验证码MACempfangen的一致性,从而检查消息的准确性和可信度。如 果MACberechnet和MACempfangen一致,就知道消息是准确的且可信的。如果MACberechnet和MACempfangen不一致,就能得出消息不准确和/或不可信的结论。图6示出根据一种实施方式基于第一消息M和原始密钥k用于产生消息验证码的一种方法。在步骤610中产生被生成的密钥k′,这是以原始密钥k和消息M为基础的。然后在步骤620中基于被生成的密钥k′和消息M产生消息验证码。尽管是结合装置描述了一些方面,然而不言而喻的是,这些方面也是对相应方法流程的描述,所以装置的一个组块或者组件也可以理解成相应的方法步骤或者方法步骤的特征。与之类似地,结合方法步骤或者作为方法步骤所描述的那些方面也是对相应装置的相应组块或者细节或者特征的描述。几个或者所有的方法步骤都能够通过硬件设备(或者在使用硬件设备的情况下),例如微处理器,可编程的电脑或者电子电路来实施。在几个实例中,能够通过这种设备执行几个或者多个最重要的方法步骤。依据一些特定的具体实施条件,本发明的实施例能够在硬件中或者软件中实施。可以在使用数码存储媒介的情况下实现具体实施,例如软盘、DVD、蓝光碟、CD、ROM、PROM、EPROM、EEPROM或者闪存、硬盘或者其他的磁性或光学存储器,其上存储着可读的电子控制信号,这些电子控制信号这样地与可编程的电脑系统共同起作用,或者能够共同起作用,即,执行相应的方法。因此该数码存储媒介可以是电脑可读的。根据本发明的有些实施例就包括数据载体,该数据载体具有可读的电子控制信号,可读的电子控制信号能够这样地与可编程的电脑系统共同起作用,即,执行本文中描述的其中一种方法。一般来说,本发明的实施例能够实施作为带有程序代码的电脑程序产品,其中,当电脑程序产品在电脑上运行时,程序代码能够有效地执行其中一种方法。该程序代码例如也可以存储在机器可读的载体上。其他的实施例包括用于执行本文中所述的其中一种方法的电脑程序,其中,该电脑程序存储在机器可读的载体上。换句话说,根据本发明的方法的一种实施例由此是一种电脑程序,该电脑程序具有用于在电脑程序在电脑上运行时执行本文中描述的一种方法的程序代码。因此,根据本发明的方法的另一个实施例是数据载体(或者数码存储媒介或者电脑可读的媒介),其上记录着用于执行本文中所描述的其中一种方法的电脑程序。因此,根据本发明的方法的另一个实施例是数据流或者一系列的信号,该数据流或者这一系列的信号代表着用于执行本文中所述的其中一种方法的电脑程序。该数据流或者这一系列的信号例如能够配置用于通过数据通信连接进行传输,例如通过因特网。另一个实施方式包括一个处理装置例如电脑或者可编程的逻辑组件,该处理装置配置或者调适用于能够执行本文中描述的其中一种方法。另一个实施例包括一台电脑,在其上面安装着用于执行本文中描述的其中一种方法的电脑程序。根据本发明的另一个实施例包括一个装置或者一个系统,该装置或者是该系统设计用于将执行本文中描述的至少一种方法的电脑程序传输给接收者。例如可以电子地或者光学地实现传输。接收者例如可以是电脑、 移动装置、存储装置或者类似的装置。该装置或者该系统例如可以包括用于传输电脑程序给接收者的文件服务器。在有些实施例中,可编程的逻辑组件(例如现场可编程门电路阵列,FPGA)用于执行本文中描述的方法的某些或者所有功能。在有些实施例中,现场可编程门阵列与微处理器共同起作用,执行本文中描述的其中一种方法。总的来说,这些方法在一些实施例中是在任意的硬件装置一方执行。这可以是可普遍通用的硬件,例如电脑处理器(CPU),或者是针对该方法的特殊硬件,例如ASIC。以上描述的实施例仅仅展示了本发明的原理。不言而喻地,其他的专业技术人员能想到本文中描述的布置和特征的修改方案和变化方案。因此,特意仅通过权利要求的保护范围来限定本发明,而不是通过那些借助说明书和对实施例的阐述在文中展示的具体特征。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1