加密明文的方法与流程

专利检索2025-11-04  2


本发明涉及一种使用对称密钥k用块大小为le的块密码e加密明文的方法。


背景技术:

1、短消息的高频发送和接收对于车辆生态系统中的某些应用非常重要,例如,在de10 2021 001 095 a1中可以找到这方面的示例。如本公开所示,通常必须在不过度增加消息长度的情况下为这些消息提供密码完整性保护和/或密码重放保护,如本发行公开中所述,出于效率的原因,只能考虑对称方法。然而,在某些情况下,加密整个消息或至少一部分消息(例如有效载荷)可能很重要,以保护机密有效载荷和/或使潜在攻击者难以读取和解释消息和所使用的协议的反向工程。

2、de 10 2021 001 095 a1中关于完整性及重放保护的类似考虑也适用于加密。原则上,特别是短消息可以非对称地加密,例如使用基于rsa的方法。但是,明文的rsa密文至少与用于加密的密钥一样长,例如,使用rsa-2048时为2048位。因此,例如,一个20字节,即160位长的未加密消息变成了一个至少2048位长的待传输的加密消息,这与使用短消息的必要性完全背道而驰。此外,与对称加密或解密相比,非对称解密需要几倍的时间。因此,只有对称方法才能有效地加密短的高频消息。

3、对于对称加密,通常使用块密码,如aes。块密码e的块大小在这里用le或l_e表示。在使用块大小le的块密码e的raw加密中,一个精确的le位长的明文,即所谓的明文块,借助对称密钥被加密到一个精确的le位长的密文,即所谓的密文块。因此,在raw解密中,使用属于块大小le的块密码e的解密函数d,借助对称密钥将(精确的le位长)密文块解密为(精确的le位长)明文块。因此,在这两种情况下,只处理一个完整的块,不接受长度不同的输入。e-raw加密和d-raw解密分别称为eraw和draw。对称密钥k的e-raw加密称为erawk,对称密钥k的d-raw解密称为drawk。

4、在通过块密码e的加密中,长于le位的明文被划分为与密码块大小le相对应的块,然后借助对称密钥对这些块进行单独加密。单个明文块的完全独立加密称为ecb模式(一种块密码)。与raw加密不同,ecb模式下的密码可以处理任意长度的输入。如果最后一个明文块短于块密码的块大小,则应用所谓的填充,以定义的方式填充最后一个明文块。ecb是块密码的最简单的操作模式,但其缺点是,当使用相同的密钥时,相同的明文块被加密为相同的密文块,这允许攻击者得出与相应的明文块相关的结论。

5、为了解决ecb的这一弱点,已经开发了更复杂的操作模式(cbc,cfb,ofb,ctr等),其中单个明文块的加密或多或少地紧密地交织在一起,而不是像ecb模式那样对单个明文块进行独立的直接加密,因此除了明文块本身和密钥之外,下一个明文块的加密还包括在其前一个明文块的加密过程中生成的其他数据,通常是一个块大小的数据,其中,进入下一个明文块加密的这些数据可以依赖于前一个明文块(cbc,cfb),也可以独立于前一个明文块(ofb,ctr)。

6、这样,粗略地说,通常将相同的明文块加密为不同的密文块,但这不适用于第一个明文块,因为其没有可从其获得附加输入数据的前一个明文块。为了纠正这种情况,通常使用块大小的初始化向量,在加密第一个块时用作这些附加数据。初始化向量一次只能用于一个明文,否则(对于相同的密钥)将为相同的明文块生成相同的密文块,因此在使用相同的密钥期间,初始化向量必须是一个nonce。初始化向量只需要是新颖的,即nonce,其不需要保密。更确切地说,用于加密的初始化向量在解密中也是必需的,因此该初始化向量必须为发送方和接收方都知道。例如,因为其不需要保密,所以其也可以作为消息的显式未加密部分传输,例如,tls就是这样做的。如果是这种情况,则不能以加密形式传输,因为如果没有作为明文块的初始化向量,接收方将无法解密加密消息。

