美文网首页
【猫说系列】密码学

【猫说系列】密码学

作者: 纳兰三少 | 来源:发表于2018-08-14 21:11 被阅读0次

【密码学】

1、对称加密           

2、非对称加密

3、DES                

4、分组密码

5、公钥密码学

6、Hash

7、MD5

8、RSA     密码体制

9、椭圆曲线签名算法

10、SHA256

11、数字签名

12、零知识证明

13、PKI体系

我们谈谈公钥密码学。

这关系到两件事情:

 1.如何秘密地发送信息给某人?

2.如何验证这信息的发送者是谁

算法:

哈希算法

对称加密

非对称加密=公钥密码学=》椭圆曲线算法


基本数学原理

       比特币的数学原理,主要涉及到两个方面,一是数字签名及不对称加密技术,二是数字指纹技术

1,数字签名机制

数字签名是现代计算机密码学的一个重要概念,比特币的数字签名是基于不对称加密算法来完成的,具体示例如下:假如小明想向小红发送一条信息,但是这条信息可能被小张监听到,于是他俩想到一个好办法,就是通过一套商量好的加密规则,将信息加密,这样即使小张监听到内容,由于他不知道加密规则,还是破译不了这条信息内容,这叫对称加密

【对称加密场景】

       但是对称加密有个明显缺点是,小明需要把加密规则告知小红,小张要是能截取到加密规则,那以后小明和小红的信息交流就可以被破解,并且小张也可以假冒小明向小红发送假冒信息,因此我们需要另一套通讯规则来避免这种情况。


       非对称加密可以有效解决上述问题。首先,小明需要一对公钥和私钥,公钥和私钥是成对存在的,公钥由私钥通过一个不可逆的数学公式生成,公钥和私钥遵循以下规则:

1,用公钥加密的信息,可以用私钥解密,但反过来不可以;

2,用私钥签名的信息,可以用公钥验证,即验证签名;

       有了上述规则我们就可以设计如下的信息交互场景:

      使用私钥签名、公钥验证场景

       我们从上图可以看出,在这种情况下,整个系统没有人可以假冒小明发信息,因为只有小明知道自己的秘钥,这种设计可以有效保证发信人的不被恶意伪冒。

        当然,这套机制也可以进行加密的信息传输:

公钥加密、私钥解密示例

比特币使用的是椭圆曲线数字签名算法(SECP256K1),该算法可以很大程度保证该交易过程不被破解,我们在平时使用时完全不必担心。比特币钱包地址的生成也是基于该算法,首先由随机字符串产生一个秘钥,再通过秘钥使用算法产生公钥,该公钥经过一定变换生成比特币钱包地址,也就是说,我们只要知道随机种子或者秘钥,就可以推算出钱包的地址,但该过程不可逆,因此保护好自己的秘钥非常重要

相关文章

  • 【猫说系列】密码学

    【密码学】 1、对称加密 2、非对称加密3、DES 4、分组密码5、公钥密码学6、Hash7...

  • 区块链入门系列:001区块链的定义、分类和特征

    比特币入门系列的文章中提到了,现代密码学保证交易不可篡改,同时利用密码学来进行验证以及经济上的激励,在互为...

  • PoD-Tiny——实现零信任交易的最简协议

    副标题:zkPoD 原理解读系列(一) 本文面向有一定密码学基础,或者对密码学感兴趣的读者。文中虽有大量数学公式出...

  • 喧嚣之敌

    喧嚣之敌 (猫诗系列) 文/吾平 猫先生说,我讨厌吃猫粮 生活的本意就是抓老鼠 鼠辈们说,我喜欢尘世喧嚣 鼠生的乐...

  • 密码学基础系列

    1、说明 密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编...

  • 密码学系列 - 签名

    签名是用于消息的认证,保证该条消息不被伪造。本文主要讨论RSA签名、DSA、ECDSA 和 Schnorr 签名...

  • 密码学系列 - 概述

    根据密钥的类型一般可以分为对称加密和非对称加密,而同一类型又有不同的算法实现,本系列文章将对这两种类型的涉及到的加...

  • 每日总结-第四十二天-密码学

    https://blog.51cto.com/13479739/2484361有关13种常见密码学算法的一个系列 ...

  • 区块链加密算法小探(一)

    前言 区块链的底层实现离不开各种加密算法,因此对密码学技术的了解将会更有助于对区块链的学习和理解。本系列从密码学原...

  • 临摹宫崎骏爷爷的作品

    千与千寻 龙猫系列之一 龙猫系列之二

网友评论

      本文标题:【猫说系列】密码学

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