【区块链学习笔记01】BTC-密码学原理-哈希函数

这篇具有很好参考价值的文章主要介绍了【区块链学习笔记01】BTC-密码学原理-哈希函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一. 哈希函数

区块链中最基础的密码学原理就是哈希算法,以下为哈希函数的简单介绍:

  • 哈希函数是一种只只能加密但是不能解密的算法,哈希函数可以将任意长度的信息转化为固定长度的字符串。类似“8b46ec792e943de34605981980751a3c1e008218f77eeb27e474b594f7685019”这样。
  • 当输入相同的值时,得到的输出值也一定相同。
  • 就算输入值有一点不同,得到的输出值会天差地别。

比特币的hash算法,区块链学习笔记,哈希算法,区块链,学习
(这里可以看到虽然只改了一位数,但是输出的哈希值完全不同)

  • 输入值与输出值之间没有反向推导关系,换句话说无法通过输出值得到输入值

代码如下:文章来源地址https://www.toymoban.com/news/detail-780635.html

import hashlib
hash=hashlib.sha256();
hash.update

到了这里,关于【区块链学习笔记01】BTC-密码学原理-哈希函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 《现代密码学》学习笔记——第三章 分组密码 [二] AES

    《现代密码学》学习笔记——第三章 分组密码 [二] AES

    版本 密钥长度 分组长度 迭代轮数 AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 (1)字节代换(SubByte) (2)行移位(ShiftRow) (3)列混合(MixColumn) (4)密钥加(AddRoundKey) 1.字节代换   字节代换是非线性变换,独立地对状态的每个字节进行。代换表(S-Box)是可逆的。   将

    2024年02月05日
    浏览(15)
  • Introduction to modern Cryptography 现代密码学原理与协议第二章笔记

    Introduction to modern Cryptography 现代密码学原理与协议第二章笔记

    M表示明文空间,K表示密钥空间,C表示所有可能的密文集合 完善保密加密 的概念: 简化约定,不再特殊声明 ,除数为0无意义 完全保密加密的等价公式: 证明: 必要性证明略,此证明为条件概率的简单应用 完全不可区分性 : 完善保密加密的另一形式:  证明:   敌手不可区分性

    2024年02月03日
    浏览(14)
  • 【密码学基础】半/全同态加密算法基础学习笔记

    【密码学基础】半/全同态加密算法基础学习笔记

    定义:只支持乘法或加法中的一种的同态加密。同态加密指的是允许直接对密文进行计算,密文计算结果解密后与明文直接计算结果相同。 Paillier加解密过程 Paillier的同态性 明文加法 = 密文乘法 明文乘法 = 密文指数幂 Paillier的安全性 基于大整数分解困难问题 相比Paillier,

    2024年02月13日
    浏览(24)
  • 区块链--密码学复习概括

    区块链--密码学复习概括

    目录 一、密码学需要实现的功能与目标 二、从发展历史角度 三、古典密码学 四、现代密码学 五、密码体制分类 六、密码技术基础 七、非对称密码体制 八、基于证书的公钥分发机制 九、对称与非对称加密体制特性对比 十、RSA算法 十一、数字签名 十二、ECDSA签名算法 十三

    2024年02月03日
    浏览(11)
  • qt加密码学软件思路01还有后续

    qt加密码学软件思路01还有后续

    #登录函数 def login(self): username = self.lineEdit.text() password = self.lineEdit_2.text() # 在此处添加验证逻辑 if username == \\\"admin\\\" and password == \\\"admin\\\": QtWidgets.QMessageBox.information(None, \\\"登录\\\", \\\"登录成功!\\\") else: QtWidgets.QMessageBox.warning(None, \\\"登录\\\", \\\"用户名或密码错误!\\\") 修改登录函数:在login函数

    2024年02月08日
    浏览(8)
  • 密码学基本原理和发展——古典密码学

    密码学基本原理和发展——古典密码学

      目录 1 滚筒密码 2 棋盘密码 3 凯撒密码 4 单表代换与多表代换 4.1 单表代换 4.2 多表代换         密码技术最早起源于公元前404年的希腊,此后密码大致经历了 古典密码、近代密码和现代密码三个阶段。         古典密码(公元前五世纪~19世纪末)代表性的是 滚桶密

    2024年02月05日
    浏览(44)
  • 密码学基本原理和发展——近代密码学

    密码学基本原理和发展——近代密码学

    目录 1 密码机通信模型 2 Enigma密码机构造 3 Enigma密码机加解密过程 3.1 加密过程 3.2 解密过程 4 Enigma密码机的安全性 5 Enigma密码机破解 5.1 波兰雷耶夫斯基破解 5.2 图灵破解        近代密码一般指20世纪初~20世纪70年代期间的密码技术。20 世纪初电报的出现第一次使远距离

    2024年02月06日
    浏览(43)
  • 区块链基础之密码学及安全技术

    区块链基础之密码学及安全技术

    1.2 密码学及安全技术 1.2.1 密码学知识 1.2.1.1 Hash函数 Hash(哈希) 哈希函数是一类数学函数,可以在有限合理的时间内,将任意长度的消息压缩为 固定长度的输出值,并且是不可逆的。其输出值称为哈希值,也称为散列值。 哈希算法的应用: 消息认证:确保收到的消息和发送

    2024年02月11日
    浏览(7)
  • java 实现区块链的密码学

    java 实现区块链的密码学

    java 实现区块链的密码学今天分享,首先区块链行业相关的密码学有几个思路,比如对称加解密、非对称加解密、数字签名算法、散列hash相关的SHA-256加解密、Merkle树相关算法等等。今天我们主要采用java语言分享非对称加密和数字签名。 1、相关jar等配置,配置JDK1.8版本加上下

    2024年02月11日
    浏览(45)
  • 【密码学】量子安全的密码学算法以及原理介绍

    (1)“代数格密码套件”(CRYSTALS)包含两个密码原语Kyber和Dilithium。Kyber是一种抗适应性选择密文攻击(IND-CCA2)安全密钥封装机制,Dilithium是一种高度不可伪造性(EUF-CMA)安全数字签名算法。两种密码都是为了应对量子计算机的攻击,并且在操作过程中只需更改几个参数即

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包