• 定义 RSA\color{#FF3030}{RSA密码体制}:设p和q是两个大素数, 计算n = pq和Φ(n) = (p− 1)(q − 1). p, q, Φ(n)保密, n公开. 令P = C = ℤn,K = { (n, p, q, a, b) |1 < b < Φ(n), (b,Φ(n)) = 1, ab ≡1 (mod Φ n))}. 对每个K = (n, p, q, a, b) ∈ K, 以及任意x, y ∈ ℤn, 定义加密函数和相应的解密函数分别为:
• ek(x) = x^b mod n
• dk(y) = y^a mod n
• 这里公钥是nb, 私钥是p ,q, a. 当明文x > n时, 可先将x分组,使得每一组都小于n,
然后分别对每一组加密.
• 下面将验证解密变换是加密变换的逆变换, 也即dk (ek(x)) = x
证明过程
第二周学习
• 现在的分解算法能够分解由512位二进制表示的整数, 为安全着想, 一般推荐pq都为 512\color{#FF3030}{512}比特的素数, 这样就是1024比特(相当300\color{#FF3030}{300}位十进制数)的模数, 分解这样
长度的整数大大超出了现有的整数分解算法的能力.
• 注意到, RSA参数生成算法中的第一步中需要解决如何生成大的随机素数(比如512比特的素数). 在实际应用中,通常的做法是先生成随机整数, 然后利用\color{#FF3030}{米勒-拉宾素性}测试等算法来检验它们的素性. 这个算法很快, 一个整数n可以在log2 n的多项式时间内检测其素性.
RSA参数生成
• 与生成随机素数相关的一个问题是, 我们需要检测多少特定长度的随机整数才能找到一个素数. \color{#FF3030}{素数定理}可知, 在1到n之间随机选取一个整数是素数的概率约为1/lnn\color{#FF3030}{1/ln n}.
• 假设我们在RSA密码中考虑1024比特的模数n = pq,其中p和q都为512比特的素数.
因为一个随机512比特的整数是素数的概率约为1/ln2512 ≈ 1/355, 所以随机给定355个512比特的整数, 其中应该有一个是素数.当然如果把范围限定为奇数, 概率加倍, 约为2/355. 这表明我们能有效地生成可能为素数的大整数.
• 对RSA密码体制的᳿个明显的攻击就是密码分析者试图分解n. 如果这点做到了, 那么便可以很简单地计算Φ(n) = (p − 1)(q − 1), 然后可以像Bob一样从b计算出解密指数a.
p&q选取不当分解N
• 攻击条件:当RSA中p和q选取不当时,我们也可以进行攻击。
• |p-q|很大:
• 当p-q很大时,一定存在某一个参数较小,这里我们假设为p,那么我们可以通过穷举的方法对模数进行试除,从而分解模数,得到保密参数与明文信息。基本来说,不怎么可行。
• |p-q|较小时
• 首先
第二周学习
模不互素
• 攻击原理:当存在两个公钥的N不互素时,我们显然可以直接对这两个数求最大公因数,然后直接获得p,q。进而获得相应的私钥。
• 攻击条件:当两个用户使用相同的模数 N、不同的私钥时,加密同一明文消息时
即存在共模攻击。
• 攻击原理
第二周学习• 密码分析者也可能既不分解n也不计算Φ(n), 而直接基于解密指数a进行攻击 . 可以证明, 如果解密指数a已知,那么n可以通过一个随机算法在多项式时间内分解, 这表明直接计算解密指数a并不比分解n容易. 当然, 这也告诉我们, 如果a被泄露(此时n可被很容易分解为p和q),那么Bob仅仅重新选取一个加密指数b是不够的(此时n不 变, 而其分解已知), 他必须选择一个新的模数n.
• 另外, Wiener提出了一种基于低解密指数的攻击方法,当**满足3a < n^0.25和q < p< 2q时, 这种方法可以成功地计算出解密指数a.
第二周学习
AES算法结构
• AES算法的轮变换中没有Feistel结构,轮变换是由三个不同的可逆᳿致变换组成,称之为层:
线\color{#FF3030}{–线性混合层}:确保多轮之上的高度扩散。
线\color{#FF3030}{–非线性层} :具有最优最差-情形非线性的S-盒的并行应用。
\color{#FF3030}{–**加层}:轮**简单地异或到中间状态上。
第二周学习
安全性分析
• 没有发现\color{#FF3030}{ 弱**}
• 能有效抵抗目前已知的攻击算法
• 没有发现线\color{#FF3030}{–线性攻击}
• 没有发现\color{#FF3030}{–差分攻击}
one more thing:5.5布置的任务4天时间有点紧,所以代码任务未完成。格式排版有了进步,markdown的操作好了一些

相关文章:

  • 2021-08-13
  • 2021-08-08
  • 2021-04-29
  • 2021-05-02
  • 2021-11-24
  • 2021-06-14
猜你喜欢
  • 2021-11-28
  • 2021-09-17
  • 2021-06-17
  • 2021-09-15
相关资源
相似解决方案