五分钟时间,带你认识比特币的加密算法

以比特币为代表的各种区块链币,之所以被称之为加密数字货币,是因为密码学是比特币设计的重要安全基石,用以确保货币流通各个环节安全性。

比特币使用的加密算法被称之为椭圆曲线算法(ECC),是一种著名的非对称算法。

相较于另一种著名的非对称算法RSA,ECC算法的数学理论非常深奥和复杂,在工程应用中比较难于实现,但它的单位安全强度相对较高。

由于ECC算法数学理论深奥,难以被一般民众掌握,为了便于说明,本文将对RSA算法的原理进行说明,以使大家对比特币加密算法有个深入的了解。

密码学的发展是伴随着信息交流的发展而不断进化的,是为了保障信息在传输过程中,即使被截获也不能被还原,至少不能被轻易的还原。

我们日常生活中,最常见的信息传输方式是:A同学将要传输的信息通过软件(比如WinRAR,WinZip等)进行加密压缩,然后将加密后的文件发送给B同学,B同学用事先约定好的密码进行解密,从而完成安全的信息交流。如果在密码很复杂的情况下,截获方不知道密码是难以破解的。

但这里面存在一个悖论,如果A和B是通过网络传输密码的情况下,怎么能保证密码传输过程中的安全呢?

01.哈希算法

传统的加密方法是不能公开的,因为知道了加密方法也就知道了解密方法,只需要反向计算就能解密。有没有一种加密算法,即使知道了加密方法,也不能恢复出原文呢?这种算法的原理是,在加密过程中加入一些不可逆的运算来实现。

比如说:需要加密的数字M,采用下面的加密规则进行加密。

1.将M加上123456;

2.把结果平方,取第3-10位,组成一个8位数字;

3.将这个数字除以456789求余数;

得到的数字就是加密之后的结果。

在密码学上,这种会丢掉一部分信息的加密方式被称为“单向加密”,也叫哈希算法。一个可靠的哈希算法至少需要满足下面几个基本条件:

第一,对于给定的数据M,很容易算错哈希值X=F(M);

第二,根据X很难算出M;

第三,很难找到M和N使得F(M)=F(N)。

真实世界的哈希算法原理和上面类似,但也更为复杂。

目前被广泛使用的哈希算法包括MD5以及SHA-256算法。哈希算法的结果长度都是固定的,比如:MD5的结果长度是32个字符,而SHA-256的是64个字符。

所以,后者的算法强度比前者的要强,也就更安全。假设我们要对“WoYaoJiaMi”进行加密,MD5算法的结果是:“3832EE29D065861A9C006BEDA8C63D3C”,而SHA-256的结果是:

3C56D7479A96942B9D96D4D1AF24F8F8566EBD30B393B40099F43A48F093B7C9

单向加密算法一般用来进行防伪,主要用于验证传输结果的准确性验证。比如:下载一个安装程序的时候,为了保证安装程序不被调包,其提供者一般会公开MD5编码,这样下载的人可以通过工具算出下载到本地的程序的MD5值,如果两者一致就证明安装程序是正确的,反之则不能使用这个程序了。

02.非对称加密算法

哈希算法在真实应用的时候,有一个缺陷就是密码传输的保密问题。

如果我们对一份资料进行了加密,对方不知道密码是打不开的,从而确保文件不被窃取;但是,怎样让我们发送的对象知道密码是一个难题。

这就要求我们发明一种新的算法,使得:即使有人拿到了密码也没法解密,还需要知道另外一个密码才可以解密。

前一个密码称之为公钥,后一个密码称之为私钥,只要私钥不丢,任何人都无法窃取或者篡改数据。这种密码系统,加密和解密使用不同的密码,公钥用来加密并且是可以公开的,解密使用密钥进行加密。这就叫非对称加密算法。

03.RSA算法

1977年,罗纳德·李维斯特(RonRivest)、阿迪·萨莫尔(AdiShamir)和伦纳德·阿德曼(LeonardAdleman)共同设计了一种非对称加密算法,被称为RSA算法。RSA实际上是三位发明人的名字首字母缩写。RSA算法的加密流程如下:

第一,乙方生成两把密钥(公钥和私钥),公钥是公开的,私钥是保密的,只有乙方知道。

第二,甲方获取乙方的公钥,然后用它对信息进行加密。

第三,乙方使用私钥对加密信息进行解密。

RAS算法的安全性依赖于大数分解。

大数分解是一个数学上公认的难题,比如说对于数字4,000,000,000,000,000,000,000,000,000,001=1,199,481,995,446,957x3,334,772,856,269,093,要找到2个素数来计算得出前面的数字式非常难。

04.ECC算法

还有一种著名的非对称算法,称之为ECC算法(椭圆曲线算法),它是比特币钱包安全性的密码学基石,也是比特币被称之为加密数字货币(Cryptocurrency)的原因。

椭圆加密算法(ECC)是一种公钥加密体制,最初由Koblitz和Miller两人于1985年分别独立提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。

ECC的主要优势体现在:

