Ed25519

洋蔥地址編碼

  • July 6, 2019

您能否解釋一下tor規範|中的管道( )是什麼意思——它是按位還是值的串聯?

  1. 編碼洋蔥地址

$$ ONIONADDRESS $$ 隱藏服務的洋蔥地址包括其身份公鑰、版本欄位和基本校驗和。然後將所有這些資訊進行 base32 編碼,如下所示:

onion_address = base32(PUBKEY | CHECKSUM | VERSION) + ".onion"

CHECKSUM = H(".onion checksum" | PUBKEY | VERSION)[:2]

在哪裡:

* PUBKEY是隱藏服務的 32 字節 ed25519 主公鑰。 * VERSION是一個字節的版本欄位(預設值'\x03') * ".onion checksum"是一個常量字元串 * CHECKSUM在插入之前被截斷為兩個字節onion_address

從上下文來看,我理解它是一個串聯——是這樣嗎?

如果有人有一個可以工作的簡短的 Python\Node\Ruby 片段,那就太好了。:)

正如您所懷疑的,它是一個連接符號。有時候是 $ | $ 和別的 $ || $ . 或者 $ + $ . PythonPL/SQL範例進行確認。或加密範例:FIPS PUB 202 第 5 頁的底部:SHA-3 標準:基於排列的雜湊和可擴展輸出函式。

如果它是按位或,那麼您將把公鑰與PUBKEY | CHECKSUM | VERSION.

但是如果你深入探勘它可能會變得很奇怪:連接兩個(有限)序列是否有一個通用符號?

引用自:https://crypto.stackexchange.com/questions/71781