Aes
散列 AES 密鑰是否安全?
假設我想要一種為特定對稱加密密鑰(例如 AES)生成確定性公共 ID 的方法。使用 SHA-3(或 SHAKE)對密鑰進行散列,然後將散列作為密鑰的公共 ID 分發是否安全?
相對於密鑰長度,使用更大或更短的雜湊長度有優點還是缺點?例如,如果密鑰是 256 位(32 字節),使用 256 與 512 位 SHA3 雜湊?
使用 SHA-3(或 SHAKE)對密鑰進行散列,然後將散列作為密鑰的公共 ID 分發是否安全?
當然; SHA-3 和 SHAKE 是有效的不可逆的。現在,我想有人可以嘗試各種 AES 密鑰並查看公共身份的雜湊值;另一方面,他們可以嘗試各種 AES 密鑰並查看哪個密鑰正確解密了密文。我們認為第二個是不可行的,因此第一個(需要同樣努力)也是不可行的。
相對於密鑰長度,使用更大或更短的雜湊長度有優點還是缺點?
使用短散列長度的唯一缺點是它增加了您實際使用的兩個不同密鑰最終具有相同公共標識符(散列)的可能性。