Rsa

我可以刪除公鑰中的換行符嗎?

  • August 23, 2019

我可以從 RSA 公鑰文件中刪除新行以獲得單行字元串嗎?所以問題是密鑰是否看起來像這樣

AAA
BBB
CCC

或者

AAA\n\rBBB\n\rCCC\n\r

這是一樣的嗎

AAABBBCCC

我假設您的意思是 base 64 編碼的密鑰文件,因為從二進製文件中刪除換行符顯然會破壞事情。

RSA 標準(例如RFC 2459)只定義了密鑰的二進製表示。實際上,就像 OpenPGP 密鑰 ( RFC 4880 ) 一樣,它們通常使用其他過時的 PEM 標準 ( RFC 1421 ) 以 base 64 編碼。

PEM 可列印編碼部分說:

為了表示 PEM 消息的封裝文本,編碼函式的輸出被分隔為文本行(使用本地約定),除最後一行外,每一行都包含正好 64 個可列印字元,最後一行包含 64 個或更少的可列印字元。

OpenPGP 基數 64 部分說:

編碼的輸出流必須以每行不超過 76 個字元的形式表示。

另一方面,對於 SSH,RFC 4716 第 3 節

密鑰文件是一個文本文件,包含一系列行。文件中的每一行不得超過 72 個 8 位字節,不包括行終止字元。


實踐中的實現是否接受更長的行?我希望很多人會這樣做。然而,雖然沒有資訊失去,但使用這種編碼在技術上是不符合規範的。

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