精华内容
下载资源
问答
  • 对称算法的特点
    千次阅读
    2020-11-11 21:54:15

    主要区别

    • 对称加密算法的加密密钥和解密密钥相同。或者虽然不同,但是可以通过其中一个密钥推导出另外一个密钥。
    • 非对称加密算法的加密密钥和解密密钥不相同,并且从其中一个很难退出推导出另外一个。

    对称加密优缺点

    • 优点
      1、加解密效率高,适合加密大量数据
      2、密钥相对比较短
      3、硬件容易实现
    • 缺点
      1、需要以安全方式进行密钥交换
      2、密钥管理复杂,如每个人需持有许多密钥

    非对称加密算法优缺点

    • 优点
      1、安全性更高,公钥是公开的,但私钥只有自己知道
    • 缺点
      1、加密和解密花费时间长,速度慢,只适合对小数据加密

    常见的对称加密算法

    1. DES
    2. 3DES
    3. Blowfish
    4. IDEA
    5. RC4
    6. RC5
    7. RC6
    8. AES

    常见的非对称加密算法

    1. RSA
    2. ECC(移动设备用)
    3. Diffie-Hellman
    4. El Gamal
    5. DSA(数字签名用)

    好啦,分享到这里,我去复习啦!
    明天下午考试,希望一切顺利!!!

    更多相关内容
  • 对称加密对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥,作为私钥。具体算法有:DES,3DES,TDEA,Blowfish,RC5,ID...

    对称加密

    对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥,作为私钥。

    具体算法有:DES,3DES,TDEA,Blowfish,RC5,IDEA。常见的有:DES,AES,3DES等等。

    优点:算法公开、计算量小、加密速度快、加密效率高。 缺点:秘钥的管理和分发非常困难,不够安全。在数据传送前,发送方和接收方必须商定好秘钥,然后双方都必须要保存好秘钥,如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

    非对称加密

    非对称加密指的是:加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。私钥加密的信息,只有公钥才能解密。 私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。

    我们常见的数字证书、加密狗即是采用非对称加密来完成安全验证的。

    优点:安全性更高,公钥是公开的,秘钥是自己保存的,不需要将私钥给别人。 缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

    主要算法:RSA、Elgamal、背包算法、Rabin、HD,ECC(椭圆曲线加密算法)。常见的有:RSA,ECC

    区别

    对称加密算法相比非对称加密算法来说,加解密的效率要高得多。但是缺陷在于对于秘钥的管理上,以及在非安全信道中通讯时,密钥交换的安全性不能保障。所以在实际的网络环境中,会将两者混合使用.

    例如针对C/S模型,

    1. 服务端计算出一对秘钥pub/pri。将私钥保密,将公钥公开。

    2. 客户端请求服务端时,拿到服务端的公钥pub。

    3. 客户端通过AES计算出一个对称加密的秘钥X。 然后使用pub将X进行加密。

    4. 客户端将加密后的密文发送给服务端。服务端通过pri解密获得X。

    5. 然后两边的通讯内容就通过对称密钥X以对称加密算法来加解密。


    银行动态令牌

    网银比较流行的时候,银行给我们发一个动态令牌。这个令牌并不使用任何对称或者非对称加密的算法,在整个银行的认证体系中,动态令牌只是一个一次性口令的产生器,它是基于时间同步方式,每隔60秒产生一个随机6位动态密码在其中运行的主要计算仅包括时间因子的计算和散列值的计算。

    在用户从银行手中拿到动态口令令牌卡的时候,在令牌卡的内部已经存储了一份种子文件(即图中钥匙所代表的seed),这份种子文件在银行的服务器里保存的完全一样的一份,所以对于动态口令令牌来说,这种方式是share secret的。另外在令牌硬件上的设置中,假使有人打开了这个令牌卡,种子文件将会从令牌卡的内存上擦除(待考证)。 令牌卡中有了种子文件,并实现了TOTP算法,在预先设置的间隔时间里它就能不断产生不同的动态口令,并显示到屏幕上,而银行服务器上跟随时间做同样的计算,也会得到和令牌卡同样的口令,用作认证。 那么TOTP算法具体做了什么操作呢?在RFC6238中有详细的算法描述,这里也会做简单的叙述。

    TOTP是来自 HOTP [RFC4226] 的变形,从统筹上看,他们都是将数据文件进行散列计算,只是HOTP的因子是事件因子,TOTP将因子换成了时间因子,具体的TOTP计算公式(其中的HMAC-SHA-256也可能是 HMAC-SHA-512): TOTP = Truncate(HMAC-SHA-256(K,T))

    其中: K 为这里的种子文件内容; T 为计算出来的时间因子 公式中的 HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code),HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。而公式中给出的哈希算法是 SHA-256,这种哈希算法目前并没有好的破解办法。 令牌卡中预先设置了要显示的口令长度,TOTP 中的 Truncate 操作剪切获得口令。 以上就是动态口令令牌卡的内部原理。

    640?

    扩展阅读:

    640?wx_fmt=png

    歪脖贰点零

    关注程序员个人成长

    640?wx_fmt=jpeg

    展开全文
  • 主要概括什么是对称加密算法,使用AES的ECB工作模式和CBC工作模式对数据进行加密与解密。以及对称加密算法与非对称加密算法的对比

    概述

            对称加密算法就是传统的用一个密码进行加密和解密。例如,我们常用的WinZIP 和WinRAR对压缩包的加密和解密,就是使用对称加密算法:
            从程序的角度着,所谓加密,就是这样一个函数,它接收密码和明文,然后输出密文:

            secret = encrypt(key, message);


            而解密则相反,它接收密码和密文,然后输出明文:

            plain =decrypt(key, secret);

            在软件开发中,常用的对称加密算法有:

    算法密钥长度工作模式填充模式
    DES56/64ECB/CBC/PCBC/CTR/...NOPadding/PKCS5Padding
    AES128/192/256ECB/CBC/PCBC/CTR/...NOPadding/PKCS5Padding/PKCS7Padding
    IDEA128ECBPKCS5Padding/PKCS7Padding

            密钥长度直接决定加密强度,而工作模式和填充模式可以看成是对称加密算法的参数和格式选择。Java标准库提供的算法实现并不包括所有的工作模式和所有填充模式,但是通常我们只需要挑选常用的使用就可以了。
            最后注意,DES算法由于密钥过短,可以在短时间内被暴力破解,所以现在已经不安全了。


    AES加密

            AES算法是目前应用最广泛的加密算法。比较常见的工作模式是ECB和CBC

    ECB工作模式

            Java标准库提供的对称加密接口非常简单,使用时按以下步骤编写代码:

    1. 根据算法名称/工作模式/填充模式获取Cipher 实例; 
    2. 根据算法名称初始化一个SecretKey 实例,密钥必须是指定长度;
    3. 使用SerectKey 初始化Cipher 实例,并设置加密或解密模式;
    4. 传入明文或密文,获得密文或明文。
       

    例:对字符串“Hello,World!”通过ECB工作模式进行加密和解密

    import java.security.*;
    import java.util.Base64;
    
    import javax.crypto.*;
    import javax.crypto.spec.*;
    
    public class Main {
        public static void main(String[] args) throws Exception {
            // 原文:
            String message = "Hello, world!";
            System.out.println("Message(原始信息): " + message);
            
            // 128位密钥 = 16 bytes Key:
            byte[] key = "1234567890abcdef".getBytes();
            
            // 加密:
            byte[] data = message.getBytes();
            byte[] encrypted = encrypt(key, data);
            System.out.println("Encrypted(加密内容): " + 
            					Base64.getEncoder().encodeToString(encrypted));
            
            // 解密:
            byte[] decrypted = decrypt(key, encrypted);
            System.out.println("Decrypted(解密内容): " + new String(decrypted));
        }
    
        // 加密:
        public static byte[] encrypt(byte[] key, byte[] input) throws GeneralSecurityException {
        	// 创建密码对象,需要传入算法/工作模式/填充模式
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
        	
            // 根据key的字节内容,"恢复"秘钥对象
            SecretKey keySpec = new SecretKeySpec(key, "AES");
            
            // 初始化秘钥:设置加密模式ENCRYPT_MODE
            cipher.init(Cipher.ENCRYPT_MODE, keySpec);
            
            // 根据原始内容(字节),进行加密
            return cipher.doFinal(input);
        }
    
        // 解密:
        public static byte[] decrypt(byte[] key, byte[] input) throws GeneralSecurityException {
        	// 创建密码对象,需要传入算法/工作模式/填充模式
        	Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
            
        	// 根据key的字节内容,"恢复"秘钥对象
            SecretKey keySpec = new SecretKeySpec(key, "AES");
            
            // 初始化秘钥:设置解密模式DECRYPT_MODE
            cipher.init(Cipher.DECRYPT_MODE, keySpec);
            
            // 根据原始内容(字节),进行解密
            return cipher.doFinal(input);
        }
    }

    CBC工作模式

            ECB模式是最简单的AES加密模式,它只需要一个固定长度的密钥,固定的明文会生成固定的密文,这种一对一的加密方式会导致安全性降低,更好的方式是通过CBC 模式,它需要一一个随机数作为 IV参数,这样对于同一份明文,每次生成的密文都不同.

            在CBC模式下,需要一个随机生成的16字节IV参数,必须使用SecureRandom 生成。因为多了一个IvParameterSpec实例,因此,初始化方法需要调用Cipher 的一个重载方法并传如IvParameterSpec. 观察输出,可以发现每次生成的IV不同,密文也不同。

    例:对字符串“Hello,World!”通过ECB工作模式进行加密和解密

    package com.apesource.demo04;
    
    import java.security.*;
    import java.util.Base64;
    
    import javax.crypto.*;
    import javax.crypto.spec.*;
    
    public class Main {
    	public static void main(String[] args) throws Exception {
            // 原文:
            String message = "Hello, world!";
            System.out.println("Message(原始信息): " + message);
            
            // 256位密钥 = 32 bytes Key:
            byte[] key = "1234567890abcdef1234567890abcdef".getBytes();
            
            // 加密:
            byte[] data = message.getBytes();
            byte[] encrypted = encrypt(key, data);
            System.out.println("Encrypted(加密内容): " + 
    				Base64.getEncoder().encodeToString(encrypted));
            
            // 解密:
            byte[] decrypted = decrypt(key, encrypted);
            System.out.println("Decrypted(解密内容): " + new String(decrypted));
        }
    
        // 加密:
        public static byte[] encrypt(byte[] key, byte[] input) throws GeneralSecurityException {
            // 设置算法/工作模式CBC/填充
        	Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        	
        	// 恢复秘钥对象
            SecretKeySpec keySpec = new SecretKeySpec(key, "AES");
            
            // CBC模式需要生成一个16 bytes的initialization vector:
            SecureRandom sr = SecureRandom.getInstanceStrong();
            byte[] iv = sr.generateSeed(16); // 生成16个字节的随机数
            System.out.println(Arrays.toString(iv));
            IvParameterSpec ivps = new IvParameterSpec(iv); // 随机数封装成IvParameterSpec参数对象
            
            // 初始化秘钥:操作模式、秘钥、IV参数
            cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivps);
            
            // 加密
            byte[] data = cipher.doFinal(input);
            
            // IV不需要保密,把IV和密文一起返回:
            return join(iv, data);
        }
    
        // 解密:
        public static byte[] decrypt(byte[] key, byte[] input) throws GeneralSecurityException {
            // 把input分割成IV和密文:
            byte[] iv = new byte[16];
            byte[] data = new byte[input.length - 16];
            
            System.arraycopy(input, 0, iv, 0, 16); // IV
            System.arraycopy(input, 16, data, 0, data.length); //密文
            System.out.println(Arrays.toString(iv));
            
            // 解密:
            Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); // 密码对象
            SecretKeySpec keySpec = new SecretKeySpec(key, "AES"); // 恢复秘钥
            IvParameterSpec ivps = new IvParameterSpec(iv); // 恢复IV
            
            // 初始化秘钥:操作模式、秘钥、IV参数
            cipher.init(Cipher.DECRYPT_MODE, keySpec, ivps);
            
            // 解密操作
            return cipher.doFinal(data);
        }
        
        // 合并数组
        public static byte[] join(byte[] bs1, byte[] bs2) {
            byte[] r = new byte[bs1.length + bs2.length];
            System.arraycopy(bs1, 0, r, 0, bs1.length);
            System.arraycopy(bs2, 0, r, bs1.length, bs2.length);
            return r;
        }
    }
    

    对称加密算法与非对称加密算法的对比

            说到非对称加密算法首先先了解一下它的概念。非对称加密算法:加密和解密使用的不是相同的密钥,只有同一个公钥——私钥对才能正常加解密。

            非对称加密的优点:对称加密需要协商密钥,而非对称加密可以安全地公开各自的公钥,在N个人之间通信的时候:使用非对称加密只需要N个密钥对,每个人只管理自己的密钥对。而使用对称加密需要则需要N*(N-1)/2个密钥,因此每个人需要管理N-1个密钥,密钥管理难度大 ,而且非常容易泄漏。
            非对称加密的缺点:运算速度非常慢,比对称加密要慢很多。

            所以,在实际应用的时候,非对称加密总是和对称加密一起使用。

    展开全文
  • 对称密钥算法和公钥算法优缺点

    千次阅读 2019-12-12 18:58:37
    对称密钥算法 对称密钥算法是应用较早的加密算法,技术成熟。在对称密钥算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读...

    对称密钥算法

    对称密钥算法是应用较早的加密算法,技术成熟。在对称密钥算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥

    常见的对称加密算法有:

    DES:分组式加密算法,以64位为分组对数据加密,加解密使用同一个算法。
      3DES:三重数据加密算法,对每个数据块应用三次DES加密算法。
      AES:高级加密标准算法,是美国联邦政府采用的一种区块加密标准,用于替代原先的DES,目前已被广泛应用。
      Blowfish:是一个64位分组及可变密钥长度的对称密钥分组密码算法,可用来加密64比特长度的字符串。

    优点:

    1. 算法公开、计算量小、对称加密算法采用单密钥加密,在通信过程中,数据发送方将原始数据分割成固定大小的块,加密速度快,经过密钥和加密算法逐个加密后,发送给接收方,接收方收到加密后的报文后,结合密钥和解密算法解密组合后得出原始数据,解密速度快
    2. 加密效率高、密钥管理简单、适宜一对一的信息加密传输,加密算法简单
    3. 使用长密钥时安全性较高破解困难

    缺点:

    1. 密钥单一安全性得不到保证
      由于加解密算法是公开的,因此在这过程中,密钥的安全传递就成为了至关重要的事了,交易双方都使用相同的密钥。在数据传送前,发送方和接收方必须商定好密钥,如果一方的密钥被泄露,那么加密信息失去安全性。而密钥通常来说是通过双方协商,以物理的方式传递给对方,或者利用第三方平台传递给对方,一旦这过程出现了密钥泄露,不怀好意的人就能结合相应的算法拦截解密出其加密传输的内容
    2. 密钥管理比较困难
      对称加密算法在分布式网络系统上使用较为困难,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长,密钥管理成为用户的负担,使用成本较高。
      假设两个用户需要使用对称密钥算法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的生成和分发将极为困难。
    3. 使用范围不如公钥算法
      而与公开密钥加密算法比起来,对称加密算法能够提供加密和认证却缺乏了签名功能,使得使用范围有所缩小。

    公钥算法

    这是一种不对称加密算法。公钥算法包括快速公钥算法与传统公钥算法。快速公钥算法与传统公钥算法相比具有更广泛地应用前景,对快速公钥系统的研究是当前公钥系统研究的一个热点。
    公钥算法使用两把完全不同但又是完全匹配的一对公钥和私钥。其基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信者使用收信者的公钥加密信件,收信者使用自己的私钥钥解密信件。

    常见的公钥算法有:

    RSA:RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公 开作为加密密钥,可用于加密,也能用于签名。
      DSA:数字签名算法,仅能用于签名,不能用于加解密。
      DSS:数字签名标准,技能用于签名,也可以用于加解密。
      ELGamal:利用离散对数原理对数据进行加解密或数据签名,其速度非常慢。

    优点:

    1. 安全性高
      算法强度复杂,非对称密码体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了,提高了安全性。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。

    缺点:

    1. 效率低
      加解密耗时长、速度慢,只适合对少量数据进行加密,效率非常低,不适合经常为大量的原始信息进行加密。我们可以先用单密钥机制对原始信息进行加密,然后再通过公钥机制对这个单密钥进行加密。算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。
    2. 公钥认证问题
      有时有些简单的非对称加密算法的应用其安全性比对称加密算法来说要高,但是其不足之处在于无法确认公钥的来源合法性以及数据的完整性。
    展开全文
  • 对称加密算法就是传统的用一个密码进行加密和解密,就是使用一个函数,即用来接收明文输出密文又用它接收密文输出明文。 非对称加密算法中,加密和解密使用不同的密钥,但是是同一对公钥--私钥........
  • 对称加密优缺点

    千次阅读 2019-11-17 00:55:23
    对称密码的缺点 如果密钥交换不安全,密钥的安全性就会丧失。特别是在电子商务环境下,当客户是未知的、不可信的实体时,如何使客户安全地获得密钥就成为一大难题。 如果用户较多情况下的密钥管理问题。N*(N-1)/2 ...
  • 优点:速度快,对称性加密通常在消息发送方需要加密大量数据时使用,算法公开、计算量小、加密速度快、加密效率高。 缺点:在数据传送前,发送方和接收方必须商定好秘钥,然后 使双方都能保存好秘钥。其次如果一方的...
  • 对称密码算法概述.pdf

    2020-06-09 21:52:24
    对称密码算法概述 对称密码算法 理解对称分组加密算法优缺点和应用场合 理解DES3DESAESIDEA的特点和历史背景 了解DES3DES算法的工作原理 2 对称分组加密通信模型 Oscar 加密目的 密文y Alice和Bob在 明文x 明文x ...
  • 对称加密和对称加密的优缺点

    千次阅读 2021-09-17 11:01:56
    对称加密算法相比非对称加密算法来说,加解密的效率要高得多。但是缺陷在于对于秘钥的管理上,以及在非安全信道中通讯时,密钥交换的安全性不能保障。所以在实际的网络环境中,会将两者混合使用. 例如针对C/S模型...
  • 3.对称加密算法加密速度快(相对的),非对称算法,密钥成对生成,公钥对外发布,但是对大数据的加解密速度比对称算法慢。 4.还有就是安全性不同,对称加密算法,在传输的过程中被窃听那就玩完了,而非对称加密算法...
  • 常用的对称加密算法

    千次阅读 2019-10-26 17:20:38
    需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。 所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和...
  • java 对称加密算法实现详解发布时间:2020-08-24 14:26:05来源:脚本之家阅读:99作者:小破孩123前言对于信息的加密方式多种多样,之前为大家介绍了一种自己设计的加密方式,有兴趣的朋友可以欣赏一下,欢迎给予...
  • DES:Data Encryption Standard ,56bits3DES:AES:Advanced(128,192,256bits)Blowfish,TwofishIDEA,RC6,CAST5加密、解密使用同一个密钥,效率高...反之亦然数字签名:主要在于让接收方确认发送方身份对称密钥交换:发送方
  • 在上一篇文章【算法大杂烩】常见算法的归类和总结——对称加密算法中我们简要介绍了常见的对称加密算法... 常见的非对称算法哪些以及它们的特性和区别是什么? 非对称加密算法的应用场景有哪些? 非对称加密算法 ...
  • 笔者在学习和工作中,经常跟【算法】打交道;... 对称加密算法,顾名思义,就是算法的执行过程是对称的;用最简单的话说,就是加密方和解密方使用的密钥是一致的,只不过执行的过程是相反的,一方(A)对明文(P)使...
  • 物联网安全 - 对称加密算法

    千次阅读 2022-06-19 18:07:17
      对称加密算法指的是加密方和解密方使用相同的密钥进行加密和解密,即双方使用共同的密钥。在对称加密算法使用的过程中,数据发送方将明文数据通过密钥进行加密生成密文数据,将密文数据发送给接收方,接收方收到...
  • 除了数据加密标准(DESData Encryption Standard),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。 1️⃣优点: 算法公开、计算量小、加密速度.
  • 对称加密算法基本介绍

    千次阅读 2022-04-10 12:07:27
    对称加密算法 采用单钥密码的加密方法,同一个密钥可以同时用来加密和解密,这种加密方法称为对称加密,也称为单密钥加密。具体消息加密过程如下。常见的对称加密算法有:DES,3DES,AES,RC2,RC4, RC5。 加密...
  • 基础篇-常用对称、非对称、摘要加密算法介绍一、对称加密算法二、非对称加密算法三、Hash加密算法(摘要算法) 原文链接: https://blog.csdn.net/zyhse/article/details/108696925 常见的加密算法可以分成三类,...
  • 对称算法分类及加密模式

    千次阅读 2017-03-09 22:15:48
    对称算法分类流加密(stream cipher)加密和解密双方使用相同伪随机加密数据流(即密钥),一般都是逐位异或或者随机置换数据内容,常见的流加密算法如RC4。 流加密中,密钥的长度和明文的长度是一致的。假设明文的...
  • 加密,就是这样一个函数,它接收密码和明文,然后输出密文而解密则相反,它接收密码和密文,然后输出明文对称加密算法特点对称加密算法使用同一个密钥进行加密和解密,常用算法有DES、AES和IDEA等;●密钥长度由...
  • 对称密码算法、非对称密码算法一、密码学的发展二、对称密码算法2.1 数据加密的基本模型2.2 数据加密的基本术语2.3 对称密码算法举例2.3.1 置换密码...3DES(补救措施)四、AES算法——Rijndael4.1 AES算法4.2 对称算法
  • 对称密钥算法与非对称密钥算法

    万次阅读 多人点赞 2019-03-18 15:08:48
    对称加密:速度高,可...1.定义:对称加密算法即,加密和解密使用相同密钥的算法。(加密Key=解密key);对称密钥算法又分为分组密码 (Block Cipher)和流密码(Stream Cipher)。 常用算法包括DES(Data Encryption S...
  • 1)MD5/SHA MessageDigest是一个数据的数字指纹.即对一个任意长度的数据进行计算,产生一个唯一指纹号. MessageDigest的特性: ...单密钥算法是一个对称算法. 缺点:由于采用同一个密钥进行加密解密,在多用...
  • 对称式密码学:它需要两个密钥,一个是公开密钥,另一个是私有密钥;一个用作加密,另一个则用作解密。使用其中一个密钥把明文加密后所得的密文,只能用相对应的另一个密钥才能解密得到原本的明文;甚至连最初用来...
  • 对称加密算法 对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读...
  • 1,哈希算法 2,对称式加密算法 3,非对称式加密算法
  • 基本概念: ... 伪装消息以隐藏消息的过程称为加密 而被加密的消息称为密文 ...优缺点: 优点:算法公开、计算量小、加密速度快、加密效率高。 缺点: (1)交易双方都使用同样钥匙,安全性得不到保证。 (...
  • 安全架构-加密算法-对称加密

    千次阅读 2020-12-21 21:50:03
    安全架构-加密算法-对称加密 本系列安全架构文章中,之前谈到了api接口签名防止数据篡改,但是关键数据在...文章目录安全架构-加密算法-对称加密前言一、简介二、特点三、常见算法四、加密填充模式五、加密算法的选择六

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,694
精华内容 21,477
关键字:

对称算法的特点