IBC(基于标识的密码系统,Identity-Based Cryptograph)是在基于传统的PKI基础上发展而来,主要简化在具体安全应用在大量数字证书的交换问题,使安全应用更加易于部署和使用。
  IBC密码技术使用的是非对称密码体系,加密与解密使用两套不同的密钥,每个人的公钥就是他的身份标识,比如email地址,电话号码等。而私钥则以数据的形式由用户自己掌握,密钥管理相当简单,可以很方便的对数据信息进行加解密。
IBC的基础技术包括数据加密、数字签名、数据完整性机制、数字信封,用户识别,用户认证等。

SM9标识密码算法是由国密局发布的一种IBE(Identity-Based Encryption)算法。IBE算法以用户的身份标识作为公钥,不依赖于数字证书。国密SM9算法标准包括5个文档,分别为:
《GMT 0044-2016 SM9标识密码算法:第1部分 总则》
《GMT 0044-2016 SM9标识密码算法:第2部分 数字签名算法》
《GMT 0044-2016 SM9标识密码算法:第3部分 密钥交换协议》
《GMT 0044-2016 SM9标识密码算法:第4部分 密钥封装机制和公钥加密算法》
《GMT 0044-2016 SM9标识密码算法:第5部分 参数定义》

曲线参数
SM9是基于256位的BN椭圆曲线的,使用素域 Fp 和有限域 Fp2 ,双线性对使用R-ate。曲线参数主要包括:

椭圆曲线方程:y2=x3+b 
方程参数b:05
参数t
60000000 0058F98A
基域特征q
B6400000 02A3A6F1 D603AB4F F58EC745 21F2934B 1A7AEEDB E56F9B27 E351457D
群的阶N
B6400000 02A3A6F1 D603AB4F F58EC744 49F2934B 18EA8BEE E56EE19C D69ECF25
余因子cf:1
群1 的生成元P1 = (xp1 , yp1):
坐标xp1
93DE051D 62BF718F F5ED0704 487D01D6 E1E40869 09DC3280 E8C4E481 7C66DDDD
坐标yp1
21FE8DDA 4F21E607 63106512 5C395BBC 1C1C00CB FA602435 0C464CD7 0A3EA616
群2 的生成元P2 = (xp2, yp2):
坐标xp2
(85AEF3D0 78640C98 597B6027 B441A01F F1DD2C19 0F5E93C4 54806C11 D8806141 ,
37227552 92130B08 D2AAB97F D34EC120 EE265948 D19C17AB F9B7213B AF82D65B )
坐标yp2
(17509B09 2E845C12 66BA0D26 2CBEE6ED 0736A96F A347C8BD 856DC76B 84EBEB96 ,
A7CF28D5 19BE3DA6 5F317015 3D278FF2 47EFBA98 A71A0811 6215BBA5 C999A7C7 )

SM9算法主要包括密钥部分和算法部分。

密钥部分:包括主密钥对(公钥和私钥)和用户私钥
算法部分:包括签名验签算法、密钥封装解封算法、加密解密算法和密钥交换算法

密钥部分
SM9算法的密钥由KGC(密钥生成中心)产生,主要包括KGC的主密钥对和用户的私钥。
主密钥对分为签名主密钥对和加密主密钥对

签名主密钥对:其私钥是一个在[1,N-1]范围内的随机数;公钥是G2群的基点P2的倍点,倍数为私钥。
加密主密钥对:其私钥是一个在[1,N-1]范围内的随机数;公钥是G1群的基点P1的倍点,倍数为私钥。

主密钥对的公私钥用在不同场景,其中主私钥仅用于计算用户私钥;主公钥则由KGC公开并用在其他部分。同时,签名主公钥仅用于签名和验签算法;加密主公钥则用于密钥封装、加密和密钥交换中。

用户私钥由KGC产生,包括签名私钥和加密私钥。

签名私钥:是G1群的基点P1的倍点。签名私钥仅用于签名中
加密私钥:是G2群的基点P2的倍点。加密私钥用于密钥解封、解密和密钥交换中
KGC使用主私钥和用户身份标识(以下简称ID)生成用户的私钥。

算法部分
SM9算法包括签名验签、密钥封装解封、加密解密和密钥交换四大部分。

签名算法:使用签名主公钥和签名者的签名私钥给数据签名
验签算法:使用签名主公钥和签名者ID验证签名
密钥封装算法:使用加密主公钥和密钥解封者(使用对称密钥的另一方)ID封装一个对称密钥
密钥解封算法:使用加密主公钥和密钥解封者ID解出封装了的对称密钥
加密算法:使用加密主公钥和解密者ID加密数据
解密算法:使用解密者的加密私钥和解密者ID解密数据
密钥交换算法:密钥交换双方使用加密主公钥、自己的加密私钥和双方的ID协商出一个共享密钥

用户身份标识符:ID
SM9算法中的用户身份标识ID主要用于用于私钥生成、验签、密钥封装解封、加密解密封和密钥交换。

主要应用的ID简单描叙如下:

私钥生成:ID是私钥属主的ID
验签:ID是签名者的ID
密钥封装解封:ID是解封者的ID
加密解密:ID是解密者的ID
密钥交换:发起方和响应方都需要自己的ID和对方的ID

