Pgp

為什麼要使用 ASCII Armor 進行文件加密?

  • July 10, 2021

GPGage都提供了一個--armor選項,但文件加密的案例是什麼?現在肯定大多數頻道都允許傳輸二進制數據嗎?這似乎沒有必要,聽起來它滿足了一個罕見的案例。

我可以理解它用於共享密鑰對,也許是簽名,但不能用於文件加密。即使對於密鑰對和簽名,感覺也有更好的方法來處理短 Base64 密鑰和共享簽名文件(如Minisign)

抱歉,如果這與密碼學相關的不夠。我在這裡問,因為這些是加密工具,並且必須有某些原因為什麼這是一個功能。

“現在肯定大多數通道都允許傳輸二進制數據嗎?” 當然,但 PGP 是古老的。包括電子郵件和 Usenet 在內的很多東西都是基於文本的。儘管 FTP 當然可以傳輸二進製文件,但您可能忘記在當時基於文本的 FTP 客戶端中打開該選項。

請注意,我們仍然有很多地方需要文本,例如 XML、JSON。HTTP 可能能夠發送二進製文件(儘管許多開發人員似乎忘記了這一點),HTTP 標頭和 URL 通常是文本。

請注意,例如gpg也用於 shell 腳本等。首先創建文件,然後使用 ASCII Armor 將其轉換為可列印的 ASCII 是非常低效的。

擁有一件普遍接受的盔甲也很有意義。否則解密/簽名驗證可能會失敗,或者您可能必須協商使用哪種確切格式。

最後,如果您無論如何都需要簽名等,為什麼不為所有可能的輸出提供相同的選項呢?一般來說,這只是幾行程式碼。

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