Bristol大学密码学博士生的五十二个知识点

这个系列,是Bristol大学的密码安全工作组为密码学和信息安全相关的博士准备了52个基本知识点。

原地址:http://bristolcrypto.blogspot.com/2014/10/52-things-number-1-different-types-of.html

对密码学基础是一个极好的总结。

每篇内容不多但是问题提出的极好。我翻译过来是随手之意。

计算机工程方面(E)

Number 1 通用处理器,带指令扩展的通用处理器,专用处理器有什么区别?

Number 2 多核处理器和向量处理器的区别?

Number 3 智能卡,微处理器(单片机),嵌入式或移动设备,笔记本或者座机的计算性能的区别

理论计算机科学(F)

Number 4 复杂性为P类是什么意思?

Number 5 复杂性为NP类是什么意思?

Number 6 我们如何将NP解释为一组定理,其证明可以在多项式时间内检验?

Number 7 随机性怎么帮助计算,什么是BPP类?

Number 8 交互怎么帮助计算机,什么是IP类?

Number 9 香农对熵和信息的定义是什么?

数学背景(A,B)

Number 10 RSA和强RSA有什么问题?

Number 11 什么是DLP,CDH,DDH问题?

Number 12 椭圆曲线群是什么?

Number 13 概述射影点表示的用途和优点?

Number 14 什么是密码学配对?

基本密码机制和协议(A)

Number 15 描述RSA-OAEP,ECIES密钥生成,加密,解密的算法.

Number 16 描述DSA,Schnorr,RSA-FDH的密钥生成,签名和认证.

Number 17 描述和比较DES,AES的轮构成.

Number 18 画ECB,CBC,CTR描述图.

Number 19 描述Shamir秘密分发场景.

Number 20 Merkle-Damgaard hash函数如何构造?

密码实现详情(A)

Number 21 CRT方法如何提升RSA性能?

Number 22 怎样在Montgomery算法描述一个数字或者多个数字?

Number 23 写一个实现Montgomery算法的c程序.

Number 24 描述binary,m-ary和滑动窗口指数算法.

Number 25 描述模块化方法减少使用“特别”质数定义GF (p)和GF (2 ^ n).

Number 26 描述NAF标量乘法算法.

安全定义和证明(A,B,C)

Number 27 什么是针对对称加密的IND-CCA安全定义?

Number 28 什么是针对公钥密钥加密的IND-CCA安全定义?

Number 29 针对数字签名UF-CMA的安全定义是什么?

Number 30 大致描述密钥协商的BR安全定义?

Number 31 给出一个包含game hopping的安全证明

Number 32 概述基于游戏和基于模拟的安全定义之间的区别

数学攻击(A,B)

Number 33 Bellcore攻击是如何攻击使用CRT的RSA方案的

Number 34 描述攻击DLP的Baby-Step/Giant-Step方法

Number 35 给出Pollard rho,Pollard "Kangaroo"和parallel Pollard的大致想法

Number 36 什么是指数微积分算法?

Number 37 大致描述NFS是如何工作的

实际攻击(D)

Nubmer 38 隐蔽信道和侧信道有什么不同?

Number 39 侧信道攻击和错误攻击有什么不同?

Number 40 DPA和SPA的主要不同是什么?

Number 41 所有的侧信道攻击都和能量分析有关吗?

Number 42 看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道吗?

Number 43 为AES描述一些基本的(可能无效的)防御来抵抗侧通道攻击

Number 44 为ECC描述一些基本的(可能无效的)防御来抵抗侧通道攻击

Number 45 为AES描述一些基本的(可能无效的)防御来抵抗侧通道攻击

高级协议与构造(A,B)

Number 46 对于一个Sigma协议,正确性,健壮性和零知识都意味着什么?

Number 47 什么是Fiat-Shamir变换

Number 48 使用TPM的目的是什么?

Number 49 描述IPSec和TLS背后的原理

Number 50 什么是BLS基于对的签名方案?

Number 51 基于ID的加密方案的安全模型是什么?描述一个IBE方案

Number 52 选择一个先进的应用概念,如电子投票,拍卖或多方计算。这样一个系统的大致安全需求是什么?

推荐的书籍(和上面括号里的对应)

[A] Nigel's book http://www.cs.bris.ac.uk/~nigel/Crypto_Book/

[B] The Katz Lindell book http://www.cs.bris.ac.uk/~nigel/Crypto_Book/

[C] Goldreich's two volume book http://www.wisdom.weizmann.ac.il/~oded/foc-book.html

[D] Elisabeth's DPA book http://www.dpabook.org/

[E] Dan's book http://www.dpabook.org/

