当前位置:首页 » 编程软件 » 编程密码学题

编程密码学题

发布时间: 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。

热点内容
linux查看用户与组 发布:2025-04-01 07:08:27 浏览:421
安卓大屏导航怎么改回中文 发布:2025-04-01 07:07:05 浏览:499
单机奥德赛需要什么配置 发布:2025-04-01 07:05:33 浏览:903
专属云服务器如何注册 发布:2025-04-01 07:03:23 浏览:763
java编程的培训机构 发布:2025-04-01 06:57:40 浏览:779
sqlserver百度云 发布:2025-04-01 06:57:35 浏览:615
11点关闭游戏服务器有什么影响 发布:2025-04-01 06:51:54 浏览:559
转发赚钱源码 发布:2025-04-01 06:50:28 浏览:905
php对象编程 发布:2025-04-01 06:38:41 浏览:332
c语言了5 发布:2025-04-01 06:36:19 浏览:143