首页 / 专利库 / 资料储存系统 / 高速缓冲存储器 / 用于管理高速缓存一致性的方法

用于管理高速缓存一致性的方法

阅读:1035发布:2020-05-16

专利汇可以提供用于管理高速缓存一致性的方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种通过共享的 存储器 在两个处理单元之间发送消息的方法,该消息包括完整性校验和报头,所述方法包括以下步骤:第一处理单元生成(501)第一伪随机二进制字符串;通过应用依赖于所生成的第一伪随机二进制字符串的对合变换来对待发送的消息加密(502);发送并在共享的存储器中存储(503)已加密的消息;第二处理单元生成(504)第二伪随机二进制字符串;通过应用依赖于所述第二伪随机二进制字符串的对合变换、解密所述消息的报头(505)、验证已解密的报头(505)、以及根据验证的结果来解密完整的消息(506)来对所存储的消息解密;基于已解密的消息的完整性校验来验证(507)所述已解密消息的完整性。,下面是用于管理高速缓存一致性的方法专利的具体信息内容。

1.一种通过第一处理单元(202,302)与第二处理单元(202,302)两者共享的存储器(204,304)在所述第一处理单元和所述第二处理单元之间发送消息Mi的方法,所述第一处理单元和所述第二处理单元中的每一个连接到各自的高速缓存处理器(203,303),待发送的消息Mi包括完整性校验和预定报头,
所述第一处理单元和所述第二处理单元中的每一个包括伪随机二进制字符串生成器(205,305)和密码模(206,306);
所述第一处理单元的生成器和所述第二处理单元的生成器使用同一种子初始化,并彼此同步;
所述方法包括以下步骤:
-所述第一处理单元的伪随机二进制字符串生成器(205,305)生成(501)第一伪随机二进制字符串Si;
-所述第一处理单元的密码模块(206,306)通过对所述待发送的消息Mi应用依赖于所生成的第一伪随机二进制字符串Si的对合变换fSi来对所述待发送的消息Mi加密(502);
-所述第一处理单元发送并在共享的存储器(204,304)中存储(503)已加密的消息M'i=fSi(Mi);
-所述第二处理单元的伪随机二进制字符串生成器(205,305)生成(504)第二伪随机二进制字符串S'i;
所述第一伪随机二进制字符串和所述第二伪随机二进制字符串相同;
-所述第二处理单元的密码模块(206,306)通过对存储在共享的存储器(204,304)中的所述消息M'i=fSi(Mi)应用依赖于所述第二伪随机二进制字符串S'i的对合变换fS'i来对所存储的消息解密(505,506),解密所述消息包括解密所述消息的报头(505)、验证已解密的报头(505)以及根据报头验证的结果来解密完整的消息(506);
依赖于所述第一伪随机二进制字符串的对合变换和依赖于所述第二伪随机二进制字符串的对合变换相同;
-所述第二处理单元基于已解密的消息fS'i(M'i)的完整性校验来验证(507)所述已解密的消息的完整性,以使得试图读取所述待发送的消息以更新自身高速缓冲存储器的所述第二处理单元能够验证所述第二处理单元已经从所述共享的存储器中读取了该消息。
2.根据权利要求1所述的方法,其中,所述依赖于所述第一伪随机二进制字符串的对合变换为应用在所述第一伪随机二进制字符串与待加密的消息之间的异或运算XOR,以及所述依赖于所述第二伪随机二进制字符串的对合变换为应用在所述第二伪随机二进制字符串与待解密的消息之间的异或运算XOR。
3.根据权利要求1或2所述的方法,其中,验证所述报头(505)包括将所述报头与预定报头比较的步骤。
4.根据权利要求1或2所述的方法,其中,所述完整性校验为误差检测码。
5.根据权利要求4所述的方法,其中,所述误差检测码为循环冗余校验CRC或校验和。
6.根据权利要求1或2所述的方法,其中,所述共享的存储器(204,304)为循环缓冲存储器。
7.根据权利要求1或2所述的方法,其中,所述伪随机二进制字符串生成器的周期长于所述共享的存储器的比特容量。
8.一种计算机可读存储介质,其上存储有代码指令,所述代码指令被处理器执行时实现根据权利要求1至7中任一项所述的方法。
9.一种系统,包括:
-至少一个第一处理单元(202,302),配置为访问与至少一个第二处理单元(202,302)共享的存储器(204,304),并且配置为连接到第一高速缓冲存储器(203,303);
所述至少一个第一处理单元(202,302)包括:
-伪随机二进制字符串生成器(205,305),用于生成第一伪随机二进制字符串Si;
-密码模块(206,306),用于通过对待发送的消息Mi应用依赖于所生成的第一伪随机二进制字符串Si的对合变换fSi来对所述待发送的消息Mi加密(206);
所述待发送的消息Mi包括完整性校验和预定报头;
-用于发送并在共享的存储器(204,304)中存储已加密的消息M'i=fSi(Mi)的装置;
以及,所述至少一个第二处理单元(202,302),配置为访问与所述至少一个第一处理单元(202,302)共享的所述存储器(204,304),并且配置为连接到与所述第一高速缓冲存储器不同的第二高速缓冲存储器(203,303);
所述至少一个第二处理单元包括:
-伪随机二进制字符串生成器(205,305),用于生成第二伪随机二进制字符串S'i;
所述至少一个第一处理单元的生成器和所述至少一个第二处理单元的生成器使用同一种子初始化并彼此同步,并且所述第一伪随机二进制字符串与所述第二伪随机二进制字符串相同;
-密码模块(206,306),用于通过对存储在共享的存储器中的已加密的消息M'i=fSi(Mi)应用依赖于所述第二伪随机二进制字符串S'i的对合变换fS'i来对所存储的已加密的消息解密,解密所述消息包括解密所述消息的报头(505)、验证已解密的报头(505)以及根据报头验证的结果来解密完整的消息(506);
依赖于所述第一伪随机二进制字符串的对合变换和依赖于所述第二伪随机二进制字符串的对合变换相同;
-用于根据已解密的消息的完整性校验来验证所述已解密的消息的完整性的装置,以使得试图读取所述待发送的消息以更新自身高速缓冲存储器的所述至少一个第二处理单元能够验证所述至少一个第二处理单元已经从所述共享的存储器中读取了该消息。

