在上一篇文章《解读国密非对称加密算法SM2》介绍了国密非对称算法SM2,在文章中说到,如果现有的网络库中已经实现ECC算法,只需加入SM2命名曲线的参数即可。这对于ECDHE密钥协商和ECDSA数字签名这两种用途而言确实是足够的。现有的网络库,很少将ECC算法直接用于加密和解密。但在实现ECC_SM4_SM3这个密码套件中,在密钥交换过程中,存在客户端将Pre-Master Secret使用 SM2 公钥加密后传给服务器端的步骤。所以我们需要实现 SM2 的加密和解密。
区块链是近年来备受关注的技术,它的出现为数字货币、智能合约等领域带来了革命性的变革,然而区块链的实现并不简单,其中的数据结构是至关重要的一部分。本文将介绍区块链的数据结构,帮助读者更好地理解区块链的运作原理,通过本文的学习,读者将能够更好地理解区块链的本质并为后续的区块链开发及应用打下坚实的基础
加密一直是通信领域的重要话题,我们经常听说各类算法,什么对称加密,非对称加密等等这类名词,云山雾绕,不得所以,经过这段时间的了解,接下来让我用九浅一深的语言,解释这个听上去深不可测,其实更是一头雾水的概念。 要解释加密技术,首先就要了解一下什么是对称加密。 对称加密 维基百科的解释如下: 对称密钥加密(英语:Symmetric-key algorithm)又称为对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。实
本文转载来源自:http://blog.csdn.net/teaspring/article/details/77834360 感谢原作者teaspring的分享。本文已经得到原作者的转载许可。 数字签名算法在Ethereum中的应用不少,目前已知至少有两处:一是在生成每个交易(Transaction, tx)对象时,对整个tx对象进行数字签名;二是在共识算法的Clique算法实现中,在针对新区块进行授权/封印的Seal()函数里,对新创建区块做了数字签名。这两处应用的签名算法都是椭圆曲线数字签名加密
国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。 SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。 SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。 SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。 SM4 无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。
以太坊有两种不同类型的账户:外部账户(EOAs)和合约。以太币的所有权是通过私钥,以太坊地址,和数字签名建立的。私钥是每个用户与以太坊交互的中心。事实上,账户地址直接来源于私钥:它唯一确定了一个以太坊地址,也叫账户。
大家好,我是Seele生态区的志愿者小白,从今天起~我要开始给大家讲技术问题(小白紧张ing)。感觉真的是一场大事业耶~完全小白的小白用自己的角度给大家说说元一的一些特点。这会是一个神奇的充满比喻的理解过程,如有不对的时候,欢迎批评指正呦,小白一概不认~~
国密即国家密码局认定的国产加密算法,爬虫工程师在做 JS 逆向的时候,会遇到各种各样的加密算法,其中 RSA、AES、SHA 等算法是最常见的,这些算法都是国外的,在 K 哥以前的文章里也有介绍:《【爬虫知识】爬虫常见加密解密算法》
区块链技术的应用和开发,数字加密技术是关键。一旦加密方法遭到破解,区块链的数据安全将受到挑战,区块链的不可篡改性将不复存在。
这段时间把 RUST 语法过了一遍,写一些简单的 Demo 程序没啥问题了,但离掌握这门语言还差的远,需要项目实战才行。我决定从之前研究过的国密算法入手,使用 RUST 实现国密算法。
本文主要介绍椭圆曲线的基本原理以及基于椭圆曲线的密码学实现,包括ECC加密、ECDH秘钥交换以及ECDSA签名算法,并介绍其中潜在的一些安全问题。其中分析了两个ECC实现相关的真实案例,分别是索尼PS3的签名问题和美国国家安全局NSA留下的椭圆曲线后门。
密钥协商这一概念也得以提出。一方面它能为参与者提供身份认证,另一方面,也能与参与者协商并共享会话密钥。
这里分享个自己用QT造的一个小工具,简单好用,同时也增加支持了SM3、SM4国密算法。且有详细的过程日志,可以保存为文件。用来对SM2国密算法做加解密和签名,验签,秘钥生成再合适不过了。
BLS(Boneh-Lynn-Shacham)是ETH 2.0中采用的私钥生成和签名方案,本文将介绍常用的BLS开源开发库,可用于C/C++、Rust、JavaScript、Golang、Python等各种密码学应用的开发。
在国家的十四个五年规划和2035年远景目标纲要中的第五篇《加快数字化发展 建设数字中国》中第二节中提出培育壮大人工智能、大数据、区块链、云计算、网络安全等新兴数字产业:区块链部分明确要求通过推动区块链的技术创新,进一步为区块链服务平台和金融科技,供应链管理,政务服务等应用方案做好基础服务,并进一步完善管理机制。最新的《“十四五”数字经济发展规划》提到,“构建基于区块链的可信服务网络和应用支撑平台”。作为数字经济时代重要底层技术之一,区块链对推动企业数字化转型,促进产业数字化发展,推进数字中国建设都起着强大支撑作用。当前,政策叠加效应深度释放,我国区块链产业发展驶入“快车道”,已经成为驱动数字经济高质量发展的重要引擎。
比特币使用基于椭圆曲线加密的椭圆曲线数字签名算法(ECDSA)。特定的椭圆曲线称为secp256k1,即曲线
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说ECC椭圆曲线详解(有具体实例)「建议收藏」,希望能够帮助大家进步!!!
简介:SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法 ,SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。
DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却做不到,但是其缺点就是只能用于数字签名,不能用于加密
最近开始学习网络安全和系统安全,接触到了很多新术语、新方法和新工具,作为一名初学者,感觉安全领域涉及的知识好广、好杂,但同时也非常有意思。这系列文章是作者学习安全过程中的总结和探索,我们一起去躺过那些坑、跨过那些洞、守住那些站,真心希望文章对您有所帮助,感谢您的阅读和关注。
比特币价格的上上下下,始终撩动着每一个人无比关切的小心脏。从去年初的 800 美元左右,飞涨到去年底到 19783.21 美元最高点,不到1年,便有将近 25 倍的升值速度。尽管眼下又掉回 8000 多美元的价格,但价格差不多能搞出去年同期一个数量级,币圈人士“过去一年比以往 10 年挣的都多”,已经是不争的事实。 而对区块链开发者来说,据说也已经有拿到年新 500 万的天价。所以“跑步进入区块链”,已经成为不少程序员的共识。但是看过很多远离,我们如何才能迅速上手呢?国外网友 Ken Shirriff 在博
费马大定理(Fermat's Last Theorem)不仅是一道困扰数学家300多年的难题,还有人专门写了一本书,书名就是《费马大定理》。这本书在我的Kindle里放了有挺长时间了,最近重新捡了起来,因为我发现比特币加密算法中的椭圆曲线与费马大定理有密切关系,而我又实在看不出费马公式 公式与椭圆曲线 有何联系,所以到书中一寻究竟。 《费马大定理》一书的作者是Simon Singh,他还在1996年导演了同名的纪录片《地平线:费马大定理》(链接:https://v.qq.com/x/page/d0198
椭圆曲线 椭圆曲线在代数上的表示是下面这个方程: y2 = x3 + ax + b 其中,a = 0, b = 7 (比特币系统所使用的版本),它的图形如下: 椭圆曲线有一些很有用的特征 一条
其中,RSA 是比较传统的密钥交换算法,它不具备前向安全的性质,因此现在很少服务器使用的。而 ECDHE 算法具有前向安全,所以被广泛使用。
众所周知,为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)那等等。
最近看了一个项目的代码,用到了SM2,SM3,SM4,瞬间懵逼,一会用SM2,一会用SM3,一会又用SM4,SM???
Short Weierstrass 椭圆曲线:F 是特征 q > 3 的有限域,a, b ∈ F,且 4a^3 + 27b^2 \ne 0 ,所有点 (x, y) ∈ F x F 满足方程 y^2 = x^3 + ax + b 所组成的集合,还有额外的一个点 O,称为无穷点:
JSON Web加密容易受到经典的Invalid Curve攻击,这篇文章可以帮助您了解这会对您产生什么影响以及您应该如何应对。
作者前文介绍了什么是数字签名,利用Asn1View、PEVie、010Editor等工具进行数据提取和分析,这是全网非常新的一篇文章,希望对您有所帮助。这篇文章将详细介绍微软证书漏洞CVE-2020-0601,并讲解ECC算法、Windows验证机制,复现可执行文件签名证书的例子。 这些基础性知识不仅和系统安全相关,同样与我们身边常用的软件、文档、操作系统紧密联系,希望这些知识对您有所帮助,更希望大家提高安全意识,安全保障任重道远。本文参考了参考文献中的文章,并结合自己的经验和实践进行撰写,也推荐大家阅读参考文献。
非对称加密主要用来保护对称加密密钥交换的安全性,一旦客户端和服务端交换密钥完成,即可使用密钥采用对称加密的方式进行通信。
SM2 国密SM2算法是中国国家密码管理局(CNCA)发布的一种非对称加密算法。它采用椭圆曲线密码体系(Elliptic Curve Cryptography,ECC)进行密钥交换、数字签名和公钥加密等操作。以下是SM2算法的主要特点和步骤:
椭圆曲线密码学是一种可逆的非对称密码学算法,其英语全称:Elliptic Curve Cryptography,缩写为:ECC。
椭圆曲线加密算法(Elliptic Curve Cryptography,ECC)是基于椭圆曲线数学原理实现的一种非对称加密算法。
生活中我们经常会遇到一些加密算法,今天我们就聊聊这些加密算法的Python实现。部分常用的加密方法基本都有对应的Python库,基本不再需要我们用代码实现具体算法。
大概了解区块链底层加密算法的同学都会听到一个名词叫”椭圆曲线“,它是抽象代数和数论中一个非常重要的概念,同时也是数学研究领域的一个重要分支,在理论研究上,英国数学家正是借助椭圆曲线证明了费马大定理,在应用上它则在加解密上发挥重大作用。
2)议题: 目前区块链项目如火如荼,几乎所有的区块链都会用到钱包,我们也经常听说椭圆曲线这个密码学术语,那么它们之间有没有什么关系?“加密货币”,到底是不是加了密的货币?为什么***和以太坊等众多区块链项目选用的是椭圆曲线而不是RSA?大名鼎鼎的Sony PS3上的私钥是如何被盗的?请报名者带好笔记本电脑,且看PPIO区块链开发工程师蒋鑫的技术分享。
随着互联网的普及和信息安全需求的不断提高,密码学在保护数据安全方面发挥着越来越重要的作用。公钥密码体制作为一种常见的加密方式,为数据安全提供了可靠的保障。ECC(椭圆曲线密码学)是一种新型的公钥密码体制,相比传统的RSA算法,在相同安全性要求下,ECC所需的密钥长度更短,运算效率更高,因此在现代密码学领域得到了广泛应用。
本文先介绍非对称加密算法,然后聊一聊椭圆曲线密码算法(Elliptic Curve Cryptography,ECC),最后才是本文的主题国密非对称加密算法SM2。因为我的数学知识有限,对于算法涉及的一些复杂的理论知识,也是不懂,所以本文不会涉及理论,仅仅从编程的角度解读一下SM2。
国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。
在区块链中,我们需要用到公钥和私钥。在之前的自己动手写区块链-发起一笔交易(Java版)中,我们就使用了公钥和私钥。其中公钥是钱包的地址,私钥则类似钱包的密码。
8月10日Seele元一首份密码学领域黄皮书“多重椭圆曲线的数字签名方法”完整版内容正式公开。黄皮书在世界范围内首次提出基于多重椭圆曲线的数字签名方法,解决了特定椭圆曲线的安全后门和漏洞问题,实现了不同安全需求的动态签名。黄皮书对典型的多次签名机制进行优化,减少多重椭圆曲线数字签名的数据传输量,并给出了一些可备选的椭圆曲线参数。
在前面的文章《写给开发人员的实用密码学 - 对称加密算法》中,介绍了现代密码学中非常重要的加密解密算法。从工程学的角度,选取密钥足够长的加密算法(比如AES 256、AES 512),是无法破解的。但在对称加密算法中,存在明显的薄弱环节,那就是密钥的存储与分发。因为算法是公开的,那么决定加密系统是否安全的因素就是密钥。
在《解读国密非对称加密算法SM2》一文中,我讲到过非对称加密算法的用途之一就是数字签名。本文就来聊一聊国密SM2的数字签名算法。
SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。
前两章我们了解了有限群和椭圆曲线,特别是了解了椭圆曲线上的点如何进行”加法“操作。有意思的是,如果我们将有限群里面的点与椭圆曲线结合起来能产生非常奇妙的化学反应。从上一节我们看到,如果二位平面上一个点如果在椭圆曲线上,那么我们把该点的x值放入椭圆曲线方程右边,也就是包含x变量的那边,然后把点的y坐标放入左边,也就是包含y变量的那部分,两边算出来的结果就会相等。
在定义椭圆曲线点群时出现了描述曲线所用算法的参数const EC_METHOD *meth,这一节就来看看这个参数有什么用处。
一直在说区块链是一系列技术结合后的新的技术架构,那么这里分别介绍下这些相关技术,也涉及到一些扩展开去的相关内容。 区块链-《精通比特币》笔记三: 电子书阅读《精通比特币》第二版地址: http://book.8btc.com/books/6/masterbitcoin2cn/_book/ch06.html bitcoin脚本语言基于堆栈的语言:使用堆栈数据结构。 堆栈:一种数据结构,允许push、pop,push在堆栈顶添加一个项目,pop在堆栈顶删除一个项目,堆栈操作对象为堆栈最顶端的项目,理解为后进
领取专属 10元无门槛券
手把手带您无忧上云