本发明专利技术公开了一种安全轻量的McEliece公钥掩码加密方法,属于信息安全技术领域。该方法的设计分为两部分,即构造密钥体积小的Quasi‑Dyadic MDPC码McEliece密码算法和设计抗功耗分析的掩码防护方案。本发明专利技术构造Quasi‑Dyadic MDPC码应用于McEliece密码算法中,可以有效减少密钥体积。本发明专利技术还采用掩码技术设计防护方案,使McEliece密码算法抗功耗分析。同时,本发明专利技术还弥补了ISW可证明安全框架的核心算法,生成随机数方法产生的功耗容易同一时间泄漏a和b两个份额的安全问题。本发明专利技术设计的具有高安全性和高效性的McEliece型公钥密码算法更加适用于资源有限的嵌入式环境。

【技术实现步骤摘要】

一种安全轻量的McEliece公钥掩码加密方法

本专利技术涉及信息安全

中可以抵抗量子计算攻击的McEliece非对称密码技术。特别涉及一种考虑侧信道安全的基于Quasi-DyadicMDPC码McEliece公钥掩码加密算法实现技术,采用该方法能够抵抗功耗分析。

技术介绍

量子计算机的迅猛发展,对基于数论难题的密码算法构成严重的威胁,尤其是Shor量子算法的提出,使研究者更加相信RSA,ECC等基于数论困难问题的常用密码算法将不再安全。基于纠错码的密码方案可以实现抗量子计算攻击,然而,最初的基于Goppa码的McEliece密码算法密钥体积较大,不适用于资源有限的嵌入式系统中。因此,出现基于不同纠错码的McEliece型公钥密码算法,以减少密钥体积。研究者相继提出基于LDPC,MDPC,QC-MDPC等纠错码的McEliece算法,但是密码算法应用时存在侧信道攻击的挑战,特别是功耗分析的威胁。功耗分析利用密码设备执行加解密操作过程中所处理的数据与能量消耗间的关联进行攻击。随着侧信道攻击技术的研究不断深入,国内外关于防御方面的研究也从没有间断过,其中主流的防御方法包括掩码技术和隐藏技术,掩码防护由于其成本相对低廉,且易于实现,而受到研究者的广泛关注。2003年,Ishai等人首先提出抗高阶差分功耗分析的掩码方案—Ishai-Sahai-Wagner可证明安全框架。但是它存在安全问题而难以在实际环境中应用,即核心算法之一生成随机数方法产生的功耗信息容易同一时间泄漏敏感数据a和b的两个份额。

技术实现思路

