非正式地,一个函数 如果满足以下条件,则为陷门单向函数
1. 它是一个 单向函数,并且
2. 对于固定的公钥 ,
被视为一个函数
of
,它将
位映射到
位。然后存在一个高效的算法,对于输入
,产生
使得
,对于某些陷门密钥
。
是一个 陷门单向哈希函数,如果
也同时是一个 单向哈希函数,即,如果另外满足
3. 给定 和
,很难找到一个消息
使得
。
目前尚不清楚是否可以从任何单向函数构建陷门单向函数。
陷门单向函数的一个例子是大素数乘积的因式分解。虽然选择和验证两个大 素数 并将它们相乘很容易,但分解所得的乘积(就目前所知)非常困难。 这是 RSA 加密 的基础,RSA 加密被推测为陷门单向函数。