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. 这份github上被14万人点赞的Java教程太强了

    前几天有个小伙伴加我之后问了下面的这个问题.我看到后是一脸懵逼的状态,jcombobox?实话说,我已经完全忘了在Java中还有这么个东西. 在网上一番搜索后,才发现原来它是 swing 中的下拉列表 ...

  2. 7个连环问揭开java多线程背后的弯弯绕

    摘要:很多java入门新人一想到java多线程, 就会觉得很晕很绕,什么可见不可见的,也不了解为什么sync怎么就锁住了代码. 本文分享自华为云社区<java多线程背后的弯弯绕绕到底是什么? 7 ...

  3. PhoneGap打包webApp

    因为我只弄了Andriod的环境,所以在此只以Andriod为例. 使用PhoneGap搭建Android开发的项目整体步骤如下: 安装java环境. 安装ant构建工具. 安装android的开发环 ...

  4. OpenStack之八: network服务(端口9696)

    注意此处用的一个网络,暂时不用启动第二个网官网地址 https://docs.openstack.org/neutron/stein/install/controller-install-rdo.ht ...

  5. JUC概述

    JUC概述1: 首先是进程和线程的概念: 进程:是指系统在系统中正在运行的一个应用程序,程序一旦运行就是进程,进程是资源分配的最小单位 线程:进程之内独立执行,是程序执行的最小单位 线程的六大状态:在 ...

  6. HDC2021技术分论坛:如何高效完成HarmonyOS分布式应用测试?

    作者:liuxun,HarmonyOS测试架构师 HarmonyOS是新一代的智能终端操作系统,给开发者提供了设备发现.设备连接.跨设备调用等丰富的分布式API.随着越来越多的开发者投入到Harmon ...

  7. 一个超简单的Microsoft Edge Extension

    这个比微软官网上的例子简单很多,适合入门.总共4个文件: https://files.cnblogs.com/files/blogs/714801/cet6wordpicker.zip 36KB 1. ...

  8. 转:Sed使用

    awk于1977年出生,今年36岁本命年,sed比awk大2-3岁,awk就像林妹妹,sed就是宝玉哥哥了.所以 林妹妹跳了个Topless,他的哥哥sed坐不住了,也一定要出来抖一抖. sed全名叫 ...

  9. Mybatis动态SQL语句使用

    在实际开发中,有时候查询条件可能是不确定的,查询条件可能有多条也可能没有,这时候就需要用到动态的sql语句拼接功能. 一.if.where.sql标签的使用 需求:在一些高级查询中,查询条件存在的个数 ...

  10. hitcontraining_magicheap

    拿到题目例行检查 程序是64位的程序 保护几乎全开,试运行一下程序 十分明显的堆溢出的界面,将程序放入ida中,shift+f12发现了后门程序 进入main主函数进行查看 可以看到当,v3==486 ...