7、然而,显式传输初始化向量,特别是作为短消息的一部分,是资源密集型的,因为初始化向量通常是一个块长,例如,在aes中是128位。如果预先知道使用相同密钥加密的消息的最大数量,则可以在发送方的一侧保留计数器,该计数器在每个新消息上递增1。然后,例如,通过在发送方和接收方之间协调的适当的填充方法,通过该填充方法,计数器位被附加的位补充,或者通过加密散列函数,然后在必要时进行必要的长度调整,发送方可以为每个新消息生成一个新的,通常是块长的初始化向量,因为先前发生的计数器的增量,并且用于消息的加密。而不是将整个初始化向量与每个消息一起发送,而是将只发送计数器,即表示相应消息编号的表示计数器的计数器位。使用32位长的计数器使得消息中所需的空间可以从例如128位减少到例如32位。

8、特别节省空间的是使用隐式分割初始化向量,其方法是发送方和接收方在开始时商定共同的开始初始化向量和从当前初始化向量生成新颖的下一个初始化向量的规定,然后借助先前商定的规定为双方的每个新消息同步生成该下一个新颖的初始化向量。这里的问题是消息可能丢失或以错误的顺序到达,从而失去发送方和接收方引导的初始化向量的同步性。

9、在发送方和接收方之间隐式同步初始化向量的另一种同样节省空间的方法是从无论如何都必须传输的消息本身派生该向量,发送方和接收方可以独立地这样做。这里的问题是,一方面,发送方必须在加密操作之前知道初始化向量,因此可以从明文消息派生,另一方面,接收方必须在解密操作之前知道初始化向量,因此可以从加密消息派生,这是一个(乍一看)矛盾的要求。

10、所谓的合成初始化向量(siv),用于特殊的aead(“具有关联数据的身份验证加密”)方法,即同时实现加密和身份验证的方法,其特征在于,其通过从消息生成唯一的身份验证戳(tag)来从消息本身生成用于加密的初始化向量,然后在消息或其部分的加密中用作初始化向量。已经开发了基于合成初始化向量的各种aead操作模式的aead变体,例如cmac和ctr(siv-aes)的组合,aes-gcm(aes-gcm-siv)或ccm(ccm-siv)(另见de 10 2019113026a1)。但是,由于初始化向量,即从未加密消息生成的身份验证戳,在消息解密中也是需要的,但是接收方不能直接从加密消息中派生,因此必须与加密消息一起以未加密的方式发送给接收方,从而通过使用合成的初始化向量,按照上述方法,不会节省消息中的空间。

11、在这方面,原则上可以参考us2015/0349950 a1。

12、wo 2009/013420 a1定义了一种基于块密码的类似cbc-mac的身份验证方法,该方法仅通过消息本身计算消息身份验证码(mac),而不是像在cbc-mac中那样,通过包含消息散列值的前缀扩展的消息。

13、如上所述,ecb模式的核心弱点是,当使用相同的密钥时,相同的明文被加密为相同的密文。由于问题只存在于使用相同密钥的上下文中,并且在某种程度上,在密钥更改时会发生问题的重置,因此对于文档的其余部分假定了固定的共享对称密钥k。

14、对于解决上述弱点,使用新颖的初始化向量来加密每个新明文的普遍要求是足够的,但不是绝对必要的。如果能够确保明文的第一个块始终是新颖的,则在运算块时包括前一个块,特别是前一个密文块(例如cbc,cfb)的操作模式中使用新颖的初始化向量的要求可以省略。因此,在某些情况下,对于固定密钥,初始化向量和第一个明文块的组合是新颖的就足够了。如果第一个明文块总是新颖的,那么在这些特定的情况下,甚至可以完全省略初始化向量的使用。

15、例如,如果您希望或必须为待加密的每个明文省略一个保证新颖(显式或隐式)的初始化向量,则设计明文的格式以使明文的第一个块总是新颖的概率最大化是有意义的。

