转载:信息安全与密码学博士:应该掌握的52个知识点

 

原文地址:http://www.vonwei.com/post/52knowledgeForCryptographyPHD.html

         Bristol大学的密码安全工作组为密码学和信息安全相关的博士准备了52个基本知识点,详情见http://www.cs.bris.ac.uk/Research/CryptographySecurity/knowledge.html

         密码学是一个高度跨学科的领域,包含纯数学、计算机科学以及电子工程等多方面的知识。考虑读研读博的学生专业知识背景不一,Bristol大学对这方面的知识点进行了一个全面的总结和覆盖。52个知识点,Bristol大学推荐所有博一学生花一年的时间应该基本掌握,也就是差不多一个星期掌握一个知识点。掌握这些知识点后,对之后的课堂学习、项目执行、论文研读、科研协作、参加国际会议、与密码学者沟通会大有益处;要不然,可能一直处于懵懵懂懂的状态,荒废学业。

         看了列出的52个基本知识点后,作为一个已经毕业的信息安全博士,感觉很惭愧啊,需要恶补。目前Bristol大学的密码工作组也开了一个博客“http://bristolcrypto.blogspot.com/”(注意,Blogspot被墙了,需要使用代理或者翻墙工具访问,推荐Chrome浏览器+红杏插件)来分别分析这些知识点,截止写这篇博文前,该博客刚更新到第21个,相信每周都会增加。为了恶补,我的基本想法也是每周理解一篇然后总结博文吧。

         下面列出这52个需要掌握的知识点:

Computer Engineering ([E]) 计算机工程方面

                  Number 1What is the difference between the following?

    • A general-purpose processor.

    • A general-purpose processor with instruction-set extensions.

    • A special-purpose processor (or co-processor).

    • An FPGA.

                  Number 2What is the difference between a multi-core processor and a vector processor?

                  Number 3Estimate the relative computational and storage capabilities of...

    • a smart-card

    • a micro-controller (i.e. a sensor node)

    • an embedded or mobile computer (e.g., a mobile phone or PDA)

    • a laptop- or desktop-class computer.

Theoretical Computer Science ([F]) 理论计算机科学方面

Number 4What is meant by the complexity class P?

Number 5What is meant by the complexity class NP?

Number 6 How can we interpret NP as the set of theorems whose proofs can be checked in polynomial time?

Number 7How does randomness help in computation, and what is the class BPP?

Number 8How does interaction help in computation, and what is the class IP?

Number 9What are Shannon's definitions of entropy and information?

Mathematical Background ([A,B]) 数学背景

Number 10What is the difference between the RSA and the Strong-RSA problem?

Number 11What are the DLP, CDH and DDH problems?

Number 12What is the elliptic curve group law?

Number 13Outline the use and advantages of projective point representation.

Number 14What is a cryptographic pairing?

Basic (Practical or Deployed) Cryptographic Schemes and Protocols ([A]) 基本密码机制与协议

Number 15Describe the key generation, encryption and decryption algorithms for RSA-OAEP and ECIES.

Number 16 Describe the key generation, signature and verification algorithms for DSA, Schnorr and RSA-FDH.

Number 17Describe and compare the round structure of DES and AES.

Number 18Draw a diagram (or describe) the ECB, CBC and CTR modes of operation.

Number 19Describe the Shamir secret sharing scheme.

Number 20How are Merkle-Damgaard style hash functions constructed?

Cryptographic Implementation Details ([A]) 密码实现详情

Number 21How does the CRT method improve performance of RSA?

Number 22How do you represent a number and multiply numbers in Montgomery arithmetic?

Number 23Write a C program to implement Montgomery arithmetic.

Number 24Describe the binary, m-ary and sliding window exponentiation algorithms.

Number 25Describe methods for modular reduction using "special" primes that define GF(p) and GF(2^n).

Number 26Describe the NAF scalar multiplication algorithm.

Security Definitions and Proofs ([A,B,C]) 安全定义和证明

Number 27What is the IND-CCA security definition for symmetric key encryption?

Number 28What is the IND-CCA security definition for public key encryption?

Number 29What is the UF-CMA security definition for digital signatures?

Number 30Roughly outline the BR security definition for key agreement?

Number 31Give one proof of something which involves game hopping

Number 32Outline the difference between a game based and a simulation based security definition.

Mathematical Attacks ([A,B]) 数学攻击

Number 33How does the Bellcore attack work against RSA with CRT?

Number 34Describe the Baby-Step/Giant-Step method for breaking DLPs

Number 35Give the rough idea of Pollard rho, Pollard "kangaroo" and parallel Pollard rho attacks on ECDLP.

Number 36What is meant by index calculus algorithms?

Number 37Roughly outline (in two paragraphs only) how the NFS works.

Practical Attacks ([D]) 实际攻击

Number 38What is the difference between a covert channel and a side-channel?

Number 39What is the difference between a side-channel attack and a fault attack?

Number 40What is usually considered the difference between DPA and SPA?

Number 41Are all side channels related to power analysis?

Number 42Look at your C code for Montgomery multiplication above; can you determine where it could leak side channel information?

Number 43Describe some basic (maybe ineffective) defences against side channel attacks proposed in the literature for AES.

Number 44Describe some basic (maybe ineffective) defences against side channel attacks proposed in the literature for ECC.

Number 45Describe some basic (maybe ineffective) defences against side channel attacks proposed in the literature for RSA.

Advanced Protocols and Constructions ([A,B]) 高级协议与构造

Number 46What is the Fiat-Shamir transform?

Number 47What does correctness, soundness and zero-knowledge mean in the context of a Sigma protocol?

Number 48What is the purpose and use of a TPM?

Number 49Describe the basic ideas behind IPSec and TLS.

Number 50What is the BLS pairing based signature scheme?

Number 51What is the security model for ID-based encryption, and describe one IBE scheme.

Number 52Pick an advanced application concept such as e-Voting, Auctions or Multi-Party Computation. What are the rough security requirements of such a system?

 

Further Reading (进一步参考文献)

  • [A] Nigel's      book is deliberately informal and tries to give quick flavours of      what is important in theory and practice.

  • [B] The Katz      Lindell book is a better formal introduction to modern      theoretical cryptography but it is less good in its treatment of what is      important in the real world (e.g. the coverage of AES, ECC,      implementation, etc is quite limited).

  • [C] Goldreich's      two volume book is a very good introduction to the deep theory,      but deliberately does not cover practical cryptography.

  • [D] Elisabeth's DPA book is      the best introduction to all things about side-channels.

  • [E] Dan's book is      a good starting place for computer architecture and learning VHDL.

  • [F] Goldreich's      book on complexity theory is a good place to start. Its approach      is much more down-to-earth and sensible than other approaches (i.e. P vs      NP is presented in terms of is it easier to check or find proofs?)

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值