说明书全文

用于管理高速缓存一致性的方法

技术领域

[0001] 本发明的主题是一种用于管理高速缓存一致性的机制。
[0002] 更具体地,本发明涉及一种在通过共享存储器来共享数据的两个处理单元之间的数据交换方法。

背景技术

[0003] 为了满足不断增长的对计算能的需求,在计算机系统中使用的处理器必须能够执行高于以往的每秒操作数量。多年来,处理器工作频率的提高使得能够提出满足不断增长的对计算机能力的需求的处理器。由于工作频率的提高还会增加所释放的热量,因而处理器刻蚀的细度(fineness)已逐步降低以将待耗散的热量控制在在可接受的限度内。然而,随着刻蚀细度已低至一微米以下且现已达到十纳米左右,微处理器电路的小型化已变得比以往更加复杂。
[0004] 因此,已研究出另一种方法,以在待耗散的热量不增加或者仅略微增加的情况下下继续增强处理器的计算能力:同时并行地执行多个操作,而不是寻求增加由同一执行核心顺序执行的操作数量。因此研发出了多核处理器
[0005] 此外,为了减少处理器执行指令的执行时间,为每个执行核心添加了高速缓冲存储器。所述存储器是位于系统的核心与随机存取存储器(RAM)之间的存储器。由于该存储器的访问时间比随机存取存储器的访问时间短得多,因此核心可更快地访问存储在该存储器中的某些数据,从而使得能够加快指令的执行。
[0006] 对于微处理器系统,如图1所示,每个执行核心可具有不与其他核心共享的高速缓冲存储器。在所述配置中,如果共享存储器中由第一核心修改的数据也包含在第二核心的高速缓存中并且没有更新为由第一核心执行的修改,那么第一核心对共享存储器中的数据进行的修改会引起两个核心的高速缓存之间的不一致。因此,存在第二核心将从自身高速缓存中读取不正确数据的险。因此,有必要提供有效的机制来确保多核处理器的不同执行核心的高速缓存之间的一致性。
[0007] 为满足该问题所研发的一种机制是通过“窥探(espionnqge)”获得一致性。根据所述机制,对存储器的每次写入通过由处理器的所有核心共享的总线发送。通过在共享总线上的窥探,每个核心因而可以获知其他核心的存储器写入操作,并由此能够更新自身的缓存以确保该高速缓存与其他核心的高速缓存的一致性。
[0008] 由于高速缓存的尺寸减小,因此有必要更新(renouveler)高速缓存的内容以使出现缓存缺陷的可能性最小化,即,使核心在自身高速缓存中找到其试图读取的数据的可能性最大化,从而避免在更高级别的高速缓存或RAM中提取所述数据。如果在缓存中修改的数据仅写入RAM,当该数据在高速缓存更新时被从该缓存中删除的时候,那么将数据写入高速缓存和将相同的数据写入RAM在时间上会出现偏差。根据所用的高速缓存更新算法,数据被写入存储器的顺序甚至可能与这些数据之前被输入高速缓存的顺序不同。因此,采用窥探一致性机制可能出现以下情况:对第一核心的写入操作进行窥探的第二核心会在对应的数据已写入共享存储器或完成写入共享存储器之前就获知第一核心的写入指针的变化。那么这会导致第二核心使用与第一核心更新的数据不对应的数据来更新自身的高速缓存。于是高速缓存一致性无法再得到保障。
[0009] 避免所述问题的一个方案在于使第二核心在读取共享存储器中更新的数据之前等待一定的时间,以在读取操作之前留下用于将更新的数据写入共享存储器的时间。然而,所述方案减缓了缓存的更新并由此降低了处理器的性能平。
[0010] 另一方案在于使用由不同核心共享的时钟来对所有写入操作打上时间戳。因此,对第一核心写入共享存储器的写入操作进行检测的第二核心能够重构执行这些写入操作的顺序,并能够确保在共享存储器中读取与所检测到的写入指针的更新相对应的数据。然而,所述方案很大程度上依靠高速缓存一致性机制的资源。每个写入数据必须与其写入日期一起存储,因而增大了在核间总线上待交换的且待存储在不同存储器中的数据量。
[0011] 因此,需要一种确保计算机系统不同核心的高速缓存之间的一致性,而无需明显降低所述系统的性能水平且不增加待存储在存储器中的数据量的高速缓存一致性机制。

