CN111406380A - 用于利用半群的密钥协商的方法和系统 - Google Patents
用于利用半群的密钥协商的方法和系统 Download PDFInfo
- Publication number
- CN111406380A CN111406380A CN201880076818.8A CN201880076818A CN111406380A CN 111406380 A CN111406380 A CN 111406380A CN 201880076818 A CN201880076818 A CN 201880076818A CN 111406380 A CN111406380 A CN 111406380A
- Authority
- CN
- China
- Prior art keywords
- clusters
- rings
- value
- groups
- party
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004891 communication Methods 0.000 claims abstract description 27
- 239000011159 matrix material Substances 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 16
- 230000007717 exclusion Effects 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 5
- 239000002131 composite material Substances 0.000 claims description 3
- 238000012937 correction Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- ZPUCINDJVBIVPJ-LJISPDSOSA-N cocaine Chemical compound O([C@H]1C[C@@H]2CC[C@@H](N2C)[C@H]1C(=O)OC)C(=O)C1=CC=CC=C1 ZPUCINDJVBIVPJ-LJISPDSOSA-N 0.000 description 34
- 238000007792 addition Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 19
- 238000003860 storage Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 239000000654 additive Substances 0.000 description 3
- 230000000996 additive effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- OKUGPJPKMAEJOE-UHFFFAOYSA-N S-propyl dipropylcarbamothioate Chemical compound CCCSC(=O)N(CCC)CCC OKUGPJPKMAEJOE-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
- Optical Communication System (AREA)
Abstract
一种用于通过公共通信信道在第一方与第二方之间进行密钥协商的方法,该方法包括:由第一方从半群中选择第一值“a”;将第一值“a”乘以第二值“b”以创建第三值“d”,第二值“b”从半群中被选择;向第二方发送第三值“d”;从第二方接收第四值“e”,第四值包括第二值“b”乘以由第二方从半群中选择的第五值“c”;以及通过将第一值“a”与第四值“e”相乘来创建共享秘密,其中共享秘密与第三值“d”乘以第五值“c”相匹配。
Description
技术领域
本公开涉及密码学,并且具体地涉及用于密码学的密钥协商。
背景技术
在密码学中,密钥协商方案定义了关于两方可以各自如何选择秘密并且然后基于这样的选择来计算共享秘密的规则的集合。密钥协商方案有时被称为密钥交换或密钥建立方案。
最著名形式的密钥协商被称为迪菲-赫尔曼(Diffie-Hellman)(DH)密钥协商。存在各种形式的迪菲-赫尔曼密钥协商,包括椭圆曲线形式,这些形式通常在很多网站上使用。
然而,量子计算机正在成为潜在的计算平台。量子计算机使用的是“量子位”,而不是传统计算机中利用的二元数字,这样的量子计算机理论上能够比经典计算机更快地求解某些问题,包括整数分解,这是迪菲-赫尔曼密钥协商方案的强项。
特别地,Peter Shor(彼得秀尔)在1994年提出了秀尔量子算法。如果可以构建功能强大的量子计算机,该算法将攻击迪菲-赫尔曼密钥协商。利用这种算法,量子计算机在迪菲-赫尔曼密钥协商方案中发现一方或双方秘密的风险不为零。因此,需要有针对秀尔算法的对策。
附图说明
参考附图将能够更好地理解本公开,在附图中:
图1是示出密钥协商方案的数据流图。
图2是示出根据本公开的实施例的密钥协商方案的数据流图。
图3是示出半群的试验排除的流程图。
图4是示出半群的限制的流程图。
图5是示出组合构建块以创建半群的流程图。
图6是示出根据本公开的实施例的在其中协商半群的密钥协商方案的数据流图。
图7是能够与本公开的实施例一起使用的简化的计算设备的框图。
具体实施方式
本公开提供了一种用于通过公共通信信道在第一方与第二方之间进行密钥协商的方法,该方法包括:由第一方从半群中选择第一值“a”;将第一值“a”乘以第二值“b”以创建第三值“d”,第二值“b”从半群中被选择;向第二方发送第三值“d”;从第二方接收第四值“e”,第四值包括第二值“b”乘以由第二方从半群中选择的第五值“c”;以及通过将第一值“a”与第四值“e”相乘来创建共享秘密,其中共享秘密与第三值“d”乘以第五值“c”相匹配。
本公开还提供了一种计算设备,该计算设备被配置用于通过公共通信信道在第一方与第二方之间进行密钥协商,该计算设备包括:处理器;以及通信子系统,其中计算设备被配置为:从半群中选择第一值“a”;将第一值“a”乘以第二值“b”以创建第三值“d”,第二值“b”从半群中被选择;向第二方发送第三值“d”;从第二方接收第四值“e”,第四值包括第二值“b”乘以由第二方从半群中选择的第五值“c”;以及通过将第一值“a”与第四值“e”相乘来创建共享秘密,其中共享秘密与第三值“d”乘以第五值“c”相匹配。
本公开还提供了一种计算机可读介质,该计算机可读介质用于存储用于通过公共通信信道在第一方与第二方之间进行密钥协商的指令代码,该指令代码在由计算设备的处理器执行时使计算设备:从半群中选择第一值“a”;将第一值“a”乘以第二值“b”以创建第三值“d”,第二值“b”从半群中被选择;向第二方发送第三值“d”;从第二方接收第四值“e”,第四值包括第二值“b”乘以由第二方从半群中选择的第五值“c”;以及通过将第一值“a”与第四值“e”相乘来创建共享秘密,其中共享秘密与第三值“d”乘以第五值“c”相匹配。
根据本公开,可以将作为代数中的一类数学对象的半群用作密钥协商方案的基础。任何半群都可以用作密钥协商方案的基础,并且此外,新的结构允许以这种方式构建任何密钥协商方案,包括现有方案,诸如迪菲-赫尔曼密钥协商和超奇异同构迪菲-赫尔曼(Supersingular Isogeny Diffie-Hellman)(SIDH)密钥协商方案。
然而,并非所有的半群都适合于密钥协商方案。因此,根据本公开的一些实施例,可以基于半群的各种特征来限制将半群选择用于密钥协商。特别地,可以基于试验排除或限制来定义结构上安全的半群。可以基于半群的特性进行限制。
在本公开的另外的实施例中,可以使用诸如其他半群或包括半环或任意函数在内的其他类型的代数对象等构建块来构造半群。这样的构造可以增强密钥协商方案的安全性。
在本公开的另外的实施例中,可以在各方之间协商特定半群用于密钥协商方案的使用。通过选择用于特定交易的很多半群密钥协商方案中的一个半群密钥协商方案,可以通过模糊性来实现加密灵活性和安全性。
下面描述这些和其他方面。
密钥协商
在密钥协商方案中,两方希望利用秘密密钥来创建安全通信,其中双方都对这样的秘密密钥做出了贡献。
参考图1,图1示出了两方之间的通用密钥协商方案。特别地,在图1的实施例中,两方(即,本公开的实施例中的爱丽丝(Alice)和查理(Charlie))是参与密钥协商方案的各方。
在图1的实施例中,爱丽丝生成秘密“a”,如框110所示。类似地,查理生成秘密“c”,如框112所示。
基于在框110处生成的秘密“a”,爱丽丝利用算法P1和秘密“a”来计算值“d”,如框120所示。
类似地,查理利用算法P2和秘密“c”来计算值“e”,如框122所示。
然后,爱丽丝将值“d”传递给查理,如消息130所示。类似地,查理将消息132中的值“e”传递给爱丽丝。对于消息130和132两者,使用某种机制可以认为传递是可靠的并且是经认证的。
基于对值“e”的接收,爱丽丝随后可以利用算法P3、从块110生成的秘密“a”以及从消息132接收的公共值“e”来计算值“f”,如框140所示。
类似地,查理可以使用算法P4以及在框112处生成的秘密以及在消息130处接收的值“d”来计算值“g”,如框142所示。
密钥协商中使用的计算使得f=g使用算法P4,并且因此,爱丽丝和查理现在共享秘密,即f=g。这种共享秘密由双方共同贡献。
然后,这样的共享秘密可以例如用作对称密钥以用于未来的通信中的内容和消息的加密和认证两者。
图1的实施例描述了异步密钥协商方案,该方案提供了关于爱丽丝和查理如何选择他们的秘密“a”和“c”以及其如何计算值d、e、f、g的规则的集合。这种方案有时称为密钥交换,以反映公共值d和e被交换的这一事实。同样,它们有时也称为密钥分发或密钥建立。然而,根据本公开,以下通常使用术语密钥协商来描述双方对共享秘密做出贡献的这一事实。
尽管以上图1的实施例描述了其中一方的密钥不依赖于另一方的密钥协商方案,但是在其他情况下,可能需要对通信进行同步和排序。例如,如果修改图1的实施例以使查理的公共值“e”取决于爱丽丝的公共值“d”,则查理将无法发送“e”,直到接收到“d”。在这种情况下,该模型可能不被认为是异步的。
然而,在下述实施例中,所有密钥协商方案都是异步的。这种异步方案的一个示例可以是互联网工程任务组(IETF)协议传输层安全性(TLS),它可以保护客户端与服务器之间的超文本传输协议安全(HTTPS)连接。TLS协议有两个阶段,即握手和记录层。握手首先进行,并且使用密钥协商形式的公共密钥密码学、以及其他方面(诸如用于认证的数字签名)。
TLS握手以椭圆曲线迪菲-赫尔曼(ECDH)密钥协商作为选项,并且TLS 1.3需要某种形式的迪菲-赫尔曼密钥协商,其可以是EDCH或经典DH。
TLS握手的DH部分是异步的。例如,服务器爱丽丝和客户端查理使用握手来协商主密钥。主密钥用于导出会话密钥,该会话密钥在TLS记录层中用于保护后续内容数据,诸如下载和上传的网页以及类似的网络业务。
TLS记录层不使用公共密钥密码学,因此它不使用密钥协商,而是提供了密钥协商的有用应用。
半群
半群是代数中的一类数学对象。每个半群S具有元素的集合、以及在该集合上定义的二元运算。二元运算必须是关联的。这表示:
a(bc)=(ab)c (1)
在上面的等式1中,a、b和c在半群S中。等式1指示,在计算三个元素a、b和c的乘积abc时,是先将a和b相乘,得到某个值d=ab,并且然后将d乘以c以得到abc=dc,还是先将b和c相乘以得到值e=bc,并且然后将a和e相乘以得到abc=ae,这是无关紧要的。
配备有关联二元运算的任何集合都是半群。
半群的两个示例包括加法下的正整数{1,2,3,...}和乘法下的正整数{1,2,3,...}。这两个示例共享相同的集合,但是具有不同的集合二元运算。如本领域技术人员将理解的,除了以上定义的两个半群,还有很多其他半群。
当讨论通用半群S时,通常假定该运算被写为乘法。此外,当a和b是利用S中的值表示的变量时,乘积被写为ab,省略了任何乘法符号。但是,在特定的具体半群中,诸如加法下的正整数,使用用于二元运算的符号“+”并且将运算写为a+b而不是ab。
在某些情况下,半群S是可交换的,这表示针对S中的所有a、b,都有ab=ba。在使用上述正整数半群的示例中,两个示例都是可交换的。
其他半群是不可交换的。例如,乘法下的矩阵将是不可交换的。在这种情况下,在乘积abc中,a、b和c的位置对于这样的乘积很重要。因此,abc可以不同于bac和cab。
然而,关联性表示,在乘积abc中,执行两个乘法的顺序无关紧要。因此,可以先计算ab或先计算be,但是最终结果是相同的。
根据本公开,半群具有乘法运算符。
然而,半群不需要具有除法运算符。在某些情况下,除法运算符可以被形成并且写为“/”。除法运算符是具有左右输入的二元运算符。如果/是半群S上的二元运算符,如果有以下,则/可以定义为强除法器:
(ab)/b=a (2)
其中以上等式2对于S中的所有a、b均有效。
如果上面的等式2仅对S内的a、b值的子集成立,则可以将运算符/定义为部分强除法器。
在半群命名法中,该运算通常被写为ab/b而不是(ab)/b,这表示,乘法是在除法之前进行的。
此外,还可以为半群定义弱除法器。特别地,有时半群具有如下乘法:其中对于d的很多不同值,ab=db。在这种情况下,不能存在强除法器。在该情况下,如果有以下,则A 7”是弱除法器:
(ab/b)b=ab (3)
在等式3中,为所有a、b和S定义了弱除法器。
部分弱除法器利用等式3,但是仅对S内的值a、b的子集有效。
在以上等式2和3中,除法器/也称为右除法器。类似地,二元运算符“\”称为左除法器。如果b\ba=a,则运算符\是强左除法器。此外,如果b(b\ba)=ba,则二元运算符\是弱左除法器。
在各种半群中,除法运算可以是已知的。例如,对于乘法下的正整数,这是通常的欧几里得除法算法。对于加法下的正整数,除法可以变为减法。除法器对于某些矩阵半群是已知的,其中可以使用巴雷斯(Bareiss)排除。
此外,半群的很多构造使用被称为半环的概念。半环R具有两个二元运算,即加法和乘法,每个运算在R上形成半群。加法也是可交换的。乘法分布在加法上,这表示,对于R中所有a、b、c有a(b+c)=ab+ac和(a+b)c=ac+bc。半环的基本示例包括通常的加法和乘法运算下的正整数。
将半群转换为密钥协商方案
根据本公开的实施例,任何半群可以被转换为密钥协商方案。实际上,这种构造允许以这种方式构造每个密钥协商方案,包括诸如DH密钥协商和SIDH密钥协商等现有方案。
基于以上内容,如果安全的后量子抗性密钥协商方案是可能的,则它可以利用根据本公开的方法和系统以及一些半群来创建。
现在参考图2。在图2的实施例中,两方希望通过密钥协商方案来创建秘密密钥。特别地,与图1一样,爱丽丝和查理彼此通信。
根据图2的实施例,S是半群。爱丽丝在框210处选择半群S内的秘密码“a”。
类似地,在框212处,查理选择在半群S中发现的秘密“c”。
此外,如在框220和222所示,爱丽丝和查理都选择在半群S内找到的值“b”。值b可以是公共固定值,也可以是预定的秘密值,诸如从在爱丽丝与查理之间共享的密码中导出的值。用于确定b的其他选项也是可能的。基于此,在某些情况下,值“b”可以是公共值,也可以是弱共享秘密。
在框230处,爱丽丝计算值d=ab。类似地,在框232处,查理计算值“e”,其中e=bc。
此后,如消息240所示,爱丽丝将值“d”传递给查理。类似地,在消息242中,查理将值“e”传递给爱丽丝。
在框250处,爱丽丝计算f=ae。在框252处,查理计算g=dc。
由于S是半群,所以乘法是相关联的。因此,f=ae=a(bc)=(ab)c=do=g。
基于此,爱丽丝和查理都计算出相同的值f=g。
在图1的实施例中,使用了变量a、c、d、e、f和g。这些变量在图2中类似地使用,以说明该构造是密钥协商方案。
比较图1和图2的实施例,图2的实施例使用半群S。此外,它使用额外的变量b,变量b是S的共享元素或预共享元素。
在图2的实施例中,通过乘法来计算在公共信道上共享的值。在图1中,未指定如何分别根据a和c来计算d和e的值。
此外,图2的实施例使用半群乘法来计算共享秘密f=g。图1的实施例未指定如何计算共享秘密。
此外,半群的关联性用于确保f=g。相反,在图1中,未定义用于计算f和g的算法,以允许爱丽丝和查理可以确保他们就相同的共享秘密进行协商。
使用以上图2的实施例,可以创建任何密钥协商方案。然而,所选择的半群确定密钥协商方案的安全性。
例如,半群的各种参数可以指示缺乏安全性。特别地,用于密钥协商的半群S必须没有有效的除法运算符。如果是这样,则当b公开或如果b是弱秘密(诸如密码)时,对手可以将爱丽丝的秘密a计算为a=d/b。一旦攻击者找出了秘密a,攻击者便可以在框250处复制爱丽丝的计算以获取共享秘密f=ae。
类似地,半群S内不应当存在有效的左除法器以避免安全问题。
下面提供了在选择安全半群S时要考虑的其他要素。
楔形问题
通常,当选择半群时,如下所述的楔形问题应当难以求解。
特别地,在这种情况下,考虑具有三个输入的三元运算:左输入、中间输入和右输入。如果这三个输入为ab、b、bc,则输出应当为abc。
具体地,S中的每个三元组(a,b,c)值都生成楔形问题的输入(ab)、b、be。攻击者的目标是找到将允许根据这样的输入来生成目标输出abc的“楔形运算符”。在本公开中,三元组(a,b,c)被称为问题的根源。输入ab是左输入,值b是中间输入,值bc是右输入。
很多不同的种子(a,b,c)可能导致相同的输入(ab,b,bc)。然而,abc的值由输入唯一地确定。
例如,假定(a′,b′,c′)导致相同的输入,因此(a′b′,b′,b′c′)=(ab,b,be)。在这种情况下,abc=(a′b′)c=a′(b′c)=a′(b′)c=a′(b)c=a′(be)=a′(b′c′)=a′b′c′。
在这点上,楔形问题是找到一种有效的算法来实现这种函数。在不失一般性的前提下,可以假定该算法是确定性的,并且因此该算法计算真实楔形函数的近似值,其中使用术语“近似”是因为以一定的概率是正确的。楔形函数是三元函数。
因为存在楔形函数,所以楔形问题是计算问题。使用楔形问题攻击关联密钥协商方案的对手只需求解计算问题。
为了表示以上内容,定义了楔形运算符^。此外,根据本公开,中间输入被提供作为该符号右边的下标。例如,下面的等式4提供了这种楔形运算
d^be (4)
在以上等式4中,d是左输入,b是中间输入,e是右输入。
应当注意,在本公开中使用的^符号不应当与其他数学和计算机程序设计中的符号和其他名称混淆。
此外,在数学中,术语“楔形运算符”或“楔形乘积”经常以各种含义来使用。通常,它通常与“外部乘积”同义,然而,这些术语也不应当与本公开中定义的楔形运算符混淆。具体地,如本文中使用的,楔形运算符^b由以下等式5定义。
ab^bbe=abc (5)
等式5对于S中的所有a、b、c均成立。
根据本公开,值b通常是固定的,在这种情况下,^b被认为是二元运算符。如果选择b作为弱秘密(诸如预先设置的密码),则可以使用字典攻击来寻找b。
此外,如本文中使用的,部分楔形运算符被定义为仅对于半群S中的a、b、c值的某个子集才成功的运算符。
此外,根据本公开,我们允许定义楔形函数以用于输入到不是(ab,b,bc)形式的三元组(d,b,e)。这些输入三元组被称为无关输入,并且输出值是无关的。此外,楔形函数不需要标识输入是否相关。
通常,如本文中使用的,仅当以某种方式限制种子(a,b,c)时,楔形问题才有意义。特别地,当a是爱丽丝的秘密时,c是查理的秘密,以此类推。对于(a,b,c)的其他值,我们可能不介意楔形问题是否易于求解。在这种情况下,楔形问题的对应实例也是无关紧要的。
如果对手可以有效地计算S中的楔形运算符^b,则这样的对手可以破坏从S构建的密钥协商方案。由于对手观察到公共值d和e,并且确定了值b(其可以如果是公开或弱秘密),因此对手可以计算以下等式6。
d^b e=ab^b be=abc=f (6)
根据等式6,用于选择半群的一个标准是楔形问题难以求解。例如,对于密钥协商中使用的(a,b,c)的相关值,楔形问题可以使用部分楔形运算符来实现。
基于这种楔形问题,某些半群可以从竞争中被排除。例如,可以排除幂等半群(也称为带)。如果bb=b,则元素b是幂等的。根据定义,幂等半群具有所有幂等元素,包括楔形问题的输入b。在这种情况下,乘法可以用作楔形运算符的二元版本。
此外,也可以排除极化的半群。如果对于所有a、b、c,有abc=ac,则将半群定义为极化的。在这种情况下,乘法提供了楔形运算符,并且因此应当类似地避免极化半群。
用于基于楔形问题来排除半群的其他示例也是可能的。
结构上安全的半群
典型的迪菲-赫尔曼群(诸如椭圆曲线和模块化乘法群)是循环群,已知其与模块化加法群同构。如本文中使用的,同构表示它们共享相同的基础群结构,即使它们具有不同的表示。如果将模块化整数加法群用作迪菲-赫尔曼群,则模块化整数加法群将是不安全的,因为除法问题很容易。幸运的是,很难找到同构(除了秀尔量子计算机算法),即使它已经存在。
因此,可以说,椭圆曲线群和模块化乘法群与迪菲-赫尔曼群“在结构上不安全”,因为它们与不安全的迪菲-赫尔曼群(模块化的加法群)共享相同的结构。本领域技术人员应当注意,仅仅说方案在结构上是不安全的并不表示它是不安全的,然而,可以怀疑这种方案是不安全的,因为这种方案与攻击之间的唯一关系是同构,这已知存在。这样的存在性威胁在密码学中很普遍,但是找到一种没有已知存在性威胁的加密方案可能是有益的,这种方案被认为在结构上是安全的。
结构上安全的方案的一个特定示例被称为弗纳姆(Vernam)密码,也被称为单次密本。已经证明,这种密码的秘密性是无条件安全的。因此,这种方案在结构上是安全的。然而,单次密本有其他安全问题(因为它不提供消息完整性或认证),并且具有实用性问题(单次密本必须与消息大小相等,以及其他因素)。
然而,单次密本不是密钥协商方案,但是从上面的意义上讲,它在结构上是安全的。
根据本公开,寻求结构上安全的协商方案。
类似地,如果半群具有与已知的弱半群相同的结构,则该半群在结构上可能是不安全的。因此,根据本公开的一个实施例,为了避免结构上不安全的半群,提供了两种选项。第一选项被称为试验排除,第二选项被称为限制。
关于试验排除,现在参考图3。在图3中,该过程开始于框310并且进行到框312,在框312中,检查特定半群的直到同构的结构。在很多情况下,很明显,结构的弱半群存在。在这种情况下,半群可以被排除,并且我们可以转移到另一半群。因为半群很多,并且甚至具有变化结构的半群也很多,所以这个过程可以继续。特别地,过程从框312进行到框320,并且确定半群的结构是否包括弱半群。如本文中使用的,“弱”是指在密码系统中使用半群将允许对密码系统进行计算上可行的攻击,并且因此使用这种系统将使密码系统在计算上易受攻击。
如果是,则该过程进行到框330,在框330中,排除半群。然后该过程进行到框350并且结束。
代替进入框350,该过程可以通过选择新的半群进行检查来从框330继续并且然后返回框312。
相反地,在框320处,如果确定不存在已知的弱半群,则过程可以进行到框340,在框340中,可以将半群保留为密钥协商方案的可能性。
第二策略在本文中称为限制。作为限制,可以考虑半群结构的属性。现在参考图4。
特别地,图4的过程开始于框410,并且进行到框412,在框412中,考虑或检查半群的属性。具体地,半群可以具有各种属性,诸如可交换性,其中对于半群内的所有s和t有st=ts。另一属性可以是规则性,对于半群内的所有s,存在t使得sts=s。下表1中提供了其他属性。
表1:示例半群属性
上面表1中的属性列表并不详尽。根据图4的实施例,还可以考虑其他属性。
基于以上表1中的属性,该过程可以进行到框420,在框420中,确定要考虑该属性是否有利于安全性。如果该属性不是有利的,则处理进行到框430,在该框430中,避免具有该属性的所有半群用于选择用于密钥协商方案的半群。如果某个属性使密钥在计算上容易被发现,则该属性不利于安全性。
然后,该过程从框430进行到框450并且结束。在其他实施例中,代替进行到框450,该过程可以从框430进行回到框412,在框412中,可以检查半群的不同属性。
备选地,如果该属性有利于安全性,则过程可以进行到框440,在框440中,保留半群,并且可以再次在框412处利用其他属性对其进行进一步分析。备选地,如果已经检查了所有正在检查的属性,则该过程然后可以选择这种半群作为密钥协商方案的可能性,并且该过程可以进行到框450并且结束。
所构造的半群
在另外的实施例中,可以使用诸如其他半群等构建块或诸如半环等其他类型的代数对象、甚至任意函数来构造半群。与个体构建块相比,这些构造的半群可以具有相同或更好的安全性(更严格的楔形问题)。
此后,每个半群构造可以用于建立密钥协商方案。半群构造可以使用相同或不同类型的构建块来形成这种半群。
如本文中使用的,半环是共享集合的一对半群,其中一个运算被累加地写入而另一操作被相乘地写入。此外,在半环中,分配律成立。特别地,a(b+c)=ab+ac并且(a+b)c=ac+bc。除非另有说明,否则在半环中的加法被认为是可交换的。
为了避免混淆,在下面的实施例中,通过利用形容词“基本”来标记构建块来区分来自构建块的构造,例如,如果将给定半环作为构建块,诸如正整数的半环R,则我们构造3×3平方矩阵的半环S,其项属于R。由于R和S均为半环,为了避免混淆,我们说R是基本半环。在这种情况下,(S的)每个半环元素是矩阵,该矩阵的项属于基本半环R。
下面的表2提供了可以用于构建半群的示例构造的部分列表。在很多情况下,这样的半群可以从其他构建块(诸如其他半群)或有时通过半环来构建。
表2:示例构造
利用以上表2的实施例,在基本半群的直接乘积中,所得到的半群至少与最强的基本半群一样安全。这是最强的链接构造。
在其他构造中,与基本对象相比,每种构造都可以提高安全性。因此,目的是增强安全性。
在一个示例中,考虑基于二元多项式的结式的半群。首先对半群进行数学描述。然后描述在密码系统中使用这种半群的细节。
令Z为整数环。令Z[x,y]为具有整数系数的二元多项式集。通常,在多项式和加法下,将Z[x,y]像R环一样对待,但是在这里,我们给定Z[x,y]不同的半环结构B。B中的加法(写为+B)是R中的乘法。B中的乘法(写为*)使用结式运算,因此(f*g)(x,y)=Rest(f(x,t),g(t,y))。
现在,B是具有非可交换乘法的半环。这遵循众所周知的结式理论。例如,Res(f,gh)=Res(f,g)Res(f,h)证明了分配律。
特别地,可以通过使用具有B中的项的2×2平方矩阵来形成半群S,其中乘法用*表示,并且其中S乘法是B矩阵乘法(使用B中的运算)。
S中的乘法的示例。令
则:
其等于矩阵:
因此,现在有八个结式要计算。一种计算结式的方法是计算Sylvester矩阵的行列式。
在本公开中,定义了西尔维斯特(Sylvester)矩阵的水平上升版本。西尔维斯特矩阵是边长等于活动变量(在这种情况下为变量t)的次数之和的方阵。每个输入多项式的t系数从最低次项到最高次项按升序水平布置。零填充该行的其余项。每个多项式在与其他多项式的次数相匹配的行中使用。每次使用多项式都会向右移一次,直到到达矩阵的右侧。
西尔维斯特矩阵的其他布置(诸如垂直或下降)也是可能的(并且有时在教科书中使用),但是它们最多会改变符号。
例如,
在这种情况下,行列式为72xy2+64。类似地计算所有8个行列式,可以得到:
最后,可以将上面作为标准多项式乘积给出的每个项扩展为和,如下所示:
为了更好的安全性,应当选择具有较高次数和较大系数的起始多项式(a和b)。同样,可以使用具有更多行和列的矩阵。因此,根据a*b和b来确定a应当更加困难。
用于矩阵划分的典型的已知算法(诸如巴雷斯归约)在具有交换环中的项的矩阵上工作。但是这里的矩阵项不是可交换的,甚至不是环。例如,减法是不可能的。也许,可以通过引入形式差异(以与如何将负整数作为正整数形式差异引入类似的方式)来将B扩展到环。但是,然后需要处理除法和非可交换性。这些困难可能表示密码分析的重大障碍。
本领域技术人员可以注意到,a*b最初是以其项是项a和项b的结式乘积的形式获取的。如果可以将a*b的项分解,则可以尝试将因子与b的项相匹配,并且然后对半环B执行除法,以提取b的项。
该攻击策略需要多项式因式分解。对于大整数系数和高次多项式,多项式因式分解对于传统(非量子)计算机可能很困难。
量子计算机可以使多项式因式分解更容易。但是,为了解决量子计算机的风险,可以使用另一措施。确保输入矩阵a和b也具有为乘积的项。乘积a*b矩阵项仍然可以分解,但是现在可能有更多的因子,并且可能没有任何简单的方法将a*b项的因子与b的因子进行匹配。
上面的表2列出了各种众所周知的半群构造,这些构造可以用于以更好的安全性来构建半群(根据更多基本半群)。
为了使爱丽丝和查理使用这样的半群,它们需要能够彼此发送和表示半群元素。因此,这表示它们必须具有将半群元素转换为字节序列的某种方式。这样的字节表示通常在密码学中使用。它们用于Rivest-Shamir-Adleman(RSA)、椭圆曲线密码学(ECC)和很多其他系统。
下面描述用于基于结式的半群的系统,该半群在上面在数学上被描述。
在某些情况下,新的字节编码方案可以用于这种半群。备选地,代替设计全新的字节编码方案,在一个实施例中,可以使用一些现有的字节编码方案,这些方案可以做两件事:编码整数,以及编码其他对象的序列。抽象语法符号1(ASN.1)可以做到这一点(或更准确地说,ASN.1基本编码规则可以做到这一点)。另一编码系统是Javascript对象表示法(JSON)。
在一个实施例中,矩阵可以被表示为其行的序列。此外,行可以表示为项序列。变量x和y中的双变量多项式可以表示为从零次开始以递增顺序的y个系数的序列,其中每个系数是变量x中的一元多项式。(但是将零多项式表示为空序列。)x中的一元多项式可以表示为从零次开始以递增顺序的系数序列,其中每个系数是整数(并且通过空序列表示零多项式)。
假定对象a、b、c的序列表示为[a,b,c],其中每个对象a、b、c替换为其表示。假定整数以通常的十进制形式表示。
考虑来自以上等式13的示例a*b。其表示为:[[[[-24],[0,64,270],[0,0,0,-720]],[[-99,0,135],[],[-11,0,15]]],[[[-455],[-130],[0,-504],[0,-144]],[[1089,18],[],[121,2]]]]。
根据这些嵌套序列和整数,字节编码相对容易。最幼稚的是仅使用ASCII文本。
如上所述,为了获取更好的安全性,爱丽丝和查理可能会使用比示例中所示的更大的参数。因此,他们将使用更大的整数、更高次的多项式以及具有更多项的矩阵。但是,即使使用更大的参数,他们仍然可以使用上述编码方案。更大的参数确实表示爱丽丝和查理必须交换更多的字节数。
除了上述使用结式的实施例(其描述了新的半群)和简要草图之外,在单独的技术和研究报告中还列出了半群。同样,这些各种半群可以合并为更大的半群。在某些情况下,半群涉及半环。
下面的列表按名称示出了各种这样的半群:
·数值半群
·群(半群中研究最深入的子范畴)
·子半群
·像半群
·限制半群
·扩展半群
·逆半群
·乘积半群(直接乘积)
·复合半群(没有乘积)
·析取半群
·Rees矩阵半群
·多项式函数半群
·单演(循环)半群
·零(恒定)半群
·左半群和右半群
·布尔半群
·字半群
·变换(函数)半群
·局部变换半群
·关系半群
·任意二元运算半群
·半自动半群
·来自全序集和全序格的半群
·半群的特性半群(参见[L])
·来自半环的半群(加法或乘法)
·具有左加法的半环和针对乘法的任何半群
·具有左乘法的半环和针对加法的任何幂等半群
·作为半群代数的半环(参见研究报告和[O])
·哈恩(Hahn)级数,即在半群完全有序时的半群代数的扩展。
·半群的自同态半环
·来自具有选定的零样集的全序集的半环
·布尔半环
·关系半环
·来自使用交运算与并运算的格的半环
·来自使用关联代数的部分序集的半环
·使用并集用于加法并且使用相交用于乘法的来自拓扑的具有无穷和的半环
·使用连通和作为半群运算的有向纽结或流形的半群
·来自非负实数的具有无限和的半环
·具有一点扩展的半环
·多项式的半环
·矩阵的半环
·结式的半环
·范畴代数的半环
·具有乘积和上积的范畴中的对象的半群
·环(半环中研究最深入的子范畴)
·外尔(Weyl)代数
·整数值多项式(非诺特环)
·诸如标准多项式环之类的环的理想的半环(在理想加法和乘法下)
·环的模的半环(在直接和和张量积下)
·环的分式理想的半环
·将弗雷德霍姆(Fredho)运算用于乘法的在单位平方上定义的连续函数的半环
·具有错误校正的半群
·来自拟环的半群。
考虑标准多项式环的理想的半环。Groebner基的理论提供了每个理想在其基础上的独特表示。否则,如果没有唯一表示,则爱丽丝和查理可能无法就f和g的唯一形式达成共识。
然后加法和乘法很简单:加法仅需取基的并集,而乘以理想仅需乘以基。然后使用Buchberger算法对基础进行规范化。这样给出了半环,即为加法半群和乘法半群。加法半群是幂等的,因此楔形问题很容易。乘法半群具有已知的有效除法算法,即概念商(ideaquotient)算法,其效率不及乘法算法。因此,该半群可能不适合直接用于密钥协商。
然而,半环可以用作更复杂构造的中间步骤。例如,它可以用作形成矩阵或形成半群代数的基本半环。在理想的半圆环中不可能进行强减法的事实可能使诸如用于矩阵划分的巴雷斯算法等已知算法不可行。
基于以上内容,参考图5。特别地,图5的过程开始于框510,并且进行到框512,在框512中,选择第一构建块。例如,可以基于诸如以上关于图3或图4描述的技术来完成所选择的构建块。
然后,该过程进行到框520,在框520中,选择第二构建块。同样,可以以各种方式来进行构建块的选择,包括上面参考图3或图4所述的功能。
该过程从框520进行到框530,在框530中,组合来自框512的所选择的第一构建块和来自520的所选择的第二构建块。如上所述,组合可以以多种方式进行,以创建具有与个体构建块相同或更好的安全性的构造半群。然后该过程进行到框540并且结束。
协商的半群
根据本公开的一个实施例,爱丽丝和查理可以尝试实时协商他们的半群。
具体地,由于半群的各种众所周知的构造,包括矩阵、多项式、理想、半环等,爱丽丝和查理有权为每个密钥协商会话协商截然不同的唯一半群。
现在参考图6。在图6的实施例中,爱丽丝和查理试图协商密钥协商。在这种情况下,在密钥协商之前,在爱丽丝与查理之间执行握手610。握手610允许协商机制,该协商机制允许在爱丽丝与查理之间达成半群协议。
例如,如果协商允许非常多的半群,则这可以提供通用的密钥协商方案。协商可以使用数据格式来描述各种构造,例如,以上关于图5的实施例定义的构造。
协商也可以具有“请求阶段”,其中各方向每一方指示他们请求具有以上关于图3和图4的实施例列出的某些属性的半群。
为了使握手610切实可行,爱丽丝和查理可能需要一种机制来指定半群及其元素。例如,诸如JavaScript对象表示法(JSON)等数据结构可能对提供这样的规范很有用。然而,这仅是示例,并且数据结构的其他示例也是可能的。
因此,作为密钥协商的一部分,爱丽丝和查理可以从多个半群中选择半群S。
在要使用的半群上的握手协议之后,该过程以与以上关于图2所述的方式类似的方式进行。特别地,在框620处,爱丽丝在商定的半群内生成秘密“a”。类似地,在框622处,查理在商定的半群内生成秘密“c”。
值“b”可以是半群的一部分,并且在一个实施例中可以被包括在握手610内。相反,该值可以通过其他机制来商定。在图6的实施例中,值“b”的获取在框630中针对爱丽丝示出并且在框632中针对查理示出。
接下来,在框640处,爱丽丝将她的秘密“a”与值b相乘以获取d。
类似地,在框642处,查理计算e等于值b乘以值c。
随后,爱丽丝向查理提供“d”,如消息650所示。类似地,查理向爱丽丝提供值“e”,如消息652所示。
然后,在框660处,爱丽丝可以计算f=ae。
在框662处,查理可以计算g=dc。
由于半群的关联性质,f=g。因此,爱丽丝和查理在协商的半群内具有共享的秘密。
如果对手没有足够的可重新编程的量子计算机,则对手将需要构建新的量子计算机来攻击每个密钥协商会话,这将使这种任务变得困难。在这种情况下,大量用户将受到数字保护,因为攻击者只能攻击这样的用户中的少许几个用户。因此,从很多半群中进行半群的协商增加了安全性,并且可以挫败量子攻击。
此外,将协商用于半群允许加密灵活性。特别地,如果发现一个半群是易受攻击的,则可以将该半群排除在未来的协商之外,因此仍然将允许系统为其余半群工作。
以上方法可以使用任何计算设备来实现。关于图7示出了计算设备的一个简化图。图7的计算设备可以是任何固定或移动计算设备。
在图7中,设备710包括处理器720和通信子系统730,其中处理器720和通信子系统730协作以执行上述实施例的方法。在一些实施例中,通信子系统730可以包括例如用于不同无线电技术的多个子系统。
处理器720被配置为执行可编程逻辑,该可编程逻辑可以与数据一起存储在设备710上,并且在图7的示例中被示出为存储器740。存储器740可以是任何有形的非瞬态的计算机可读存储介质。计算机可读存储介质可以是有形的或瞬态/非瞬态介质,诸如光学(例如,CD、DVD等)、磁性(例如,磁带)、闪存驱动器、硬盘驱动器或本领域已知的其他存储器。
备选地或者除了存储器740,设备710可以例如通过通信子系统730从外部存储介质访问数据或可编程逻辑。
通信子系统730允许设备710与其他设备或网络元件通信,并且可以基于正在执行的通信类型而变化。此外,通信子系统730可以包括多种通信技术,包括任何有线或无线通信技术。
在一个实施例中,设备710的各个元件之间的通信可以通过内部总线760来进行。然而,其他形式的通信也是可能的。
本文中描述的实施例是具有与本申请的技术的要素相对应的要素的结构、系统或方法的示例。该书面描述可以使得本领域技术人员能够制造和使用具有与本申请的技术的要素同样相对应的备选要素的实施例。因此,本申请的技术的预期范围包括与本文中描述的本申请的技术没有不同的其他结构、系统或方法,并且还包括与本文中描述的本申请的技术没有实质性差异的其他结构、系统或方法。
尽管在附图中以特定顺序描绘了操作,但是这不应当被理解为要求这样的操作以所示的特定顺序或以连续的顺序执行,或者执行所有示出的操作以实现期望的结果。在某些情况下,可以采用多任务处理和并行处理。此外,以上描述的实现中的各种系统组件的分离不应当被理解为在所有实现中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或者打包成多种软件产品。
此外,在各种实现中以离散或分离的方式描述和示出的技术、系统、子系统和方法可以与其他系统、模块、技术或方法组合或集成。示出或讨论为彼此耦合或直接耦合或通信的其他项可以通过某种接口、设备或中间组件以电气、机械或其他方式间接耦合或通信。改变、替换和变更的其他示例可以由本领域技术人员确定并且可以做出。
尽管上面的详细描述已经示出、描述并且指出了本公开的基本新颖特征应用于各种实现,但是应当理解,可以由本领域技术人员对所示出的系统进行形式和细节上的各种省略、替代以及改变。另外,方法步骤的顺序并不由它们出现在权利要求书中的顺序所暗示。
当消息被发送到自电子设备/从电子设备被发送时,这样的操作可能不是立即的,或者不是直接来自服务器的。它们可以从支持本文中描述的设备/方法/系统的服务器或其他计算系统基础设施同步或异步地传递。前述步骤可以全部或部分地包括去往/来自设备/基础设施的同步/异步通信。此外,来自电子设备的通信可以是到网络上的一个或多个端点的。这些端点可以由服务器、分布式计算系统、流处理器等提供服务。内容传递网络(CDN)也可以提供可以向电子设备提供通信。例如,除了典型的服务器响应,服务器还可以提供或指示用于内容传递网络(CDN)的数据,以等待电子设备在以后的时间下载,诸如电子设备的后续活动。因此,数据可以作为系统的一部分或与系统分开地直接从服务器或其他基础设施(诸如分布式基础设施或CDN)发送。
通常,存储介质可以包括以下中的任何项或某种组合:半导体存储设备,诸如动态或静态随机存取存储器(DRAM或SRAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存;磁盘,诸如固定、软盘和可移动磁盘;另一磁性介质,包括磁带;光学介质,诸如光盘(CD)或数字视盘(DVD);或其他类型的存储设备。注意,以上讨论的指令可以在一个计算机可读或机器可读存储介质上提供,或者备选地可以在分布在可能具有多个节点的大型系统中的多个计算机可读或机器可读存储介质上提供。这样的一个或多个计算机可读或机器可读存储介质被认为是物品(或制品)的一部分。物品或制品可以是指任何制造的单个组件或多个组件。一个或多个存储介质可以位于运行机器可读指令的机器中,也可以位于可以通过网络下载机器可读指令以执行的远程站点处。
在前面的描述中,阐述了很多细节以提供对本文中公开的主题的理解。然而,可以在没有这些细节中的一些的情况下实践实现。其他实现可以包括对以上讨论的细节的修改和变型。所附权利要求旨在覆盖这样的修改和变型。
Claims (21)
1.一种用于通过公共通信信道在第一方与第二方之间进行密钥协商的方法,所述方法包括:
由所述第一方从半群中选择第一值“a”;
将所述第一值“a”乘以第二值“b”以创建第三值“d”,所述第二值“b”从所述半群中被选择;
向所述第二方发送所述第三值“d”;
从所述第二方接收第四值“e”,所述第四值包括所述第二值“b”乘以第五值“c”,所述第五值“c”由所述第二方从所述半群中选择;以及
通过将所述第一值“a”与所述第四值“e”相乘来创建共享秘密,
其中所述共享秘密与所述第三值“d”乘以所述第五值“c”相匹配。
2.根据权利要求1所述的方法,其中所述半群被选择为具有在计算上无法求解的楔形问题,所述楔形问题包括寻找运算符^b以使得:
ab^bbe=abc。
3.根据权利要求1所述的方法,其中所述半群基于试验排除被选择,其中具有在计算上易受攻击的密码结构的半群从选择中被排除。
4.根据权利要求1所述的方法,其中所述半群基于限制被选择,其中限制包括:
检查所述半群的至少一个属性;以及
如果所述属性在计算上易受攻击,从选择中去除所述半群。
5.根据权利要求4所述的方法,其中所述属性包括选自以下属性列表的至少一个属性,所述属性列表包括:有限半群、幺半群、幂等半群、可交换半群、指数增长半群、可消半群、群、正则半群、幂零半群、基本半群或双单半群。
6.根据权利要求1所述的方法,其中所述半群从至少两个构建块的组合被构造。
7.根据权利要求6所述的方法,其中每个构建块选自包括以下的列表:数值半群、群、子半群、像半群、限制半群、扩展半群、逆半群、乘积半群、复合半群、析取半群、Rees矩阵半群、多项式函数半群、单演半群、零半群、左半群和右半群、布尔半群、字半群、变换半群、局部变换半群、关系半群、任意二元运算半群、半自动半群、来自全序集和全序格的半群、半群的特性半群、来自半环的半群、具有左加法的半环和针对乘法的半群、具有左乘法的半环和针对加法的任何幂等半群、作为半群代数的半环、哈恩级数、半群的自同态半环、来自具有选定的零样集的全序集的半环、布尔半环、关系半环、来自使用交运算与并运算的格的半环、使用关联代数的部分序集的半环、使用并集用于加法并且使用相交用于乘法的来自拓扑的具有无穷和的半环、使用连通和作为半群运算的有向纽结或流形的半群、来自非负实数的具有无限和的半环、具有一点扩展的半环、多项式的半环、矩阵的半环、结式的半环、范畴代数的半环、具有乘积和上积的范畴中的对象的半群、环、外尔代数、整数值多项式、诸如标准多项式环之类的环的理想的半环、在直接和和张量积下的环的模的半环、环的分式理想的半环、将弗雷德霍姆运算用于乘法的在单位平方上定义的连续函数的半环、具有错误校正的半群、或来自拟环的半群,
其中所述哈恩级数是在所述半群完全有序时所述半群代数的扩展。
8.根据权利要求1所述的方法,其中所述半群基于使用结式运算的组合而被选择。
9.根据权利要求1所述的方法,其中所述半群在所述第一方与所述第二方之间的握手期间被协商。
10.根据权利要求9所述的方法,其中所协商的所述半群是多个可用的半群中的一个半群。
11.一种计算设备,被配置用于通过公共通信信道在第一方与第二方之间进行密钥协商,所述计算设备包括:
处理器;以及
通信子系统,
其中所述计算设备被配置为:
从半群中选择第一值“a”;
将所述第一值“a”乘以第二值“b”以创建第三值“d”,所述第二值“b”从所述半群中被选择;
向所述第二方发送所述第三值“d”;
从所述第二方接收第四值“e”,所述第四值包括所述第二值“b”乘以第五值“c”,所述第五值“c”由所述第二方从所述半群中选择;以及
通过将所述第一值“a”与所述第四值“e”相乘来创建共享秘密,
其中所述共享秘密与所述第三值“d”乘以所述第五值“c”相匹配。
12.根据权利要求11所述的计算设备,其中所述半群被选择为具有在计算上无法求解的楔形问题,所述楔形问题包括寻找运算符^b使得:
ab^bbe=abc。
13.根据权利要求11所述的计算设备,其中所述计算设备被配置为基于试验排除来选择所述半群,其中具有在计算上易受攻击的密码结构的半群从选择中被排除。
14.根据权利要求11所述的计算设备,其中所述计算设备被配置为基于限制来选择所述半群,其中限制包括:
检查所述半群的至少一个属性;以及
如果所述属性在计算上易受攻击,从选择中去除所述半群。
15.根据权利要求14所述的计算设备,其中所述属性包括选自以下属性列表的至少一个属性,所述属性列表包括:有限半群、幺半群、幂等半群、可交换半群、指数增长半群、可消半群、群、正则半群、幂零半群、基本半群或双单半群。
16.根据权利要求11所述的计算设备,其中所述半群从至少两个构建块的组合被构造。
17.根据权利要求16所述的计算设备,其中每个构建块选自包括以下的列表:数值半群、群、子半群、像半群、限制半群、扩展半群、逆半群、乘积半群、复合半群、析取半群、Rees矩阵半群、多项式函数半群、单演半群、零半群、左半群和右半群、布尔半群、字半群、变换半群、局部变换半群、关系半群、任意二元运算半群、半自动半群、来自全序集和全序格的半群、半群的特性半群、来自半环的半群、具有左加法的半环和针对乘法的半群、具有左乘法的半环和针对加法的任何幂等半群、作为半群代数的半环、哈恩级数、半群的自同态半环、来自具有选定的零样集的全序集的半环、布尔半环、关系半环、来自使用交运算与并运算的格的半环、使用关联代数的部分序集的半环、使用并集用于加法并且使用相交用于乘法的来自拓扑的具有无穷和的半环、使用连通和作为半群运算的有向纽结或流形的半群、来自非负实数的具有无限和的半环、具有一点扩展的半环、多项式的半环、矩阵的半环、结式的半环、范畴代数的半环、具有乘积和上积的范畴中的对象的半群、环、外尔代数、整数值多项式、诸如标准多项式环之类的环的理想的半环、在直接和和张量积下的环的模的半环、环的分式理想的半环、将弗雷德霍姆运算用于乘法的在单位平方上定义的连续函数的半环、具有错误校正的半群、或来自拟环的半群,
其中所述哈恩级数是所述半群完全有序时的所述半群代数的扩展。
18.根据权利要求11所述的计算设备,其中所述计算设备被配置为基于使用结式运算的组合来选择所述半群。
19.根据权利要求11所述的计算设备,其中所述半群在所述第一方与所述第二方之间的握手期间被协商。
20.根据权利要求19所述的计算设备,其中所协商的所述半群是多个可用半群中的一个半群。
21.一种计算机可读介质,用于存储用于通过公共通信信道在第一方与第二方之间进行密钥协商的指令代码,所述指令代码在由计算设备的处理器执行时使所述计算设备:
从半群中选择第一值“a”;
将所述第一值“a”乘以第二值“b”以创建第三值“d”,所述第二值“b”从所述半群中被选择;
向所述第二方发送所述第三值“d”;
从所述第二方接收第四值“e”,所述第四值包括所述第二值“b”乘以第五值“c”,所述第五值“c”由所述第二方从所述半群中选择;以及
通过将所述第一值“a”与所述第四值“e”相乘来创建共享秘密,
其中所述共享秘密与所述第三值“d”乘以所述第五值“c”相匹配。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/824,398 | 2017-11-28 | ||
US15/824,398 US10637656B2 (en) | 2017-11-28 | 2017-11-28 | Method and system for key agreement utilizing semigroups |
PCT/CA2018/051503 WO2019104423A1 (en) | 2017-11-28 | 2018-11-27 | Method and system for key agreement utilizing semigroups |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111406380A true CN111406380A (zh) | 2020-07-10 |
CN111406380B CN111406380B (zh) | 2024-04-30 |
Family
ID=66633705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880076818.8A Active CN111406380B (zh) | 2017-11-28 | 2018-11-27 | 用于利用半群的密钥协商的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (4) | US10637656B2 (zh) |
EP (2) | EP3944553B1 (zh) |
KR (1) | KR20200087252A (zh) |
CN (1) | CN111406380B (zh) |
CA (1) | CA3080861A1 (zh) |
WO (1) | WO2019104423A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865581A (zh) * | 2020-07-16 | 2020-10-30 | 西南大学 | 基于张量网络的量子秘密共享方法及量子通信系统 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3367608A1 (en) * | 2017-02-28 | 2018-08-29 | Koninklijke Philips N.V. | Elliptic curve isogeny based key agreement protocol |
US10637656B2 (en) | 2017-11-28 | 2020-04-28 | Blackberry Limited | Method and system for key agreement utilizing semigroups |
US11569987B2 (en) | 2021-02-12 | 2023-01-31 | Blackberry Limited | Method and system for key agreement utilizing plactic monoids |
US11496447B1 (en) * | 2021-04-16 | 2022-11-08 | Umm AI-Qura University | Cryptosystem and method with efficient elliptic curve operators for an extraction of EiSi coordinate system |
KR102606080B1 (ko) * | 2021-05-11 | 2023-11-29 | 조선대학교산학협력단 | 완전 동형 부호 생성 방법 및 장치, 완전 동형 부호의 오류 검출 방법 및 장치, 완전 동형 부호의 연산 결과 오류 검출 방법 및 장치, 및 완전 동형 부호의 복호화 방법 및 장치 |
US11956370B2 (en) * | 2021-06-23 | 2024-04-09 | Blackberry Limited | Method and system for digital signatures utilizing multiplicative semigroups |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003013052A1 (en) * | 2001-07-27 | 2003-02-13 | Korea Advanced Institute Of Science And Technology | Cryptosystems based on non-commutatity |
CN1464678A (zh) * | 2002-06-26 | 2003-12-31 | 管海明 | 基于半群上离散对数问题的数字签名及验证的方法 |
CN101374043A (zh) * | 2007-08-24 | 2009-02-25 | 管海明 | 密钥协商的方法、加/解密的方法及签名/验证的方法 |
WO2012107946A2 (en) * | 2011-02-11 | 2012-08-16 | Crypt Alarm S.R.L. | Cryptographic method for establishing a shared cryptographic key, and relevant encrypted symmetrical communication method |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999627A (en) | 1995-01-07 | 1999-12-07 | Samsung Electronics Co., Ltd. | Method for exponentiation in a public-key cryptosystem |
US20020057796A1 (en) * | 1998-12-24 | 2002-05-16 | Lambert Robert J. | Method for accelerating cryptographic operations on elliptic curves |
US20050213758A1 (en) * | 2000-02-07 | 2005-09-29 | Lenstra Arjen K | Efficient and compact subgroup trace representation ("XTR") |
US20040158597A1 (en) * | 2001-04-05 | 2004-08-12 | Ye Ding Feng | Method and apparatus for constructing efficient elliptic curve cryptosystems |
JP2003131568A (ja) * | 2001-10-26 | 2003-05-09 | Hitachi Ltd | 楕円曲線署名検証方法及び装置並びに記憶媒体 |
US7257709B2 (en) * | 2002-09-03 | 2007-08-14 | Certicom Corp. | Method and apparatus for performing validation of elliptic curve public keys |
US20060036861A1 (en) * | 2004-07-04 | 2006-02-16 | Leon Chernyak | Method and apparatus for algebro-geometric key establishment protocols based on matrices over topological monoids |
EP1946204B1 (en) * | 2005-10-28 | 2010-04-28 | Telecom Italia S.p.A. | A method for scalar multiplication in elliptic curve groups over binary polynomial fields for side-channel attack-resistant cryptosystems |
US7987367B2 (en) * | 2006-08-30 | 2011-07-26 | Samsung Electronics Co., Ltd. | Method and apparatus for key agreement between devices using polynomial ring |
JP4905000B2 (ja) * | 2006-09-01 | 2012-03-28 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
US8380777B2 (en) * | 2007-06-30 | 2013-02-19 | Intel Corporation | Normal-basis to canonical-basis transformation for binary galois-fields GF(2m) |
US8144864B2 (en) * | 2007-12-28 | 2012-03-27 | Intel Corporation | Method for speeding up the computations for characteristic 2 elliptic curve cryptographic systems |
US8707042B2 (en) * | 2008-08-28 | 2014-04-22 | Red Hat, Inc. | Sharing keys between cooperating parties |
US8549299B2 (en) * | 2011-02-28 | 2013-10-01 | Certicom Corp. | Accelerated key agreement with assisted computations |
US10637656B2 (en) | 2017-11-28 | 2020-04-28 | Blackberry Limited | Method and system for key agreement utilizing semigroups |
-
2017
- 2017-11-28 US US15/824,398 patent/US10637656B2/en active Active
-
2018
- 2018-11-27 WO PCT/CA2018/051503 patent/WO2019104423A1/en unknown
- 2018-11-27 EP EP21197552.9A patent/EP3944553B1/en active Active
- 2018-11-27 CN CN201880076818.8A patent/CN111406380B/zh active Active
- 2018-11-27 CA CA3080861A patent/CA3080861A1/en active Pending
- 2018-11-27 KR KR1020207018064A patent/KR20200087252A/ko unknown
- 2018-11-27 EP EP18882393.4A patent/EP3688925B1/en active Active
-
2020
- 2020-03-31 US US16/836,377 patent/US11323250B2/en active Active
-
2022
- 2022-03-30 US US17/708,374 patent/US11711208B2/en active Active
-
2023
- 2023-06-07 US US18/330,691 patent/US20230318815A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003013052A1 (en) * | 2001-07-27 | 2003-02-13 | Korea Advanced Institute Of Science And Technology | Cryptosystems based on non-commutatity |
CN1464678A (zh) * | 2002-06-26 | 2003-12-31 | 管海明 | 基于半群上离散对数问题的数字签名及验证的方法 |
CN101374043A (zh) * | 2007-08-24 | 2009-02-25 | 管海明 | 密钥协商的方法、加/解密的方法及签名/验证的方法 |
WO2012107946A2 (en) * | 2011-02-11 | 2012-08-16 | Crypt Alarm S.R.L. | Cryptographic method for establishing a shared cryptographic key, and relevant encrypted symmetrical communication method |
Non-Patent Citations (1)
Title |
---|
ARKADY BERENSTEIN等: "Geometric Key Establishment", CANADIAN MATHEMATICAL SOCIETY CONFERENCE, pages 1 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865581A (zh) * | 2020-07-16 | 2020-10-30 | 西南大学 | 基于张量网络的量子秘密共享方法及量子通信系统 |
CN111865581B (zh) * | 2020-07-16 | 2021-05-25 | 西南大学 | 基于张量网络的量子秘密共享方法及量子通信系统 |
Also Published As
Publication number | Publication date |
---|---|
US20230318815A1 (en) | 2023-10-05 |
US20190165936A1 (en) | 2019-05-30 |
US20220224522A1 (en) | 2022-07-14 |
EP3688925B1 (en) | 2021-09-29 |
EP3688925A4 (en) | 2020-09-16 |
US11323250B2 (en) | 2022-05-03 |
US20200228328A1 (en) | 2020-07-16 |
KR20200087252A (ko) | 2020-07-20 |
CA3080861A1 (en) | 2019-06-06 |
EP3944553A1 (en) | 2022-01-26 |
US11711208B2 (en) | 2023-07-25 |
US10637656B2 (en) | 2020-04-28 |
WO2019104423A1 (en) | 2019-06-06 |
EP3944553B1 (en) | 2023-04-05 |
EP3688925A1 (en) | 2020-08-05 |
CN111406380B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111406380B (zh) | 用于利用半群的密钥协商的方法和系统 | |
CN110557245B (zh) | 用于spdz的容错和安全多方计算的方法和系统 | |
CN111512589B (zh) | 用于利用spdz的快速安全多方内积的方法 | |
JP7019730B2 (ja) | キー交換デバイス及び方法 | |
RU2534944C2 (ru) | Способ обеспечения безопасности связи в сети, используемые для этого устройство связи, сеть и компьютерная программа | |
EP2667539A1 (en) | Key sharing methods, device and system for configuration thereof. | |
US9686075B2 (en) | Key sharing network device and configuration thereof | |
CN105027492B (zh) | 用于确定共享密钥的设备、方法和系统 | |
Hsu et al. | A novel group key transfer for big data security | |
US7995764B2 (en) | Sharing a secret using hyperplanes over GF(2m) | |
US10630476B1 (en) | Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems | |
CN110826089A (zh) | 一种实现大尺度矩阵乘法安全高效的可验证外包计算方法、客户端及云计算系统 | |
CN115514471A (zh) | 利用相乘半群进行数字签名的方法和系统 | |
Zhu et al. | Outsourcing set intersection computation based on bloom filter for privacy preservation in multimedia processing | |
US10880278B1 (en) | Broadcasting in supersingular isogeny-based cryptosystems | |
Tsuchida et al. | Client-Aided Bit-Composition Protocol with Guaranteed Output Delivery | |
Pan | Intercept-resend-measure attack towards quantum private comparison protocol using genuine four-particle entangled states and its improvement | |
CN117527223B (zh) | 一种基于格的抗量子密码的分布式解密方法及系统 | |
Zhi-Min et al. | Diffie-Hellman Key Exchange Protocol Based on Ring-LWE | |
CN117440103B (zh) | 基于同态加密和空间优化的隐私数据处理方法及系统 | |
Liang et al. | A Lattice-Based Multisignature Scheme for Blockchain-Enabled Systems | |
Qiu et al. | Privacy-Preserving Traceable Functional Encryption for Inner Product | |
Su et al. | Secure and Scalable Circuit-based Protocol for Multi-Party Private Set Intersection | |
CN114928439A (zh) | 利用plactic幺半群用于密钥协商的方法和系统 | |
Dwivedi et al. | Transmission of Large Information through KAP Using Non-Abelian Group |
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 |