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

編程密碼學題

發布時間: 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。

熱點內容
11點關閉游戲伺服器有什麼影響 發布:2025-04-01 06:51:54 瀏覽:558
轉發賺錢源碼 發布:2025-04-01 06:50:28 瀏覽:904
php對象編程 發布:2025-04-01 06:38:41 瀏覽:332
c語言了5 發布:2025-04-01 06:36:19 瀏覽:143
演算法抖動 發布:2025-04-01 06:30:14 瀏覽:113
ssd做m2的緩存 發布:2025-04-01 06:26:28 瀏覽:542
安卓下載軟體沒有內存怎麼辦 發布:2025-04-01 06:08:36 瀏覽:61
龍珠怎麼上傳視頻 發布:2025-04-01 06:08:24 瀏覽:761
公司代理伺服器地址 發布:2025-04-01 06:05:32 瀏覽:220
minecraftpe戰牆伺服器ip 發布:2025-04-01 06:03:58 瀏覽:913