首页 > 编程语言 >sm2算法

sm2算法

时间:2024-08-14 17:38:39浏览次数:14  
标签:加密 sm2 RSA 密码 算法 sm

sm2算法简称国密,下面是百度讲解:
SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。

随着密码技术和计算机技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。
是的,相比更安全的sm2,国家密码管理部门决定取代rsa算法,不过现在逆向时见到更多的依旧是rsa算法.
而sm2是一种非对称算法,现在已经更新到sm4了,sm4采用的是对称算法,enn,就很奇妙.
而逆向的方法也很简单,只需要下载node 里的写好的sm-crypto库就行:
npm install sm-crypto
这个库里包含了sm2,3,4,足够使用.
导入这个包,
cost sm2 = require("sm-crypto").sm2;
下面加密跟解密只需要调用,

不过你要记得先找到加密点,是用的sm哪一代,比如我的是sm2加密参数,将加密后的参数传递就可以拿到数据了,找到后,要拿到公钥,sm2.doEncrypt(加密前的值,公钥,1).这个1和0是因为sm2有三段值,根据0和1的值不同,有c1+c2+c3或者
c1+c3+c2,返回的结果不同.
具体想要简单了解sm几代特点的,可以看看
k哥的爬虫文章: https://baijiahao.baidu.com/s?id=1715937296598047882&wfr=spider&for=pc

标签:加密,sm2,RSA,密码,算法,sm
From: https://www.cnblogs.com/lwmy/p/18356178

相关文章

  • 【机器学习】CNN卷积神经网络算法的基本概念、训练过程(含python代码)和应用领域
    引言卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种深度学习模型,主要用于图像识别、图像分类、物体检测和计算机视觉等领域文章目录引言一、卷积神经网络(ConvolutionalNeuralNetwork,CNN)1.1基本原理1.2主要结构1.2.1卷积层(ConvolutionalLayer)1.2.2激活函......
  • 字符串算法学习笔记
    注:码风较差,慎读1.hash算法相对于字符串,数字相对来说好处理一些,我们可以考虑把每一个字符串都对应一个数字,这样就可以非常简便地解决字符串的一些问题,而且效率还极高字符串哈希,就是一种可以理解为将字符串映射到一个整数的方法。比如BKDPHash是一种很好的哈希算法,假如字符串为a......
  • 超详细干货!一文讲透一个强大算法模型Transformer !!
    这几天,社群里Transformer相关讨论一直进行着,那今儿我准备给大家分享一个以「利用Transformer进行机器翻译」为主题进行一个分享。今儿的内容,有点趣味儿,也有点详细,大家记得收藏起来慢慢学习!~文末可取本文PDF版本~**首先,官话:**Transformer模型是由Vaswani等人在2017......
  • 从双非本科到985硕士:我的逆袭之路,即将启航上海AI实验室大模型算法岗位
    暑期实习基本结束了,校招即将开启。不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC在变少,岗位要求还更高了。最近,我们又陆续整理了很多大厂的面试题,帮助一些球友解惑答疑,分享技术面试中的那些弯弯绕绕。喜欢本文记得收藏、关注、点赞。更多交流,可......
  • 2024“钉耙编程”中国大学生算法设计超级联赛(8)1006 cats 的最小生成树
    题目大意:给出有\(n\)个点\(m\)条边的图,接下来进行若干次操作,每次操作取出当前图的最小生成树,然后删去这些构成最小生成树的边,知道该图不连通,输出每条边在第几次操作时被删除思路:由于构成最小生成树的边数是\(n-1\)条边,所以最多操作次数为\(\lfloor\frac{m}{n-1}\rfloor\),每次......
  • Python之算法和程序
    开始《Python入门经典以解决计算问题为导向的Python编程实践》第三章算法和程序开发的内容了。算法和程序算法算法示例算法和程序算法特征算法的描述通用算法程序程序特征1、可读性2、鲁棒性正确性算法算法:计算或其他解决问题的操作需要遵循的一个过程或者一套......
  • 【常见算法题】斐波那契数列(矩阵快速幂)
    一、题目描述大家都知道斐波那契数列,现在要求输入一个正整数n,请你输出斐波那契数列的第n项。斐波那契数列满足如下二、解题思路2.1普通处理方式使用递归直接计算intfib(intn){if(n==1||n==2)return1;returnfib(n-1)+fib(n-2);}这......
  • C语言实现排序之归并排序算法
    一、归并排序算法基本思想        归并排序采用分治法策略,将数组递归地分成两半,然后对每一半进行排序,最后将两个已排序的子数组合并成一个完整的有序数组。步骤递归划分:将数组分成两半,直到每个子数组只有一个元素。递归排序:递归地对每个子数组进行排序。合并子数组......
  • C语言实现排序之堆排序算法
    一、堆排序算法基本思想堆排序是一种比较有效的排序方法,其基本思想是:构建最大堆:首先将待排序的数组构建成一个最大堆,即对于每个非叶子节点,它的值都大于或等于其子节点的值。排序:然后将堆顶元素(最大值)与堆的最后一个元素交换位置,将其移出堆,并调整剩余元素以保持最大堆的性质......
  • 回溯算法介绍以及模板
    回溯算法的理解:回溯算法可以理解为一颗树形结构,即一颗n叉树,当遍历到叶子节点的时候,我们就到达了递归的终点,此时我们应该往上走。回溯法解决的问题都可以抽象为树形结构,是的,我指的是所有回溯法的问题都可以抽象为树形结构!因为回溯法解决的都是在集合中递归查找子集,集合的大小就......