密码学
Mrpre
??
展开
-
Guide to Elliptic Curve Cryptography (ECC椭圆曲线算法1)
Preface椭圆曲线的研究可以被追溯至十九世纪中叶,那是代数学家、几何代数学家、以及数论专家都在研究。本书描绘了椭圆曲线中一些完美的特性。1984年,Hendrik Lenstra阐述了一个依据于椭圆曲线的因数分解算法。这就导致了研究者重新去研究椭圆曲线在密码学以及数论算法的新应用。 1976年,WhitfieldDiffie和Martin Hellman开创了公钥密码学的先河;翻译 2017-06-03 10:14:08 · 13720 阅读 · 0 评论 -
签名算法中rsa_pss_pss_*和rsa_pss_rsae_*的区别
rsa_pss_pss_* 和 rsa_pss_rsae_* 的区别对于签名来说首先,对于签名来说,没区别。都是使用PSS流程进行签名。对于公钥来说有区别说先,加签方需要判断自己的 public key 什么类型,如果 public key是rsaEncryption类型,则用rsa_pss_rsae_表示对应私钥的签名算法OID; 如果自己的public key是 id...原创 2018-07-19 16:44:19 · 2947 阅读 · 1 评论 -
RSA的PSCK1 和 PSS 加密、签名封装以及填充方式和实例程序
RSA的PSCK1 和 PSS 加密、签名封装以及填充方式SSA = Signature Scheme with Appendix PSS = Probabilistic Signature Scheme ES = Encryption Schemes SSA是填充、封装格式 PSS是私钥签名流程。 ES 是公钥加密流程。https://tools.ietf.org/html/...原创 2018-03-29 11:41:38 · 15407 阅读 · 7 评论 -
HKDF实现
HKDF详细请见文章 https://blog.csdn.net/mrpre/article/details/79879392 本文给了一种python实现和三种C实现。python程序(摘自wiki): #!/usr/bin/env python3 import hashlib import hmac from math import ceil...原创 2018-04-10 14:47:40 · 5764 阅读 · 7 评论 -
RSA中的中国剩余定理(CRT)和多素数(multi-prime)
RSA的中国剩余定理(CRT)和多素数(multi-prime)写了个代码,方便计算大数运算: git@github.com:mrpre/bn_tool.git 本片中的运算都可以使用这个工具进行计算。传统方式计算RSA公钥私钥RSA公钥私钥生成 两个大素数p,q,计算n = p*q 计算phi(n),因为p,q是素数,所以phi(n) = (p-1)*(q-1) 随机取...原创 2018-03-23 18:37:56 · 14521 阅读 · 3 评论 -
PSK在TLS中的应用
PSK在TLS中的应用之前搞TLS的过程中,PSK的概念有所了解,但是一直觉得他没什么用处,就大致看了一下实现,没深究。但是TLS1.3中居然设计到了PSK的概念,我想有必要在这里总结一下,以免忘记。RFC 4279中详细描述了各个方面。PSK的三种类型PSK-only简单的说,就是client写死一个key,server写死一个key,当然这两个key是一样的。 这个key...原创 2018-02-19 17:23:29 · 10755 阅读 · 10 评论 -
各种加密模式在TLS协议中的运用 3 (AEAD:GCM模式)
GCM,不知道该如何说起,因为涉及到群论、有限域等,先写个大概,有机会再补。域就是我们常见的一个集合,集合中的元素可以进行加减乘除,除了0以外的元素都有逆元。 例如实数域,R = (….,-1, 0, 1, 2, 3, 4 ….)就是一个域,他是无限大小的。 对于任意R中的x1 x2,加减乘的结果还在R中。0是加法单位元,1是乘法单位元。 不严谨的说,域就是一个集合。 好,过。...原创 2018-02-14 14:27:28 · 10003 阅读 · 3 评论 -
各种加密模式在TLS协议中的运用 2 (AEAD:CCM模式)
AEAD 模式名词解释AE:Authenticated encryption AD:Associated-Data本篇背景知识CBC、各种加密模式在TLS协议中的运用 1、CTR模式与Mac-then-Encrypt不同,AEAD是整个算法流程,同时保证了数据的私密性和完整性。回想MtE和EtM模式, mac和和cipher都是分别计算的;CCMCCM其实是E...原创 2018-02-13 20:43:09 · 8348 阅读 · 1 评论 -
各种加密模式在TLS协议中的运用 1 (Mac-then-Encrypt)
Mac-then-Encrypt老的算法譬如:TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_RC4_128_MD5 都是mac-then-encrypt模式。加密流程图:上面涉及到2个操作(算上padding计算的话是3个操作)HMAC操作1:计算HMAC,这个HMAC操作就是“MAC-then-encrypt”中的M...原创 2018-02-13 15:03:41 · 5397 阅读 · 2 评论 -
有限域和离散对数问题(ECC椭圆曲线算法2)
有限域和离散对数问题这篇文章是ECC系列的第二篇在上一篇文章中,我们看到了基于实数域的的椭圆曲线如何构成了群(Group),我们如下定义了群中的加法:P + Q + R = 0,我们分别用几何方法和代数方法计算了了椭圆曲线点的加法。 随后,我们有介绍了数乘(nP = P + P + P + … + P),然后找到了一个较为快速的计算nP的算法:double and add。现在,我们要限制我们的椭翻译 2017-06-03 10:24:55 · 22204 阅读 · 5 评论 -
RFC5869翻译 HMAC-based Extract-and-Expand Key Derivation Function (HKDF)
HMAC-based Extract-and-Expand Key Derivation Function (HKDF)Abstract改文档描述了一个简单的基于HMAC的密钥导出方法,它可以用来在不同的协议和应用中构建早不同的block。 KDF被设计用来满足不同的应用和需求,并且被用来当做hash函数。Status of This Memo略Copyright...翻译 2018-04-10 12:22:16 · 3684 阅读 · 0 评论