Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cryptography ed25519签名方案的donna和supercop实现之间的差异_Cryptography_Ed25519_Ed25519 Donna - Fatal编程技术网

Cryptography ed25519签名方案的donna和supercop实现之间的差异

Cryptography ed25519签名方案的donna和supercop实现之间的差异,cryptography,ed25519,ed25519-donna,Cryptography,Ed25519,Ed25519 Donna,在查找ed25519签名方案的现有实现时,我发现donna实现(Find)生成的签名不能通过supercop实现(Find)验证,但supercop签名可以通过donna实现验证。有人能解释为什么假定相同签名方案的两个实现只产生部分兼容的签名吗?我错过了什么?下面是一个例子来说明我的意思: secret key = 50f26a6d0e454337554274d703033c21a06fecfcb0457b15214e41ea3228ac51e2b9f0ca0f6510cfdd24325ac66

在查找ed25519签名方案的现有实现时,我发现donna实现(Find)生成的签名不能通过supercop实现(Find)验证,但supercop签名可以通过donna实现验证。有人能解释为什么假定相同签名方案的两个实现只产生部分兼容的签名吗?我错过了什么?下面是一个例子来说明我的意思:

secret key = 50f26a6d0e454337554274d703033c21a06fecfcb0457b15214e41ea3228ac51e2b9f0ca0f6510cfdd24325ac6676cdd98a9484336ba36c876fd93aa439d8b72
public key = eddaef2fab3d1412ea1f2517b5a50439c28c27d6aefafce38f9290c17e1e7d56

donna signature = f4b79662b1973be8774c5d23044fe4b25858e7c362923e1fc99cc98e89e099c3f574dca3e47d7a131b43860fabc34b6764ccabb4f9f21b6cae54be5fc8193103
//not verifiable by supercop

supercop signature = 2f0ae6396d4d72fb47c12df6560747f20dc675e0b2d7e711caf68a03ced9309b9abd736cb204e789b95c2f08e0be4254ce69974a4064e40ce7094e288b7cbf03
//verifiable by donna
为了获得上述结果,我使用了ed25519_-sign()来自ed25119 donnasupercop库的ed25519_-sign()

为了验证签名,我使用了ed25519\u sign\u open()来自ed25519 donnaed25519\u verify()来自supercop