zoukankan      html  css  js  c++  java
  • SM2椭圆曲线公钥密码算法

    国家必须要有属于自己的一套加密机制才行。。。好复杂。分享下看哪位看得懂其中的原理

    国家密码管理局于2010年12月17日发布了SM2椭圆曲线公钥密码算法,并要求为对现有基于RSA算法的电子认证系统、密钥管理系统、应用系统进行升级改造。关于算法标准,请参见《国家密码管理局公告(第 21 号)》,网址为 www.oscca.gov.cn/

    SM2算法和RSA算法有什么关系?
      SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。
    为什么要采用SM2算法替换RSA算法?
    随着密码技术和计算技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。SM2算法在安全性、性能上都具有优势,参见表1算法攻破时间,表2算法性能。

    RSA密钥强度

    椭圆曲线密钥强度

    攻破时间(年)

    512

    106

    104,已被攻破

    768

    132

    108,已被攻破

    1024

    160

    1011

    2048

    210

    1020

    表1 算法攻破时间 

    算法

    签名速度(次/秒)

    验签速度(次/秒)

    1024位RSA

    2792

    51224

    2048位RSA

    455

    15122

    256位SM2

    4095

    871

    表2 算法性能 

    SM2和椭圆曲线算法是什么关系?
    一提起曲线,大家就会想到方程,椭圆曲线算法是通过方程确定的,SM2算法采用的椭圆曲线方程为:
    y2 = x3 + ax + b
    在SM2算法标准中,通过指定a、b系数,确定了唯一的标准曲线。同时,为了将曲线映射为加密算法,SM2标准中还确定了其它参数,供算法程序使用。

    椭圆曲线算法是什么原理?
    本文不探讨椭圆曲线的数学理论,仅通过图示展示算法原理。请参见下图: 
     
    图1 椭圆曲线算法原理

       上图为方程:y2 = x3–x的曲线。
    1、P点为基点;
    2、通过P点做切线,交与点 2P点,在2P’点做竖线,交与2P点,2P点即为P点的2倍点;
    3、进一步,P点和2P点之间做直线,交与3P’点,在3P’点做竖线,交与3P点,3P点即为P点的3倍点;
    4、同理,可以计算出P点的4、5、6、… 倍点;
    5、如果给定图上Q点是P的一个倍点,请问Q是P的几倍点呢?
    6、直观上理解,正向计算一个倍点是容易的,反向计算一个点是P的几倍点则困难的多。
    在椭圆曲线算法中,将倍数d做为私钥,将Q做为公钥。当然,椭圆曲线算法还有更严格的计算过程,相对图示要复杂的多。

    SM2算法可以进行哪些密码应用?
    SM2算法做为公钥算法,可以完成签名、密钥交换以及加密应用。SM2算法标准确定了标准过程:
    1、签名、验签计算过程;
    2、加密、解密计算过程;
    3、密钥协商计算过程。
    需要说明,其他国家的标准和SM2确定的计算过程存在差异,也就是说相互之间是不兼容的。

    SM2算法速度快吗?
    简单讲,SM2签名速度快,验签速度慢,这点和RSA算法的特性正好相反。参见表2。
    另外,加解密速度和验签速度相当。
    SM2签名算法支持多大的数据量,签名结果为多少字节?
    签名原始数据量长度无限制,签名结果为64字节。
    SM2加密算法支持多大的数据量,加密结果增加多少字节?
    支持近128G字节数据长度,加密结果增加96个字节

    SM2相关算法有哪些?
    SM2为国家密码管理局公布的公钥算法,其加密强度为256位。其它几个重要的商用密码算法包括:
    SM1,对称加密算法,加密强度为128位,采用硬件实现;
    SM3,密码杂凑算法,杂凑值长度为32字节,和SM2算法同期公布,参见《国家密码管理局公告(第 22 号)》;

    SMS4,对称加密算法,随WAPI标准一起公布,可使用软件实现,加密强度为128位。

    沃通CA做中国数字证书领域行业的领跑者  buy.wosign.com  

     
     
  • 相关阅读:
    CSS3 target伪类简介
    不用position,让div垂直居中
    css3 在线编辑工具 连兼容都写好了
    a标签伪类的顺序
    oncopy和onpaste
    【leetcode】1523. Count Odd Numbers in an Interval Range
    【leetcode】1518. Water Bottles
    【leetcode】1514. Path with Maximum Probability
    【leetcode】1513. Number of Substrings With Only 1s
    【leetcode】1512. Number of Good Pairs
  • 原文地址:https://www.cnblogs.com/xiaouisme/p/7227118.html
Copyright © 2011-2022 走看看