加密技术
加密相关
thefist11
难以忘记编程路上领导和好友的细致指导,所以必须努力!(真诚希望大家多多指导!)
展开
-
ECC椭圆曲线算法(4)签名验证过程
1. 说明Alice和Bob在通信的过程中,为了验证消息的来源,既消息确实是Alice发出来的。需要由Alice对消息使用自己的私钥生成一个签名hash,然后Bob用Alice的公钥进行验证,判断hash是否一样,从而知道签名是否正确。2. 步骤假设:基点:G私钥:k公钥:K =k *GMessage:Mstep1. 数据传送前的操作:生成公私钥对step2. Alice选择随机数r计算点r*G,得到(x, y)根据消息求哈希h根据随机数r、消息M的哈希h、私钥k,计算原创 2021-05-01 21:40:15 · 2314 阅读 · 0 评论 -
ECC椭圆曲线算法(3)加密解密过程
假设:基点:G私钥:k公钥:K =k *GMessage:Mstep1. Alice 发送 G , K给Bobstep2 数据加密. Bob 选择随机数r用Kr 得到K’,既是(kG*r) ,再用K’+M=M’(密文)计算r*G得到r’,将r‘、M’发给Alice.step3 数据解密. Alice:收到了M’, r’。计算kr’,既是(kG*r),得到K’, 用M’-K’得到M...原创 2021-05-01 00:25:26 · 1293 阅读 · 2 评论 -
ECC椭圆曲线算法(2)初步介绍
1. Weierstrass方程式ECC(Elliptic curve cryptography) 椭圆曲线的 Weierstrass方程是一个二元三次方程: 且满足 可以看出,有3个根,其中一个为虚数。eg. 2.定义椭圆曲线的阿贝尔群基于椭圆曲线定义一个阿贝尔群所有椭圆曲线上的点,就是这个群里的元素单位元就是 0点 P 的逆元是点 P 相对 x 坐标的对称点加法定义:在椭圆曲线上,和一条直线相交的 3 个点 P,Q 以及 R,三点相加满足零知识证明 - 椭圆曲线基础。也就说.原创 2021-04-30 23:13:51 · 914 阅读 · 2 评论 -
ECC椭圆曲线算法(1)阿贝尔群
1. 群Group在数学中,群表示很多元素的集合。这个集合具有如下特性:指定义了二元操作运算(用符号“+”表示 )封闭性:如果a和b都是群成员,那么a+b也是群成员。组合性:(a+b)+c=a+(b+c)单位元:存在确切的一个值可以保证 a+0=0+a=a成立,我们称之为单位元逆元:每个成员都有一个相反数:对于任意值a必定存在b使得a+b=0用符号表示就是:<G,+>G:表示元素集合+:表示二元操作运算 2. 阿贝尔群(Abelian Group)阿贝尔群 又称交换群.原创 2021-04-30 22:39:53 · 2099 阅读 · 4 评论 -
基于口令的密码PBE(Password Based Encryption)
用户只保存口令。 1. 加密 2. 解密【参考】[1] 结城浩:图解密码技术[M].周自恒.3.北京:人民邮电出版社,2016原创 2021-03-12 01:44:15 · 331 阅读 · 0 评论 -
DES对称加密(2)三重DES
1. 三重DES (Triple-DES)是为了增加 DES的强度,将DES重复3次为TDEA( Triple Date Encryption Algorithm ),通常缩写为3DES密钥长度是56bit×3=168bit1.1 加密1.2 解密1.3 可兼容DES使用2. DES-EDE2有一种三重DES:如果密钥1和密钥3使用相同的密钥,而密钥2使用不同的密钥。EDE表示的是加密( Encryption )→解密( Decryption)→加密(Encryption)这个流程原创 2021-03-10 09:55:48 · 3122 阅读 · 0 评论 -
DES对称加密(1)算法说明
DES数据加密标准(Data Encryption Standard) 又称作DEA(Data Encryption Algorithm) , 它由霍斯特·费斯妥Horst Feistel设计,又名 Feistel网络(Feistel network)、 Feistel结构(Feistel structure)、 Feistel密码(Feistel cipher)1. 是一种对称加密2. DES是一种16轮循环的Feistel网络轮数可以任意增加使用任何轮函数都可以正确解密1轮Feiste原创 2021-03-10 09:45:43 · 329 阅读 · 0 评论 -
《图解密码技术》分组密码(6) 计数器CTR模式
1. CTR (CounTeR mode)模式定义一种通过将逐次累加的计数器进行加密来生成密钥流的流密码。CTR模式中,每个分组对应一个逐次累加的计数器,并通过对计数器进行加密来生成密钥流。也就是说,最终的密文分组是通过将计数器加密得到的比特序列,与明文分组进行xoR而得到的。每个分组中将计数器进行加密所得到的密钥流也是不同的。也就是说,这种方法就是用分组密码来模拟生成随机的比特序列。2. 表现形式当分组长度为128比特(16字节)时,计数器的初始值可能是像下面这样的形式。每次加密时都会生原创 2021-03-09 11:00:44 · 3745 阅读 · 0 评论 -
《图解密码技术》分组密码(5) 输出反馈OFB模式
1. OFB (Output FeedBack mode)模式定义OFB模式并不是通过密码算法对明文直接进行加密的,而是通过将“明文分组”和“密码算法的输出”进行xOR来产生“密文分组”的。2. 与CFB模式比较CFB模式中,密码算法的输入是前一个密文分组,也就是将密文分组反馈到密码算法中,因此就有了“密文反馈模式”这个名字。OFB模式中,密码算法的输入则是密码算法的前-一个输出,也就是将输出反馈给密码算法,因此就有了“输出反馈模式”这个名字。XOR运算的速度是非常快的。这就意味着只要提原创 2021-03-09 10:51:23 · 1245 阅读 · 0 评论 -
《图解密码技术》分组密码(4) 密文反馈CFB模式
1. CFB (Cipher FeedBack)模式定义前一个密文分组会被送回到密码算法的输人端1.1. 与CBC模式比较1.2. 密码算法的输出相当于一次性密码本中的随机比特序列。CFB模式中由密码算法所生成的比特序列称为密钥流( key stream )。 密码算法就相当于用来生成密钥流的伪随机数生成器,而初始化向量就相当于伪随机数生成器的“种子”。在CFB模式中,明文数据可以被逐比特加密,因此我们可以将CFB模式看作是一种使用分组密码来实现流密码的方式。2. 重放攻击replay at原创 2021-03-08 10:28:40 · 1681 阅读 · 0 评论 -
《图解密码技术》分组密码(3) 密文分组链接CBC模式
1. CBC(Cipher Block Chaining)模式定义密文分组是像链条—样相互连接在一起的, 模式首先将明文分组与前一个密文分组进行XOR运算,然后再进行加密。1.1. 与ECB模式比较1.2 初始化向量( InitializationVector )当加密第一个明文分组时,由于不存在“前一个密文分组”,因此需要事先准备一个长度为一个分组的比特序列来代替“前一个密文分组”,通常缩写为IV。一般来说,每次加密时都会随机产生一个不同的比特序列来作为初始化向量。1.3 即使密文损坏部原创 2021-03-08 10:21:37 · 1170 阅读 · 0 评论 -
《图解密码技术》分组密码(2) 电子密码本ECB模式
ECB(Electronic CodeBook mode)模式:将明文分组加密之后的结果将直接成为密文分组。攻击者通过改变密文分组的顺序,当接收者对密文进行解密时,由于密文分组的顺序被改变了,相应的明文分组的顺序也会被改变。...原创 2021-03-08 10:08:27 · 606 阅读 · 0 评论 -
《图解密码技术》分组密码(1) 概览
1. 定义DES 和AES都只能加密固定长度的明文。如果需要加密任意长度的明文,就需要对分组密码进行迭代。1.1 分组密码的迭代方法就称为分组密码的“模式”。ECB模式:Electronic CodeBook mode(电子密码本模式)CBC模式:Cipher Block Chaining mode(密码分组链接模式)CFB模式:Cipher FeedBack mode(密文反馈模式)OFB模式:Output FeedBack mode(输出反馈模式)CTR模式:CounTeR mode(计原创 2021-03-08 10:05:05 · 265 阅读 · 0 评论 -
HMAC(2)哈希运算消息认证码HMAC
1. 定义HMAC是一种基于加密Hash函数来实现的MAC算法。eg. HMAC-MD5(使用MD5作为Hash函数)、HMAC-SHA256(使用SHA256作为Hash函数)H: Hash函数m: 消息原文K:秘钥K’ :由k通过某种算法得到在密钥K后面添加0或者对密钥K用H进行处理来创建一个字长为B的字符串。eg.如果K的字长是20字节,B=64字节,则K后会加入44个零字节0x00;如果K的字长是120字节,B=64字节,则会用H作用于K后产生64字节的字符串‖ : 字原创 2021-03-06 13:17:23 · 751 阅读 · 0 评论 -
HMAC(1)消息认证码MAC算法
1. 定义MAC(Message Authentication Code) 算法是以消息本身和密钥作为输入,经过一系列计算产生一个消息哈希的算法,用来保证消息的数据完整性和消息的数据源认证。1.1 发送者和接收者共享秘钥仅有消息本身没有密钥的情况下,无法得到该消息的MAC同一个消息在使用不同密钥的情况下,生成的MAC应当无关联在已有一系列消息以及其MAC时,给定一个新的消息,无法得到该消息的MAC1.2. 不好之处:密码配送问题仍然存在解决方法:需要像对称密码一样使用一些共享密钥的方原创 2021-03-06 10:27:06 · 684 阅读 · 0 评论
分享