本专利技术的目的在于,提供一种安全轻量的McEliece公钥掩码加密方法,以解决McEliece算法存在密钥体较大、不能抵抗功耗分析的问题。为了实现上述目的,本专利技术采用如下的技术解决方案:一种安全轻量的McEliece公钥掩码加密方法,包括密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的构造和抗功耗分析的掩码防护方案的设计两大部分:一、所述密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的构造过程包括如下步骤:步骤1,构造Quasi-DyadicMDPC码:在有限域上,设计中密度校验矩阵的形式:其中Hn是并矢矩阵,设n=0,1,…,n0-1,并矢矩阵Hn表达形式:存储器只需要存储并矢矩阵Hn的首行,即种子随机矢量hn即可。步骤2,利用步骤1生成的校验矩阵H,生成公钥/私钥对:由通信的一方生成密钥,Quasi-DyadicMDPC纠错码参数[n,k,t],n表示码字长度,k表示线性分组码的每组信息组长度,即是维度,t表示码能纠错的位数,将公钥设计为准并矢矩阵的方法如下:1)生成随机n阶准并矢矩阵计算n行k列矩阵使得XHP=T,H表示校验矩阵,P表示随机生成的置换矩阵;2)随机生成X的K阶可逆子矩阵S;3)计算公钥G′=SHP,G′即是T的准并矢子矩阵,只需存储G′首行元素,主要是结合表达式(2)并矢矩阵的生成方法,得到一个完整的公钥矩阵G′。设计的公钥矩阵在实际使用时只需要存储所有并矢矩阵的首行,即种子随机矢量hn即可。私钥定义为:n阶置换矩阵P,k阶可逆矩阵S,r行n列校验矩阵H。步骤3,设计加密、解密部分:通信的另一方要发送消息给对方,设m为k比特明文,随机生成满足w(e)≤t的n比特纠错矢量e,w(*)表示*的汉明重量,计算密文c=mG′+e,将密文c发送给对方。对方收到密文c后,进行解密,首先在密文c的右边乘以私钥转置矩阵PT,即c′=cPT,将c′作为快速译码算法的输入,然后通过Quasi-DyadicMDPC码的快速译码算法得m*S的结果,最后右乘以私钥S的逆矩阵S-1恢复明文。二、所述抗功耗分析的掩码防护方案的设计过程包括如下步骤:McEliece型公钥密码算法分为线性运算和非线性运算。异或线性运算硬件实现时消耗能量比较均匀,但是域相乘非线性运算硬件实现能量消耗比较大,容易产生侧信道信息的泄漏。本专利技术改进Ishai-Sahai-Wagner可证明安全框架,解决其核心算法之一生成随机数的公式:产生的功耗信息容易同一时间泄漏a和b两个份额的安全问题,进一步设计域相乘非线性运算的掩码方案。包括如下步骤:步骤1,域相乘非线性运算的掩码方案初始化:(1)假设a和b是两个敏感数据,令a=g(k),b=h(k),g(*)和h(*)为域F2的线性关系,k为域的随机数;(2)ai=g(ki),bi=h(ki),i∈[0:d],其中ai,bi和ki分别是a,b和k随机拆分成的d+1个份额子。例如:步骤2,根据定义1和定义2,引入随机数变量k和v′i,j,推导出公式(3):定义1(f映射:),x、y表示敏感数据a、b。定义2vi,j表示随机数。步骤3,由定义3和定义4推导公式(3)得到本专利技术掩码方案随机数生成表达式,即(4):定义3w(x)=h(x)·g(x)(w映射:)定义4步骤4,用表1所示的原理生成的d+1个随机数,保护a和b两个敏感数据d+1个份额的域相乘运算。表1掩码方案伪代码实现表1所示的原理具体为:随机数组v的下标为i和j,vi,j(ij)是由设计的生成随机数公式产生;利用d+1个随机数vi,j分别进行异或运算保护a和b的d+1个份额域相乘;本专利技术使用的随机数都是相互独立。本专利技术的有益效果:1、本专利技术所述安全轻量的基于Quasi-DyadicMDPC码McEliece型公钥密码方案,可以抵御量子计算攻击,通过将公钥设计成准并矢码以减少密钥体积,适用于资源有限的嵌入式设备。2、本专利技术所述安全轻量的基于Quasi-DyadicMDPC码McEliece型公钥密码方案,通过设计掩码方案改进无保护的McEliece算法,使其应用在嵌入式设备中可以抵抗功耗分析。附图说明图1是本专利技术方法实施的McEliece算法加密处理流程示意图。具体实施方式以下是本专利技术的具体实施例,并结合附图对本专利技术的技术方案作进一步清楚、完整地描述。准并矢纠错码C的码长n=128,维度k=64,余维r=64,码的纠错能力t=49。一种安全轻量基于Quasi-DyadicMDPC码的McEliece型公钥密码方法,包括密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的构造和抗能量分析攻击的掩码防护方法的设计两大部分:一、所述密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的构造过程包括如下步骤:步骤1,构造Quasi-DyadicMDPC码:在有限域上,设计中密度校验矩阵的形式,本实施例中n0=2:H=[H0|H1](1)其中H0和H1是并矢矩阵,设并矢矩阵H0和H1表达形式:H0和H1的元素是h0和h1的元素,按照

技术实现思路

