一种基于多变量密码技术的在线离线签名系统及方法

文档序号:9491662阅读:356来源:国知局
一种基于多变量密码技术的在线离线签名系统及方法
【技术领域】
[0001] 本发明涉及信息安全领域,特别涉及一种基于多变量密码技术的在线离线签名系 统及方法。
【背景技术】
[0002] 一方面,密码技术是信息安全的核心和基础,广泛应用于网络通信、电子商务、银 行、国防军事等领域。密码技术包括对称密码和非对称密码,非对称密码也称为公钥密码。 目前公钥密码的安全性主要依赖于大整数分解和离散对数求解等困难问题,如RSA、ECC 等。但是自提出在量子计算机上能够实现大整数分解和离散对数求解的方法后,这类传统 的公钥密码便受到巨大的威胁,影响到各个行业。因此,人们致力于寻找一种能够抵御量子 计算机攻击的密码系统以满足信息安全的需求,并将这类系统称为后量子密码,而多变量 公钥密码便是其中的一种。
[0003] 另一方面,无线系统由部署于监测区域的多个消息签名端组成,通过无线方式进 行通信。该网络最大的特点有:自组织,节点较廉价,节点功耗低,网络拓扑动态变化等。无 线系统中部署的节点存在很大的安全漏洞,容易被攻击者实行物理操纵。针对消息签名端 的安全漏洞,我们可以通过一些合理的技术方案来进行弥补,例如可以通过数字签名方案 来解决这一问题。那么什么样类型的数字签名方案会适用于无线系统呢?首当其冲的当然 是安全性,如果签名容易被伪造,那么整个方案都是毫无意义的;再者,我们要考虑消息签 名端的计算能力,能耗以及存储空间,尽量选择对消息签名端性能不会造成很大影响的签 名方案。综合考虑安全性以及能耗,存储空间,多变量公钥密码体制(MPKC)是一个不错的 选择,此外,为更进一步减少无线消息签名端上签名过程的计算开销和存储开销,在线/离 线签名方案是一个更好的选择,该方案可以通过把更多的计算和存储放在离线阶段,并由 无线系统中的KDC端进行执行,而把实际的签名过程放在在现阶段,由传感器操作。从而更 大程度的使得签名方案契合系统的特点。
[0004] 但是,目前而言,对多变量公钥密码的在线/离线签名方案尚未被人提出过,且用 在无线系统上的多变量签名系统也未被人实现过。

【发明内容】

