在理论计算机科学和密码学中,陷门函数是一种在一个方向上很容易计算,但在没有特殊信息的情况下很难在相反方向上计算(寻找它的逆)的函数,称为“陷门”。陷门函数是单向函数的一种特殊情况,广泛用于公钥密码学中。 用数学术语来说,如果f是陷门函数,则存在一些秘密信息t ,因此给定f ( x ) 和t ,很容易计算x 。考虑一把挂锁和它的钥匙。通过推动卸扣,无需使用钥匙即可将挂锁锁上。然而,想要轻松地开锁,则必需使用钥匙。这里的钥匙是陷门,而挂锁则是陷门函数。 一个简单的数学上的陷门示例是:“6895601 是两个素数的乘积。那两个素数是多少?”一个典型的“蛮力”解决方案是尝试将 6895601 不停除以一些素数,直到找到答案。但是如果已知 1931 是其中一个数字,你可以通过在任何计算器中输入“6895601 ÷ 1931”来找到答案。这个例子不是一个可靠的陷门函数——现代计算机可以在一秒钟内猜出所有可能的答案——但是这个例子可以通过使用两个更大的素数的乘积来改进。 随着Diffie 、Hellman和Merkle在 1970 年代中期发表了非对称(或公钥)加密技术后,陷门函数开始在密码学中崭露头角。事实上,)创造了这个术语。已经提出了几个函数类,很快就发现陷门函数比最初想象的更难找到。例如,早期的建议是使用基于子集和问题的方案,但事实很快证明这是不合适的。 截至2004年, 已知最好的陷门函数 (族) 候选函数是RSA和函数族。两者都是一个合数的幂取模,而且都跟质因数分解有关。 与离散对数问题的难度相关的函数(模素数或在椭圆曲线上定义的群)不是已知的陷门函数,因为没有关于这个群的已知“陷门”信息可以实现高效地计算离散对数。 密码学中的陷门具有上述非常具体的含义,不要与后门混淆(它们经常互换使用,这是不正确的)。后门是一种故意添加到密码算法(例如,密钥对生成算法、数字签名算法等)或操作系统中的机制,例如,它允许一个或多个未授权方以某种方式绕过或破坏系统。
Abstract from DBpedia / Wikipedia · CC BY-SA
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).