提交 ace068a0 编写于 作者: F feilong

fix bug

上级 dff867da
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
密码学家 Rivest、Shamir、Adleman 于1977年4月撰写了一篇论文《数字签名与公钥密码学》(On Digital Signatures and Public-Key Cryptosystems),并投稿至了一个期刊上,不过很遗憾这篇论文被拒稿了。随后他们修改了论文,并将论文重新命名为《一种实现数字签名和公钥密码系统的方法》(A Method of Obtaining Digital Signatures and Public-Key Cryptosystems),最终于1978年2月成功发表于顶级期刊《ACM通信》(Communications of the ACM)。在这篇论文中,三位密码学家嫌弃使用A、B两个字母代表角色太无聊,就用Alice和Bob来代替A和B。 密码学家 Rivest、Shamir、Adleman 于1977年4月撰写了一篇论文《数字签名与公钥密码学》(On Digital Signatures and Public-Key Cryptosystems),并投稿至了一个期刊上,不过很遗憾这篇论文被拒稿了。随后他们修改了论文,并将论文重新命名为《一种实现数字签名和公钥密码系统的方法》(A Method of Obtaining Digital Signatures and Public-Key Cryptosystems),最终于1978年2月成功发表于顶级期刊《ACM通信》(Communications of the ACM)。在这篇论文中,三位密码学家嫌弃使用A、B两个字母代表角色太无聊,就用Alice和Bob来代替A和B。
在随后的几十年里密码学界又新增了很多著名人物。布鲁斯·施奈尔所著的《应用密码学》(Applied Cryptography)里详细列举了这些人物: 在随后的几十年里密码学界又新增了很多著名人物。布鲁斯·施奈尔所著的《应用密码学》(Applied Cryptography)里详细列举了这些人物,下面是一些例子
```python ```python
crypto_roles = [ crypto_roles = [
...@@ -10,20 +10,7 @@ crypto_roles = [ ...@@ -10,20 +10,7 @@ crypto_roles = [
'与鲍伯(Bob)是信息接受者。通例上,爱丽丝希望把一条消息发送给鲍伯。', '与鲍伯(Bob)是信息接受者。通例上,爱丽丝希望把一条消息发送给鲍伯。',
'卡罗尔或查利(Carol或Charlie)是通信中的第三位参加者。', '卡罗尔或查利(Carol或Charlie)是通信中的第三位参加者。',
'戴夫(Dave)是通信中的第四位参加者。', '戴夫(Dave)是通信中的第四位参加者。',
'伊夫(Eve)是一位偷听者(eavesdropper),但行为通常是被动的。她拥有偷听的技术,但不会中途篡改发送的消息。在量子密码学中,伊夫也可以指环境(environment)。', '伊夫(Eve)是一位偷听者(eavesdropper),但行为通常是被动的。她拥有偷听的技术,但不会中途篡改发送的消息。在量子密码学中,伊夫也可以指环境(environment)。'
'艾萨克(Isaac)是互联网服务提供者 (ISP)。',
'伊凡(Ivan)是发行人,使用于商业密码学中。',
'贾斯汀(Justin)是司法(justice)机关。',
'马洛里(Mallory)是一位恶意攻击者(malicious attacker)。与伊夫不同的是,马洛里会篡改发送的消息。对付马洛里所需的信息安全技术比对伊夫的高出很多。有时亦会叫作马文(Marvin)或马利特(Mallet)。',
'马提尔达(Matilda)是一位商人(merchant),用于电子商务。',
'奥斯卡(Oscar)是敌人,通常与马洛里一样。',
'帕特(Pat)或佩吉(Peggy)是证明者(prover),维克托(Victor)是验证者(verifier)。两人会证实一项事件是否有实际进行,多使用于零知识证明。',
'普特(Plod或Officer Plod)是执法官员。名称来自伊妮·布来敦所著的儿童文学《诺弟》(Noddy)中的角色“普特先生”。',
'史蒂夫(Steve)代指隐写术(Steganography)。',
'特伦特(Trent)是一位可信赖的仲裁人(trusted arbitrator),中立的第三者,根据存在的协议而判断。',
'特鲁迪(Trudy)是侵入者(intruder),等同马洛里。',
'沃特(Walter)是看守人(warden)。根据已存在的协议而保护爱丽丝和鲍伯。',
'佐伊(Zoe)通常是一个安全协议中的最后参与者。'
] ]
``` ```
...@@ -137,22 +124,7 @@ if __name__ == '__main__': ...@@ -137,22 +124,7 @@ if __name__ == '__main__':
```bash ```bash
爱丽丝(Alice): 密码学家说我是一位信息发送者,很高兴认识你。 爱丽丝(Alice): 密码学家说我是一位信息发送者,很高兴认识你。
鲍伯(Bob): 密码学家说我是一位信息接受者,通例上,爱丽丝希望把一条消息发送给我。 鲍伯(Bob): 密码学家说我是一位信息接受者,通例上,爱丽丝希望把一条消息发送给我。
卡罗尔或查利(Carol或Charlie): 密码学家说我是一位通信中的第三位参加者,很高兴认识你。 ...
戴夫(Dave): 密码学家说我是一位通信中的第四位参加者,很高兴认识你。
伊夫(Eve): 密码学家说我是一位偷听者(eavesdropper),但行为通常是被动的。我拥有偷听的技术,但不会中途篡改发送的消息。在量子密码学中,我也可以指环境(environment)。
艾萨克(Isaac): 密码学家说我是一位互联网服务提供者 (ISP),很高兴认识你。
伊凡(Ivan): 密码学家说我是一位发行人,使用于商业密码学中。
贾斯汀(Justin): 密码学家说我是一位司法(justice)机关,很高兴认识你。
马洛里(Mallory): 密码学家说我是一位恶意攻击者(malicious attacker),与伊夫不同的是,我会篡改发送的消息。对付我所需的信息安全技术比对伊夫的高出很多。有时亦会叫作马文(Marvin)或马利特(Mallet)。
马提尔达(Matilda): 密码学家说我是一位商人(merchant),用于电子商务。
奥斯卡(Oscar): 密码学家说我是一位敌人,通常与马洛里一样。
帕特(Pat): 密码学家说我是一位证明者(prover),维克托(Victor)是验证者(verifier)。两人会证实一项事件是否有实际进行,多使用于零知识证明。
普特(Plod或Officer Plod): 密码学家说我是一位执法官员,名称来自伊妮·布来敦所著的儿童文学《诺弟》(Noddy)中的角色“我先生”。
史蒂夫(Steve): 密码学家说我是一位隐写术(Steganography),很高兴认识你。
特伦特(Trent): 密码学家说我是一位可信赖的仲裁人(trusted arbitrator),中立的第三者,根据存在的协议而判断。
特鲁迪(Trudy): 密码学家说我是一位侵入者(intruder),等同马洛里。
沃特(Walter): 密码学家说我是一位看守人(warden),根据已存在的协议而保护爱丽丝和鲍伯。
佐伊(Zoe): 密码学家说我是一位安全协议中的最后参与者,很高兴认识你。
``` ```
请找出以下对类`CryptographyCity`的方法`introduce`的实现中,<span style="color:red">不正确</span>的选项。 请找出以下对类`CryptographyCity`的方法`introduce`的实现中,<span style="color:red">不正确</span>的选项。
......
...@@ -6,21 +6,10 @@ ...@@ -6,21 +6,10 @@
programmers = [ programmers = [
"约翰·巴科斯(JohnWarnerBackus), 创建了Fortran语言", "约翰·巴科斯(JohnWarnerBackus), 创建了Fortran语言",
"阿兰·库珀(Alan Cooper), 开发了Visual Basic语言", "阿兰·库珀(Alan Cooper), 开发了Visual Basic语言",
"艾兹格·迪杰斯特拉(Edsger Wybe Dijkstra), 提出了程序设计的框架结构",
"詹姆斯·高斯林(James Gosling), 开发了Java语言", "詹姆斯·高斯林(James Gosling), 开发了Java语言",
"安德斯·海尔斯伯格(Anders Hejlsberg), 开发了Turbo Pascal、Delphi、C#以及TypeScript", "安德斯·海尔斯伯格(Anders Hejlsberg), 开发了Turbo Pascal、Delphi、C#以及TypeScript",
"葛丽丝·霍普(Grace Murray Hopper), 开发了Flow-Matic,该语言对COBOL造成了影响", "丹尼斯·里奇(Dennis MacAlistair Ritchie), 发明了C语言",
"肯尼斯·艾佛森(Kenneth E. Iverson), 开发了APL,并与Roger Hui合作开发了J",
"威廉·纳尔逊·乔伊(William Nelson Joy), 发明了vi,BSD Unix的前期作者,以及SunOS的发起人,该操作系统后来改名为Solaris",
"艾伦·凯(Alan Curtis Kay), 开创了面向对象编程语言,以及Smalltalk的发起人",
"罗布·派克(Brian Kernighan), 与丹尼斯·里奇合著第一本C程式设计语言的书籍,同时也是AWK与AMPL程式设计语言的共同作者",
"约翰·麦卡锡(John McCarthy), 发明了LISP,在1956年的达特矛斯会议上提出了“人工智能”这个概念,被称为“人工智能之父",
"约翰·冯·诺伊曼(John von Neumann), 操作系统概念的发起者",
"丹尼斯·里奇(Dennis MacAlistair Ritchie), 发明了C语言,1978年与布莱恩·科尔尼干(Brian W. Kernighan)一起出版了名著《C程序设计语言(The C Programming Language)》",
"比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup), 他以创造C++编程语言而闻名,被称为“C++之父”", "比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup), 他以创造C++编程语言而闻名,被称为“C++之父”",
"肯·汤普逊(Kenneth Lane Thompson), 与丹尼斯·里奇同为1983年图灵奖得主。他与丹尼斯·里奇设计了B语言、C语言,创建了Unix和Plan 9操作系统,编程语言Go的共同作者。发展正规表示法,写作了早期的电脑文字编辑器QED与ed,定义UTF-8编码,以及发展电脑象棋",
"尼克劳斯·维尔特(Niklaus Emil Wirth), 发明了Pascal与Modula",
"拉里·沃尔(Larry Wall), 创造了Perl与Perl6",
"吉多·范罗苏姆(Guido van Rossum), 创造了 Python" "吉多·范罗苏姆(Guido van Rossum), 创造了 Python"
] ]
``` ```
......
{ {
"author": "幻灰龙", "author": "幻灰龙",
"source": "import_relative.py", "source": "import_relative.md",
"depends": [], "depends": [],
"exercise_id": 165, "exercise_id": 165,
"type": "code_options" "type": "code_options"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册