[0005] 本发明的目的在于克服现有技术的缺点与不足,提供一种基于多变量密码技术的 在线离线签名系统。
[0006] 本发明的另一目的在于提供一种基于多变量密码技术的在线离线签名方法。
[0007] 本发明的目的通过以下的技术方案实现:
[0008] -种基于多变量密码技术的在线离线签名系统,包括
[0009] KDC端(KDC即密钥分发中心),用于实现对KDC端进行搭建,其包含顺序相连的密 钥生成模块、离线签名模块和验证模块;其中密钥生成模块产生一个减少了公钥长度的公 私钥对;离线签名模块包含随机消息及醋变量生成部件和UOV签名部件,随机消息及醋变 量生成部件生成随机消息和醋变量的取值并传递到UOV签名部件进行签名,UOV签名部件 返回消息和对应的签名,同时把结果发送到消息签名端保存;验证模块包含公钥变换部件, 将签名传输到公钥变换部件中,签名代入公钥映射里的各个多变量多项式,判断所得数据 是否与存储器中的消息相等:若相等,则该签名有效,若不相等,则该签名无效;
[0010] 以及消息签名端,用于对系统的KDC端进行搭建,包含在线签名模块和验证模块; 在线签名模块包含顺序相连的仿射变换部件、线性转换部件和仿射变换求逆部件,待签名 的消息依次经过仿射变换、线性转换、仿射变换求逆运算后,产生的签名和该消息一起传输 给验证模块;验证模块包含公钥变换部件,签名传输到公钥变换部件,将签名代入公钥映射 里的各个多变量多项式,判断所得数据是否与存储器中的消息相等:若相等,则该签名有 效,若不相等,则该签名无效。
[0011] 设计中,由于功能和设计部件完全相同,KDC端的验证模块和消息签名端的验证模 块共用同一个验证模块。
[0012] 所述的密钥生成模块包含顺序相连的UOV参数生成部件、公钥长度减少及密钥计 算部件;其中UOV参数生成部件来自一个基本的UOV签名方案,当需要调用该部件时,调用 部件嵌套的生成算法,生成UOV的系统参数;公钥长度减少及密钥计算部件,包含一个减少 UOV公钥的算法和一个密钥计算算法,当调用该部件时,KDC端输入系统参数,并输出对应 的UOV公私钥对。
[0013] 所述的基于多变量密码技术的在线离线签名系统,还包含选择器,当选择器处于 开状态时,系统的签名模块工作,当选择器处于闭状态时,系统的验证模块工作。在一般的 签名/验证系统里,用户一用签名模块对待签名的消息进行签名处理,形成签名后,将它和 原消息传输给用户二,用户二用验证模块验证签名是否有效,二者构成一个整体的签名/ 验证系统,反过来一样,用户二用签名模块签名,形成签名后,将它和原消息传输给用户一, 用户一用验证模块验证签名是否有效,因此同一个用户需要同时具备两个不同的、独立的 装置,即签名模块、验证模块,才可以满足需求,这给用户带来不便;而所述的多变量公钥签 名/验证系统采用包含选择器的方案,同一用户只需要同一个装置,用户根据自己的需要 选择装置进行签名或者验证,非常方便。
[0014] 所述的基于多变量密码技术的在线离线签名系统,还包含与选择器相连的调度 器,选择器的开状态、闭状态由调度器识别、处理,存储的数据由调度器控制、调度到各个相 应的部件进行相应的操作。
[0015] 本发明的另一目的通过以下的技术方案实现:
[0016] 一种基于多变量密码技术的在线离线签名方法,包含以下顺序的步骤:
[0017] (I)KDC端进行密钥生成过程:
[0018] a、收到一个安全参数后,KDC端将对整个系统使用的密钥进行生成;
[0019] b、在生成密钥的过程中,系统需要用到一个公钥减少算法,通过该算法可以实现 减少了长度的公钥P的设计;
[0020] C、根据上述设计的公钥,随机生成一个仿射变换T,然后计算出对应的Q ;
[0021] d、最终所得的结果作为系统需要用到的公私钥,处理器将该消息及其签名一起传 输给终端用户;
[0022] (2)签名过程:
[0023] a、首先在KDC端里进行离线签名过程,离线签名过程产生的结果将被存储在下一 步需要进行在线签名的消息签名端里;
[0024] b、收到待签名的消息后,消息签名端将消息作为输入,并进行在线签名过程,最后 产生对应的签名;
[0025] (3)验证过程:
[0026] a、验证过程可以运行在KDC端或者消息签名端上,消息及其签名被传输到对应的 处理器,处理器存储消息及其签名后,再将签名传输到公钥变换部件;
[0027] b、公钥变换部件将签名代入公钥映射的各个多变量多项式里,所得的数据返回 给处理器,处理器判断该数据与存储的的消息是否相等:若相等,处理器向终端用户输出 "1",说明签名有效;若不相等,处理器向终端用户输出"〇",说明签名无效。
[0028] 步骤(2)中,所述的离线签名过程包括以下步骤:
[0029] a、给定对应的密钥Q和T,在离线签名过程,处理器首先随机生成〇+1个消息 On1, m2, . . .,nw),消息长度为〇,然后处理器随机选择一个醋变量向量值xve k v,然后利用 这个醋变量向量,运行一个原始的UOV签名算法对这〇+1个消息进行签名,所得结果为(ce rt 1; cert2,. . . , cert0+1);
[0030] b、然后将(III1, m2, · · · , 111。+1)和(Cert1, cert2, · · · , cert。+!)传输到消息签名端里储 存,该参数将作为传感器在线签名的一部分输入。
[0031] 步骤(2)中,所述的在线签名过程包括以下步骤:
[0032] a、给定待签名的消息m e k°,在在线签名过程,消息签名端首先为 (Cert1, cert2, · · ·,certQ+1)进行 T 仿射变换,即计算'certg. =_?:1.,…,
[0033] b、对消息On1, m2,…,nw)和,__·,〇,分别用它们的前ο项减去第 〇+1项,即:
[0034] (m/ = mfm。+" · · ·,m。,= m0_m0+1)和=
[0035] c、令m' = In-Iiv1,为m'构建一个以(m/,m2',…,m。')为基的任意的线性组合,记 m/
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1