當前位置:首頁 » 編程軟體 » 編程密碼學題

編程密碼學題

發布時間: 2025-03-29 19:07:26

『壹』 棘手的編程問題

比較普通的acm題目而已(貌似是IOI?) 沒有二樓說的那麼玄, 還密碼學呢..

說下演算法, 如果樓主要求, 可以給代碼

1. 每個單詞起作用的也就是頭尾兩個字母, 很好理解

2. 如果某個單詞集合滿足題目條件, 則可以推出單詞集合具有以下性質:設所有單詞首字母構成集合A, 尾字母構成集合B, 容易想到, AB字元數一樣, 且最多有一個字元不同, (即僅允許第一個單詞的首字母和最後一個單詞的尾字母不同)

3. 而同時, 所有滿足2性質的單詞集合, 都可以滿足題中條件(串連起來), 也就是說2是充要條件 (這個有些不好想, 自己在紙上畫畫)

因此, 只要判斷單詞集合是否滿足性質2即可, 而這個是很簡單的事情

『貳』 密碼學問題 為什麼RSA數字簽名一定要先簽名、後加密我是初學者,謝謝!!!

我是這么覺得:
簽名的一個目的是:防止簽名雙方抵賴。
如果先加密的話,到時候他有可能不認賬。

而且,特別是針對RSA簽名演算法,有一種專門針對先加密後簽名的攻擊。為了防止這種攻擊,推薦採用先簽名後加密。
這種攻擊方法為:
假設簽名者A用先加密後簽名的方法把消息x發給B,他是先用B的公鑰eb對x加密,然後用自己的私鑰da簽名,設A的模數為na,B的為nb,那麼,A發給B的密文為: (x^eb mod nb)^da mod na
如果B不誠實,那麼B可能偽造A的簽名。謊稱收到的是x1.因為nb是B的模數,所以B知道nb的分解,於是可以計算模nb的離散對數。 (x1)^k=x mod nb
之後,B再公布他的新公鑰。然後宣布收到的是x1不是x。

熱點內容
電腦伺服器不在桌面上顯示出來嗎 發布:2025-04-30 10:26:05 瀏覽:128
360瀏覽器63緩存 發布:2025-04-30 10:15:09 瀏覽:278
oracle表空間sql 發布:2025-04-30 10:15:08 瀏覽:312
未上傳年報 發布:2025-04-30 10:01:17 瀏覽:876
一般qq密碼設置成什麼 發布:2025-04-30 10:01:13 瀏覽:980
linuxshell編程指南 發布:2025-04-30 09:42:02 瀏覽:246
英朗4月銷量最多的是哪個配置 發布:2025-04-30 09:23:36 瀏覽:283
android源碼閱讀 發布:2025-04-30 09:15:59 瀏覽:141
華為升級文件夾 發布:2025-04-30 09:14:54 瀏覽:65
安卓手機這幾個拼音怎麼打 發布:2025-04-30 09:13:58 瀏覽:263