一般情況下預設公鑰=65537因為安全,以及算得快“安全”的意思是,如果你取公鑰=3,有可能被巧妙地破解(即使不分解n),但對65537,基本沒有類似巧合“算得快”的意思很簡單,我們只需要把一個數在mod n中連續平方几次,然後再乘它自己,就得到了RSA用公鑰65537加密的結果——而解密,類似的演算法要慢很多有一個夥計用連分數證明了,RSA的私鑰不能太小(比如小於n的1/4次方時候,在已知公鑰(當年還沒有公鑰=65537的傳統,當年的公鑰基本上是隨便取的,如果私鑰很小那麼公鑰會很大,於是此時的公鑰幾乎不可能是65537)的情況下破解RSA的私鑰)——這也就限制了剛剛說的那套演算法 在大家都認可公鑰是65537的情況下,你的“私鑰”並不能用來加密——大家都知道,私鑰加密的密文用公鑰65537就可以解密然鵝,為什麼會有人愚蠢地先解密再加密呢?因為其他用65537解密的人都知道,只有私鑰的擁有者才能對這段資訊進行加密之後,讓大家可以很方便地用65537這個公鑰可以解密於是在密碼學中,這樣“先執行解密”的“加密方法”是有意義的
一般情況下預設公鑰=65537因為安全,以及算得快“安全”的意思是,如果你取公鑰=3,有可能被巧妙地破解(即使不分解n),但對65537,基本沒有類似巧合“算得快”的意思很簡單,我們只需要把一個數在mod n中連續平方几次,然後再乘它自己,就得到了RSA用公鑰65537加密的結果——而解密,類似的演算法要慢很多有一個夥計用連分數證明了,RSA的私鑰不能太小(比如小於n的1/4次方時候,在已知公鑰(當年還沒有公鑰=65537的傳統,當年的公鑰基本上是隨便取的,如果私鑰很小那麼公鑰會很大,於是此時的公鑰幾乎不可能是65537)的情況下破解RSA的私鑰)——這也就限制了剛剛說的那套演算法 在大家都認可公鑰是65537的情況下,你的“私鑰”並不能用來加密——大家都知道,私鑰加密的密文用公鑰65537就可以解密然鵝,為什麼會有人愚蠢地先解密再加密呢?因為其他用65537解密的人都知道,只有私鑰的擁有者才能對這段資訊進行加密之後,讓大家可以很方便地用65537這個公鑰可以解密於是在密碼學中,這樣“先執行解密”的“加密方法”是有意義的
當然,無論什麼時候,在最外面放解密函式都是最愚蠢的做法就比如你給著名數學家寄信表示你證明了哥德巴赫猜想知道哥德巴赫猜想的大都研究過數論,知道數論的大都接觸過RSA(就比如潘承洞 潘承彪的《初等數論》裡討論過RSA)於是,你欣喜地發現,這個數學家把自己的公鑰寫在了自己的主頁上。於是你知道了這個數學家的公鑰(其實是模數n,為了行文方便,後面都稱為“公鑰”好了)但是數學家不知道你的公鑰沒關係——反正你會把公鑰用明文附在信裡,只要那個數學家收到信,只要他閱讀了你的信件,他一定能知道你的公鑰——畢竟沒有你的公鑰,信件是不能解密的於是你放心大膽地把你的證明X先加密再解密得到D_你(E_數學家(X))之後你把這封信,以及你的公鑰,放心大膽地交給了小明 ……小明是個實在人,ta覺得你真的證明了哥德巴赫猜想……小明並不知道你寫的信究竟是什麼內容——小明不關心這個問題 小明只是做了一件簡單的事情——先用你信上的公鑰把你的信件解密,得到E_數學家(X)再用小明自己的私鑰反向加密一波,得到D_小明(E_數學家(X))最後,小明知道,這封信,如果不是自己親自交給數學家,交給誰都不保險……於是小明被數學家狠狠教訓了一頓: 把解密函式放在最外面是愚蠢的做法就像你這段證明一樣