16、由于单个明文“新颖性”的概率,即成对不同的概率大于各自明文的第一个块新颖的概率,即成对不同的概率,因此为了以最大可能的概率实现新颖的第一个块,在第一个块中收集整个明文的“新颖性”是有意义的,因此设计各自明文的第一个块,使得两个不同明文的第一个块也总是不同的。

17、现在,根据明文对的不同,两个明文之间的差异可能发生在明文的不同位置,因此“新颖性”可能分布在整个明文位位置上。因此,通过简单地重新排序各自的明文位,在一般情况下无法找到保证最大可能的新颖的第一个明文块的明文格式。然而,明文中包含的“新颖性”可以通过将密码散列函数hash应用于某些选择位的序列来很好地积累,对于这些位,其组合有可能是新颖的。如果在用于形成散列值的两个不同明文的两个位序列bf1和bf2中的至少一个位中发生差异,则包含该不同位的两个位序列的散列值hashtag1:=hash(bf1)和hashtag2:=hash(bf2)也极有可能发生差异。

18、以这种方式计算的散列值hashtag:=hash(bf)现在可以直接用作初始化向量,或者可以由此派生一个初始化向量,如果用于计算散列值的明文位序列bf是其,则该初始化向量总是新颖的。例如,上述合成初始化向量(siv)就是这样进行的。正如上面已经解释的那样,这里的问题是,初始化向量必须为接收方所知,以便其能够解密全部或部分加密的明文。如果不希望初始化向量作为明文的一部分以未加密的方式显式传输,这将意味着用于形成散列值hashtag的位序列bf的任何部分都不能被加密,否则接收方将无法从接收到的tlw.或完全加密的明文中派生发送方用于加密的初始化向量。


技术实现思路

1、现在,本发明的目的是给出一种使用对称密钥k用块密码加密明文的改进方法,以及提供为此所需的机制。

2、根据本发明,该目的通过权利要求1中的特征来实现。有利的设计方案产生于相关的从属权利要求。该目的还通过权利要求12中的特征来实现。在这方面,有利的改进方案也产生于相关的从属权利要求。

3、因此,首先需要一种在明文的第一个块中编码明文的整个新颖性的方法,使得包括第一个块在内的整个明文中的任何更改都将被视为第一个明文块的更改。

4、根据本发明使用对称密钥k用块大小le的块密码e加密最好至少(u+1)位长的明文的方法利用指纹函数(fpu)应用于明文的完整的前u位和剩余明文的选择或所有位的级联的结果,作为初始化向量和明文的前u位的组合的替代。指纹函数只需满足以下两个要求:根据两个不相等的位序列(bf1≠bf2),对于应用——如上文所定义的——而言具有足够高的概率/可能性能够得出两个位序列的指纹也不相等(fpu(bf1)≠fpu(bf2)):以及,指纹函数(fpu)存在指纹反函数/逆函数(fpu-1),因此始终适用:fpu-1(fpu(bf)||bf[u+1..l(bf)])=bf[1..u]。

5、u和le不一定相等。对于明文的前u位pbu1的加密,通过将fpu应用于明文的完整的前u位pbu1和其余明文的选择或所有位fpinput的级联,如所描述的那样,使用不需要初始化向量的通用密码egen,然后通过对u位长结果fpu(pbu1||fpinput)的egen加密计算密文cb1的第一个块。字符||表示两个位序列的级联。结果是cb1:=egen(fp(pbu1||fpinput))。因此,原则上没有必要egen保持长度,因此cb1也保持u位长,即使在实践中可能是这样。

6、因此,以这种方式生成的明文cb1的前u位的加密可以用作初始化向量iv:=cb1,用于用块密码e加密明文的部分或全部剩余部分,为此可以使用要求初始化向量(iv)的任何操作模式。

