一种基于掩码的彩虹签名装置和方法与流程

文档序号:16245012发布日期:2018-12-11 23:29阅读:414来源:国知局
一种基于掩码的彩虹签名装置和方法与流程

本发明涉及数字签名领域,特别涉及一种基于掩码的彩虹签名装置和方法。

背景技术

数字签名是一种防止伪造的签名方式,采用公钥密码算法对物理签名进行计算。数字签名的原理是,只有信息的发送方才能产生他人无法伪造的一段数字串,这段数字串同时也是对信息的发送方发送信息真实性的一个有效证明。数字签名一般包括两类运算:签名运算和验证运算。发送方持有私钥对信息进行签名,收到方持有公钥对签名进行认证。数字签名一般可以采用rsa、ecc等签名算法,但这些算法在量子计算机问世后将可能不再安全。所以,研究量子计算攻击免疫的数字签名算法已经成为信息安全领域的热点。

在量子计算攻击免疫的数字签名算法中,彩虹签名算法是非常重要的一类公钥密码算法。它的安全性建立在一个np-hard问题的基础上,这个困难问题是求解有限域的多元多次方程组。彩虹签名被广泛用于文件签名、身份认证等。对于现有的彩虹签名技术,易遭受侧信道攻击。针对加密电子设备在运行过程中的时间消耗、功率消耗或电磁辐射之类的侧信道信息泄露而对加密设备进行攻击的方法被称为侧信道攻击。这类新型攻击的有效性远高于密码分析的数学方法,因此给密码设备带来了严重的威胁。



技术实现要素:

为了克服现有技术的上述缺点与不足,本发明的目的在于提供一种基于掩码的彩虹签名装置,能够抵御侧信道攻击,具有速度快、安全级别高、能够抵御量子计算机攻击的特点。

本发明的另一目的在于提供基于上述彩虹签名装置的彩虹签名方法。

本发明的目的通过以下技术方案实现:

一种基于掩码的彩虹签名装置,包括:

消息签名管理器,包括消息模块和签名模块,用于获得消息向量和存储签名向量;

密钥管理器,包括仿射密钥和中心密钥,用于获得仿射密钥矩阵和向量、获得中心密钥矩阵;

光敏随机数发生器,用于将采集到的实时光敏数据转换成随机数;

湿度随机数发生器,用于将采集到的湿度数据转换成随机数;

向量加法器,包括第一向量加法模块和第二向量加法模块;

矩阵向量乘法器,包括第一矩阵向量模块和第二矩阵向量模块;

多项式求和运算器,包括加法模块和乘法模块;

方程组求解运算器,包括归一模块和消元模块。

中央处理器,包括密码处理器和接口控制器,用于调用其他模块和输出签名向量。

所述消息模块存储从输入端口输入的消息y=y(y0,y1,...,ym-1),每个元素代表一个字节,均是特定有限域gf(28)的元素,待签名的信息共m字节,m为正整数。

签名模块存储计算的签名x=x(x0,x1,...,xn-1),每个元素代表一个字节,均是特定有限域gf(28)的元素,待签名的信息共n字节,n为正整数。

所述仿射密钥由l1,l2组成;

l1是一个线性放射变换,可以表示为:

y=ax+b,a是m×m的矩阵,b是宽度为m的向量,矩阵和向量的每个元素均是特定有限域gf(28)的元素;

l2是一个线性放射变换,可以表示为:

y=cx+d,c是n×n的矩阵,d是宽度为n的向量,矩阵和向量的每个元素均是特定有限域gf(28)的元素。

所述中心密钥由f组成;

f是一个中心映射变换,包括多个多元二次多项式的系数。

所述光敏随机数发生器包括光敏传感器模块和光敏随机数模块;所述光敏传感器模块用于采集实时光敏数据;所述光敏随机数模块用于将光敏数据转换成随机数。

