Encryption
如何使用 NOISE 協議框架對消息進行簽名?
我想了解有關安全消息傳遞的更多資訊,並使用該
libhydrogen
庫開始了一個個人項目。據我了解,該庫不是使用公鑰加密,而是依靠雜訊協議框架來創建雙方共享的臨時會話密鑰來加密和解密消息。我想知道是否可以使用相同的會話密鑰來簽署和驗證消息,還是應該使用另一個(非共享)密鑰對更好地完成?此外,我找不到有關這些會話密鑰應該持續多長時間的任何資訊。它們是打算使用幾天、幾週或更長時間,還是我應該將會話密鑰視為線上服務的登錄,該服務在 10-15 分鐘後過期,除非您保持活躍狀態?正如我所說,我是這個話題的新手,可能會有非常直截了當的答案。不幸的是,我自己找不到這些資訊。提前致謝。
如果您需要簽名,請使用簽名 API。簽名密鑰對可能是臨時的,也可能不是臨時的,這取決於您的案例。您需要某種方法來確定簽名密鑰對屬於您認為屬於誰的任何人,這不能僅由庫處理。
簽名密鑰對和密鑰交換密鑰對是不同的數據類型(
hydro_sign_keypair
vshydro_kx_keypair
或hydro_kx_session_keypair
),因此不能互換使用。會話最多應持續使用服務的給定連接持續時間。這可能需要數週時間,但更有可能只有在使用者保持活躍的情況下。