密码学
文章平均质量分 79
李柏林
这个作者很懒,什么都没留下…
展开
-
Hash函数
计算理论中,没有Hash函数的说法,只有单向函数的说法。所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数据。用“人 类”的语言描述单向函数就是:如果某个函数在给定输入的时候,很容易计算出其结果来;而当给定结果的时候,很难计算出输入来,这就是单项函数。各种加密函 数都可以被认为是单向函数的逼近。Hash函数(或者成为散列函数)也可以看成是单向函数的一个逼近。即它接近于满足单向...转载 2018-05-21 19:16:53 · 562 阅读 · 0 评论 -
ripemd160 加密算法
哈希值的输出值一般是16进制的字符串。而16进制字符串,每两个字符占一个字节。我们知道,一个字节=8bit. 以sha256为例: - 256bit->64位16进制字符。 package mainimport ( "fmt" "crypto/sha256")func main() { hasher := sha256.New() has...转载 2018-06-02 14:33:38 · 8700 阅读 · 0 评论 -
golang - sha256 加密算法
go 调用 sha256 加密字符串哈希值package mainimport( "fmt" "crypto/sha256" "io" "log" "os")func main() { // 第一种调用方法 sum := sha256.Sum256([]byte("hello world\n"))转载 2018-06-02 14:32:02 · 22403 阅读 · 0 评论 -
公钥基础设施( PKI )
什么是证书要开车得先考驾照,驾照上面记有本人的照片、姓名、出生日期等个人信息,以及有效期、准驾车辆的类型等信息,并由公安局在上面盖章。我们只要看到驾照,就可以知道公安局认定此人具有驾驶车辆的资格。公钥证书( Public-Key Certificate, PKC )其实和驾照很相似,里面记有姓名、组织、邮箱地址等个人信息,以及属于此人的公钥,并由认证机构( Certification Au...转载 2018-06-03 15:34:57 · 4285 阅读 · 0 评论 -
椭圆曲线加密算法
椭圆曲线加密算法,即:Elliptic Curve Cryptography,简称ECC,是基于椭圆曲线数学理论实现的一种非对称加密算法。相比RSA,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全。据研究,160位ECC加密安全性相当于1024位RSA加密,210位ECC加密安全性相当于2048位RSA加密。 椭圆曲线在密码学中的使用,是1985年由Neal Koblitz和...转载 2018-06-03 15:34:36 · 13307 阅读 · 0 评论 -
实现数字签名
数字签名算法(DSA)数字签名算法(DSA,Digital Signature Algorithm),是一种公开密钥算法,不能用于加密,只能用于数字签名。主要用作为接收者验证数字的完整性和数据发送者的身份,DSA算法的安全性基于解离散对数的困难性。package mainimport ( "crypto/dsa" "crypto/rand" "fmt")...转载 2018-06-03 15:34:03 · 613 阅读 · 0 评论 -
数字签名
什么是数字签名数字签名就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。签名的生成和验证生成消息签名的行为生成消息签名这一行为是由消息的发送者来完成的,也称为“对消息签名”。生成签名就是根据消息内容计算数字签名的值,这个行为意味着“我认可该消息的内容”。验证消息签名的行为验证数字签名这一行为一般...转载 2018-06-03 15:32:57 · 505 阅读 · 0 评论 -
RSA加密和解密的实现
openssl生成私钥openssl genrsa -out rsa_private_key.pem 1024 openssl生成公钥openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 实现 RSA 加密解密package main import ( "...转载 2018-06-03 15:32:28 · 729 阅读 · 0 评论 -
RSA加密解密
什么是RSARSA是一种公钥密码算法,它的名字是由它的三位开发者,即Ron Rivest、Adi Shamir 和 Leonard Adleman的姓氏的首字母组成的( Rivest-Shamir-Adleman )。RSA可以被用于公钥密码和数字签名。RSA加密在RSA中,明文、密钥和密文都是数字。RSA的加密过程可以用下列公式来表达:密文=明文E mod N (RSA加...转载 2018-06-03 15:31:40 · 3465 阅读 · 1 评论 -
公钥加密
公钥密码又称为非对称密码,拥有公钥密码的用户分别拥有加密密钥和解密密钥。通过加密密钥不能得到解密密钥。并且加密密钥是公开的。什么是密钥配送问题在现实世界中使用对称密码时,我们一定会遇到密钥配送问题( key distribution problem)。假如 A 给 B 写了一封情书,并使用对称加密,如果不讲加密密钥发送给B,B是无法查看情书的,如果将密钥和情书一起发送给B,就容易被...转载 2018-06-03 15:30:48 · 3719 阅读 · 0 评论 -
分组密码的调用
CBCpackage mainimport ( "bytes" "crypto/cipher" "crypto/aes" "encoding/base64" "fmt")func PKCS7Padding(ciphertext []byte, blockSize int) []byte { padding := blockSize ...转载 2018-06-03 10:20:26 · 570 阅读 · 0 评论 -
分组密码
密码算法可以分为分组密码和流密码两种分组密码(block cipher)是每次只能处理特定长度的一块数据的一类密码算法,这里的“一块”就称为分组(block)。一个分组的比特数就称为分组长度(block lenght)。例如 DES和3DES的分组长度都是64比特。AES的分组长度为128比特。流密码(stream cipher)是对数据流进行连续处理的一类密码算法。流密码中一般以1比...转载 2018-06-02 22:05:42 · 4180 阅读 · 2 评论 -
AES 加密算法的实现
AES加密常用的概念加密模式ECB模式 全称Electronic Codebook模式,译为电子密码本模式CBC模式 全称Cipher Block Chaining模式,译为密文分组链接模式CFB模式 全称Cipher FeedBack模式,译为密文反馈模式OFB模式 全称Output Feedback模式,译为输出反馈模式。CTR模式 全称Counter模式,译为计数器模式。...转载 2018-06-02 22:04:34 · 1897 阅读 · 0 评论 -
AES加密算法原理
AES加密算法原理AES是作为DES的替代标准出现的,全称Advanced Encryption Standard,即:高级加密标准。AES加密算法,经历了公开的选拔,最终2000年,由比利时密码学家Joan Daemen和Vincent Rijmen设计的Rijndael算法被选中,成为了AES标准。 AES明文分组长度为128位,即16个字节,密钥长度可以为16个字节、24个字节、或...转载 2018-06-02 22:03:05 · 11246 阅读 · 0 评论 -
DES、3DES 加密算法的调用
DES加密常用的概念加密模式ECB模式 全称Electronic Codebook模式,译为电子密码本模式CBC模式 全称Cipher Block Chaining模式,译为密文分组链接模式CFB模式 全称Cipher FeedBack模式,译为密文反馈模式OFB模式 全称Output Feedback模式,译为输出反馈模式。CTR模式 全称Counter模式,译为计数器模式。...转载 2018-06-02 22:02:00 · 1882 阅读 · 0 评论 -
MD5加密算法原理及其Go语言实现
MD5讯息摘要演算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码杂凑函数,可以产生出一个128位元(16位元组)的散列值(hash value),用于确保信息传输完整一致。go 调用 md5 方法新建 md5.go 文件,代码如下:package mainimport( "fmt" "crypto/md5" ...转载 2018-05-22 10:13:03 · 785 阅读 · 0 评论 -
Hash算法
什么是 hash 算法散列方法的主要思想是根据结点的关键码值来确定其存储地址:以关键码值K为自变量,通过一定的函数关系h(K)(称为散列函数),计算出对应的函数值来,把这个值解释为结点的存储地址,将结点存入到此存储单元中。检索时,用同样的方法计算地址,然后到相应的单元里去取要找的结点。通过散列方法可以对结点进行快速检索。散列(hash,也称“哈希”)是一种重要的存储方式,也是一种常见的检索方法...转载 2018-05-21 19:18:07 · 293 阅读 · 0 评论 -
DES、3DES加密算法
DES加密算法,为对称加密算法中的一种。70年代初由IBM研发,后1977年被美国国家标准局采纳为数据加密标准,即DES全称的由来:Data Encryption Standard。对称加密算法,是相对于非对称加密算法而言的。两者区别在于,对称加密在加密和解密时使用同一密钥,而非对称加密在加密和解密时使用不同的密钥,即公钥和私钥。常见的DES、3DES、AES均为对称加密算法,而RSA、椭圆曲线加...转载 2018-06-02 14:34:45 · 37570 阅读 · 3 评论