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. pymongdb入门

    Pymongo入门 安装 pip install pymongo 连接 实际就是实例化一个客户端对象,然后客户端对象中指定一个库作为库对象,库对象中的集合对象就是之后常用来执行操作的对象 1 ''' ...

  2. 大数据学习day17------第三阶段-----scala05------1.Akka RPC通信案例改造和部署在多台机器上 2. 柯里化方法 3. 隐式转换 4 scala的泛型

    1.Akka RPC通信案例改造和部署在多台机器上  1.1 Akka RPC通信案例的改造(主要是把一些参数不写是) Master package com._51doit.akka.rpc impo ...

  3. 容器之分类与各种测试(三)——forward_list的用法

    forward_list是C++11规定的新标准单项链表,slist是g++以前的规定的单项链表 例程 #include<stdexcept> #include<string> ...

  4. jenkins之邮箱设置

  5. my36_InnoDB关键特性之change buffer

    一.关于IOT:索引组织表 表在存储的时候按照主键排序进行存储,同时在主键上建立一棵树,这样就形成了一个索引组织表,一个表的存储方式以索引的方式来组织存储的. 所以,MySQL表一定要加上主键,通过主 ...

  6. maven根据profile,resources,filters来区分部署环境

    项目过程中,在不同的阶段,分别需要部署开发环境,测试环境,线上环境.如果都用一套配置文件,很容易弄乱,所以维持多套配置文件很有必要. maven提供了一组属性以供开发人员灵活搭配,可以根据环境来打包, ...

  7. 远程调用RPC

    一.简介 RPC,就是Remote Procedure Call的简称呀,翻译成中文就是远程过程调用. 本地调用,就好比你现在在家里,你要想洗碗,那你直接把碗放进洗碗机,打开洗碗机开关就可以洗了.这就 ...

  8. ctfshow 红包题 武穆遗书

    偶然见看到这道题,就下载了看了看.确实是我自己的逆向能力不够,逆不动.但是我似乎找到了非预期... 下载程序,ida打开,发现不对.后来发现是加了upx壳,拿软件去一下.再次ida打开. 其中buff ...

  9. c++模板类的使用,编译的问题

    1,模板类编译的问题 前两天在写代码时,把模板类的声明和分开放在两个文件中了,类似于下面这样: stack.hpp: #ifndef _STACK_HPP #define _STACK_HPP tem ...

  10. CF157A Game Outcome 题解

    Content 有一个 \(n\times n\) 的矩阵,每个元素都有一个权值.求所有满足其所在纵列所有元素权值和大于其所在横列所有元素权值和的元素个数. 数据范围:\(1\leqslant n\l ...