7、通过在egen加密之前应用指纹函数fpu,可以有利地确保新颖的明文也以非常高的概率导致密码egen的新颖输入,这反过来又以非常高的概率导致新颖的密文cb1,从而导致新颖的初始化向量iv。例如,在使用指纹函数fptag,_u,scramble_u作为fpu的情况下,在伪随机cb1的计算中,明文pbu1的前u位(通过scrambleu)和明文的其余部分(通过tagu)被平等地包括在内,因此,如果整个输出明文是新颖的,则从fptag,_u,scramble_u和egen加密的前u位cb1派生的初始化向量iv具有非常高的概率。

8、根据本发明解决方案的一种非常有利的设计方案,为了产生长度大于u的位序列bf的u位长指纹,假设指纹是由函数fpu(bf)或fptag_u,scramble_u(bf)的结果实现的,其中,scrambleu(bf[1..u])⊕tagu(bf[u+1..l(bf)])定义为scrambleu,其中,tagu是一个函数,其对于任意长度的位序列bf计算对于应用而言具有足够高的概率唯一的长度u的值,例如伪随机值,其中,scrambleu是将长度u的位序列(bf)映射到长度u的位序列(bf)的可逆函数,并且,其中,代表两个长度相等的位序列(bf)的按位异或运算。

9、为了在明文的前u位中编码整个明文的新颖性,并利用这一事实进行加密,因此,对于自然数u>0,搜索函数fpu(“指纹”),对于具有l(bf)>u(l(bf)的位序列bf;在本文中,l(bf)表示位序列bf的位长度,确定长度为u的位序列fpu(bf),使得

10、-根据bf1≠bf2,对于应用具有足够高的概率导致fpu(bf1)≠fpu(bf2),

11、-对于fpu存在fp反函数fpu-1,fpu-1(fpu(bf)||bf[u+1..l(bf)])=bf[1..u]始终适用,

12、其中,对于位序列bf和具有1≤i≤j≤l(bf)bf[i..j]的自然数i,j表示由位i至j组成的bf的子序列,例如bf=bf[1..l(bf)],且||表示两个位或字节序列的级联。

13、“对于应用具有足够高的概率”应当被理解为如下的概率:在针对具有bf1≠bf2的两个位序列bf1,bf2的给定应用的情况下,基于u的大小等因素而能够充分地确定得到fpu(bf1)≠fpu(bf2)。由于函数tag是关于将一个(u+x)长的位序列bf映射到一个u长的位序列,因此对于两个不同的位序列bf1,bf2,其标记“尽可能好”是不同的,因此“尽可能”根据bf1≠bf2得出tag(bf1)≠tag(bf2)。

14、然而,在实践中,没有这样的函数tag来确保所有bf1,bf2的100%,因为tag(bf)总是u位长,因此比“大多数”位序列bf短。例如,如果选择u=2,则只有四个不同的标记:00,01,10,11。因此,对于任意五个不同的位序列,我们将得到bf1..bf5具有100%的概率,至少发生一次冲突,即五个标记中的至少两个tag(bf1)…tag(bf5)的重复。此外,在u=2和两个随机选择的位序列bf1,bf2的情况下,冲突的概率,即tag(bf1)=tag(bf2),至少为25%。因此,函数tagu的“优度”(即的质量或概率,至多与u的大小一样好。

15、另一方面,如果用作tagu且u足够大,则有抗冲突密码散列函数以“接近100%”的方式确保所需的特性但是,也不能百分之百地确保,另见上面的考虑因素。在使用抗冲突密码散列函数的情况下,被认为是的概率被认为是如此之大,以至于许多被认为是安全的密码机制的安全性都依赖于此。所提到的概率原则也是基于法律上可靠的数字签名等。

16、现在,散列函数可能返回例如256位的值(hashtag),例如sha-256。然而,根据本发明的函数tag希望使用u=20的值。然后,您可以使用sha-256提供的hashtag的前20位作为tag。因此,sha-256提供的质量接近“几乎100%”,但由于使用u=20,质量大大降低。u和tag函数的合理选择现在取决于各自的个别情况或应用情况。例如,如果您选择u=128,并选择sha-256提供的值的前128位作为tag,那么根据今天的知识,对于所有应用来说,都被认为是“安全的”。然而,在某些情况下,例如,在实践中,u=80位对于特定的应用是绝对足够的,因此,在bf1≠bf2的情况下,可以保证对于应用来说fpu(bf1)≠fpu(bf2)的概率足够高。如果必须对概率值进行量化,那么在实践中,在几乎所有情况下,肯定会选择u≥80,因此,通过适当的标记,可以获得远高于(1-2-20)的概率。

17、由于本发明解决方案的这种有利设计方案,提出函数fpu使用一般形式fpu(bf)或其中,

18、-tagu是一个函数,其计算长度u的值——对于应用而言该长度u的值针对任意长度的位序列bf具有足够高的概率是唯一的,该长度u的值例如为伪随机值例如密码散列函数,其散列值在需要时以安全的方式调整到长度u,因此,例如,在散列值太长的情况下,使用其最后u位作为tagu(bf),或者在散列值太短的情况下,例如借助密码密钥拉伸方法将其拉伸到长度u。

19、○通过适当选择tagu,可以实现弱-弱和弱-强fp抗冲突性,以及不可逆性,强-弱fp抗冲突性和强-强fp抗冲突性,如下文所述。

20、-scrambleu是将长度u的位序列映射到长度u的位序列的可逆函数,例如,长度保持加密(将相关解密作为反函数),

21、○通过适当选择scrambleu和适当选择tagu函数,可以实现不可逆性,强-弱fp抗冲突性和强-强fp抗冲突性等仅与攻击者相关的特性,如下文所述。

22、-表示两个相同长度的位序列的按位异或运算。

23、然后由给出fptag_u,scramble_u的fp反函数。如果函数fpu具有所描述的一般形式,则其由两个函数tagu和scrambleu唯一确定。

24、通过指纹函数fptag_u,scramble_u,其将避免使用初始化向量,而不会对新颖的明文进行对称加密,从而完全加密明文,而不会有任何明显的安全性损失。

25、根据非常有利的改进方案,可以设想使用密码散列函数作为函数tagu,其散列值以安全的方式调整到长度u。

26、此外,在根据本发明的方法的有利的改进方案中,还可以提供函数tagu具有不可逆的性质和/或在至少一种类型之后是抗冲突的。

27、不可逆性使得攻击者实际上不可能为给定的位序列bf1找到位序列bf2,使得bf1=fpu(bf2)||bf1[u+1..l(bf)]。这里所述的攻击者是指与“非攻击者”不同的人,他不知道在定义或确定fpu时可能使用的(机密)密钥。

28、关于抗冲突性,有四种不同的类型是可以设想的,其分别被称为形式为(r1,r2)∈{强,弱}×{强,弱}的两元组,其中,第一个元素r1表示实际的fp抗冲突性,第二个元素r2的含义基于从密码散列函数中已知的抗冲突性术语。

29、-[弱-弱fp抗冲突性]对于给定的位序列bf1,实际上不可能找到一个位序列bf2,使得bf1[1..u]=bf2[1..u],bf1[u+1..l(bf1)]≠bf2[u+1..l(bf2)]且fpu(bf1)=fpu(bf2)。

30、-[强-弱fp抗冲突性]对于给定的位序列bf1,攻击者几乎不可能找到一个位序列bf2,使得bf1≠bf2且fpu(bf1)=fpu(bf2)。

31、-[弱-强fp抗冲突性]实际上不可能找到bf1和bf2两个位序列,使得bf1[1..u]=bf2[1..u],bf1[u+1..l(bf1)]≠bf2[u+1..l(bf2)]且fpu(bf1)=fpu(bf2)。

32、-[强-强fp抗冲突性]攻击者几乎不可能找到bf1和bf2两个位序列,使得bf1≠bf2且fpu(bf1)=fpu(bf2)。

33、很明显,只有在u足够大的情况下,才能实现不可逆性和各种抗冲突性。

34、该方法的一个非常有利的改进方案现在可以包括使用无密钥或依赖于密钥的密码散列函数hash(k_h)作为函数tagu,其中,k_h表示hash可能依赖于的密钥,并由括号表示hash可能依赖于或不依赖于k_h。

35、此外,该方法的一种非常有利的设计方案还可以包括使用身份函数或长度保持加密函数作为函数scrambleu,在加密的情况下,使用与加密匹配的解密函数作为反函数。根据这方面的有利的改进方案,可以进一步提供对于具有块大小le=u的块密码e和长度为le位的对称密钥k_s作为函数scrambleu,使用具有k_s的e-raw加密,即erawk_s。

36、在有利的设计方案中,还提出将以这种方式产生的明文cb1的前u位的加密用作初始化向量iv:=cb1,用于用块密码e加密明文的部分或全部剩余部分,其中,可以使用要求初始化向量的任何操作模式,在此之前,根据cb1的长度和所选择的操作模式,以安全的方式将初始化向量iv调整到相应操作模式所需的初始化向量的长度,例如,在l(cb1)=le的情况下,在使用iv作为ctr操作模式的nonce的情况下进行缩短。

37、根据本发明的另一有利设计方案,提出在使用对称密钥k用块大小le的块密码e加密明文时,以上述方式使用fp函数,即fptag_u,scramble_u,其中,在一般情况下,可以是u≠le,并且通过将fptag,_u,scramble_u应用于明文(“纯文本块”)的完整的前u位pbu1和其余明文的选择或所有位fpinput的级联,然后通过对u位长的结果fptag_u,scramble_u(pbu1||fpinput)的egen加密计算密文cb1的第一个块,即cb1:=egen(fptag_u,scramble_u(pbu1||fpinput))。

38、由于该方法的一个目标是产生尽可能短的消息,因此提出选择长度保持密码作为通用密码egen,使得例如l(cb1)=u始终适用。然后,密文cb1被称为cbu1。

39、在选择用于加密剩余明文的操作模式时,必须估计以这种方式计算的初始化向量的实际新颖性在多大程度上得到了保证。如果确保了初始化向量的新颖性,例如通过在位序列bf中包含一个完整的非重复的计数器,则可以安全地使用任何需要新颖的初始化向量的操作模式。另一方面,如果初始化向量的新颖性仅依赖于明文本身的新颖性而没有保证,并且例如明文的新颖性可能但不确定,则更高的风险与例如ofb或ctr以及cfb的使用相关,并且最好使用例如cbc。

40、因此,在许多情况下,在加密第一个块时可以省去初始化向量的使用,而不会或没有明显的安全性损失。通过使用用于新颖明文的被新颖加密的第一个块作为用于加密剩余块的初始化向量,因此可以使用要求初始化向量的操作模式,例如cbc,cfb,ofb,ctr等来加密剩余块。

41、根据本发明方法的有利的改进方案,在此,根据所选择的操作模式和/或根据cb1的长度来调整初始化向量iv的长度。

42、根据权利要求12的本发明方法的替代解决方案涉及使用对称密钥k用块大小le的块密码e加密最好至少(u+1)位长的明文,其中,使用指纹函数作为指纹函数(fpu)。其中,tagu是一个函数,其对于任意长度的位序列bf计算对于应用而言具有足够高的概率唯一的长度u的值,其中,scrambleu是将长度u的位序列(bf)映射到长度u的位序列(bf)的可逆函数,并且,其中,代表两个长度相等的位序列(bf)的按位异或运算。在确保进入指纹函数fptag_u,scramble_u的tagu函数的位序列的新颖性的情况下,对于每个新消息,使用安全的依赖于密钥的散列函数hashk_h作为指纹函数fpuk_h的taguk_h函数的基础,省略了通过egen对明文的前u位的附加加密,而是直接使用fpuk_h指纹作为前u位cbu1的加密。

43、因此,使用形式为fptag_u,scramble_u的指纹函数,由fptag_u,scramble_u(bf):=定义,其中,tagu由安全的依赖于密钥的散列函数hashk_h实现,其输出长度以适当的方式调整到u,其中,scrambleu是将长度u的位序列(bf)映射到长度u的位序列(bf)的可逆函数,并且,其中,代表两个长度相等的位序列(bf)的按位异或运算,其中,u和le不一定相等,通过使用指纹函数fptag_u,scramble_u应用于明文的完整的前u位pbu1和剩余明文的选择或所有位fpinput的级联,并且,如果输入指纹函数fptag_u,scramble_u的tagu函数的位序列fpinput的新颖性被保证为每个新消息,当前u位cbu1的加密直接用于fptag_u,scramble_u指纹,即cb1:=fptag_u,scramble_u(pbu1||fpinput),并且以这种方式生成的明文cb1的前u位的加密作为初始化向量iv:=cb1用于用块密码e加密部分或全部剩余明文,其中,使用要求初始化向量(iv)的任何操作模式。

44、本发明方法的其他有利设计方案和不同实施方案来自于权利要求1和12所依赖的其他从属权利要求,并且从实施例中变得清晰,其将在下文中参照图进行更详细的解释。


技术特征:

1.一种使用对称密钥k用块大小为le的块密码e加密明文的方法,

2.根据权利要求1所述的方法,

3.根据权利要求2所述的方法,

4.根据权利要求2或3所述的方法,

5.根据权利要求2至4中任一项所述的方法,

6.根据权利要求1至5中任一项所述的方法,

7.根据权利要求1至6中任一项所述的方法,

8.根据权利要求1至7中任一项所述的方法,

9.根据权利要求6至8中任一项所述的方法,

10.根据权利要求8或9所述的方法,

11.根据权利要求1至10中任一项所述的方法,

12.一种使用对称密钥k用块大小为le的块密码e加密明文的方法,

13.根据权利要求1至12中任一项所述的方法,

14.根据权利要求1至13中任一项所述的方法,

15.根据权利要求14所述的方法,

16.根据权利要求14或15中任一项所述的方法,

17.根据权利要求1至16中任一项所述的方法,


技术总结
本发明涉及一种使用对称密钥K用块大小为LE的块密码E加密明文的方法,其特征在于,使用了满足这两个要求的指纹函数(FP<subgt;u</subgt;):根据两个不相等的位序列(BF1≠BF2),对于应用来说能够以足够高的概率得出,指纹函数(FP<subgt;u</subgt;)应用于这些位序列的结果也不相等(FP<subgt;u</subgt;(BF1)≠FP<subgt;u</subgt;(BF2)),从指纹函数(FP<subgt;u</subgt;)存在指纹反函数(FP<subgt;u</subgt;<supgt;‑1</supgt;),因此始终适用:FP<subgt;u</subgt;<supgt;‑1</supgt;(FP<subgt;u</subgt;(BF)||BF[u+1...L(BF)])=BF[1...u],其中,u和L<subgt;E</subgt;不一定相等,并且使用通用密码EGen,通过将指纹函数应用于明文的完整的前u位PB<supgt;u</supgt;<subgt;1</subgt;和剩余明文的选择或所有位FPInput的级联,然后通过对u位长的结果FP<subgt;u</subgt;(PB<supgt;u</supgt;<subgt;1</subgt;||FPInput)的EGen加密来计算密文CB<subgt;1</subgt;的第一个块,因此CB<subgt;1</subgt;:=EGen(FP<subgt;u</subgt;(PB<supgt;u</supgt;<subgt;1</subgt;||FPInput)),并且以这种方式生成的明文CB<subgt;1</subgt;的前u位的加密作为初始化向量IV:=CB<subgt;1</subgt;用于用块密码E加密部分或全部剩余明文,其中,使用要求初始化向量(IV)的任何操作模式。

技术研发人员:V·弗里森
受保护的技术使用者:梅赛德斯-奔驰集团股份公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1158340.html

最新回复(0)