IBC算法之SM9简介相关推荐

  1. Interview:人工智能岗位面试—人工智能职位之计算机视觉算法工程师的简介、知识结构、发展方向之详细攻略

    Interview:人工智能岗位面试-人工智能职位之计算机视觉算法工程师的简介.知识结构.发展方向之详细攻略 目录 计算机视觉算法工程师的简介 计算机视觉算法工程师的知识结构 计算机视觉算法工程师的发 ...

  2. ML:机器学习算法中—因子模型(多变量)、时序模型/时间序列模型(主要以单变量)算法对比的简介、带有时序性的因子模型概述、案例应用之详细攻略

    ML:机器学习算法中-因子模型(多变量).时序模型/时间序列模型(主要以单变量)算法对比的简介.带有时序性的因子模型概述.案例应用之详细攻略 目录 因子模型和时序模型/时间序列模型算法的简介 1.因子 ...

  3. 《量化交易:如何建立自己的算法交易》简介及PDF电子书下载

    转 <量化交易:如何建立自己的算法交易>简介及PDF电子书下载 内容简介: <量化交易(如何建立自己的算法交易事业)>绝不是一本量化交易技术或量化交易术语的百科全书,也不是专门 ...

  4. Matlab:基于Matlab实现人工智能算法应用的简介(SVM支撑向量机GA遗传算法PSO粒子群优化算法)、案例应用之详细攻略

    Matlab:基于Matlab实现人工智能算法应用的简介(SVM支撑向量机&GA遗传算法&PSO粒子群优化算法).案例应用之详细攻略 目录 1.SVM算法使用案例 1.1.Libsvm ...

  5. 视频分析算法的原理简介

       视频分析算法的原理简介 视频分析技术来源于计算机视觉,它能够在图象及图象描述之间建立映射关系,从而使计算机能够通过图象处理和分析来理解画面中的内容,其实质是"自动分析和抽取视频源中的关 ...

  6. Matlab:基于Matlab实现人工智能算法应用的简介(BP神经网络算法NN、SOFM神经网络)、案例应用(基于Matlab的GUI的方式创建/训练/预测神经网络)之详细攻略

    Matlab:基于Matlab实现人工智能算法应用的简介(BP神经网络算法NN.SOFM神经网络).案例应用(基于Matlab的GUI的方式创建/训练/预测神经网络)之详细攻略 目录

  7. NEO4J-相似度算法05-重叠相似度算法应用场景简介

    说明:使用neo4j算法库时需引入跟neo4j数据库对应的算法库插件或自定义算法库 1.简介 重叠相似度算法就是先把两个向量表示成两个长度相等得一维坐标,即映射到一维空间,再进行重合度加权求和,它即不 ...

  8. [SIGIR‘22]图对比推荐论文SimGCL/XSimGCL算法和代码简介

    Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for Recommendation [SIGIR'22] 论 ...

  9. 机器学习算法与技术简介

    模型简介 PLA MLP Linear Regression Logistic Regression Naive Bayes SVM KNN Decision Tree Random Forest A ...

最新文章

  1. 重读Youtube深度学习推荐系统论文,字字珠玑,惊为神文
  2. oracle-一些查看性能相关的视图
  3. python 使用set对list去重,并保持list原来顺序
  4. 大端和小端,字节对齐
  5. Tableau实战系列浏览 Tableau 环境(七) -重组工作区
  6. IPSEC非单播流量处理
  7. 多媒体技术基础第四版林福宗pdf_意大利留学|没有绘画基础,还能考研艺术类专业吗?...
  8. 最近准备学习下mongodb(一 Windows安装篇)
  9. HDU 1027 G - Can you answer these queries?
  10. 《TCP/IP Sockets编程(C语言实现) (第2版)》 代码下载(链接以及文件打包)
  11. 数字图像处理怎么讲yiq空间变成rgb空间_【JTRP】屏幕空间深度边缘光 Screen Space Depth Rimlight...
  12. 在构建好XPE操作系统上增加EWF功能
  13. 【转】数据挖掘从入门到进阶
  14. Android Palette吸色原理及源码解析
  15. 企业微信API之通讯录同步
  16. 帝国CMS系统提示登录超时解决办法
  17. iOS调优 | 深入理解Link Map File
  18. 设计模式学习难度系数排名
  19. 抽奖程序(python)
  20. 【详细整理】广度优先算法

热门文章

  1. iOS混淆--OLLVM在iOS中的实践(Xcode9.2)
  2. Lesson 47 A cup of coffee 一杯咖啡
  3. C语言之玩转结构体1——结构体定义与声明
  4. linux 操作系统笔记基础命令
  5. 使用pkg将node项目打包成exe后,EXE文件打开闪退
  6. Bzoj4826 [Hnoi2017]影魔
  7. 如何在网站左侧和右侧的漂浮图片上添加QQ咨询、旺旺、微博、电话?
  8. ES的插入优化之bulk
  9. IDEA从零到精通(12)之用C3P0连接Mysql数据库
  10. crm软件助力企业实现销售自动化