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

編程密碼學題

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

熱點內容
php培訓學費多少 發布:2025-07-16 07:56:15 瀏覽:519
輸入url或伺服器地址 發布:2025-07-16 07:47:46 瀏覽:293
iphone便捷訪問有什麼用 發布:2025-07-16 07:46:59 瀏覽:841
16進制的字元串java 發布:2025-07-16 07:39:54 瀏覽:437
一加手機安卓11怎麼分屏 發布:2025-07-16 07:32:35 瀏覽:85
vivo方舟編譯器app 發布:2025-07-16 07:31:56 瀏覽:631
八萬落地大眾高配置有哪些車 發布:2025-07-16 07:22:26 瀏覽:134
騷年直播密碼多少 發布:2025-07-16 07:20:55 瀏覽:918
率土之濱太守車怎麼配置軍團 發布:2025-07-16 07:14:36 瀏覽:697
k2的演算法 發布:2025-07-16 07:14:35 瀏覽:252