Ed25519
洋蔥地址編碼
您能否解釋一下tor規範
|
中的管道( )是什麼意思——它是按位還是值的串聯?
- 編碼洋蔥地址
$$ 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 片段,那就太好了。:)
正如您所懷疑的,它是一個連接符號。有時候是 $ | $ 和別的 $ || $ . 或者 $ + $ . Python和PL/SQL範例進行確認。或加密範例:FIPS PUB 202 第 5 頁的底部:SHA-3 標準:基於排列的雜湊和可擴展輸出函式。
如果它是按位或,那麼您將把公鑰與
PUBKEY | CHECKSUM | VERSION
.但是如果你深入探勘它可能會變得很奇怪:連接兩個(有限)序列是否有一個通用符號?