所述并矢矩阵的构造规则运算。步骤2,利用步骤1生成的校验矩阵H,生成公钥/私钥对:由通信的一方生成密钥、Quasi-DyadicMDPC纠错码参数[n,k,t]=[128,64,49],n表示码字长度,k表示线性分组码的每组信息组长度,即是维度,t表示码能纠错的位数,将公钥设计为准并矢矩阵的方法如下:1)生成随机n=128阶的准并矢矩阵计算128行64列的矩阵使得XHP=本文档来自技高网...

【技术保护点】

一种安全轻量的McEliece公钥掩码加密方法,其特征在于,包括构造密钥体积小的Quasi‑Dyadic MDPC码McEliece密码算法、设计抗功耗分析的掩码防护方案;所述构造密钥体积小的Quasi‑Dyadic MDPC码McEliece密码算法的过程包括如下步骤:步骤1,构造Quasi‑Dyadic MDPC码:在有限域

【技术特征摘要】

1.一种安全轻量的McEliece公钥掩码加密方法,其特征在于,包括构造密钥体积小的Quasi-DyadicMDPC码McEliece密码算法、设计抗功耗分析的掩码防护方案;所述构造密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的过程包括如下步骤:步骤1,构造Quasi-DyadicMDPC码:在有限域上,设计中密度校验矩阵H;步骤2,利用步骤1生成的中密度校验矩阵H,生成公钥/私钥对:由通信的一方生成密钥,Quasi-DyadicMDPC纠错码参数[n,k,t],n表示码字长度,k表示线性分组码的每组信息组长度,既是维度,t表示码能纠错的位数,将公钥设计为准并矢矩阵;将私钥定义为:n阶置换矩阵P,k阶可逆矩阵S,r行n列校验矩阵H;步骤3,设计加密、解密部分:通信的另一方要发送消息给对方,设m为k比特明文,随机生成满足w(e)≤t的n比特纠错矢量e,w(*)表示*的汉明重量,计算密文c=mG′+e,将密文c发送给对方,G′是随机生成的n阶准并矢矩阵T的准并矢子矩阵;对方收到密文c后,进行解密,首先在密文c的右边乘以私钥转置矩阵PT,即c′=cPT,然后通过Quasi-DyadicMDPC码的快速译码算法得m*S的结果,最后右乘以私钥S的逆矩阵S-1恢复明文;所述设计抗功耗分析的掩码防护方案包括如下步骤:步骤4,域相乘非线性运算的掩码方法初始化:(1)假设a和b是两个敏感数据,令a=g(k),b=h(k),g(*)和h(*)为域F2的线性关系,k为域的随机数;(2)ai=g(ki),bi=h(ki),i∈[0:d],其中ai,bi和ki分别是a,b和k随机拆分成的d+1个份额;步骤5,根据定义1和定义2,引入随机数变量k和vi′,j,推导出公式其中:vi,j表示随机数;定义1为(f映射:),x、y表示敏感数据a、b;定义2为步...

【专利技术属性】

技术研发人员:韩牟,王运文,马世典,冯晓林,

申请(专利权)人:江苏大学,

类型:发明

国别省市:江苏,32

