精华内容
下载资源
问答
  • RSA和DES区别

    千次阅读 2014-09-01 12:44:40
    DES算法好在加/解速度快,密钥量短,采用对称加密 RSA算法好在网络容易实现密钥管理,便进行数字签名,算法复杂,加/解速度慢,采用非对称加密 RSA速度。  由于进行都是大数计算,使得RSA最快情况也比...
    DES算法好在加/解速度快,密钥量短,采用对称加密

    RSA算法好在网络容易实现密钥管理,便进行数字签名,算法复杂,加/解速度慢,采用非对称加密

    RSA的速度。 
    由于进行的都是大数计算,使得RSA最快的情况也比DES慢上100倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。 

    RSA算法 
    1978年就出现了这种算法,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。 
    RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数( 大于 100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。 

    DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多 

    RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。 

    DSA = Digital Signature Algorithm. based on discrete logarithms computation.

    DES = Digital Encryption Standard. Obsolete standard.

    What is DCE?

    DSA 用于签名,而 RSA 可用于签名和加密。

        DSA is faster in *signing*, but slower in *verifying*.
        A DSA key of the same strength as RSA (1024 bits) generates a smaller signature.
        An RSA 512 bit key has been cracked, but only a 280 DSA key.
        It doesn’t matter because with Ssh only authentication is done using RSA or DSA algorithm, and then the “rest” is encoded using a (uh, was it block?) cipher like IDEA, DES, Blowfish, etc, etc after the authentication is done.
        While SSH2 can use either DSA or RSA keys, SSH1 cannot. Ssh2 will also not use patented cypers like IDEA.

    Filed under: System — Tags: cryptography — Commen




    DSA与RSA的区别
    RSA算法 1978年就出现了这种算法,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。 RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数( 大于 100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。 密钥对的产生。选择两个大素数,p 和q 。计算: n = p * q 然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。最后,利用Euclid 算法计算解密密钥d, 满足 e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) ) 其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。 加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^
    展开全文
  • 加密,是以某种特殊的算法改变原有信息数据,使得未授权用户即使获得了已加密信息,但因不知解密方法,仍然无法了解信息内容。为什么要加密,保障数据安全完整性防止被他人篡改。 1、摘要算法 数据...

    什么是加密算法、为什么要使用加密。加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。为什么要加密,保障数据的安全和完整性防止被他人篡改。
    1、摘要算法

    数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密。数据摘要算法也被称为哈希(Hash)算法、散列算法。

    常用的摘要算法有MD5、SHA1、SHA256 , 加密后分别输出128bit、160bit、256bit。
    1.1 MD5

    //md5
    public void md5(String str) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(str.getBytes());
            String md5 = bytes2Hex(md.digest());
            System.out.println(md5);
        } catch (NoSuchAlgorithmException e) {
        }
    }
    //转16进制
    private static String bytes2Hex(byte[] byteArray) {
        String resultValue = "";
        String strTemp = null;
        for (int i = 0; i < byteArray.length; i++) {
            strTemp = (Integer.toHexString(byteArray[i] & 0xFF));
            if (strTemp.length() == 1) {
                resultValue += "0";
            }
            resultValue += strTemp;
        }
        return resultValue;
    }
    

    1.2 SHA1

    //SHA1摘要
    public static void sha1(String str) {
        try {
            MessageDigest md = MessageDigest.getInstance("SHA-1");
            md.update(str.getBytes());
            String md5 = bytes2Hex(md.digest());
            System.out.println(md5);
        } catch (NoSuchAlgorithmException e) {
        }
    }
    

    1.3 SHA256

    //SHA256摘要
    public static void sha256(String str) {
        try {
            MessageDigest md = MessageDigest.getInstance("SHA-256");
            md.update(str.getBytes());
            String md5 = bytes2Hex(md.digest());
            System.out.println(md5);
        } catch (NoSuchAlgorithmException e) {
        }
    }
    

    摘要算法关键代码、只需要修改 MessageDigest.getInstance(“SHA-256”) 即可实现各种摘要算法

    MessageDigest md = MessageDigest.getInstance("SHA-256");
    md.update(str.getBytes());
    byte[]bytes = md.digest()
    bytes2Hex(bytes);
    
    展开全文
  • 摘要算法 常用的摘要算法有MD5,SHA1。摘要算法是一个不可逆过程,就是无论多大数据,经过算法运算后都... MD5SHA1的区别:MD5结果是128位摘要,SHa1是160位摘要。那么MD5的速度更快,而SHA1的强度更高。 下面统一...
    1. 摘要算法

      常用的摘要算法有MD5,SHA1。摘要算法是一个不可逆过程,就是无论多大数据,经过算法运算后都是生成固定长度的数据,一般结果使用16进制进行显示。
      MD5和SHA1的区别:MD5结果是128位摘要,SHa1是160位摘要。那么MD5的速度更快,而SHA1的强度更高。
      下面统一使用MD5算法进行说明,SHA1类似。
      主要用途有:验证消息完整性,安全访问认证,数据签名。

    消息完整性:由于每一份数据生成的MD5值不一样,因此发送数据时可以将数据和其MD5值一起发送,然后就可以用MD5验证数据是否丢失、修改。

    安全访问认证:这是使用了算法的不可逆性质,(就是无法从MD5值中恢复原数据)对账号登陆的密码进行MD5运算然后保存,这样可以保证除了用户之外,即使数据库管理人员都无法得知用户的密码。

    数字签名:这是结合非对称加密算法和CA证书的一种使用场景
    一般破解方法:字典法,就是将常用密码生成MD5值字典,然后反向查找达到破解目
    的,因此建议使用强密码。MD5的使用—对文件进行摘要。

    1. 对称加密算法

    2. 非对称加密(RSA)

    3. 编码的使用

    转载于:https://my.oschina.net/niclee94/blog/1506375

    展开全文
  • 安全是智能卡的核心,而算法是...今天小钞就以分组密码算法(DES和SM4)、公钥密码算法(RSA和SM2)、摘要算法(SM3)为例,和大家谈谈国际算法和国密算法的区别。    分组密码算法——国际DES、国产SM4    分组密...

    安全是智能卡的核心,而算法是安全的基础。

     

      国密算法由国家密码局发布,包含SM1\ SM2\ SM3\ SM4\ SSF33算法;国际算法由美国的安全局发布,是现今最通用的商用算法。今天小钞就以分组密码算法(DES和SM4)、公钥密码算法(RSA和SM2)、摘要算法(SM3)为例,和大家谈谈国际算法和国密算法的区别。

     

      分组密码算法——国际DES、国产SM4

     

      分组密码就是将明文数据按固定长度进行分组,然后在同一密钥控制下逐组进行加密,从而将各个明文分组变换成一个等长的密文分组的密码。其中二进制明文分组的长度称为该分组密码的分组规模。

     

      分组密码的实现原则如下:

     

      (1)必须实现起来比较简单,知道密钥时加密和脱密都十分容易,适合硬件和(或)软件实现.

      (2)加脱密速度和所消耗的资源和成本较低,能满足具体应用范围的需要.

     

      分组密码的设计基本遵循混淆原则和扩散原则。

     

      混淆原则就是将密文、明文、密钥三者之间的统计关系和代数关系变得尽可能复杂,使得敌手即使获得了密文和明文,也无法求出密钥的任何信息;即使获得了密文和明文的统计规律,也无法求出明文的任何信息。

     

      扩散原则就是应将明文的统计规律和结构规律散射到相当长的一段统计中去。也就是说让明文中的每一位影响密文中的尽可能多的位,或者说让密文中的每一位都受到明文中的尽可能多位的影响。

     

      DES算法

     

      DES算法是在美国NSA(国家安全局)资助下由IBM公司开发的密码算法,其初衷是为政府非机密的敏感信息提供较强的加密保护。它是美国政府担保的第一种加密算法,并在1977年被正式作为美国联邦信息处理标准。DES主要提供非军事性质的联邦政府机构和私营部门使用,并迅速成为名声最大,使用最广的商用密码算法。

     

      DES算法的整体结构图:

    SM4算法

     

      2006年我国公布了无限局域网产品使用的SM4密码算法。这是我国第一次公布自己的商用密码算法。

     

      SM4算法的整体结构图:

      国际的DES算法和国产的SM4算法的目的都是为了加密保护静态储存和传输信道中的数据,主要特性如下:

      从算法上看,国产SM4算法在计算过程中增加非线性变换,理论上能大大提高其算法的安全性,并且由专业机构进行了密码分析,民间也对21轮SM4进行了差分密码分析,结论均为安全性较高。

     

      公钥密码算法——国际RSA、国产SM2

     

      公钥密码学与其他密码学完全不同, 使用这种方法的加密系统,不仅公开加密算法本身,也公开了加密用的密钥。

     

      公钥密码系统与只使用一个密钥的对称传统密码不同,算法是基于数学函数而不是基于替换和置换。公钥密码学是非对称的,它使用两个独立的密钥,即密钥分为公钥和私钥,因此称双密钥体制。双钥体制的公钥可以公开,因此称为公钥算法。

     

      公钥算法的出现,给密码的发展开辟了新的方向。公钥算法虽然已经历了20多年的发展,但仍具有强劲的发展势头,在鉴别系统和密钥交换等安全技术领域起着关键的作用

     

      公钥算法的加密与解密由不同的密钥完成,并且从加密密钥得到解密密钥在计算上是不可行的。通常,公钥算法的两个密钥中任何一个都可以作为加密而另一个用作解密,但不是所有的公钥算法都是如此。

    RSA算法

     

      RSA算法由Rivest、Shamir、Adleman于1978年首次发表,是迄今为止最容易理解和实现的公钥算法,已经受住了多年深入的攻击,其理论基础是一种特殊的可逆模幂运算,其安全性基于分解大整数的困难性。

     

      RSA算法既可用于加密,又可用于数字签名,已得到广泛采用,并被许多标准化组织(如ISO、ITU、IETF和SWIFT等)接纳。目前许多国家标准仍采用RSA算法或它的变型。

     

      RSA算法的实现如下:

     

      (1) 实现者寻找出两个大素数p和q

      (2) 实现者计算出n=pq 和φ(n)=(p-1)(q-1)

      (3) 实现者选择一个随机数e (0<e<></e<>

      (4) 实现者使用辗转相除法计算d=e-1(modφ(n))

      (5) 实现者在目录中公开n和e作为公钥

     

      密码分析者攻击RSA体制的关键点在于如何分解n。若分解成功使n=pq,则可以算出φ(n)=(p-1)(q-1),然后由公开的e,解出秘密的d。所以说RSA算法的安全性基于分解大整数的困难性。

     

      SM2算法

     

      SM2算法由国家密码管理局于2010年12月17日发布,全称为椭圆曲线算法。椭圆曲线并不是椭圆,之所以称为椭圆曲线是因为它们是用三次方程来表示的,并且该方程与计算椭圆周长的方程相似。一般而言,椭圆曲线的三次方程形为:

     

      y2+axy+by=x3+cx2+dx+e [其中a,b,c,d和e是满足某些条件的实数,因为方程中的指数最高是3,所以我们称之为三次方程,或者说方程的次数为3]

     

      SM2算法使用的方程为:y2= x3 + ax + b

      SM2算法实现如下:

      (1) 选择Ep(a,b)的元素G,使得G的阶n是一个大素数

      (2) G的阶是指满足nG=O的最小n值

      (3) 秘密选择整数k,计算B=kG,然后公开(p,a,b,G,B),B为公钥,保密k,k为私钥

      加密M:先把消息M变换成为Ep(a,b)中一个点Pm,然后,选择随机数r,计算密文Cm={rG,Pm+rP),如果r使得rG或者rP为O,则要重新选择r。

      解密Cm: (Pm+rP)-k(rG)=Pm+rkG-krG=Pm

     

      SM2算法的安全性基于一个数学难题”离散对数问题ECDLP”实现,即考虑等式Q=KP,其中Q、P属于Ep(a,b),K<p,则:1) p="" 已知q和p,计算k,是困难的。<="">

     

      现今对椭圆曲线研究的时间短,经过许多优秀的数学家的努力,至今一直没有找到亚指数级算法。正是由于目前所知求解ECDLP的最好方法是指数级的,这使得我们选用SM2算法作加解密及数字签名时,所要求的密钥长度比RSA要短得多。

     

      国际的RSA算法和国产的SM2算法的主要特性对比如下:

     

     摘要算法——国产SM3

     

      摘要函数在密码学中具有重要的地位,被广泛应用在数字签名,消息认证,数据完整性检测等领域。摘要函数通常被认为需要满足三个基本特性:碰撞稳固性,原根稳固性和第二原根稳固性。

     

      2005年,Wang等人给出了MD5算法和SHA-1算法的碰撞攻击方法,现今被广泛应用的MD5算法和SHA-1算法不再是安全的算法。

     

      SM3密码摘要算法是中国国家密码管理局2010年公布的中国商用密码杂凑算法标准。SM3算法适用于商用密码应用中的数字签名和验证,是在SHA-256基础上改进实现的一种算法。SM3算法采用Merkle-Damgard结构,消息分组长度为512位,摘要值长度为256位。

     

      SM3算法的压缩函数与SHA-256的压缩函数具有相似的结构,但是SM3算法的设计更加复杂,比如压缩函数的每一轮都使用2个消息字。

     

      现今为止,SM3算法的安全性相对较高。(来源:中钞研究院

    展开全文
  • 安全是智能卡的核心,而算法是安全的基础。...今天小钞就以分组密码算法(DES和SM4)、公钥密码算法(RSA和SM2)、摘要算法(SM3)为例,和大家谈谈国际算法和国密算法的区别。  分组密码算法——国际DES、国产SM4
  • des算法代码实现输出matlab LeetCodePractice algorithm training log Build personal C code lib teshi Linux 中 initcall 机制 【嵌入式】基于makefileSTM32编译方法探索 keil编译链接过程以及ARMCC、ARMASM、...
  • 首先我们得先了解什么是加密算法加密算法对称加密算法AES:更快,兼容设备,安全级别高:非对称加密算法RSA :非对称加密,有公钥私钥散列算法(签名算法)MD5:不可逆加密算法其他常用算法base64https总结 ...
  • DES、3DES加密算法

    万次阅读 2018-06-02 14:34:45
    DES加密算法,为对称加密算法一种。70年代初由IBM研发,后1977年被美国国家标准局采纳为数据加密标准,即DES全称由来:Data Encryption Standard...常见的DES、3DES、AES均为对称加密算法,而RSA、椭圆曲线加...
  • 安全是智能卡的核心,而算法是安全的基础...今天小钞就以分组密码算法(DES和SM4)、公钥密码算法(RSA和SM2)、摘要算法(SM3)为例,和大家谈谈国际算法和国密算法的区别。  分组密码算法——国际DES、国产SM4
  • 常见加密算法有对称加密算法和非对称加密算法,它们的区别是加密和解密使用的是否是同一把钥匙,常见的对称加密算法有DES,非对称算法有RSA,我们这里重点介绍DES加密算法,我们希望把这种算法应用在本地账号密码...
  • 严格来说:MD5还有sha-1、 RIPEMD以及Haval等不能算是加密算法(虽然常用于把密码变成“密文”),他们只是散列算法,或者叫摘要算法。... 要弄懂这两类算法的区别,最本质的方式就是把这两类算法的步骤搞懂,但这需...
  • 一、常见的加密算法 (1)对称密钥/私钥密钥:DES、RC6、AES...(1)若加密密钥与解密密钥相同或可互相推导/推算则为对称密钥(单钥密钥或私钥密钥),大多数对称密码算法的加密密钥与解密密钥相同; (2...
  • DES加密算法,为对称加密算法一种。70年代初由IBM研发,后1977年被美国国家标准局采纳为数据加密标准,即DES全称由来:Data Encryption Standard。...常见的DES、3DES、AES均为对称加密算法,而RSA、椭圆曲...
  • AES,RSA,MD5/SHA1,DES区别

    千次阅读 2017-06-06 19:17:39
    RSA:非对称加密,有公钥私钥 MD5、SHA1:都是不可逆,防篡改,用来校验数据真伪,不是用来加密数据 DES:本地数据,安全级别低,被废弃了AES:—>更快,兼容设备,安全级别高: 高级加密标准(英语:...
  • 目前,主流加密算法包括:DES,AES,RSA,MD5,SHA1,Base64
  • 加密算法

    2021-01-27 16:00:33
    常见签名加密算法 数字签名 定义:提供可鉴别数字信息验证自身身份一种...常见算法:RSA算法,AES算法,DES算法,3DES算法。 加解密类别 对称加密非对称加密 区别:加密解密所涉及到密钥是否是
  • 现以分组密码算法(DES和SM4)、公钥密码算法(RSA和SM2)、摘要算法(SM3)为例,谈谈国际算法和国密算法的区别:一.分组密码算法——国际DES、国产SM4 分组密码就是将明文数据按固定长度进行分组,然后在同一密钥控制下...
  • 由于项目中需要用到hash算法,然而研究生以来都没有接触过真正有关密码算法的项目,今天先了解下国密算法和密码学中应用最广泛的三类算法: 1、对称算法(分组密码算法)代表分组密码算法(DES和SM4); 2、非对称算法...
  • 国密算法那点事儿

    2018-11-14 17:12:59
    【国密算法那点事儿】解读DES和SM4、RSA和SM2及SM3安全是智能卡的核心,而算法是安全的基础...今天小钞就以分组密码算法(DES和SM4)、公钥密码算法(RSA和SM2)、摘要算法(SM3)为例,和大家谈谈国际算法和国密算法的区别
  • DES:是数据加密算法,将明文转换为密文一种算法 RSA:是一种数据加密算法 公钥:是密钥对中一个密钥,用公钥加密数据要用私钥解密,用私钥加密数据要用公钥解密 数字签名:用于鉴别数字信息,使用公钥...
  • Java 实现RSA签名加密

    千次阅读 2019-09-30 17:10:03
    区别于共享密钥对称加密算法,如DES和AES。公钥可以共享给任何人,私钥自己进行保管。公钥用于加密数据,使得该加密数据只能用私钥进行解密;私钥也可用于签名数据,签名数据一起发送,然后使用公钥验证...
  • 1. 资料阅读。 (20分钟)  查阅 百度百科(http://baike.baidu.com/ )中“RSA”、“数字...我就用自己话来理解“RSA”、“数字签名”、“公钥”、“DES”,RSA:它是一种非对称加密算法,通过相应原理产生一
  • 非对称加密算法与对称加密算法的区别 首先,用于消息解密的密钥值与用于消息加密的密钥值不同; 其次,非对称加密算法比对称加密算法慢数千倍,但在保护通信安全方面,非对称加密算法却具有对称密码难以企及的优势...
  • SSH1SSH2的区别

    2019-12-11 13:48:18
    SSH1采用DES、3DES、BlowfishRC4等对称加密算法保护数据安全传输,而对称加密算法的密钥是通过非对称加密算法(RSA)来完成交换的。SSH1使用循环冗余校验码(CRC)来保证数据的完整性,但是后来发现这种方法有缺陷...
  • go语言 自行设计对称加密算法,对 hello world 进行加密解密 对称加密算法,是相对于非对称加密算法而言。两者区别在于,对称加密在加密解密时...常见的DES、3DES、AES均为对称加密算法,而RSA、椭圆...
  • 商用密码算法简介

    2020-08-15 19:22:51
    商用密码算法简介商密算法...常见对称算法包括ZUC、SM1、SM4、SM7、DES、TDES、AES,常见非对称算法包括SM2、SM9、RSA、ECC等,常见密码杂凑算法包括SM3、SHA1、SHA256、SHA512、MD5等。 上述所有算法中其中Z

空空如也

空空如也

1 2 3 4
收藏数 67
精华内容 26
关键字:

des算法和rsa算法的区别