美文网首页
密码学基础

密码学基础

作者: ObadiObada | 来源:发表于2018-04-09 16:10 被阅读0次

密码学基础

标签: Blockchain


Hash

Hash (哈希或散列)是指将任意长度的二进制值映射成为一个固定长度的二进制值的算法。Hash算法的输出在实际应用中也被称为数字摘要

➜ ~ echo Alex |md5sum
94ece31088521b259c6dde987cee743a

一个好的hash算法通常有如下特性:

  • 正向快速:给定明文和 hash 算法,在有限时间和有限资源内能计算出 hash 值。
  • 逆向困难:给定(若干) hash 值,在有限时间内很难(基本不可能)逆推出明文。
  • 输入敏感:原始输入信息修改一点信息,产生的 hash 值看起来应该都有很大不同。
  • 冲突避免:很难找到两段内容不同的明文,使得它们的 hash 值一致(发生冲突)。

冲突避免有时候又被称为“抗碰撞性”。如果给定一个明文前提下,难以找到碰撞的另一个明文,称为“弱抗碰撞性”;如果难以找到任意两个明文,发生碰撞,则称算法具有“强抗碰撞性”。

常见的HASH算法有 MD5,SHA1,SHA2等,其中前2者已被认为不安全。

加密/解密

现代加密算法的典型组件包括:加解密算法、加密密钥、解密密钥。其中,加解密算法自身是固定不变的,一般是公开可见的;密钥则往往每次不同,并且需要保护起来,一般来说,对同一种算法,密钥长度越长,则加密强度越大。

根据加解密的密钥是否相同,算法可以分为对称加密(symmetric cryptography)和非对称加密(asymmetric cryptography)。两种算法的对比如下:

类型 特点 优点 缺点 常见算法
对称加密 加密和密钥相同或可推算,通常用于大量数据加密的场景 速度快 需要提前提供密钥 DES,3DES,AES
非兑成加密 加密/解密密钥无关,通常用于数字签名以及密钥协商过程 无需提前提供密钥 计算效率低 RSA,ElGammal,椭圆曲线系列算法

数字签名

数字签名的用于确保消息 不可伪造 以及 不可抵赖,这写特性是通过非对称加密算法实现。数字签名的基本流程如下图:

数字签名

消息验证码(MAC)

MAC 是指在通信双方已经通过一定的密钥交换算法共享了对称加密密钥后,发送方将消息的Hash值使用对称密钥加密计算得到的,用于确保消息 不可伪造 ,但是无法确保不可抵赖,基本流程如下图:

MAC

PKI

Zero Knowledge Proof

相关文章

  • 密码学-RSA

    密码学 密码学是指研究信息加密,破解密码的技术科学。密码学的起源可追溯到2000年前。而当今的密码学是以数学为基础...

  • iOS-逆向(七) RSA加密

    密码学 密码学是指研究信息加密,破解密码的技术科学.密码学的起源可追溯到2000年前,如今的密码学是以数学为基础的...

  • 0. 密码学专题 - 概述

    密码学专题 - 概述 本人打算整理一份关于密码学基础知识的专栏。主要参考了这些书籍:《应用密码学:协议、算法与C源...

  • 浅谈密码学——加密者与破译者的博弈

    密码学是网络安全、信息安全、区块链等产品的基础,常见的非对称加密、对称加密、散列函数等,都属于密码学范畴。 密码学...

  • 比特币之密码学应用

    由于比特币的去中心化安全机制是完全建立在密码学基础之上的,所以比特币家族又被称为“密码学货币”,可以说密码学是比特...

  • 密码学之RSA加密原理解析

      密码学是指研究信息加密,破解密码的技术科学。密码学的起源可追溯到2000年前。而当今的密码学是以数学为基础的。...

  • 密码学RSA

    密码学是指研究信息加密,破解密码的技术科学。密码学的起源可追溯到2000年前。而当今的密码学是以数学为基础的。 密...

  • 《精通以太坊》-密钥,地址

    原文:Keys, Addresses 以太坊的基础技术之一是密码学,这是数学的一个分支,广泛用于计算机安全。密码学...

  • 密码学基础

    密码学基础 标签: Blockchain Hash Hash (哈希或散列)是指将任意长度的二进制值映射成为一个固...

  • 密码学基础

    哈希(散列函数)算法(MD5/SHA/HMAC) 算法公开对不同数据加密结果是定长的!32位字符!!(所能表示的个...

网友评论

      本文标题:密码学基础

      本文链接:https://www.haomeiwen.com/subject/sypihftx.html