zoukankan      html  css  js  c++  java
  • 第十个知识点:RSA和强RSA问题有什么区别?

    第十个知识点:RSA和强RSA问题有什么区别

    这个密码学52件事数学知识的第一篇,也是整个系列的第10篇.这篇介绍了RSA问题和Strong-RSA问题,指出了这两种问题的不同之处.

    密码学严重依赖于这样的假设,某些数学问题难以在有限的时间内解决.让我们看公钥(非对称)密码学,这也是这篇文章中我们使用的一个假设----单向函数(One-Way function)存在.例如,一个函数在一种情况下很容易计算,而在另一种情况下不容易计算.我们使用数论算法来产生这样的函数.

    分解

    数论中最先讨论的问题就是分解.给一个合数(N),分解问题就是找出正整数(p),(q)使得(N=pq).尽管这面临的似乎是一个简单的问题,但事实上它是很难的,值得深入研究的问题.我们可以在指数时间检查所有的(p=2,...,sqrt N).然而解决问题在指数时间不是足够快的.尽管有多年的研究,还没有多项式算法可以解决分解大数的问题.很显然对(N)的某个特定的值很容易解决.例如(N)是偶数.但是,我们讨论的密码学构造中,(N)是一个非常大的数,同时被连个大素数构造(p,q).

    RSA问题

    在RSA公钥加密中,Alice使用Bob的公钥((n,e))加密明文(M)生成(C),计算方法为(C=M^e(modspace n)),其中(n)是由两个大素数产生的,(ege 3)并且是一个奇数且和(Z^*_n)互质,(Z_n).Bob知道私钥((n,e)),其中(de=1(mode(p-1)(q-1)))意味着(M=C^d(modspace n)).攻击者能够窃听(C)同时知道公钥((n,e)).然而为了计算(M),攻击者必须找到(n)的分解.因此,这意味着RSA问题并不比整数因子分解困难,但是如果选择合适的(n),这仍然是一个很难解决的问题.

    强RSA假设

    强RSA假设不同于RSA假设主要在对手可以选择奇数的公共指数(ege3).对手的任务就是计算出(M)从一个给定的(C=M^e(mod space n)).这个问题至少和RSA一样简单,这意味着这个假设更强.他的问题至少和RSA问题一样简单这意味着强RSA假设是一个更强的假设。RSA问题已经有25年的历史了。公钥加密方案的优点完全来自于RSA问题.

    [1] - http://people.csail.mit.edu/rivest/RivestKaliski-RSAProblem.pdf

    (注:觉得它这篇写的有些混乱,可以直接参考这个链接的pdf).

  • 相关阅读:
    Flappy Bird c++试验版
    log4net在windows 2003 iis6下使用的注意事项
    IIS6下, web.config配置为targetFramework="4.0"时出404错误
    mercurial(hg)使用
    Firebird数据库相关备忘录
    关于项目开发进度的看法
    日常数据分析的主要内容仍是结构化计算
    集算器协助java处理多样性数据源之HDFS
    集算器协助Java处理多样性数据源之Hive
    集算器协助java处理多样性数据源之JSON
  • 原文地址:https://www.cnblogs.com/zhuowangy2k/p/11901018.html
Copyright © 2011-2022 走看看