所述湿度随机数发生器包括湿度传感器模块和湿度随机数模块;所述湿度传感器模块用于采集实时湿度数据;所述湿度随机数模块将湿度数据转换成随机数。

所述接口控制器由输入端口a和b、输出端口c组成,输入端口a、b和输出端口c均是单字节宽度;其中,输入端口a用于接收待签名的信息或私钥;输入端口b用于接收待签名的信息或私钥,输出端口c用于输出签名;

输入端口a、b和输出端口c可以表示为:

a=a(a0,a1,...,a7);

b=b(b0,b1,...,b7);

c=c(c0,c1,...,c7)。

所述基于掩码的彩虹签名装置的彩虹签名方法,包括以下步骤:

(1)使用者通过中央处理器的接口控制器输入待签名的信息y=y(y0,y1,...,ym-1)和私钥l1,l2,f;中央处理器接收待签名的信息和私钥;

(2)中央处理器调用消息签名管理器,消息模块获得消息向量y=y(y0,y1,...,ym-1);

(3)中央处理器调用光敏随机数发生器,生成随机向量y'=y'(y'0,y'1,...,y'm-1);

(4)中央处理器调用向量加法器,第一向量加法模块计算y”=y+y';

(5)中央处理器调用密钥管理器,获得仿射密钥矩阵a和向量b;

(6)中央处理器调用矩阵向量乘法器和向量加法器,第一矩阵向量模块和第一向量加法模块计算

(7)中央处理器调用矩阵向量乘法器,第一矩阵向量模块计算

(8)中央处理器调用向量加法器,第一向量加法模块计算

(9)中央处理器调用密钥管理器,获得中心密钥矩阵f;

(10)中央处理器调用湿度随机数发生器,生成第一层彩虹的醋随机向量;

(11)中央处理器调用多项式求和运算器和方程组求解运算器,f带入多项式系数,第一层彩虹的醋随机向量代入多项式,加法模块和乘法模块计算中心映射变换

(12)中央处理器调用光敏随机数发生器,生成随机向量

(13)中央处理器调用向量加法器,第二向量加法模块计算

(14)中央处理器调用密钥管理器,获得仿射密钥矩阵c和向量d;

(15)中央处理器调用矩阵向量乘法器,第二矩阵向量模块计算

(16)中央处理器调用矩阵向量乘法器和向量加法器,第二矩阵向量模块和第二向量加法模块计算

(17)中央处理器调用向量加法器,第二向量加法模块计算x=x'+x”.;

(18)中央处理器调用消息签名管理器,签名模块存储签名向量x=x(x0,x1,...,xn-1);

将x=x(x0,x1,...,xn-1)输出至中央处理器的接口控制器。

与现有技术相比,本发明具有以下优点和有益效果:

本发明能够进行彩虹数字签名运算,密钥通过随机数进行掩码,能够抵御侧信道攻击,具有速度快、安全级别高、能够抵御量子计算机攻击等特点。

附图说明

图1为本发明的实施例的基于掩码的彩虹签名装置的结构示意图。

具体实施方式

下面结合实施例,对本发明作进一步地详细说明,但本发明的实施方式不限于此。

实施例

如图1所示,本实施例的一种基于掩码的彩虹签名装置包括中央处理器、消息签名管理器、密钥管理器、光敏随机数发生器、湿度随机数发生器、向量加法器、矩阵向量乘法器、多项式求和运算器和方程组求解运算器。

其中,消息签名管理器,包括消息模块和签名模块;所述消息模块存储从输入端口输入的消息y=y(y0,y1,...,ym-1),每个元素代表一个字节,均是特定有限域gf(28)的元素,待签名的信息共m字节,m为正整数;签名模块存储计算的签名x=x(x0,x1,...,xn-1),每个元素代表一个字节,均是特定有限域gf(28)的元素,待签名的信息共n字节,n为正整数。

密钥管理器,包括仿射密钥和中心密钥,用于获得仿射密钥矩阵和向量、获得中心密钥矩阵;

所述仿射密钥由l1,l2组成;l1是一个线性放射变换,可以表示为:y=ax+b,a是m×m的矩阵,b是宽度为m的向量,矩阵和向量的每个元素均是特定有限域gf(28)的元素;

l2是一个线性放射变换,可以表示为:

y=cx+d,c是n×n的矩阵,d是宽度为n的向量,矩阵和向量的每个元素均是特定有限域gf(28)的元素;

所述中心密钥由f组成;

f是一个中心映射变换,包括多个多元二次多项式的系数。

光敏随机数发生器,所述光敏随机数发生器包括光敏传感器模块和光敏随机数模块;所述光敏传感器模块用于采集实时光敏数据;所述光敏随机数模块用于将光敏数据转换成随机数。

湿度随机数发生器,所述湿度随机数发生器包括湿度传感器模块和湿度随机数模块;所述湿度传感器模块用于采集实时湿度数据;所述湿度随机数模块将湿度数据转换成随机数。

向量加法器,包括第一向量加法模块和第二向量加法模块;

矩阵向量乘法器,包括第一矩阵向量模块和第二矩阵向量模块;

多项式求和运算器,包括加法模块和乘法模块;

方程组求解运算器,包括归一模块和消元模块。

中央处理器,包括密码处理器和接口控制器,用于调用其他模块和输出签名向量;所述接口控制器由输入端口a和b、输出端口c组成,输入端口a、b和输出端口c均是单字节宽度;其中,输入端口a用于接收待签名的信息或私钥;输入端口b用于接收待签名的信息或私钥,输出端口c用于输出签名;

输入端口a、b和输出端口c可以表示为:

a=a(a0,a1,...,a7);

b=b(b0,b1,...,b7);

c=c(c0,c1,...,c7)。

所述基于掩码的彩虹签名装置的彩虹签名方法,其特征在于,包括以下步骤:

(1)使用者通过中央处理器的接口控制器输入待签名的信息y=y(y0,y1,...,ym-1)和私钥l1,l2,f;中央处理器接收待签名的信息和私钥;

(2)中央处理器调用消息签名管理器,消息模块获得消息向量y=y(y0,y1,...,ym-1);

(3)中央处理器调用光敏随机数发生器,生成随机向量y'=y'(y'0,y'1,...,y'm-1);

(4)中央处理器调用向量加法器,第一向量加法模块计算y”=y+y';

(5)中央处理器调用密钥管理器,获得仿射密钥矩阵a和向量b;

(6)中央处理器调用矩阵向量乘法器和向量加法器,第一矩阵向量模块和第一向量加法模块计算

(7)中央处理器调用矩阵向量乘法器,第一矩阵向量模块计算

(8)中央处理器调用向量加法器,第一向量加法模块计算

(9)中央处理器调用密钥管理器,获得中心密钥矩阵f;

(10)中央处理器调用湿度随机数发生器,生成第一层彩虹的醋随机向量;

(11)中央处理器调用多项式求和运算器和方程组求解运算器,f带入多项式系数,第一层彩虹的醋随机向量代入多项式,加法模块和乘法模块计算中心映射变换

(12)中央处理器调用光敏随机数发生器,生成随机向量

(13)中央处理器调用向量加法器,第二向量加法模块计算

(14)中央处理器调用密钥管理器,获得仿射密钥矩阵c和向量d;

(15)中央处理器调用矩阵向量乘法器,第二矩阵向量模块计算

(16)中央处理器调用矩阵向量乘法器和向量加法器,第二矩阵向量模块和第二向量加法模块计算

(17)中央处理器调用向量加法器,第二向量加法模块计算x=x'+x”.;

(18)中央处理器调用消息签名管理器,签名模块存储签名向量x=x(x0,x1,...,xn-1);

(19)将x=x(x0,x1,...,xn-1)输出至中央处理器的接口控制器。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1