
密码学
liangjisheng
https://github.com/liangjisheng
展开
-
关于ECDSA/ECC(密钥加密传输)和ECDSA/ECDH(密钥磋商)
最近项目中用到了ECC的相关算法,恶补了一下相关知识ECC:Elliptic Curves Cryptography,椭圆曲线密码编码学ECDSA:用于数字签名,是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。ECDH:是基于ECC(Elliptic Curve Cryptosystems,椭圆曲线密码体制,参看E...转载 2018-03-09 14:02:57 · 2728 阅读 · 0 评论 -
RSA算法原理
RSA算法原理 RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。(摘自百度) 和DH算...转载 2018-03-03 17:13:29 · 238 阅读 · 0 评论 -
理解密码学中的双线性映射
回顾 - 什么是群一、定义 定义1 设G是定义了一个二元运算+的集合,如果这个运算满足下列性质: (1)封闭性——如果a和b都属于G,则a+b也属于G。(2)结合律——对于G中的任意元素a、b和c,都有(a+b)+c=a+(b+c)成立。(3)单位元——G中存在元素e,对于G中任意元素a,都有a+e=e+a=a成立。(4)逆元——对于G中任意元...转载 2018-03-04 10:44:42 · 10358 阅读 · 7 评论 -
DH密钥交换算法
迪菲-赫尔曼密钥交换(Diffie–Hellman key exchange,简称“D–H”) 是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。(1)、算法描述离散对数的概念:原根:如果a是素数p的一个原根,那么数值: &n...转载 2018-03-06 09:12:20 · 698 阅读 · 0 评论 -
AES-GCM加密算法
AES是一种对称加密算法,它的相关概念在此不赘述。GCM ( Galois/Counter Mode) 指的是该对称加密采用Counter模式,并带有GMAC消息认证码。在详细介绍AES-GCM之前,我们先了解一些相关概念。下文中出现的符号:Ek使用秘钥k对输入做对称加密运算XOR异或运算Mh将输入与秘钥h在有限域GF(2^128)上做乘法ECB( Electro...转载 2018-03-20 16:34:57 · 32356 阅读 · 0 评论 -
SSH的两种密钥认证方式:口令认证和密钥认证
在安装git过程中,涉及到了openSSH的相关知识,以前只知道登录时有口令验证方式,其实还有一个密钥认证方式。 SSH登录时的两种认证方式1、口令认证(密码认证)第一种级别(基于口令的安全验证),只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的...转载 2018-03-20 16:59:44 · 12770 阅读 · 0 评论 -
安全体系 加解密算法、消息摘要、消息认证技术、数字签名与公钥证书
转载地址:http://www.cnblogs.com/songwenlong/p/6517165.html目录0.概述1.数据传输的安全2.保证数据完整性3.保证数据的真实性4.公钥证书5.算法详解索引 正文 本文讲解对称加密、非对称加密、消息摘要、MAC、数字签名、公钥证书的用途、不足和解决的问题。 安全体系(一)—— DES算法详解...转载 2018-03-21 09:31:10 · 417 阅读 · 0 评论 -
CBC-MAC
MAC全称为Message Authentication Code(消息认证码)。MAC是用来保证数据完整性的一种工具。数据完整性是信息安全的一项基本要求,它可以防止数据未经授权被篡改。随着网络技术的不断进步,尤其是电子商务的不断发展,保证信息的完整性变得越来越重要,特别是双方在一个不安全的信道上通信时,就需要有一种方法保证一方所发送的数据能够被另一方验证是...转载 2018-03-21 17:38:08 · 12720 阅读 · 2 评论 -
读《图解密码技术》(二):认证
前一篇文章总结了密码部分的内容,包括一次性密码本、对称密码、公钥密码、混合密码系统等。这些密码在一定程度上能够保证消息的机密性,即可以防止被窃听导致秘密泄露。但却无法防御信息被篡改,也无法确定消息的来源是否就是真实的发送者而不是来自伪装者,也防止不了发送者事后否认自己先前做过的行为。关于这些问题,在本文总结的密码技术中就可以找到解决方案。本文是关于《图解密码技术》第二部分的内容总结,包括...转载 2018-03-21 17:39:47 · 650 阅读 · 0 评论 -
Https单向认证和双向认证
一、HttpHyperText Transfer Protocol,超文本传输协议,是互联网上使用最广泛的一种协议,所有WWW文件必须遵循的标准。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。使用TCP端口为:80二、HttpsHyper Text Transfer Protocol over S...转载 2018-03-22 11:17:47 · 240 阅读 · 0 评论 -
什么是奇偶校验
校验依据:判断传输的一组二进制数据中”1”的个数是奇数还是偶数奇校验:如果以二进制数据中1的个数是奇数为依据,则是奇校验偶校验:如果以二进制数据中1的个数是偶数为依据,则是偶校验说明:采用何种校验必须事先规定好的,通常传输的数据会专门设置一个奇偶校验位,用它来确保发送出去的二进制数据中“1”的个数为奇数或偶数。如:发送一组8位二进制数,假定第一位为奇偶校验位,后七位为数据位,采用奇校验...转载 2018-04-04 16:12:26 · 1319 阅读 · 0 评论 -
数据通信中,奇偶校验原理
上大学《数字逻辑》这门课学过奇偶校验,工作后没用过,忘了具体是什么原理了,现在要写一个上位机,需要学习一下,查了一下,奇偶校验我的理解是这样的: 1、奇偶校验是用来检查数据传输的正确性的方法。奇偶校验能检测出传输数据的部分错误(1位误码能检测出,2位及2位以上检测不出来),而且不能纠错,在发现错误后,只能要求重发。...转载 2018-04-04 16:13:54 · 4322 阅读 · 0 评论 -
DH 密钥交换
迪菲-赫尔曼通过公共信道交换一个信息,就可以创建一个可以用于在公共信道上安全通信的共享秘密(shared secret)。以下解释它的过程(包括算法的数学部分):Diffie–Hellman 密钥交换 最简单,最早提出的这个协议使用一个素数p的整数模n乘法群以及其原根g。下面展示这个算法,绿色表示非秘密信息, and红色粗体表示秘密信息:爱丽丝秘...转载 2018-04-20 11:17:02 · 3938 阅读 · 0 评论 -
DH算法原理
DH算法原理DH 是 Diffie-Hellman的首字母缩写,是Whitefield与Martin Hellman在1976年提出了一个的密钥交换协议。我个人倾向于称DH算法为 密钥协商协议而RSA算法是密钥交换算法。本篇分为几个部分,第一个部分介绍一下密钥交换的场景;第二部分介绍一下DH算法的的步骤,以及由该算法引出的一些问题;第三部分开始讲数学原理。数学原理可能涉及到数论、抽象...转载 2018-03-03 17:12:36 · 1218 阅读 · 0 评论 -
ECDH and ECDSA(ECC椭圆曲线算法3)
这是ECC系列的第三篇。在之前的文章中,我们看到了什么是椭圆曲线,并且我们为了做一些数学运算,定义了椭圆曲线上的点为一个群,然后我们约束了曲线的取值范围(即定义在有限域上的群)。有了这个约束,我们也看到了椭圆曲线上的点能够生成循环子群。我们也介绍了基点、解、cofactor的概念。最后,我们看到了在有限域上的数乘运算是一个简单的操作,但是离散对数问题是比较...转载 2018-03-03 17:07:29 · 1288 阅读 · 0 评论 -
有限域和离散对数问题(ECC椭圆曲线算法2)
有限域和离散对数问题这篇文章是ECC系列的第二篇在上一篇文章中,我们看到了基于实数域的的椭圆曲线如何构成了群(Group),我们如下定义了群中的加法:P + Q + R = 0,我们分别用几何方法和代数方法计算了了椭圆曲线点的加法。 随后,我们有介绍了数乘(nP = P + P + P + … + P),然后找到了一个较为快速的计算nP的算法:doubl...转载 2018-03-03 17:06:15 · 2240 阅读 · 0 评论 -
ECC算法原理的认识
公开密钥算法总是要基于一个数学上的难题。比如RSA 依据的是:给定两个素数p、q 很容易相乘得到n,而对n进行因式分解却相对困难。RSA 算法原理具体如下:找出两个“很大”的质数:P & Q N = P * Q M = (P – 1) * (Q – 1)找出整数E,E与M互质,即除了1之外,没有其他公约数找出整数D,使得 ED 除以 M...转载 2018-03-09 14:05:14 · 2035 阅读 · 0 评论 -
分组密码的工作模式
分组密码的工作模式 一、理论基础1.概述密码学中,块密码的工作模式允许使用同一个块密码密钥对多于一块的数据进行加密,并保证其安全性。块密码自身只能加密长度等于密码块长度的单块数据,若要加密变长数据,则数据必须先被划分为一些单独的密码块。通常而言,最后一块数据也需要使用合适填充方式将数据扩展到符合密码块大小的长度。一种工作模式描述了加密每一数据块的过程,并常常使用基于一个通常称...转载 2018-03-03 10:11:06 · 3149 阅读 · 0 评论 -
非对称加解密交互故事
1.鲍勃有两把钥匙,一把是公钥,另一把是私钥。 2.鲍勃把公钥送给他的朋友们—-帕蒂、道格、苏珊—-每人一把。 3.苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果 4.鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。 5....转载 2018-03-03 10:13:16 · 320 阅读 · 0 评论 -
Base64编码解码原理
一. Base64编码由来 为什么会有Base64编码呢?因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像ASCII码的控制字符就不能通过邮件传送。这样用途就受到了很大的限制,比如图片二进制流的每个字节不可能全部是可见字符,所以就传送不了。最好的方法就是在不改变传统协议的情况下,做一种扩展方案来支持二进制文件的传送。把不可打印的字符也能用可打印字符来表示...转载 2018-03-03 10:18:51 · 240 阅读 · 0 评论 -
openssl库的目录名和相关介绍
目录名 功能描述Crypto 存放Openssl 所有加密算法源码文件和相关标注如X.509 源码文件,是openssl中最重要的目录,包含openssl 转载 2018-03-03 10:21:24 · 2622 阅读 · 0 评论 -
离散对数和椭圆曲线加密原理
序言现代公钥加密系统中,常用的加密算法除了RSA还有离散对数加密和椭圆曲线加密。这两者原理比较相似,在这里一并介绍。离散对数问题我们在中学里学的对数问题是指, 给定正实数a” role=”presentation” style=”position: relative;”>aa。...转载 2018-03-03 10:27:26 · 2133 阅读 · 2 评论 -
AES加密算法原理
一、摘要 AES(The Advanced Encryption Standard)是美国国家标准与技术研究所用于加密电子数据的规范,在2002年5月26日建立。它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法。 AES 是一个新的可以用于保护电子数据的加密算法。明确地说,AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 ...转载 2018-03-03 10:28:45 · 698 阅读 · 0 评论 -
DES加密算法原理
一、DES算法理论 本世纪五十年代以来,密码学研究领域出现了最具代表性的两大成就。其中之一就是1971年美国学者塔奇曼 (Tuchman)和麦耶(Meyer)根据信息论创始人香农(Shannon)提出的「多重加密有效性理论」创立的,后于1977年由美国国家标准局颁布的数据加密标准。 DES密码实际上是Lucifer密码的进一步发展。它是...转载 2018-03-03 10:30:29 · 1119 阅读 · 0 评论 -
SHA算法原理
一、SHA1算法简介 安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息...转载 2018-03-03 10:31:35 · 2708 阅读 · 0 评论 -
MD5算法原理
一、概述 MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不需要支付任何版权费用。二、MD5功能: 输入任意长度的信息,经过处理,输出为128位的信息(数字指纹); ...转载 2018-03-03 10:32:30 · 192 阅读 · 0 评论 -
ECC椭圆曲线加密算法原理
比特币使用椭圆曲线算法生成公钥和私钥,选择的是secp256k1曲线。与RSA(Ron Rivest,Adi Shamir,Len Adleman三位天才的名字)一样,ECC(Elliptic Curves Cryptography,椭圆曲线加密)也属于公开密钥算法。一、从平行线谈起 平行线,永不相交。没有人怀疑把:)不...转载 2018-03-03 10:33:34 · 20770 阅读 · 9 评论 -
(ECC椭圆曲线算法1)
原文 http://andrea.corbellini.name/2015/05/17/elliptic-curve-cryptography-a-gentle-introduction/Preface椭圆曲线的研究可以被追溯至十九世纪中叶,那是代数学家、几何代数学家、以及数论专家都在研究。本书描绘了椭圆曲线中一些完美的特性。1984年,Hendrik Lenstra阐述了一个依据于...转载 2018-03-03 17:04:00 · 1044 阅读 · 0 评论 -
ECC签名格式
之前进行ECC的签名验证,发现签名的长度总是不同,查了不少资料才找到相应格式。签名格式为TLV嵌套格式,签名的主体分为R和S两部分。R(或S)的长度等于ECC私钥长度。R(或S)前的T为0x02,签名T为0x30。总体格式如下:30 + LEN1 + 02 + LEN2 + 00 (optional) + r + 02 + LEN3 + 00(optional...转载 2019-01-05 11:45:33 · 3270 阅读 · 0 评论