第一,安全性更高。160位的椭圆密钥与1024位的RSA密钥安全性相同。

第二,处理速度更快。在私钥的加密解密速度上,ECC算法比RSA、DSA速度更快。

第三,存储空间占用小、带宽要求低。

美国国家标准与技术局和ANSIX9已经设定了最小密钥长度的要求,RSA和DSA是1024位,ECC是160位,相应的对称分组密码的密钥长度是80位。

在2005年2月16日,NSA宣布决定采用椭圆曲线密码的战略作为美国政府标准的一部分,用来保护敏感但不保密的信息。ECC算法已经逐步开始替代RSA算法。

THE END
1.想学Python?这里有5个超赞的免费网站等你来试!免费python在线网站5其核心是自然语言处理算法,能够模拟人类写作风格,生成富有创意的故事情节。该工具不仅适用于作家获取灵感,也为喜欢写作的爱好者提供了便捷的创作途径。通过Github等平台,用户可以免费下载及使用相关源码,开启自己的小说创作之旅。 免费python在线观看源码软件 Python是一种强大的编程语言,广泛应用于数据分析、人工智能、网站http://www.zzvcctedu.cn/zixun/138.shtml
2.分享一个学习算法的网站五分钟学算法官方网站文章浏览阅读1.5k次。五分钟学算法:https://www.cxyxiaowu.com/通过动画来理解算法,我觉得很有意思。然后祝程序员生日快乐,永不加班!_五分钟学算法官方网站https://blog.csdn.net/qq_36767214/article/details/102732104
3.五分钟学算法五分钟学算法浏览人数已经达到0,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:五分钟学算法的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以及需要https://www.colabug.com/sites/13534/
4.五分钟学算法链接直达手机查看 GitHub 42000 Star,全球排名 79 。小吴讲算法,图解面试算法,来和程序员小吴一起学算法吧,学习如何刷力扣(LeetCode),掌握如何学习数据结构。五分钟学算法官网,一个算法学习的网站,图解力扣算法,看动画,刷力扣,备面试,跳槽涨薪美滋滋。https://www.toolmao.com/sites/1338.html
5.五分钟学算法官方网站理想股票技术论坛五分钟学算法官方网站,五分钟学算法,官方网站,算法教程,在线学习,编程教程 五分钟学算法官方网站,提供丰富的算法教程,在线学习编程知识,轻松掌握各类算法技巧。 公式法详解与应用实例视频教程 [股票软件指标公式技术交流] 刻骨2010 2024-8-18 相关标签:五分钟学算法官方网站 数学公式软件app 计算题公式法的公式 https://www.55188.com/tag-08617563.html
6.五分钟学算法个人介绍 公众号【五分钟学算法】个人网站:https://www.cxyxiaowu.com 他关注的专题/文集/连载 他喜欢的文章 他创建的专题 LeetCodeAnimation 五分钟学算法 在PPT动画中学算法 从零开始学Swift 他的文集 日记本 新媒体管家发布 五分钟学算法 Python https://www.jianshu.com/u/c6ad3f2ed2d6
7.有哪些高质量的自学网站?再推荐几个同类型网站: 25、五分钟学算法(http://cxyxiaowu.com/) 一个完全免费的算法学习网站。 有很多的算法题和概念解释,甚至面试的攻略,适合新手的学习和进阶。 漫画式的教学,将复杂的内容深入浅出,效果很棒! 26、菜鸟教程(http://runoob.com/) https://www.douban.com/note/767851363/
8.全网最全程序员学习网站汇总,还不赶快收藏地址: 五分钟学算法 简介:有少量非常不错的数据结构、算法相关的内容。 推荐指数:? 13、犬小哈教程网 地址: 犬小哈教程网 简介:少量哈士奇的技术问答漫画很有意思。 推荐指数:? 15、原创技术大联盟 地址: 原创技术大联盟 简介:优秀的技术博主实在太多了,列不完,也看不完,这里有一个导航页https://www.songma.com/news/txtlist_i66992v.html
9.吴师兄学算法五分钟学算法吴师兄学算法 (www.cxyxiaowu.com) 专注于提供数据结构与算法学习的基础知识,涵盖 LeetCode 题解、剑指 Offer 题解、数据结构等内容。它是一个非常有用的资源平台,特别适合那些希望提高编程技能和算法理解能力的学习者。 吴师兄学算法-五分钟学算法_致力于让每个小白都能看懂每一道算法题 https://pidoutv.com/sites/27782.html
10.www.jxmzxx.com{$woaini}>www.jxmzxx.com{$woaini}为了成为内马尔的正牌女友, 布鲁娜签署了多么奇葩的协议? 为了成为内马尔的正牌女友,布鲁娜签署了多么奇葩的协议?虽然布鲁娜比安卡迪是内马尔的女朋友,但她只有内马尔的部分使用权,原因是他们之间签署了一份十分奇葩的恋爱协议,协议允许内马尔和其他女人调情甚至发生关系,但对内马尔有三条约束,分别是不能找应召女郎,不能http://www.jxmzxx.com/appnews/668449.html
11.黑帽SEO技术手法详解,10分钟入门黑帽SEO干货网站黑帽SEO方法主要是研究和利用搜索引擎算法漏洞,其手法不符合主流搜索引擎发行方针规定,优化方法采用的也是搜索引擎禁止的方式去优化网站的,影响搜索引擎对网站排名的合理和公正性。黑帽SEO行为通常也就是一般人们所讲的“搜索引擎作弊行为”,通常的黑帽SEO是利用和放大搜索引擎的现在有的缺陷和漏洞而获取更多的用户访https://www.jxbh.cn/article/2285.html
12.来自凯文·凯利的40条人生建议尝试五分钟里什么也不做。 把这当作你的任务。 你根本完成不了这个任务。 五分钟后, 你将做好准备,渴望工作。 4、 至少每天承认一次“我不知道”, 你将成为一个更好的人。 5、 重要的事, 通常不紧急, 紧急的事, 通常不重要。 要完成重要的事, https://36kr.com/p/2427137908531971
13.BoostKit大数据业界趋势鲲鹏大数据组件增强特性和典型配置鲲鹏BoostKit CDN使能套件聚焦CDN开源组件可用性和CDN缓存节点吞吐量低、时延大等问题,提供CDN主流组件的开源使能和性能调优指南,通过使能鲲鹏处理器内置的RSA加速引擎,对RSA2048算法进行硬件卸载,同时提供了NUMA优化等手段,以便充分发挥鲲鹏处理器多核优势,助力客户CDN缓存节点提供更大吞吐量,实现更低时延。 https://developer.huawei.com/consumer/cn/blog/topic/03898238728230088
14.五分钟搞懂分布式流控算法五分钟搞懂分布式流控算法 流控是一种非常容易描述但却隐藏了很多复杂性的特性。希望本文能够帮助你理解在复杂分布式系统中实现流控所涉及的工具和算法。 流控是任何一个复杂系统都必须考虑的问题,本文介绍并比较了不同的流控算法,从而帮助我们可以基于系统需求和架构选择合适的方案。原文:Distributed Rate-Limiting https://www.51cto.com/article/787388.html
15.《外卖骑手,困在系统里》一文引起了怎样的舆论反响知识库9日19时,另一外卖平台“美团外卖”在微信平台的回应:“系统会给骑手留出8分钟弹性时间”,也是推动舆论对事件持续讨论的重要原因,事件传播量于9月10日8时到达峰。本时段内,除对“多等五分钟功能”话题的讨论外,部分舆论也将焦点放置“困境”本身,“探析外卖骑手的‘算法困境’”“如何解决‘外卖骑手困境’”等https://www.shichangbu.com/know_info/55454.html
16.五分钟技术趣谈浅谈人工智能中的算力算法和数据09/28 08:56 作者:移动Labs 3.2万 阅读需 7 分钟 加入交流群 作者:蒋召召 夏向兰,单位:中国移动智慧家庭运营中心 随着科技的飞速发展,人工智能(Artificial Intelligence,AI)已经成为当今最热门的话题之一。在人工智能的应用中,算力、算法和数据是三个不可或缺的要素,也是生成式人工智能(AIGC)发展的核心。通过https://www.eefocus.com/article/1643953.html
17.五分钟理解KMP算法关键部分五分钟理解KMP算法关键部分 查看原文 字符串 。串中任意个连续的字符组成的子序列称为该串的子串。包含子串的串则称为主串。通常将字符在串中的序号称为该字符在串中的位置。子串在主串钟的位置则以该子串在主串中的第一个字符位置来表示。为了让大家更好的理解。s3等于s5,s2不等于s4。s的长度是17,s3https://www.pianshen.com/article/74992792232/
18.五分钟学会一个高难度算法:希尔排序五分钟学算法五分钟学会一个高难度算法:希尔排序 前言 由于LeetCode上的算法题很多涉及到一些基础的数据结构,为了更好的理解后续更新的一些复杂题目的动画,推出一个新系列 ——-《图解数据结构》,主要使用动画来描述常见的数据结构和算法。本系列包括十大排序、堆、队列、树、并查集、图等等大概几十篇。https://www.cnblogs.com/fivestudy/p/10014690.html
19.《每天五分钟计算机视觉:基于YOLO算法精确分类定位图片中的对象楼主 59:07回复0浏览 3 《每天五分钟计算机视觉:基于YOLO算法精确分类定位图片中的对象》我们可以看到https://baa.yiche.com/qichezatan/thread-51416624.html
20.博客中国美东时间12月16日周一进行的第八日线上技术分享直播中,OpenAI宣布,ChatGPT搜索正式全球落地,包括免费用户都登陆即可使用。同时,OpenAI对ChatGPT的搜索功能进行了大量更新。新增的功能包括:实时搜索,OpenAI对搜索的算法进行了深度优化,可在用户提出问题后获取实时内容(分钟级别),包括股票、新闻等。高级语音,在https://www.blogchina.com/