对称加密算法,即加密和解密使用一样的密钥的加解密算法。 分组密码(block cipher),是每次只能处理特定长度的一块(block)数据的一类加解密算法。...目前常见的对称加密算法DES、3DES、AES都是属于分组密码。 DES DES,全称Data Encryption Standard,是上一代标准对称加密算法,现已不推荐使用。...密钥:DES是一种将64bit的明文加密成64bit的密文的对称密码算法,它的密钥长度是64bit(每隔7bit会设置一个用于错误检查的bit,因此实际使用密钥长度56bit)。...DES、3DES、AES等大多数对称密码算法都属于分组密码。 ECB模式 全称Electronic CodeBook mode,电子密码本模式。 分组方式:将明文分组加密之后的结果直接称为密文分组。...分组方式:前一个密文分组会被送回到密码算法的输入端(具体见下图)。 在CBC和EBC模式中,明文分组都是通过密码算法进行加密的。
简介 之前的文章我们讲到blowfish算法因为每次加密的块比较小只有64bits,所以不建议使用blowfish加密超过4G的文件。同时因为加密块小还会导致生日攻击等。...所以才有了blowfish的继承者twofish。 今天我们一起来揭秘一下twofish这个加密算法。 twofish的起源 twofish和blowfish一样,也是一种对称加密算法。...AES相信大家都很熟悉了,AES的全称是The Advanced Encryption Standard,它是由美国国家标准技术研究院(NIST)批准的标准的对称分组密码技术。...与DES一样,它也应是“一种能够在二十世纪之前很好地保护政府敏感信息的,未公开的,公开的加密算法。”...在随后的评估中,密码学家对这些候选的算法进行了包括安全性,性能和有限环境运行等因素进行了评估,最终在1999年8月宣布了5个最终入围的算法:MARS ,RC6,Rijndael,Serpent和Twofish
简介 Blowfish是由Bruce Schneier在1993年发明的对称密钥分组加密算法,类似的DES和AES都是分组加密算法,Blowfish是用来替代DES算法出现的,并且Blowfish是没有商用限制的...对比而言,虽然AES也是一种密码强度很高的对称密码算法,但是如果需要商用的话要向NIST支付授权费用。 blowfish详解 blowfish和DES一样,使用的是feistel密码来进行分组加密。...每个新的密钥都需要进行大概4 KB文本的预处理,和其他分组密码算法相比,这个会很慢。 那么慢有没有好处呢? 当然有,因为对于一个正常应用来说,是不会经常更换密钥的。所以预处理只会生成一次。...这种好处促进了它在密码软件中的普及。 比如使用blowfish的bcrypt算法,我们会在后面的文章中进行讲解。...2016年,SWEET32攻击演示了如何利用生日攻击对64位块大小的密码执行纯文本恢复(即解密密文)。
哈希算法的目的:为了验证原始数据是否被篡改。 哈希算法最重要的特点就是: 相同的输入一定得到相同的输出; 不同的输入大概率得到不同的输出。...MD5: 可以校验下载文件是否为原本文件; 可以存储数据库的密码,这样一来,数据库管理员看不到用户的原始口令。即使数据库泄漏,黑客也无法拿到用户的原始口令。...对称加密算法:AES加密 常见的AES加密算法: AES:密钥长度为128,192,256字节;工作模式CBC,EBC,PCBC;填充模式NoPadding/PKCS5Padding/PKCS7Padding...,常用算法有 DES 、 AES 和 IDEA 等; 密钥长度由算法设计决定, AES 的密钥长度是 128 / 192 / 256 位; 使用对称加密算法需要指定算法名称、工作模式和填充模式。...非对称加密: 简单来说就是一个密钥对;一个人有一个公钥和私钥;他将公钥公开;所有人用公钥加密将信息发给这个人,这些信息就只能用这个人的私钥解密;非常安全不会泄露: 使用RSA算法实现: import
对称密码加密算法的实现 ️♂️2.1 研究目的 深度剖析对称密钥加密原理: 本实验旨在让学生深入了解对称密钥加密算法的核心原理。...通过实际操作,学生将认识到伪随机数生成器的关键作用,深刻理解生成随机密钥对密码学安全的重要性。 深刻洞察加密算法安全性: 通过实际操作DES算法,旨在使学生深入了解加密算法存在的安全性问题。...防止密钥冲突: 随机生成的密钥降低了密钥冲突的概率,有效减少了两个不同明文使用相同密钥加密后产生相同密文的可能性。 增强密码强度: 密钥的随机性直接关系到密码算法的强度。...结合强密码算法和随机生成的密钥,可以有效提升密码的抵抗攻击能力。 抵制生日攻击: 随机生成的密钥能有效减缓生日攻击的影响,这种攻击方法主要通过比较加密结果中的相同部分来找到可能的密钥。...: 通过实验深入学习了选定对称密码算法的核心思想,即使用相同密钥进行加密和解密操作。
SymmetricAlgorithms基础 对称算法使用用户的密钥(密码)工作。...它的意思是,任何时候你都可以实现它而且可以使用对称算法加密或者解密你的数据,为了加密或者解密你的数据你必须定义一个密码或者一个密钥。下面描述了对称加密的特性。 加密的强度依赖于你的密钥(密码)。...这种加密算法是基于简单的数学操作,因此它工作的非常快。因此当你要加密的数据量非常大的时候它是最好的选择。 基于对称的加密可以被黑客暴力破解。...但是长的密钥可以在黑客破解你的密码的时候保护你的数据更长的时间。 另外在使用密钥或者密码对称加密过程中有一件非常重要的事情。就是初始化向量(IV)。IV被使用在最初的编码中(加密或者解密)。...现在让我们看看对称加密支持哪些算法。 对称算法和对称算法类 下面是对称算法和他们的类的关键信息。
在密码学中,用于数据加密的算法主要有两种,分别是对称加密算法(Symmetric-key Algorithms)和非对称加密算法(Asymmetrical Cryptography)。...这篇文章先介绍比较容易理解的对称加密算法。 无论什么加密算法,密钥是非常重要的一环,加密和解密都需要用到,如果加密和解密的密钥相同,这种加密算法就属于对称加密算法。...下图描述了对称加密算法的操作: ? 对称加密算法 加密和解密操作是一个互逆过程,算法涉及到复杂的数学知识,一般而言开发人员并不需要理解其细节。...同一种加密算法,密钥长度越长,算法越安全。 其次,对称加密算法有两种类型:块密码算法(block ciphers)和流密码算法(stream ciphers)。...表 1 和表 2 列举了常用的块密码算法和流密码算法: ? 表1:块密码算法 ? 表2:流密码算法 流密码算法使用的较少,在实际开发中,基本上采用块密码算法,所以这里只探讨块密码算法。
对称加密 对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥,作为私钥。 具体算法有:DES,3DES,TDEA,Blowfish,RC5,IDEA。...另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。...主要算法:RSA、Elgamal、背包算法、Rabin、HD,ECC(椭圆曲线加密算法)。常见的有:RSA,ECC 区别 对称加密算法相比非对称加密算法来说,加解密的效率要高得多。...然后两边的通讯内容就通过对称密钥X以对称加密算法来加解密。 ---- 银行动态令牌 网银比较流行的时候,银行给我们发一个动态令牌。...这个令牌并不使用任何对称或者非对称加密的算法,在整个银行的认证体系中,动态令牌只是一个一次性口令的产生器,它是基于时间同步方式,每隔60秒产生一个随机6位动态密码在其中运行的主要计算仅包括时间因子的计算和散列值的计算
在前面的文章《写给开发人员的实用密码学 - 对称加密算法》中,介绍了现代密码学中非常重要的加密解密算法。从工程学的角度,选取密钥足够长的加密算法(比如AES 256、AES 512),是无法破解的。...但在对称加密算法中,存在明显的薄弱环节,那就是密钥的存储与分发。因为算法是公开的,那么决定加密系统是否安全的因素就是密钥。 然而在开放的互联网环境下,如何高效分发密钥成了一个难题。...密钥交换算法:通过不安全的通道在两方之间安全地交换加密密钥。 如果公开密钥算法用于加密解密运算,习惯上称为非对称加密算法。非对称加密算法的加密解密过程如下图所示。...image.png 目前非对称加密算法还无法取代对称加密算法,相比对称加密算法来说,公开密钥算法尤其是RSA算法运算非常缓慢,一般情况下,需要加密的明文数据都非常大,如果使用公开密钥算法进行加密,运算性能会惨不忍睹...公开密钥算法在密码学中一般进行密钥协商或者数字签名,因为这两者运算的数据相对较小。 目前,最重要和最常用的公钥密码系统是 RSA 和 椭圆曲线密码算法(ECC)。
简介 非对称加密算法的特点是,密钥分为加密密钥和解密密钥,并且这两个密钥是不一样的(非对称)。发送者用加密密钥对消息进行加密,接受者用解密密钥对密文进行解密。...计算速度慢,只有对称加密算法的几百分之一。 下面介绍混合加密系统,用于解决计算速度慢的问题。...混合密码系统 混合密码系统结合了非对称加密算法和对称加密算法的优势: 利用非对称加密算法的“非对称性”,解决对称密钥的传递问题。 利用对称加密算法的加解密速度,解决非对称加解密的速度问题。...混合密码系统的加密 ? 混合加密 发送者利用一个随机数生成器生成一个对称加密算法的会话密钥。 使用会话密钥加密会话消息,得到会话消息密文(对称加密)。...使用接受者的公钥加密会话密钥,得到会话密钥密文(非对称加密)。 4.组合会话密钥密文和会话消息密文。 混合密码系统的解密 ? 混合解密 分离密文,等到会话密钥密文和会话消息密文。
概述 对称密钥算法和非对称密钥算法是两种常见的加密技术,它们在加密和解密数据时采用不同的方法。 对称密钥算法: 对称密钥算法使用相同的密钥来加密和解密数据。...通常,在实际应用中,对称密钥算法和非对称密钥算法会结合使用,以发挥各自的优势。 对称密钥算法 凯撒密码 凯撒密码是一种简单的替换加密技术,也称为移位密码。...它是古典密码学中最早的密码之一,得名于古罗马军队领袖凯撒·尤利乌斯(Julius Caesar),据说他曾经使用过这种加密方法。...凯撒密码的原理很简单:它是一种替换密码,通过将字母按照一个固定的数目进行左移或右移来加密消息。例如,如果采用的是向右移动三个字母的方法,那么原文中的每个字母都被替换成它后面第三个字母。...因此,现代加密通常不再使用凯撒密码,而是使用更加复杂的加密算法来保护数据的安全。 恺撒密码,也称为恺撒加密或恺撒变换,是一种最古老且最简单的密码之一。
本文是密码学系列第二篇:对称加密 该系列包含以下文章: 密码学系列 - 概述[1] 密码学系列 - 对称加密[2] 密码学系列 - 非对称加密 密码学系列 - 签名 密码学系列 - mimblewimble...(微信不支持链接,欢迎点击原文阅读) 本文讨论的对称加密算法主要包括 DES、3DES、AES ---- DES 明文:64 bit 密文:64 bit 密钥:56/64 bit(每 7 位插入一个校验位的时候为...34 196 163 153 225 186 223 245 40 131 80 80 70 203] //out [1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8] 迭代模式 以上讨论的三种加密算法都是分组密码...ECB 模式 电子密码本模式(electronic codebook ),最简单的模式,将明文分组直接作为加密算法的输入,加密算法的输出直接作为密文分组。...- 概述: https://learnblockchain.cn/article/798 [2] 密码学系列 - 对称加密: https://learnblockchain.cn/article/805
数字签名算法:用于验证消息的真实性和完整性,如RSA数字签名、DSA等。 密码协议:用于建立安全通信信道,如SSL/TLS、SSH等。...一、对称加密算法 对称加密算法是指加密和解密使用相同密钥的算法。 常见的对称加密算法 常见的对称加密算法有 DES、 3DES、 AES等。...二、非对称加密算法 非对称加密算法是指加密和解密使用不同密钥的算法。 常见的非对称加密算法 RSA、 DSA等。 优点: 密钥管理方便:非对称加密算法需要一对公私钥,公钥可以公开,私钥保管好即可。...因此,非对称加密算法的密钥管理较为方便。 安全性高:非对称加密算法的安全性相对较高,能够保证数据的机密性和完整性。...缺点: 加解密速度慢:非对称加密算法的加解密速度较慢,不适合大量数据的加解密。 密钥长度较长:非对称加密算法需要使用较长的密钥,因此需要更多的计算资源和存储资源。
AES对称加密算法 import org.apache.tomcat.util.codec.binary.Base64; import org.slf4j.Logger; import org.slf4j.LoggerFactory...LoggerFactory.getLogger(AesUtils.class); private static final String AES_ALG = "AES"; /** * AES算法
一、对称加密算法概念 加密密钥和解密密钥相同,大部分算法加密揭秘过程互逆。 特点:算法公开、(相比非对称加密)计算量小、加密速度快、效率高。 弱点:双方都使用同样的密钥,安全性得不到保证。...二、常见对称加密算法 1、DES 已破解,不再安全,基本没有企业在用了,是对称加密算法的基石,具有学习价值。密钥长度56(JDK)、56/64(BC)。...3、AES 最常用的对称加密算法,密钥建立时间短、灵敏性好、内存需求低(不管怎样,反正就是好),实际使用中,使用工作模式为CTR(最好用BC去实现),此工作模式需要引入IV参数(16位的字节数组),密钥长度...4、IDEA 常用的电子邮件加密算法,工作模式只有ECB,密钥长度128位。...5、PBE 综合了消息摘要算法和对称加密算法,最常见的是PBEWithMD5AndDES,工作模式只有CBC(已丧失安全性,不推荐使用),所以PBE也不推荐使用了。 三、JDK版算法调用模板 1.
1、DH密钥交换概述 Diffie-Hellman由Whitfield Diffie和Martin Hellman在1976年公布的一种密钥一致性算法。...Diffie-Hellman密钥交换算法及其优化首次发表的公开密钥算法出现在Diffie和Hellman的论文中,这篇影响深远的论文奠定了公开密钥密码编码学。...DH密钥交换算法 秘密在于,颜色混合是一种“不可逆”的操作,当双方交换颜色时,尽管我们知道他们交换的颜色都是由一份黄色和另一份其他颜色混合得到的,但我们还是无法或者很难得到他们的私密颜色。...第5步.鲍伯计算s = A b mod p 8^15 mod 23 = 2. 3、DH密钥交换算用途 可以用作对称加密算法中,双方约定的加密准则的交换(对方的公钥和自己的私钥计算的到秘密整数,可以作为双方的加密准则...(pubKey, true); // 开始生成本地密钥SecretKey 密钥算法为对称密码算法 SecretKey key = keyAgreement.generateSecret
这被称为"Diffie-Hellman密钥交换算法"。这个算法启发了其他科学家。人们认识到,加密和解密可以使用不同的规则,只要这两种规则之间存在某种对应关系即可,这样就避免了直接传递密钥。...这种新的加密模式被称为"非对称加密算法"。 (1)乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。 (2)甲方获取乙方的公钥,然后用它对信息加密。...非对称加密应用十分广泛,系统对接,https等。相比对称加密更加安全,但也存在两个明显缺点: CPU计算资源消耗非常大。一次完全TLS握手,密钥交换时的非对称解密计算量占整个握手过程的90%以上。...而对称加密的计算量只相当于非对称加密的0.1%,如果应用层数据也使用非对称加解密,性能开销太大,无法承受。 非对称加密算法对加密内容的长度有限制,不能超过公钥长度。...知识点:用非对称加密来加密传输对称加密的秘钥,用对称加密来加密数据,两者相互结合,优势互补。 RSA公钥和私钥的推导过程: ? 挺有意思的,一定要自己推理一遍,不明白的地方,谷歌一下! ----
前言 数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。 不清楚的请自行科普数字签名。...其实: 也是有私钥加密,公钥解密的。只是因为公钥是公开的,私钥加密后所有人都可以解密,没有意义,所以常用签名,而不是加密。 私钥加签的本质也是私钥加密数据的Hash值。...1、签名时,对Hash值的数据填充方式 对hash算法id和hash值进行ASN.1的DER编码。...可以看到sha256的算法id,2.16.840.1.101.3.4.2.1: ? 数据也在其中,另附上部分算法id: ? 另因为各个hash算法id是固定的,计算的结果也是固定的。...所以不同的hash算法的填充也是固定的。
领取专属 10元无门槛券
手把手带您无忧上云