发明内容

[0012] 根据第一方面,本发明的主题涉及一种通过第一处理单元与第二处理单元两者共享的存储器在两个处理单元之间发送消息的方法;
[0013] 待发送的消息包括完整性校验和报头,
[0014] 每个处理单元包括伪随机二进制字符串生成器和密码模
[0015] 所述第一处理单元的生成器和所述第二处理单元的生成器使用同一种子初始化,并彼此同步;
[0016] 所述方法包括以下步骤:
[0017] -所述第一处理单元的伪随机二进制字符串生成器生成第一伪随机二进制字符串;
[0018] -所述第一处理单元的密码模块通过对所述待发送的消息应用依赖于所生成的第一伪随机二进制字符串的对合变换来对所述待发送的消息加密;
[0019] -所述第一处理单元发送并在共享的存储器中存储已加密的消息;
[0020] -所述第二处理单元的伪随机二进制字符串生成器生成第二伪随机二进制字符串;
[0021] 所述第一二进制字符串和所述第二二进制字符串相同;
[0022] -所述第二处理单元的密码模块通过对存储在共享存储器中的所述消息应用依赖于所述第二伪随机二进制字符串的对合变换来对所存储的消息解密,解密所述消息包括解密所述消息的报头、验证已解密的报头以及根据报头验证的结果来解密完整的消息;
[0023] 依赖于所述第一伪随机二进制字符串的对合变换和依赖于所述第二伪随机二进制字符串的对合变换相同;
[0024] -所述第二处理单元基于已解密的消息的完整性校验来验证所述已解密的消息的完整性。
[0025] 所述方法使得第二处理单元能够确保在存储器中读取的且已解密的消息确实是第一处理单元发送且存储在共享存储器中的消息。此外,解密时使用所述报头使得能够进行对存储器中读取的消息的第一验证,同时仅需要比完整消息的解密和完整性校验少的计算。因此,与解密完整的消息相比,能够更快速地检测到不正确消息的读取。
[0026] 依赖于二进制字符串的对合变换可以是应用在所述二进制字符串与待加密或待解密的消息之间的异或运算(XOR)。
[0027] 通过自身对合的加密消息和解密消息的所述变换使用单一变换,同时要求降低的用于加密和解密的计算能力。此外,所述变换可以逐位地应用到消息,从而使得能够仅对所述消息的一部分尤其是消息报头解密。
[0028] 验证所述报头包括将所述报头与预定报头进行比较。
[0029] 根据一个优点,非限制性的特征在于,所述完整性校验是误差检测码。
[0030] 该误差检测码可以是循环冗余校验(CRC)或校验和(checksum)。
[0031] 使用所述代码使得能够验证在存储器中读取的加密消息的解密已被正确地执行并由此验证所读取的消息确实是第一处理单元发送并存储在共享存储器中的消息。
[0032] 所述共享存储器可以是循环缓冲存储器。
[0033] 伪随机二进制字符串生成器的周期可以长于共享存储器的比特容量。
[0034] 使用循环缓冲存储器,可以在写入操作已被输入到该缓冲存储器的所有位置的情况下避免旧数据无意的解密。
[0035] 根据本发明的第二方面涉及一种计算机程序产品,该计算机程序产品包括当在处理器上执行该程序时,用于实现根据第一方面所述的方法的代码指令。
[0036] 根据本发明的第三方面涉及一种系统,该系统包括:
[0037] -至少一个第一处理单元,配置为访问与第一处理单元共享的存储器;
[0038] 所述第一处理单元包括:
[0039] -用于生成第一伪随机二进制字符串的伪随机二进制字符串生成器;
[0040] -密码模块,用于通过对待发送的消息应用依赖于所生成的第一伪随机二进制字符串的对合变换来对所述待发送的消息加密;
[0041] 所述待发送的消息包括完整性校验和报头;
[0042] -用于发送已加密的消息并将该消息存储在共享的存储器中的装置;
[0043] 以及至少一个第二处理单元,配置为访问与第一处理单元共享的存储器;
[0044] 所述第二处理单元包括:
[0045] -用于生成第二伪随机二进制字符串的伪随机二进制字符串生成器;
[0046] 所述第一处理单元的生成器和所述第二处理单元的生成器使用同一种子初始化并彼此同步,所述第一二进制字符串与所述第二二进制字符串相同;
[0047] -密码模块,用于通过对存储在共享的存储器中的已加密的消息应用依赖于所述第二伪随机二进制字符串的对合变换来对所存储的已加密的消息解密,解密所述消息包括解密所述消息的报头、验证已解密的报头以及根据报头验证的结果来解密完整的消息;
[0048] 依赖于所述第一伪随机二进制字符串的对合变换和依赖于所述第二伪随机二进制字符串的对合变换相同;
[0049] -用于根据已解密的消息的完整性校验来验证所述已解密的消息的完整性的装置。
[0050] 所述计算机程序产品和系统的优点与以上根据第一方面所述的方法的优点相同。附图说明
[0051] 通过阅读实施例的以下说明,其他特征和优点将变得显而易见。该说明将参考附图给出,在附图中:
[0052] -图1示意性地示出了微处理器系统中的材料装置;
[0053] -图2示意性地示出了根据本发明的一个实施例的系统中的材料装置;
[0054] -图3示意性地示出了根据本发明的另一实施例的系统中的材料装置;
[0055] -图4为示出根据本发明的第一实施例的校验方法的示例性实施例的框图
[0056] -图5为示出根据本发明的第二实施例的校验方法的示例性实施例的框图。