[F] Goldreich's book http://www.wisdom.weizmann.ac.il/~oded/cc-book.html

Bristol大学密码学博士生的五十二个知识点的更多相关文章

  1. Gradle 1.12用户指南翻译——第五十二章. Maven 插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上 ...

  2. Java进阶(五十二)利用LOG4J生成服务日志

    Java进阶(五十二)利用LOG4J生成服务日志 前言 由于论文写作需求,需要进行流程挖掘.前提是需要有真实的事件日志数据.真实的事件日志数据可以用来发现.监控和提升业务流程. 为了获得真实的事件日志 ...

  3. SQL注入之Sqli-labs系列第五十关,第五十一关,第五十二关,第五十三关(ORDER BY堆叠注入)

    0x1第五十关 源码中使用的mysqli_multi_query()函数,而之前使用的是mysqli_query(),区别在于mysqli_multi_query()可以执行多个sql语句,而mysq ...

  4. “全栈2019”Java第五十二章:继承与初始化详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  5. 《手把手教你》系列技巧篇(五十二)-java+ selenium自动化测试-处理面包屑(详细教程)

    1.简介 面包屑(Breadcrumb),又称面包屑导航(BreadcrumbNavigation)这个概念来自童话故事"汉赛尔和格莱特",当汉赛尔和格莱特穿过森林时,不小心迷路了 ...

  6. 第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗?

    第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗? 几个月前(回到3月份),您可能还记得我在这个系列的52件东西中发布了第23件(可以在这里找到).这篇文章的标题是& ...

  7. abp(net core)+easyui+efcore实现仓储管理系统——出库管理之三(五十二)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

  8. 面渣逆袭:Redis连环五十二问,图文详解,这下面试稳了!

    大家好,我是老三,面渣逆袭系列继续,这节我们来搞定Redis--不会有人假期玩去了吧?不会吧? 基础 1.说说什么是Redis? Redis是一种基于键值对(key-value)的NoSQL数据库. ...

  9. Linux性能优化实战学习笔记:第五十二讲

    一.上节回顾 上一节,我们一起学习了怎么使用动态追踪来观察应用程序和内核的行为.先简单来回顾一下.所谓动态追踪,就是在系统或者应用程序还在正常运行的时候,通过内核中提供的探针,来动态追踪它们的行为,从 ...

随机推荐

  1. 【PS算法理论探讨一】 Photoshop中两个32位图像混合的计算公式(含不透明度和图层混合模式)。

    大家可以在网上搜索相关的主题啊,你可以搜索到一堆,不过似乎没有那一个讲的很全面,我这里抽空整理和测试一下数据,分享给大家. 我们假定有2个32位的图层,图层BG和图层FG,其中图层BG是背景层(位于下 ...

  2. ES5中改变this指向的三种方法

    ES5中提供了三种改变函数中this指针指向的方法,分别如下 1.call() var obj = {username:"孙悟空"}; //没有任何修饰的调用函数,函数中的this ...

  3. Oracle中建表及表操作

    一.创建表 Oracle中的建表语句:create table 表名( 字段名1 数据类型 列属性,字段名2 数据类型 列属性,...... ) 如:创建表OA_DM.DM_GY_USER https ...

  4. Use of explicit keyword in C++

    Predict the output of following C++ program. 1 #include <iostream> 2 3 using namespace std; 4 ...

  5. 接口测试 python+PyCharm 环境搭建

    1.配置Python环境变量 a:我的电脑->属性->高级系统设置->环境变量->系统变量中的PATH变量. 变量名:PATH      修改变量值为:;C:\Python27 ...

  6. vue-cli4脚手架搭建三

    组件传值 <script> import LunBo from "./LunBo"; export default { name: 'Home', components ...

  7. Linux:变量$#,$@,$0,$1,$2,$*,$$,$?

    写一个简单的脚本 vim var 脚本内容如下: #!/bin/sh echo "the number of parameters passed to the script: $#" ...

  8. Oracle常用函数(SQL语句)

    使用sql函数,您可以在一个select语句的查询当中,直接计算数据库资料的平均值.总数.最小值.最大值.总和.标准差.变异数等统计.使用recordset对象时,也可使用这些sql函数. sql函数 ...

  9. springMVC中响应的返回值获取方式

    package com.hope.controller;import com.hope.domain.User;import org.springframework.stereotype.Contro ...

  10. Linux(CentOS 7)使用gcc编译c,c++代码

    安装gcc: 1.使用 yum -list gcc* 查询 centos 官方gcc的所有包: 可安装的软件包 gcc.x86_64 gcc-c++.x86_64 gcc-gfortran.x86_6 ...