mceliece加密算法c语言,一种安全轻量的McEliece公钥掩码加密方法技术相关推荐

  1. 随机噪声的压制c语言,一种地震数据随机噪声压制方法及装置的制造方法

    一种地震数据随机噪声压制方法及装置的制造方法 [技术领域] [0001] 本发明涉及地震勘探领域,尤其涉及一种地震数据随机噪声压制方法及装置. [背景技术] [0002] 按噪声在地震剖面上出现的特征 ...

  2. orb特征 稠密特征_一种基于ORB-SLAM2的双目三维稠密建图方法技术

    本发明专利技术公开了一种基于ORB‑SLAM2的双目稠密建图方法,涉及机器人同步定位与地图创建领域,该方法主要由跟踪线程.局部地图线程.闭环检测线程和稠密建图线程组成.其中稠密建图线程包含以下步骤:1 ...

  3. EasyConfig配置中心,一种很轻量很好用的配置方式

    相信大家在开发的过程中,都会遇到部署不同环境,配置相同变量,相同参数,却不同值的情况吧,日常生活中,简单说,只要是工作一两年以上的都是接触过服务器,哪怕没有接触过服务器,那么也写过配置文件,针对以上情 ...

  4. 阿里云轻量服务器远程连接方法(三种)

    阿里云轻量应用服务器如何远程链接?轻量服务器远程连接三种方法,浏览器登录阿里云轻量服务器控制台远程连接.SSH客户端密钥连接或者使用账号密码远程连接,阿里云服务器网以阿里云轻量服务器Linux系统为例 ...

  5. python自带的对称算法_一种基于对称算法和专用加载模块的Python程序模块加密方法...

    一种基于对称算法和专用加载模块的Python程序模块加密方法 [专利说明]一种基于对称算法和专用加载模块的Python程序模块加密方法 技术领域 [0001]本发明涉及一种网络安全技术,具体涉及一种P ...

  6. 你玩过轻量系统软总线应用吗?

    项目概述 可能有些同学已经接触过了标准系统上的软总线应用开发,但是你玩过轻量系统上的软总线应用吗?现在它来了.我们利用OpenAtom OpenHarmony 3.1 Release(以下简称&quo ...

  7. ES搜索--轻量搜索语法

    一.引言 现在,我们已经学会了如何使用 Elasticsearch 作为一个简单的 NoSQL 风格的分布式文档存储系统.我们可以将一个 JSON 文档扔到 Elasticsearch 里,然后根据 ...

  8. 即插即用的轻量注意力机制ECA--Net

    论文名:ECA-Net: Effificient Channel Attention for Deep Convolutional Neural Networks 论文:https://arxiv.o ...

  9. 使用Brighter实现轻量型独立管道

    前言 上次,我们介绍了使用MediatR的Behaviors功能,在业务层实现管道模式.(<为什么应该在业务层实现管道模式,而不用ASP.NET Core Middleware实现 | 2点原因 ...

最新文章

  1. C/C++ 32位/64位 sizeof(数据类型)
  2. java类加载器_JAVA类加载器
  3. 替代java参数_java – 使用Void作为可选参数的更好的替代方法
  4. 2010 北大软件及微电子学院 《软件实现技术》小组博客
  5. 《Ext JS权威指南》——1.2节JSON概述
  6. php psockopen,基于php socket(fsockopen)的应用实例分析
  7. 深入剖析ORACLE数据库备份与恢复的原理
  8. ERP软件管理持续升级 抢占产业先机
  9. typora 有道云笔记_有道云—目前最好用的免费笔记
  10. 是不是胖了c语言程序,C语言:到底是不是太胖了
  11. Android TV开发总结(一)构建一个TV app前要知道的事儿
  12. Linux命令详解词典高频命令(1)
  13. libyuv 再次封装打包与测试
  14. Mil学习之 MimArith 图片逻辑运算
  15. 文字转语音软件哪个好,这一款值得推荐
  16. 二、使用Stream流的方式完成过滤操作
  17. haproxy代理https配置方法【转】
  18. 万洲金业集结全面行业优势 打造贵金属产品理财矩阵
  19. C语言查询ask码的函数,ask码(字符转成ascii码)
  20. window10系统onedrive无法登陆 ox8004def7

热门文章

  1. 信息化与工业化融合的内涵、层次和方向
  2. 将javascript嵌入项目中
  3. rabbitmq docker
  4. java ee 第二周作业 web应用后台运行过程
  5. 编程不需要天赋和激情
  6. Linux nm命令
  7. STM32应用笔记转载
  8. spring 第一篇(1-3):鸟瞰spring蓝图
  9. CYYMysql 源码解读 3
  10. uniapp打包安装后提示_本应用使用HBuilderX 2.8.12 或对应的cli版本编译,而手机端SDK版本是2.8.13---基于Vue的uniapp手机端_前端UI_uview工作笔记007