具体实施方式

[0057] 本发明的一个实施例涉及一种通过计算机系统的两个处理单元共享的存储器而在这两个处理单元之间发送消息的方法。
[0058] 如图2所示,这些处理单元可以是同一微处理器计算系统(système informatique multiprocessor,SI)201的两个处理器,该微处理器计算系统包括多个处理器202a,...,202n。每个处理器202a,...,202n连接到高速缓冲存储器203a,...,203n处。高速缓冲存储器203a,...,203n不共享。仅高速缓冲存储器所属的处理器能够读取该高速缓冲存储器的内容。
[0059] 根据图3所示的变型,处理单元是集成在单个处理器301内的多个执行核心302a,...,302n中的执行核心。根据所述变型,每个执行核心连接到自身的非共享高速缓冲存储器303a,...,303n处。
[0060] 高速缓冲存储器203a,...,203n和303a,...,303n可以是1级、2级或更高级的高速缓冲存储器。
[0061] 所有的高速缓冲存储器连接到共享存储器(MEM)204、304处,该共享存储器对所有处理器202a,...,202n和所有执行核心302a,...,302n具有读写可存取性。根据第一变型,所述共享存储器可以是比非共享存储器203a,...,203n和303a,...,303n更高级的高速缓冲存储器,因而是2级或更高级的高速缓冲存储器。根据另一变型,共享存储器204、304是计算机系统的随机存取存储器。
[0062] 共享存储器204、304可以是能够实现FIFO型逻辑的循环缓冲存储器。
[0063] 每个处理单元包括密码模块206、306和伪随机二进制字符串生成器(PRNG)205、305,例如,线性反馈移位寄存器(“LSFR”)或线性同余发生器(“GCL”)。
[0064] 所有处理单元的伪随机二进制字符串生成器205、305采用同一“种子”初始化并彼此同步。
[0065] 密码模块使得处理单元能够对待交换的消息加密和解密。
[0066] 消息的加密和解密包括对待加密或解密的消息应用同一依赖于相同的伪随机二进制字符串Si的变换fSi,该变换fSi是对合的,即验证fSi o fSi=id。该伪随机二进制字符串Si由每个处理单元的伪随机二进制字符串生成器等同地生成来用于同一消息的加密和解密,这些生成器使用同一种子初始化并维持彼此同步。
[0067] 根据第一变型,对合的变换fSi对应于在待加密或解密的消息与处理单元所生成的伪随机二进制字符串Si之间进行异或运算(opération OU EXCLUSIF)。
[0068] 根据第二变型,对合的变换fSi对应于由字符串Si限定的二进制数与对应于待加密或解密的二进制消息的二进制数之间的差。
[0069] 因此,在消息已写入共享存储器之后,试图更新自身高速缓存的处理单元能够确保该处理单元从存储器中读取的消息确实是检测到的写入消息。
[0070] 更具体地,以下将参照图4对通过共享存储器在两个处理单元间交换的消息的校验方法的第一实施例进行说明。
[0071] 交换的消息Mi包括完整性校验。该完整性校验因而能够由诸如循环冗余校验(“cyclic redundancy check”或“CRC”)之类使得能够进行误差检测的编码来实现。该完整性校验还可以包括例如校验和。
[0072] 在第一步骤401处,发送消息的第一处理单元的伪随机二进制字符串生成器生成第一伪随机二进制字符串Si。如果生成的二进制字符串是生成器初始化之后所生成的第一字符串,那么它对应于与所用种子对应的字符串序列的第一字符串。如果至少一个二进制字符串已预先在生成器初始化之后生成,那么在第一步骤401处生成的二进制字符串是该序列的后续字符串。
[0073] 在第二步骤402处,发送消息的第一处理单元的密码模块通过对待交换的消息应用依赖于在第一步骤401处生成的第一伪随机二进制字符串的变换fSi来对待交换的消息加密,该变换是对合的,即该变换验证等式fSi o fSi=Id,其中Id为识别函数。因此,利用同一变换对消息加密和解密是可能的。
[0074] 在第三步骤403处,已加密的消息(M'i=fSi(M))由第一处理单元发送并存储在共享存储器中;
[0075] 在第四步骤404处,第二处理单元希望通过自身的高速缓存读取存储在共享存储器中的消息M'i。因此,第二处理单元的伪随机二进制字符串生成器生成第二二进制字符串S'i。该二进制字符串生成器利用与用于对第一步骤401的生成器进行初始化的种子相同的种子进行初始化,并且这两个生成器从它们的初始化开始就保持彼此同步。因此,在第四步骤404处生成的第二二进制字符串S'i与在第一步骤401处生成的第一二进制字符串Si相同。
[0076] 在第五步骤405处,第二处理单元通过自身的高速缓存读取存储在共享存储器中的已加密的消息M'i。随后第二处理单元的密码模块通过对加密消息M'i应用依赖于第二伪随机二进制字符串S'i的对合变换fS'i来对已加密的消息M'i解密。由于第二伪随机二进制字符串S'i与第一随机二进制字符串Si相同,因此该变换fS'i与变换fSi相同。随后解密该已加密的消息产生待交换的消息,该待交换的消息在第二步骤402处被加密(fS'i(M'i)=fS'i(fSi(Mi))=fSi(fSi(Mi))=Id(Mi)=Mi)
[0077] 如果第二处理单元读取共享存储器中的、与待交换的消息M'i不同的消息M'j对应的已加密数据,例如,因为该读取发生在将已加密消息M'i写入共享存储器之前,那么第二处理单元不能正确解密该消息。在共享存储器中读取的已加密消息采用与变换fSi不同的变换fSj进行加密,这是因为该变换fSj相对于与第一二进制字符串Si不同的二进制字符串Sj定义。当对利用函数fS'i加密的该消息解密时,处理单元的密码模块将获得结果fS'i(M'j)=fS'i(fSj(Mj))=fSi(fSj(Mj)),因此该结果既不对应于Mi也不对应于Mj。
[0078] 在第六步骤406处,第二处理单元借助于完整性校验对该已解密的消息的完整性进行验证。如果发送的消息在第五步骤405处被成功解密,那么该消息是完整的,并且试图更新自身高速缓存的第二处理单元证明其已读取了共享存储器中正确的消息。相反地,如果解密未在第五步骤405处正确地执行,则该已解密的消息是不完整的,那么第二处理单元获知在共享存储器中读取的消息不是之后所寻求用于更新自身高速缓存的消息。
[0079] 根据一个变型,在对已解密消息的完整性验证失败的情况下,第二处理单元在经过预定时间后再次执行第五步骤405。
[0080] 伪随机二进制字符串生成器205、305可以具有比共享存储器的比特容量长的周期。这使得可以在存储器已经完成一个循环(即一旦写入已输入到存储器的所有位置中,包含旧数据的位置被重用于写入最新的数据)时使用例如循环缓冲存储器来避免无意地解密一个旧值。
[0081] 以下将参照图5对通过共享存储器在两个处理单元间交换的消息进行校验的方法的第二实施例进行说明。
[0082] 交换的消息Mi包括完整性校验。该完整性校验因而能够由诸如循环冗余校验(CRC)之类使得能够进行误差检测的编码来实现。该完整性检查还包括例如校验和。
[0083] 交换的消息Mi还包括n比特长度的预定报头hi。
[0084] 在与上述根据第一实施例的方法的第一步骤401类似的第一步骤501处,发送消息的第一处理单元的伪随机二进制字符串生成器生成伪随机二进制字符串Si。如果生成的二进制字符串是生成器初始化之后所生成的第一字符串,那么它对应于与所用种子对应的字符串序列的第一字符串。如果在生成器初始化之后已经生成了至少一个二进制字符串,那么在第一步骤501处生成的二进制字符串是该序列的后续字符串。
[0085] 在与上述根据第一实施例的方法的第二步骤402类似的第二步骤502处,发送消息的第一处理单元的密码模块通过对待交换的消息应用依赖于在第一步骤501处生成的第一伪随机二进制字符串Si的变换fSi来对待交换的消息加密,该变换是对合的,即该变换验证等式fSi o fSi=Id,其中Id为识别函数。因此,利用同一变换对消息加密和解密是可能的。
[0086] 在该实施例中,变换fSi还必须可应用于已加密消息的前n个比特,以只对该已加密消息的报头h'i进行解密。例如,如果该变换是异或函数,那么它仅仅能够应用在字符串Si的前n个比特与已加密消息的前n个比特之间以只对该报头解密。
[0087] 在第三步骤503处,已加密的消息(M'i=h'i::d'i=fSi(Mi)=fsi(hi::di))被第一处理单元发送并存储在共享存储器中。
[0088] 在与上述方法的第四步骤404类似的第二步骤504处,第二处理单元希望读取存储在共享存储器中的消息M'i。因此,第二处理单元的伪随机二进制字符串生成器生成第二伪随机二进制字符串生成器S'i。该二进制字符串生成器利用与用于初始化第一步骤501的生成器的种子相同的种子进行初始化,并且这两个生成器从它们的初始化开始就维持彼此同步。因此,在第四步骤504处生成的第二二进制字符串S'i与在第一步骤501处生成的第一二进制字符串Si相同。
[0089] 在第五步骤505处,第二处理单元读取存储在第三步骤503中存储在共享存储器中的已加密消息M'i。第二处理单元的密码模块随后通过对已加密消息应用依赖于第二伪随机二进制字符串S'i的对合变换fS'i来仅对已加密消息的报头h'i解密。第二伪随机二进制字符串S'i与第一伪随机二进制字符串Si相同,变换fS'i与变换fSi相同。随后,对该已加密消息M'i的报头h'i的解密产生了预定报头hi,该预定报头hi用作在第二步骤502处被加密的消息Mi的报头。
[0090] 如果第二处理单元读取共享存储器中的、与待交换的消息M'i不同的消息M'j对应的加密数据,例如,因为该读取操作发生在加密消息M'i被写入共享存储器之前,那么第二处理单元将不能正确解密该消息报头。在共享存储器中读取的已加密消息会利用与变换fSi不同的变换fSj加密,这是因为该变换fSj被定义为不同于二进制字符串Si的二进制字符串Sj的函数。当使用变换fS'i对已加密的该消息的报头解密时,处理单元的密码模块所获得的结果将是fS'i(fSj(hj)),该结果并不对应于用作消息Mi和Mj的报头的预定报头hi或hj。
[0091] 如果对该已加密消息的报头进行的解密没有产生预定报头,那么第二处理单元在经过预定时间间隔后再次执行第四步骤504。
[0092] 如果对该已加密消息的报头进行的解密产生了预定报头,那么第二处理单元执行接下来的第六步骤506。
[0093] 在第六步骤506处,第二处理单元的密码模块通过对已加密消息M'i的剩余部分应用依赖于第二伪随机二进制字符串S'i的对合变换fS'i来对共享存储器中读取的已加密消息M'i的剩余部分解密。由于第二伪随机二进制字符串S'i与第一随机二进制字符串Si相同,因此该变换fS'i与变换fSi相同。随后,对在第二步骤502处加密的已加密消息进行的解密产生待交换的消息(fS'i(M'i)=fS'i(fSi(Mi))=fSi(fSi(Mi))=Id(Mi)=Mi)。
[0094] 在第七步骤507处,第二处理单元使用完整性校验对该已解密消息的完整性进行验证。如果发送的消息在第六步骤506处被成功解密,那么该消息是完整的并且第二处理单元证明其已读取共享存储器中正确的消息。相反地,如果解密在第六步骤506处被错误地执行,那么该已解密的消息是不完整的,并且第二处理单元获知在共享存储器中读取的消息不是所需的消息。
[0095] 根据一个变型,在已解密消息的完成性验证失败的情况下,第二处理单元在经过预定时间间隔后再次执行第五步骤505。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