CN114760076B - 基于多种不同公钥密码体制的异构工业物联网认证方法 - Google Patents

基于多种不同公钥密码体制的异构工业物联网认证方法 Download PDF

Info

Publication number
CN114760076B
CN114760076B CN202210668043.1A CN202210668043A CN114760076B CN 114760076 B CN114760076 B CN 114760076B CN 202210668043 A CN202210668043 A CN 202210668043A CN 114760076 B CN114760076 B CN 114760076B
Authority
CN
China
Prior art keywords
signature
devices
rsa
equipment
ring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210668043.1A
Other languages
English (en)
Other versions
CN114760076A (zh
Inventor
谭作文
焦金涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangxi University of Finance and Economics
Original Assignee
Jiangxi University of Finance and Economics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangxi University of Finance and Economics filed Critical Jiangxi University of Finance and Economics
Priority to CN202210668043.1A priority Critical patent/CN114760076B/zh
Publication of CN114760076A publication Critical patent/CN114760076A/zh
Application granted granted Critical
Publication of CN114760076B publication Critical patent/CN114760076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/50Safety; Security of things, users, data or systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提出一种基于多种不同公钥密码体制的异构工业物联网认证方法,在设置阶段分别为工业物联网环境中RSA公钥密码体制、离散对数(DL)公钥密码体制、椭圆曲线公钥密码体制(ECC)以及格公钥密码体制生成对应的群及哈希函数作为系统公共参数;分别为使用RSA公钥密码体制、离散对数公钥密码体制、椭圆曲线公钥密码体制以及格公钥密码体制的设备生成公私钥对;选定n个不同类型的设备并按顺序组成环,环成员通过离线和在线两个阶段的依次计算,最后形成环签名;环签名接收者可对签名的有效性进行验证。本发明能够同时支持所有常见密码系统,并有效防止工业物联网中传输和存储的消息被有意无意的篡改、保护消息发送者身份隐私。

Description

基于多种不同公钥密码体制的异构工业物联网认证方法
技术领域
本发明涉及工业物联网设备认证技术领域,特别涉及基于多种不同公钥密码体制的异构工业物联网认证方法。
背景技术
目前,工业物联网是物联网领域最重要应用方向之一,借助传感器、无线通信以及人工智能等技术,工业物联网提升了传统产业的智能化程度,极大地提高了工厂的生产率和产品质量,同时降低了生产成本与资源消耗。
大规模工业物联网涉及到机器人、传感器以及智能工具等设备,各设备之间常常需要保持通信。因此,如何有效对设备进行认证是至关重要的。若无法对设备实施认证,则敌手可能冒充设备发送虚假消息,或者篡改消息,对工业物联网安全造成巨大的影响。数字签名是一种最常用的认证方式,在收到签名后,签名接收方利用签名设备的公钥对其进行有效性验证。由于公钥和设备是一一对应的,这种方式会泄露设备身份信息,从而产生隐私泄露问题。
为了实现签名有效性验证的同时隐藏设备的身份信息,常常采用环签名。通过环签名,只能确定签名者是否为环成员,但不能确定实际签名者。一般的环签名方案要求环成员采用同一种密码系统。目前,已知的基于不同密码系统的认证方案,仅仅考虑了环成员采用RSA公钥密码体制和离散对数公钥密码体制等两种密码系统。在工业物联网环境,不同设备之间存在巨大的差异,所采用的密码系统也千差万别,使用的密码系统可能涉及RSA公钥密码体制、离散对数公钥密码体制和椭圆曲线公钥密码体制等。同时近几年来,随着量子计算机的发展,其强大计算能力对传统公钥密码体制的威胁越来越大,后量子密码算法越来越受到关注。随着工业物联网技术的发展,设备的存储、运算能力逐渐增强,足以支撑后量子密码算法。
因此,如何构建一种兼容所有常见密码系统,如支持RSA公钥密码体制、离散对数公钥密码体制、椭圆曲线公钥密码体制等传统密码系统和后量子密码系统如格公钥密码体制的环签名方案,是一个亟待解决的问题。基于此,为了防止工业物联网中传输和存储的消息被有意无意的篡改、保护消息发送者身份隐私,有必要提出一种基于密码系统异构的工业物联网的认证方法,能够同时支持所有常见密码系统,如RSA、DL、ECC和Lattice等密码系统,从而解决上述技术问题。
发明内容
鉴于上述状况,本发明的主要目的是为了提出基于多种不同公钥密码体制的异构工业物联网认证方法,以解决上述技术问题。
本发明实施例提出一种基于多种不同公钥密码体制的异构工业物联网认证方法,其中,所述方法包括如下步骤:
步骤一,初始化:
通过密钥生成中心为工业物联网环境中的不同类型密码设备生成对应的群并构造对应的哈希函数,将所述群以及所述哈希函数作为系统公共参数;其中所述密码设备的类型至少包括RSA类设备、DL类设备、ECC类设备以及Lattice类设备,所述RSA类设备为使用RSA公钥密码体制的设备,所述DL类设备为使用离散对数公钥密码体制的设备,所述ECC类设备为椭圆曲线公钥密码体制的设备,所述Lattice类设备为格公钥密码体制的设备;
步骤二,生成密钥:
由所述密钥生成中心为工业物联网环境中的RSA类设备、DL类设备、ECC类设备以及Lattice类设备生成对应的公私钥对;
步骤三,生成签名的离线计算阶段:
所述RSA类设备、所述DL类设备、所述ECC类设备以及所述Lattice类设备分别从整数乘法群或整数循环群中随机选取随机数,根据所述随机数计算得到对应的离线计算结果值;
步骤四,生成签名的在线计算阶段;
选取n台设备构成一环签名成员环,根据所述RSA类设备、所述DL类设备、所述ECC类设备以及所述Lattice类设备对应的公私钥对,以及对应的离线计算结果值进行在线计算以得到关于签名消息m的环签名;
步骤五,签名验证:
根据所述环签名成员环中的环成员排列顺序以及所述关于签名消息m的环签名验证签名的有效性。
本发明提出基于多种不同公钥密码体制的异构工业物联网认证方法,在设置阶段分别为工业物联网环境中RSA公钥密码体制、离散对数(DL)公钥密码体制、椭圆曲线公钥密码体制(ECC)以及格公钥密码体制生成对应的群及哈希函数作为系统公共参数;为分别使用RSA公钥密码体制、离散对数公钥密码体制、椭圆曲线公钥密码体制以及格公钥密码体制的设备生成公私钥对;选定n个不同类型的设备并按顺序组成环,环成员通过离线和在线两个阶段的依次计算,最后形成环签名;环签名接收者可对签名的有效性进行验证。本发明能够同时支持所有常见密码系统,如RSA公钥密码体制、离散对数公钥密码体制、椭圆曲线公钥密码体制以及格公钥密码体制等,并有效防止工业物联网中传输和存储的消息被有意无意的篡改、保护消息发送者身份隐私。
所述基于多种不同公钥密码体制的异构工业物联网认证方法,其中,在所述步骤一中,通过密钥生成中心为工业物联网环境中的不同类型密码设备生成对应的群的方法包括:
为DL类设备生成DL类型群
Figure 46993DEST_PATH_IMAGE001
;其中,
Figure 495292DEST_PATH_IMAGE002
为第一个大素数,
Figure 556920DEST_PATH_IMAGE003
为乘法群,
Figure 217709DEST_PATH_IMAGE004
为乘法群
Figure 828819DEST_PATH_IMAGE003
的生成元;
为ECC类设备生成ECC类型群
Figure 916860DEST_PATH_IMAGE005
;其中,
Figure 229899DEST_PATH_IMAGE006
Figure 694378DEST_PATH_IMAGE007
阶循环群,
Figure 159995DEST_PATH_IMAGE008
为群
Figure 684517DEST_PATH_IMAGE006
的生成元,
Figure 720737DEST_PATH_IMAGE007
为第二个大素数;
为Lattice类设备生成Lattice类型群
Figure 988908DEST_PATH_IMAGE009
;其中,
Figure 43451DEST_PATH_IMAGE010
为多项式环,
Figure 4454DEST_PATH_IMAGE011
为在多项式环
Figure 26506DEST_PATH_IMAGE010
中随机选取的一个非零元,
Figure 832788DEST_PATH_IMAGE012
为第三个大素数。
所述基于多种不同公钥密码体制的异构工业物联网认证方法,其中,在所述步骤一中,通过密钥生成中心为工业物联网环境中的不同类型密码设备构造对应的哈希函数的方法包括如下步骤:
为RSA类设备构造的RSA哈希函数表示为:
Figure 7417DEST_PATH_IMAGE013
;其中,
Figure 873742DEST_PATH_IMAGE014
为可将任意长度0、1组成的串映射到
Figure 884554DEST_PATH_IMAGE015
中的哈希函数,
Figure 494527DEST_PATH_IMAGE015
为环,
Figure 523663DEST_PATH_IMAGE016
Figure 826468DEST_PATH_IMAGE017
表示所有RSA类设备选取模数的最小值,
Figure 580970DEST_PATH_IMAGE018
表示第t个RSA类设备选取的模数,t表示RSA类设备最大序号;
为DL类设备构造的DL哈希函数表示为:
Figure 994634DEST_PATH_IMAGE019
;其中,
Figure 878277DEST_PATH_IMAGE020
为可将任意长度0、1组成的比特串映射到
Figure 351983DEST_PATH_IMAGE021
中的哈希函数,
Figure 71809DEST_PATH_IMAGE021
Figure 23584DEST_PATH_IMAGE022
阶整数群;
为ECC类设备构造的EC哈希函数表示为:
Figure 27312DEST_PATH_IMAGE023
;其中,
Figure 671920DEST_PATH_IMAGE024
为可将任意长度0、1组成的比特串映射到
Figure 377577DEST_PATH_IMAGE025
中的哈希函数,
Figure 133043DEST_PATH_IMAGE025
Figure 725699DEST_PATH_IMAGE026
阶整数循环群;
为Lattice类设备构造的Lattice哈希函数表示为:
Figure 541208DEST_PATH_IMAGE027
;其中,
Figure 235626DEST_PATH_IMAGE028
为可将任意长度0、1组成的比特串映射到
Figure 794783DEST_PATH_IMAGE029
中的哈希函数,
Figure 507524DEST_PATH_IMAGE029
Figure 962776DEST_PATH_IMAGE030
阶整数乘法群。
所述基于多种不同公钥密码体制的异构工业物联网认证方法,其中,在所述步骤二中,由密钥生成中心为工业物联网环境中的RSA类设备、DL类设备、ECC类设备以及Lattice类设备生成对应的公私钥对的方法包括如下步骤:
对于RSA类设备,RSA类设备的私钥为
Figure 643025DEST_PATH_IMAGE031
,RSA类设备的公钥为
Figure 537032DEST_PATH_IMAGE032
其中,
Figure 369858DEST_PATH_IMAGE033
为RSA类设备的私钥表示符,
Figure 12323DEST_PATH_IMAGE034
为RSA类设备的公钥表示符,
Figure 930601DEST_PATH_IMAGE035
为RSA类设备i的私钥,
Figure 565982DEST_PATH_IMAGE036
为RSA类设备i的公钥,
Figure 987736DEST_PATH_IMAGE037
为RSA类设备i在计算过程中用到的模数,
Figure 361954DEST_PATH_IMAGE038
Figure 236369DEST_PATH_IMAGE039
为RSA类设备i选取的第四个大素数,
Figure 941020DEST_PATH_IMAGE040
为RSA类设备i选取的第五个大素数,且满足公式
Figure 233592DEST_PATH_IMAGE041
Figure 529444DEST_PATH_IMAGE042
Figure 156735DEST_PATH_IMAGE043
表示欧拉函数,
Figure 648765DEST_PATH_IMAGE044
表示取模运算符,
Figure 45111DEST_PATH_IMAGE045
表示求最大公约数的函数;
对于DL类设备,DL类设备i的私钥为
Figure 715127DEST_PATH_IMAGE046
,DL类设备i的公钥为
Figure 829713DEST_PATH_IMAGE047
其中,
Figure 361320DEST_PATH_IMAGE048
为DL类设备i的私钥表示符,
Figure 877752DEST_PATH_IMAGE049
为DL类设备i的公钥表示符,
Figure 718669DEST_PATH_IMAGE050
为DL类设备i的私钥,
Figure 54972DEST_PATH_IMAGE051
为DL类设备i的公钥,且满足公式
Figure 888805DEST_PATH_IMAGE052
Figure 271562DEST_PATH_IMAGE050
Figure 95161DEST_PATH_IMAGE054
中随机抽取得到;
对于ECC类设备,ECC类设备i的私钥为
Figure 234150DEST_PATH_IMAGE055
,ECC类设备i的公钥为
Figure 459595DEST_PATH_IMAGE056
其中,
Figure 642315DEST_PATH_IMAGE057
为ECC类设备i的私钥表示符,
Figure 218789DEST_PATH_IMAGE058
为ECC类设备i的公钥表示符,
Figure 394425DEST_PATH_IMAGE059
为ECC类设备i的私钥,
Figure 271114DEST_PATH_IMAGE060
为ECC类设备i的公钥,且满足公式
Figure 890314DEST_PATH_IMAGE061
Figure 439238DEST_PATH_IMAGE059
Figure 169297DEST_PATH_IMAGE062
中随机抽取得到,
Figure 103755DEST_PATH_IMAGE062
为去除零元的
Figure 893856DEST_PATH_IMAGE063
阶整数循环群;
对于Lattice类设备,Lattice类设备i的私钥为
Figure 428612DEST_PATH_IMAGE064
,Lattice类设备i的公钥为
Figure 696782DEST_PATH_IMAGE065
其中,
Figure 751326DEST_PATH_IMAGE066
为Lattice类设备i的私钥,
Figure 712328DEST_PATH_IMAGE067
为Lattice类设备i的公钥,
Figure 970265DEST_PATH_IMAGE068
为从多项式环
Figure 42127DEST_PATH_IMAGE010
中选取的第z个元素
Figure 951177DEST_PATH_IMAGE069
Figure 817502DEST_PATH_IMAGE070
为从多项式环
Figure 326849DEST_PATH_IMAGE010
中选取的第z个元素
Figure 936822DEST_PATH_IMAGE071
,且
Figure 762696DEST_PATH_IMAGE072
Figure 550654DEST_PATH_IMAGE070
满足公式
Figure 298030DEST_PATH_IMAGE073
,z为一个正整数。
所述基于多种不同公钥密码体制的异构工业物联网认证方法,其中,在所述步骤三中,所述RSA类设备、所述DL类设备、所述ECC类设备以及所述Lattice类设备分别从整数乘法群或整数循环群中随机选取随机数,根据所述随机数计算得到对应的离线计算结果值的方法包括如下步骤:
对于RSA类设备,从
Figure 711694DEST_PATH_IMAGE074
中随机选取RSA随机数
Figure 329757DEST_PATH_IMAGE075
,然后根据RSA随机数
Figure 52732DEST_PATH_IMAGE076
计算得到RSA离线计算结果值
Figure 287404DEST_PATH_IMAGE077
;其中,
Figure 973600DEST_PATH_IMAGE074
为去除零元的
Figure 977328DEST_PATH_IMAGE078
阶整数循环群,
Figure 107089DEST_PATH_IMAGE079
为RSA离线计算结果值;
对于DL类设备,从
Figure 563479DEST_PATH_IMAGE054
中随机选取DL随机数
Figure 318945DEST_PATH_IMAGE080
,然后根据DL随机数
Figure 177180DEST_PATH_IMAGE080
计算得到DL离线计算结果值
Figure 241956DEST_PATH_IMAGE081
;其中,
Figure 479220DEST_PATH_IMAGE082
为DL离线计算结果值;
对于ECC类设备,从
Figure 191961DEST_PATH_IMAGE062
中随机选取ECC随机数
Figure 929104DEST_PATH_IMAGE083
,然后根据ECC随机数
Figure 625664DEST_PATH_IMAGE083
计算得到ECC离线计算结果值
Figure 457354DEST_PATH_IMAGE084
;其中,
Figure 24602DEST_PATH_IMAGE085
为ECC离线计算结果值;
对于Lattice类设备,从多项式环
Figure 431181DEST_PATH_IMAGE010
中随机选取多个元素构成Lattice随机向量
Figure 349459DEST_PATH_IMAGE086
,根据Lattice随机向量
Figure 984839DEST_PATH_IMAGE086
和公钥
Figure 672172DEST_PATH_IMAGE087
的内积计算得到Lattice离线计算结果值
Figure 751118DEST_PATH_IMAGE088
;其中,
Figure 891112DEST_PATH_IMAGE089
为计算向量内积的函数,
Figure 595763DEST_PATH_IMAGE090
为Lattice离线计算结果值。
所述基于多种不同公钥密码体制的异构工业物联网认证方法,其中,在所述步骤四中,选取n台真实签名设备构成一个环签名成员环,并根据所述RSA类设备、所述DL类设备、所述ECC类设备以及所述Lattice类设备对应的公私钥对,以及对应的离线计算结果值进行在线计算以得到对应的关于签名消息m的最终签名结果。计算得到关于签名消息m的环签名的方法包括:
若真实签名设备
Figure 137603DEST_PATH_IMAGE091
为RSA类型,则从
Figure 682723DEST_PATH_IMAGE092
中随机选取值
Figure 310013DEST_PATH_IMAGE093
,其中
Figure 287196DEST_PATH_IMAGE093
为RSA类设备从
Figure 699854DEST_PATH_IMAGE092
中随机选取的值,
Figure 369870DEST_PATH_IMAGE092
为去除零元的
Figure 15615DEST_PATH_IMAGE094
阶整数循环群;若真实签名设备
Figure 45757DEST_PATH_IMAGE091
为DL类型,则从
Figure 562189DEST_PATH_IMAGE054
中随机选取值
Figure 137527DEST_PATH_IMAGE095
,其中,
Figure 739409DEST_PATH_IMAGE095
为DL类设备从
Figure 74707DEST_PATH_IMAGE054
中随机选取的值;若真实签名设备
Figure 445645DEST_PATH_IMAGE091
为ECC类型,则从
Figure 457464DEST_PATH_IMAGE062
中随机选取值
Figure 281063DEST_PATH_IMAGE096
,其中,
Figure 918587DEST_PATH_IMAGE096
为ECC类设备从
Figure 144032DEST_PATH_IMAGE062
中随机选取的值;若真实签名设备
Figure 326751DEST_PATH_IMAGE091
为Lattice类型,则从多项式环
Figure 903226DEST_PATH_IMAGE010
中随机选取多个元素构成向量
Figure 580326DEST_PATH_IMAGE097
通过真实签名设备
Figure 660278DEST_PATH_IMAGE091
计算得到真实签名设备的第一签名中间值
Figure 279478DEST_PATH_IMAGE098
,对应的计算公式为:
Figure 123675DEST_PATH_IMAGE099
(1)
其中,
Figure 588154DEST_PATH_IMAGE100
为取椭圆曲线上一点横坐标的函数;
通过真实签名设备
Figure 788191DEST_PATH_IMAGE091
,基于真实签名设备的第一签名中间值
Figure 578293DEST_PATH_IMAGE098
计算得到真实签名设备的第二签名中间值
Figure 348934DEST_PATH_IMAGE101
,对应的计算公式为:
Figure 882684DEST_PATH_IMAGE102
(2)
其中,
Figure 937227DEST_PATH_IMAGE103
为签名消息,
Figure 632651DEST_PATH_IMAGE104
为环签名成员环;
通过密码设备i计算得到密码设备的第三签名中间值
Figure 678140DEST_PATH_IMAGE105
,对应的计算公式为:
Figure 750001DEST_PATH_IMAGE106
(3)
其中,
Figure 659051DEST_PATH_IMAGE100
为取椭圆曲线上一点横坐标的函数;
通过密码设备i,根据密码设备的第三签名中间值
Figure 790955DEST_PATH_IMAGE105
为密码设备i+1计算得到密码设备的第四签名中间值
Figure 536188DEST_PATH_IMAGE107
,对应的计算公式为:
Figure 615003DEST_PATH_IMAGE108
(4)
其中,
Figure 440876DEST_PATH_IMAGE109
,且循环公式(3)与公式(4)计算最终得到真实签名设备的第五签名中间值
Figure 478103DEST_PATH_IMAGE110
Figure 474746DEST_PATH_IMAGE111
为密码设备i的第六签名中间值,n为环签名成员环的大小;
真实签名设备
Figure 888410DEST_PATH_IMAGE091
根据公式(5)计算得到真实签名设备
Figure 772052DEST_PATH_IMAGE091
的最终签名
Figure 980180DEST_PATH_IMAGE112
,对应的计算公式为:
Figure 700005DEST_PATH_IMAGE113
(5)
其中,关于签名消息m的环签名
Figure 917360DEST_PATH_IMAGE114
Figure 655509DEST_PATH_IMAGE115
为第一签名成分,
Figure 300117DEST_PATH_IMAGE116
为第二签名成分,
Figure 5774DEST_PATH_IMAGE117
为第n+1签名成分,n为环签名成员环的大小,
Figure 495661DEST_PATH_IMAGE118
为RSA类设备j的私钥,
Figure 353895DEST_PATH_IMAGE119
为DL类设备j的私钥,
Figure 169405DEST_PATH_IMAGE120
为ECC类设备j的私钥,
Figure 598243DEST_PATH_IMAGE121
为Lattice类设备j的私钥。
所述基于多种不同公钥密码体制的异构工业物联网认证方法,其中,在所述步骤五中,根据所述环签名成员环中的环成员排列顺序以及所述关于签名消息m的环签名验证签名的有效性的方法包括如下步骤:
对于密码设备i,
Figure 954138DEST_PATH_IMAGE122
,按照公式(6)计算得到密码设备的第一验证中间结果
Figure 666879DEST_PATH_IMAGE123
Figure 902557DEST_PATH_IMAGE124
(6)
其中,
Figure 333539DEST_PATH_IMAGE125
为关于签名消息m的环签名
Figure 165228DEST_PATH_IMAGE126
的第i+1签名成分;
对于密码设备i,
Figure 732476DEST_PATH_IMAGE127
,按照公式(7)计算得到密码设备的第二验证中间结果
Figure 640520DEST_PATH_IMAGE128
Figure 89956DEST_PATH_IMAGE129
(7)
循环执行公式(6)与公式(7),以计算得到
Figure 990916DEST_PATH_IMAGE130
,其中,
Figure 927517DEST_PATH_IMAGE130
为第三验证中间结果;
根据
Figure 255730DEST_PATH_IMAGE130
计算得到
Figure 130145DEST_PATH_IMAGE131
,其中,
Figure 569217DEST_PATH_IMAGE130
为第三验证中间结果,
Figure 861789DEST_PATH_IMAGE131
为第四验证中间结果,对应的计算公式为:
Figure 360903DEST_PATH_IMAGE132
(8)
Figure 988194DEST_PATH_IMAGE133
,则签名真实有效,验证通过,其中
Figure 230956DEST_PATH_IMAGE134
为关于签名消息m的环签名
Figure 938887DEST_PATH_IMAGE126
的第一签名成分。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实施例了解到。
附图说明
图1为本发明提出的基于多种不同公钥密码体制的异构工业物联网认证方法的流程图;
图2为本发明与现有方案的计算开销对比图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
请参阅图1,本发明提出一种基于多种不同公钥密码体制的异构工业物联网认证方法,其中,所述方法包括如下步骤:
S101,初始化。
通过密钥生成中心为工业物联网环境中的不同类型密码设备生成对应的群并构造对应的哈希函数,将所述群以及所述哈希函数作为系统公共参数;其中所述密码设备的类型至少包括RSA类设备、DL类设备、ECC类设备以及Lattice类设备,所述RSA类设备为使用RSA公钥密码体制的设备,所述DL类设备为使用离散对数公钥密码体制的设备,所述ECC类设备为椭圆曲线公钥密码体制的设备,所述Lattice类设备为格公钥密码体制的设备。
在步骤S101中,通过密钥生成中心为工业物联网环境中的不同类型密码设备生成对应的群的方法包括:
为DL类设备生成DL类型群
Figure 608903DEST_PATH_IMAGE001
;其中,
Figure 457910DEST_PATH_IMAGE002
为第一个大素数,
Figure 255096DEST_PATH_IMAGE003
为乘法群,
Figure 771528DEST_PATH_IMAGE004
为乘法群
Figure 612445DEST_PATH_IMAGE003
的生成元;
为ECC类设备生成ECC类型群
Figure 948748DEST_PATH_IMAGE005
;其中,
Figure 517002DEST_PATH_IMAGE006
Figure 887940DEST_PATH_IMAGE007
阶循环群,
Figure 899759DEST_PATH_IMAGE008
为群
Figure 988937DEST_PATH_IMAGE006
的生成元,
Figure 862347DEST_PATH_IMAGE007
为第二个大素数;
为Lattice类设备生成Lattice类型群
Figure 353371DEST_PATH_IMAGE009
;其中,
Figure 536090DEST_PATH_IMAGE010
为多项式环,
Figure 892991DEST_PATH_IMAGE011
为在多项式环
Figure 819359DEST_PATH_IMAGE010
中随机选取的一个非零元,
Figure 164890DEST_PATH_IMAGE012
为第三个大素数。
此外,在本步骤中,通过密钥生成中心为工业物联网环境中的不同类型密码设备构造对应的哈希函数的方法包括如下步骤:
为RSA类设备构造的RSA哈希函数表示为:
Figure 518511DEST_PATH_IMAGE013
;其中,
Figure 67435DEST_PATH_IMAGE014
为可将任意长度0、1组成的串映射到
Figure 797493DEST_PATH_IMAGE015
中的哈希函数,
Figure 731951DEST_PATH_IMAGE015
为环,
Figure 256474DEST_PATH_IMAGE016
Figure 791229DEST_PATH_IMAGE017
表示所有RSA类设备选取模数的最小值,
Figure 324979DEST_PATH_IMAGE018
表示第t个RSA类设备选取的模数,t表示RSA类设备最大序号;
为DL类设备构造的DL哈希函数表示为:
Figure 379522DEST_PATH_IMAGE135
;其中,
Figure 74946DEST_PATH_IMAGE136
为可将任意长度0、1组成的比特串映射到
Figure 598462DEST_PATH_IMAGE137
中的哈希函数,
Figure 467061DEST_PATH_IMAGE137
Figure 376111DEST_PATH_IMAGE138
阶整数群;
为ECC类设备构造的EC哈希函数表示为:
Figure 757283DEST_PATH_IMAGE023
;其中,
Figure 751784DEST_PATH_IMAGE024
为可将任意长度0、1组成的比特串映射到
Figure 361757DEST_PATH_IMAGE025
中的哈希函数,
Figure 125313DEST_PATH_IMAGE025
Figure 178851DEST_PATH_IMAGE026
阶整数循环群;
为Lattice类设备构造的Lattice哈希函数表示为:
Figure 660648DEST_PATH_IMAGE027
;其中,
Figure 74312DEST_PATH_IMAGE028
为可将任意长度0、1组成的比特串映射到
Figure 3959DEST_PATH_IMAGE029
中的哈希函数,
Figure 477666DEST_PATH_IMAGE029
Figure 446759DEST_PATH_IMAGE030
阶整数乘法群。
S102,生成密钥。
由所述密钥生成中心为工业物联网环境中的RSA类设备、DL类设备、ECC类设备以及Lattice类设备生成对应的公私钥对。
在步骤S102中,由密钥生成中心为工业物联网环境中的RSA类设备、DL类设备、ECC类设备以及Lattice类设备生成对应的公私钥对的方法包括如下步骤:
对于RSA类设备,RSA类设备的私钥为
Figure 664114DEST_PATH_IMAGE031
,RSA类设备的公钥为
Figure 152995DEST_PATH_IMAGE032
其中,
Figure 797603DEST_PATH_IMAGE033
为RSA类设备的私钥表示符,
Figure 253992DEST_PATH_IMAGE034
为RSA类设备的公钥表示符,
Figure 743879DEST_PATH_IMAGE035
为RSA类设备i的私钥,
Figure 851381DEST_PATH_IMAGE036
为RSA类设备i的公钥,
Figure 401312DEST_PATH_IMAGE037
为RSA类设备i在计算过程中用到的模数,
Figure 344997DEST_PATH_IMAGE038
Figure 451624DEST_PATH_IMAGE039
为RSA类设备i选取的第四个大素数,
Figure 164365DEST_PATH_IMAGE040
为RSA类设备i选取的第五个大素数,且满足公式
Figure 150776DEST_PATH_IMAGE041
Figure 316178DEST_PATH_IMAGE042
Figure 616709DEST_PATH_IMAGE043
表示欧拉函数,
Figure 495541DEST_PATH_IMAGE044
表示取模运算符,
Figure 652853DEST_PATH_IMAGE045
表示求最大公约数的函数;
对于DL类设备,DL类设备i的私钥为
Figure 305551DEST_PATH_IMAGE046
,DL类设备i的公钥为
Figure 957244DEST_PATH_IMAGE047
其中,
Figure 644577DEST_PATH_IMAGE048
为DL类设备i的私钥表示符,
Figure 707211DEST_PATH_IMAGE049
为DL类设备i的公钥表示符,
Figure 847205DEST_PATH_IMAGE050
为DL类设备i的私钥,
Figure 535544DEST_PATH_IMAGE051
为DL类设备i的公钥,且满足公式
Figure 77384DEST_PATH_IMAGE052
Figure 576499DEST_PATH_IMAGE050
Figure 203789DEST_PATH_IMAGE054
中随机抽取得到;
对于ECC类设备,ECC类设备i的私钥为
Figure 994022DEST_PATH_IMAGE055
,ECC类设备i的公钥为
Figure 390368DEST_PATH_IMAGE056
其中,
Figure 60384DEST_PATH_IMAGE057
为ECC类设备i的私钥表示符,
Figure 158659DEST_PATH_IMAGE058
为ECC类设备i的公钥表示符,
Figure 205112DEST_PATH_IMAGE059
为ECC类设备i的私钥,
Figure 455965DEST_PATH_IMAGE060
为ECC类设备i的公钥,且满足公式
Figure 296882DEST_PATH_IMAGE061
Figure 446235DEST_PATH_IMAGE059
Figure 30800DEST_PATH_IMAGE062
中随机抽取得到,
Figure 401738DEST_PATH_IMAGE062
为去除零元的
Figure 662824DEST_PATH_IMAGE063
阶整数循环群;
对于Lattice类设备,Lattice类设备i的私钥为
Figure 486424DEST_PATH_IMAGE064
,Lattice类设备i的公钥为
Figure 609100DEST_PATH_IMAGE065
其中,
Figure 834545DEST_PATH_IMAGE066
为Lattice类设备i的私钥,
Figure 830314DEST_PATH_IMAGE067
为Lattice类设备i的公钥,
Figure 141210DEST_PATH_IMAGE068
为从多项式环
Figure 67578DEST_PATH_IMAGE010
中选取的第z个元素
Figure 685813DEST_PATH_IMAGE069
Figure 39434DEST_PATH_IMAGE139
为从多项式环
Figure 572047DEST_PATH_IMAGE010
中选取的第z个元素
Figure 567685DEST_PATH_IMAGE071
,且
Figure 252875DEST_PATH_IMAGE072
Figure 777397DEST_PATH_IMAGE070
满足公式
Figure 62885DEST_PATH_IMAGE073
,z为一个正整数。
S103,生成签名的离线计算阶段。
所述RSA类设备、所述DL类设备、所述ECC类设备以及所述Lattice类设备分别从整数乘法群或整数循环群中随机选取随机数,根据所述随机数计算得到对应的离线计算结果值。
在步骤S103中,RSA类设备、DL类设备、ECC类设备以及Lattice类设备分别从整数乘法群或整数循环群中随机选取随机数,根据所述随机数计算得到对应的离线计算结果值的方法包括如下步骤:
对于RSA类设备,从
Figure 331055DEST_PATH_IMAGE074
中随机选取RSA随机数
Figure 634867DEST_PATH_IMAGE075
,然后根据RSA随机数
Figure 595869DEST_PATH_IMAGE076
计算得到RSA离线计算结果值
Figure 368653DEST_PATH_IMAGE077
;其中,
Figure 174935DEST_PATH_IMAGE074
为去除零元的
Figure 100297DEST_PATH_IMAGE078
阶整数循环群,
Figure 966622DEST_PATH_IMAGE079
为RSA离线计算结果值;
对于DL类设备,从
Figure 226702DEST_PATH_IMAGE054
中随机选取DL随机数
Figure 836675DEST_PATH_IMAGE080
,然后根据DL随机数
Figure 115078DEST_PATH_IMAGE080
计算得到DL离线计算结果值
Figure 417884DEST_PATH_IMAGE081
;其中,
Figure 860815DEST_PATH_IMAGE082
为DL离线计算结果值;
对于ECC类设备,从
Figure 744457DEST_PATH_IMAGE062
中随机选取ECC随机数
Figure 218164DEST_PATH_IMAGE083
,然后根据ECC随机数
Figure 187257DEST_PATH_IMAGE083
计算得到ECC离线计算结果值
Figure 122720DEST_PATH_IMAGE084
;其中,
Figure 126449DEST_PATH_IMAGE085
为ECC离线计算结果值;
对于Lattice类设备,从多项式环中随机选取多个元素构成Lattice随机向量
Figure 771057DEST_PATH_IMAGE086
,根据Lattice随机向量
Figure 227446DEST_PATH_IMAGE086
和公钥
Figure 733644DEST_PATH_IMAGE087
的内积计算得到Lattice离线计算结果值
Figure 123038DEST_PATH_IMAGE088
;其中,
Figure 938547DEST_PATH_IMAGE089
为计算向量内积的函数,
Figure 131500DEST_PATH_IMAGE090
为Lattice离线计算结果值。
S104,生成签名的在线计算阶段。
选取n台真实签名设备构成一个环签名成员环,并根据所述RSA类设备、所述DL类设备、所述ECC类设备以及所述Lattice类设备对应的公私钥对,以及对应的离线计算结果值进行在线计算以得到对应的关于签名消息m的环签名。
在步骤S104中,选取n台真实签名设备构成一个环签名成员环,并根据RSA类设备、DL类设备、ECC类设备以及Lattice类设备对应的公私钥对,以及对应的离线计算结果值进行在线计算以得到对应的关于签名消息m的最终签名结果。计算得到关于签名消息m的环签名的方法包括:
若真实签名设备
Figure 690657DEST_PATH_IMAGE091
为RSA类型,则从
Figure 403398DEST_PATH_IMAGE092
中随机选取值
Figure 124229DEST_PATH_IMAGE093
,其中
Figure 305943DEST_PATH_IMAGE093
为RSA类设备从
Figure 403212DEST_PATH_IMAGE092
中随机选取的值,
Figure 970460DEST_PATH_IMAGE092
为去除零元的
Figure 862192DEST_PATH_IMAGE094
阶整数循环群;若真实签名设备
Figure 29737DEST_PATH_IMAGE091
为DL类型,则从
Figure 930697DEST_PATH_IMAGE054
中随机选取值
Figure 352451DEST_PATH_IMAGE095
,其中,
Figure 680664DEST_PATH_IMAGE095
为DL类设备从
Figure 571391DEST_PATH_IMAGE054
中随机选取的值;若真实签名设备
Figure 276042DEST_PATH_IMAGE091
为ECC类型,则从
Figure 817882DEST_PATH_IMAGE062
中随机选取值
Figure 316996DEST_PATH_IMAGE096
,其中,
Figure 193554DEST_PATH_IMAGE096
为ECC类设备从
Figure 233054DEST_PATH_IMAGE062
中随机选取的值;若真实签名设备
Figure 832663DEST_PATH_IMAGE091
为Lattice类型,则从多项式环
Figure 50149DEST_PATH_IMAGE010
中随机选取多个元素构成向量
Figure 367998DEST_PATH_IMAGE097
通过真实签名设备
Figure 945610DEST_PATH_IMAGE091
计算得到真实签名设备的第一签名中间值
Figure 462042DEST_PATH_IMAGE098
,对应的计算公式为:
Figure 506221DEST_PATH_IMAGE099
(1)
其中,
Figure 357371DEST_PATH_IMAGE100
为取椭圆曲线上一点横坐标的函数;
通过真实签名设备
Figure 941936DEST_PATH_IMAGE091
,基于真实签名设备的第一签名中间值
Figure 312875DEST_PATH_IMAGE098
计算得到真实签名设备的第二签名中间值
Figure 324693DEST_PATH_IMAGE101
,对应的计算公式为:
Figure 899025DEST_PATH_IMAGE102
(2)
其中,
Figure 287281DEST_PATH_IMAGE103
为签名消息,
Figure 512726DEST_PATH_IMAGE104
为环签名成员环;
通过密码设备i计算得到密码设备的第三签名中间值
Figure 695446DEST_PATH_IMAGE105
,对应的计算公式为:
Figure 521188DEST_PATH_IMAGE106
(3)
通过密码设备i,根据密码设备的第三签名中间值
Figure 447556DEST_PATH_IMAGE105
为密码设备i+1计算得到密码设备的第四签名中间值
Figure 527507DEST_PATH_IMAGE107
,对应的计算公式为:
Figure 146707DEST_PATH_IMAGE108
(4)
其中,
Figure 695632DEST_PATH_IMAGE109
,且循环公式(3)与公式(4)计算最终得到真实签名设备的第五签名中间值
Figure 425690DEST_PATH_IMAGE110
Figure 360148DEST_PATH_IMAGE111
为密码设备i的第六签名中间值,n为环签名成员环的大小;
真实签名设备
Figure 150250DEST_PATH_IMAGE091
根据公式(5)计算得到真实签名设备
Figure 685005DEST_PATH_IMAGE091
的最终签名
Figure 953175DEST_PATH_IMAGE112
,对应的计算公式为:
Figure 7719DEST_PATH_IMAGE113
(5)
其中,关于签名消息m的环签名
Figure 968722DEST_PATH_IMAGE114
Figure 226659DEST_PATH_IMAGE115
为第一签名成分,
Figure 298520DEST_PATH_IMAGE116
为第二签名成分,
Figure 473149DEST_PATH_IMAGE117
为第n+1签名成分,n为环签名成员环的大小,
Figure 339474DEST_PATH_IMAGE118
为RSA类设备j的私钥,
Figure 848822DEST_PATH_IMAGE119
为DL类设备j的私钥,
Figure 458795DEST_PATH_IMAGE120
为ECC类设备j的私钥,
Figure 753510DEST_PATH_IMAGE121
为Lattice类设备j的私钥。
S105,签名验证。
根据所述环签名成员环中的环成员排列顺序以及所述关于签名消息m的环签名验证签名的有效性。
在步骤S105中,根据所述环签名成员环中的环成员排列顺序以及所述关于签名消息m的环签名验证签名的有效性的方法包括如下步骤:
对于密码设备i,
Figure 790736DEST_PATH_IMAGE122
,按照公式(6)计算得到密码设备的第一验证中间结果
Figure 288845DEST_PATH_IMAGE123
Figure 702508DEST_PATH_IMAGE124
(6)
其中,
Figure 320572DEST_PATH_IMAGE125
为关于签名消息m的环签名
Figure 59857DEST_PATH_IMAGE126
的第i+1签名成分;
对于密码设备i,
Figure 278218DEST_PATH_IMAGE127
,按照公式(7)计算得到密码设备的第二验证中间结果
Figure 229994DEST_PATH_IMAGE128
Figure 233722DEST_PATH_IMAGE129
(7)
循环执行公式(6)与公式(7),以计算得到
Figure 612750DEST_PATH_IMAGE130
,其中,
Figure 819872DEST_PATH_IMAGE130
为第三验证中间结果;
根据
Figure 575338DEST_PATH_IMAGE130
计算得到
Figure 433573DEST_PATH_IMAGE131
,其中,
Figure 249082DEST_PATH_IMAGE130
为第三验证中间结果,
Figure 442035DEST_PATH_IMAGE131
为第四验证中间结果,对应的计算公式为:
Figure 735613DEST_PATH_IMAGE132
(8)
Figure 448354DEST_PATH_IMAGE133
,则签名真实有效,验证通过,其中
Figure 434765DEST_PATH_IMAGE134
为关于签名消息m的环签名
Figure 350899DEST_PATH_IMAGE126
的第一签名成分。
本发明提出基于多种不同公钥密码体制的异构工业物联网认证方法,在设置阶段分别为工业物联网环境中RSA公钥密码体制、离散对数(DL)公钥密码体制、椭圆曲线公钥密码体制(ECC)以及格公钥密码体制生成对应的群及哈希函数作为系统公共参数;分别为使用RSA公钥密码体制、离散对数公钥密码体制、椭圆曲线公钥密码体制以及格公钥密码体制的设备生成公私钥对;选定n个不同类型的设备并按顺序组成环,环成员通过离线和在线两个阶段的依次计算,最后形成环签名;环签名接收者可对签名的有效性进行验证。本发明能够同时支持所有常见密码系统,如RSA公钥密码体制、离散对数公钥密码体制、椭圆曲线公钥密码体制以及格公钥密码体制等,并有效防止工业物联网中传输和存储的消息被有意无意的篡改、保护消息发送者身份隐私。
实施例二:
为验证本发明提出的使用多种不同公钥密码体制的异构工业物联网认证方案的效率,本发明与现有已知的支持使用两种不同公钥密码体制的异构工业物联网环境的认证方案SAMA进行对比,选取设备数量为20、40、60、80、100、200分别对离线计算、在线计算和签名验证三个阶段的计算开销进行对比,并进一步对比了两种方案通信开销的大小。验证采用的软硬件环境采用Intel Core i7-8550 2.00 GHz 处理器、 16 GB 内存、 Windows 10操作系统;代码基于NTL库编写;安全参数方面,RSA类设备密码算法安全参数为1024位,DL类设备密码算法安全参数为1024位,ECC类设备密码算法安全参数设定为160位,Lattice类设备密码算法安全参数为16位,本发明中格密码采用16维向量和256次多项式。为方便起见,在进行实验时,现有方案RSA类设备数量占比50%,DL类设备数量占比50%;本发明RSA类设备数量占比25%,DL类设备数量占比25%,ECC类设备数量占比25%,Lattice类设备数量占比25%。
请参阅图2,图2中计算开销数据单位为毫秒,“-”表示不支持,从图2中可以看出:本发明的有益效果在于提出的认证方法具有支持更多类型密码系统、计算效率高的特点,适合于工业物联网异构密码体制及设备资源受限的环境下使用。应当理解的,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (1)

1.一种基于多种不同公钥密码体制的异构工业物联网认证方法,其特征在于,所述方法包括如下步骤:
步骤一,初始化:
通过密钥生成中心为工业物联网环境中的不同类型密码设备生成对应的群并构造对应的哈希函数,将所述群以及所述哈希函数作为系统公共参数;其中所述密码设备的类型至少包括RSA类设备、DL类设备、ECC类设备以及Lattice类设备,所述RSA类设备为使用RSA公钥密码体制的设备,所述DL类设备为使用离散对数公钥密码体制的设备,所述ECC类设备为椭圆曲线公钥密码体制的设备,所述Lattice类设备为格公钥密码体制的设备;
步骤二,生成密钥:
由所述密钥生成中心为工业物联网环境中的RSA类设备、DL类设备、ECC类设备以及Lattice类设备生成对应的公私钥对;
步骤三,生成签名的离线计算阶段:
所述RSA类设备、所述DL类设备、所述ECC类设备以及所述Lattice类设备分别从整数乘法群或整数循环群中随机选取随机数,根据所述随机数计算得到对应的离线计算结果值;
步骤四,生成签名的在线计算阶段;
选取n台设备构成一环签名成员环,根据所述RSA类设备、所述DL类设备、所述ECC类设备以及所述Lattice类设备对应的公私钥对,以及对应的离线计算结果值进行在线计算以得到关于签名消息m的环签名;
步骤五,签名验证:
根据所述环签名成员环中的环成员排列顺序以及所述关于签名消息m的环签名验证签名的有效性;
在所述步骤一中,通过密钥生成中心为工业物联网环境中的不同类型密码设备生成对应的群的方法包括:
为DL类设备生成DL类型群
Figure 653253DEST_PATH_IMAGE001
;其中,
Figure 785157DEST_PATH_IMAGE002
为第一个大素数,
Figure 153559DEST_PATH_IMAGE003
为乘法群,
Figure 29111DEST_PATH_IMAGE004
为乘法群
Figure 933613DEST_PATH_IMAGE003
的生成元;
为ECC类设备生成ECC类型群
Figure 970839DEST_PATH_IMAGE005
;其中,
Figure 593582DEST_PATH_IMAGE006
Figure 7246DEST_PATH_IMAGE007
阶循环群,
Figure 766254DEST_PATH_IMAGE008
为群
Figure 974382DEST_PATH_IMAGE006
的生成元,
Figure 323235DEST_PATH_IMAGE007
为第二个大素数;
为Lattice类设备生成Lattice类型群
Figure 540590DEST_PATH_IMAGE009
;其中,
Figure 154105DEST_PATH_IMAGE010
为多项式环,
Figure 798713DEST_PATH_IMAGE011
为在多项式环
Figure 130468DEST_PATH_IMAGE010
中随机选取的一个非零元,
Figure 89197DEST_PATH_IMAGE012
为第三个大素数;
通过密钥生成中心为工业物联网环境中的不同类型密码设备构造对应的哈希函数的方法包括如下步骤:
为RSA类设备构造的RSA哈希函数表示为:
Figure 619536DEST_PATH_IMAGE013
;其中,
Figure 435045DEST_PATH_IMAGE014
为可将任意长度0、1组成的比特串映射到
Figure 487052DEST_PATH_IMAGE015
中的哈希函数,
Figure 46210DEST_PATH_IMAGE015
为环,
Figure 634317DEST_PATH_IMAGE016
Figure 620727DEST_PATH_IMAGE017
表示RSA类设备选取模数的最小值,
Figure 927075DEST_PATH_IMAGE018
表示第t个RSA类设备选取的模数,t表示RSA类设备最大序号;
为DL类设备构造的DL哈希函数表示为:
Figure 24344DEST_PATH_IMAGE019
;其中,
Figure 466958DEST_PATH_IMAGE020
为可将任意长度0、1组成的比特串映射到
Figure 624270DEST_PATH_IMAGE022
中的哈希函数,
Figure 480230DEST_PATH_IMAGE022
Figure 551829DEST_PATH_IMAGE023
阶整数群;
为ECC类设备构造的EC哈希函数表示为:
Figure 442425DEST_PATH_IMAGE024
;其中,
Figure 646004DEST_PATH_IMAGE025
为可将任意长度0、1组成的比特串映射到
Figure 785998DEST_PATH_IMAGE026
中的哈希函数,
Figure 100436DEST_PATH_IMAGE026
Figure 642276DEST_PATH_IMAGE027
阶整数循环群;
为Lattice类设备构造的Lattice哈希函数表示为:
Figure 16757DEST_PATH_IMAGE028
;其中,
Figure 644047DEST_PATH_IMAGE029
为可将任意长度0、1组成的比特串映射到
Figure 260711DEST_PATH_IMAGE030
中的哈希函数,
Figure 922636DEST_PATH_IMAGE030
Figure 733598DEST_PATH_IMAGE031
阶整数乘法群;
在所述步骤二中,由密钥生成中心为工业物联网环境中的RSA类设备、DL类设备、ECC类设备以及Lattice类设备生成对应的公私钥对的方法包括如下步骤:
对于RSA类设备,RSA类设备的私钥为
Figure 317026DEST_PATH_IMAGE032
,RSA类设备的公钥为
Figure 504425DEST_PATH_IMAGE033
其中,
Figure 20857DEST_PATH_IMAGE034
为RSA类设备的私钥表示符,
Figure 737140DEST_PATH_IMAGE035
为RSA类设备的公钥表示符,
Figure 73443DEST_PATH_IMAGE036
为RSA类设备i的私钥,
Figure 49488DEST_PATH_IMAGE038
为RSA类设备i的公钥,
Figure 420426DEST_PATH_IMAGE039
为RSA类设备i在计算过程中用到的模数,
Figure 307611DEST_PATH_IMAGE040
Figure 396790DEST_PATH_IMAGE041
为RSA类设备i选取的第四个大素数,
Figure 394833DEST_PATH_IMAGE042
为RSA类设备i选取的第五个大素数,且满足公式
Figure 885857DEST_PATH_IMAGE043
Figure 678363DEST_PATH_IMAGE044
Figure 254838DEST_PATH_IMAGE045
表示欧拉函数,
Figure 555107DEST_PATH_IMAGE046
表示取模运算符,
Figure 900638DEST_PATH_IMAGE047
表示求最大公约数的函数;
对于DL类设备,DL类设备i的私钥为
Figure 129625DEST_PATH_IMAGE048
,DL类设备i的公钥为
Figure 927817DEST_PATH_IMAGE049
其中,
Figure 533242DEST_PATH_IMAGE050
为DL类设备i的私钥表示符,
Figure 733279DEST_PATH_IMAGE051
为DL类设备i的公钥表示符,
Figure 133167DEST_PATH_IMAGE052
为DL类设备i的私钥,
Figure 418655DEST_PATH_IMAGE053
为DL类设备i的公钥,且满足公式
Figure 326306DEST_PATH_IMAGE054
Figure 380850DEST_PATH_IMAGE052
Figure 951640DEST_PATH_IMAGE055
中随机抽取得到;
对于ECC类设备,ECC类设备i的私钥为
Figure 724423DEST_PATH_IMAGE056
,ECC类设备i的公钥为
Figure 671651DEST_PATH_IMAGE057
其中,
Figure 580701DEST_PATH_IMAGE058
为ECC类设备i的私钥表示符,
Figure 587971DEST_PATH_IMAGE059
为ECC类设备i的公钥表示符,
Figure 582472DEST_PATH_IMAGE060
为ECC类设备i的私钥,
Figure 831926DEST_PATH_IMAGE061
为ECC类设备i的公钥,且满足公式
Figure 798745DEST_PATH_IMAGE062
Figure 101550DEST_PATH_IMAGE060
Figure 458713DEST_PATH_IMAGE063
中随机抽取得到,
Figure 544481DEST_PATH_IMAGE063
为去除零元的
Figure 631386DEST_PATH_IMAGE064
阶整数循环群;
对于Lattice类设备,Lattice类设备i的私钥为
Figure 105092DEST_PATH_IMAGE065
,Lattice类设备i的公钥为
Figure 949551DEST_PATH_IMAGE066
其中,
Figure 166906DEST_PATH_IMAGE067
为Lattice类设备i的私钥,
Figure 284816DEST_PATH_IMAGE068
为Lattice类设备i的公钥,
Figure 929424DEST_PATH_IMAGE069
为从多项式环
Figure 261179DEST_PATH_IMAGE010
中选取的第z个元素
Figure 16645DEST_PATH_IMAGE070
Figure 750246DEST_PATH_IMAGE071
为从多项式环
Figure 300176DEST_PATH_IMAGE010
中选取的第z个元素
Figure 119228DEST_PATH_IMAGE072
,且
Figure 678385DEST_PATH_IMAGE074
Figure 765027DEST_PATH_IMAGE075
满足公式
Figure 751438DEST_PATH_IMAGE076
,z为一个正整数;
在所述步骤三中,所述RSA类设备、所述DL类设备、所述ECC类设备以及所述Lattice类设备分别从整数乘法群或整数循环群中随机选取随机数,根据所述随机数计算得到对应的离线计算结果值的方法包括如下步骤:
对于RSA类设备,从
Figure 792206DEST_PATH_IMAGE077
中随机选取RSA随机数
Figure 889475DEST_PATH_IMAGE078
,然后根据RSA随机数
Figure 597668DEST_PATH_IMAGE079
计算得到RSA离线计算结果值
Figure 754980DEST_PATH_IMAGE080
;其中,
Figure 283045DEST_PATH_IMAGE077
为去除零元的
Figure 184005DEST_PATH_IMAGE081
阶整数循环群,
Figure 41977DEST_PATH_IMAGE082
为RSA离线计算结果值;
对于DL类设备,从
Figure 245556DEST_PATH_IMAGE055
中随机选取DL随机数
Figure 385551DEST_PATH_IMAGE083
,然后根据DL随机数
Figure 27884DEST_PATH_IMAGE083
计算得到DL离线计算结果值
Figure 445090DEST_PATH_IMAGE084
;其中,
Figure 944205DEST_PATH_IMAGE085
为DL离线计算结果值;
对于ECC类设备,从
Figure 446862DEST_PATH_IMAGE063
中随机选取ECC随机数
Figure 689624DEST_PATH_IMAGE086
,然后根据ECC随机数
Figure 459872DEST_PATH_IMAGE086
计算得到ECC离线计算结果值
Figure 129887DEST_PATH_IMAGE087
;其中,
Figure 119840DEST_PATH_IMAGE088
为ECC离线计算结果值;
对于Lattice类设备,从多项式环
Figure 166294DEST_PATH_IMAGE010
中随机选取多个元素构成Lattice随机向量
Figure 292513DEST_PATH_IMAGE089
,根据Lattice随机向量
Figure 133430DEST_PATH_IMAGE089
和公钥
Figure 610678DEST_PATH_IMAGE090
的内积计算得到Lattice离线计算结果值
Figure 195244DEST_PATH_IMAGE091
;其中,
Figure 934224DEST_PATH_IMAGE092
为计算向量内积的函数,
Figure 946042DEST_PATH_IMAGE093
为Lattice离线计算结果值;
在所述步骤四中,选取n台真实签名设备构成一个环签名成员环,并根据所述RSA类设备、所述DL类设备、所述ECC类设备以及所述Lattice类设备对应的公私钥对,以及对应的离线计算结果值进行在线计算以得到对应的关于签名消息m的最终签名结果,计算得到关于签名消息m的环签名的方法包括:
若真实签名设备
Figure 910587DEST_PATH_IMAGE094
为RSA类型,则从
Figure 33264DEST_PATH_IMAGE095
中随机选取值
Figure 134075DEST_PATH_IMAGE096
,其中
Figure 582374DEST_PATH_IMAGE096
为RSA类设备从
Figure 768636DEST_PATH_IMAGE095
中随机选取的值,
Figure 695004DEST_PATH_IMAGE095
为去除零元的
Figure 414436DEST_PATH_IMAGE097
阶整数循环群;若真实签名设备
Figure 768057DEST_PATH_IMAGE094
为DL类型,则从
Figure 441615DEST_PATH_IMAGE055
中随机选取值
Figure 171673DEST_PATH_IMAGE098
,其中,
Figure 247077DEST_PATH_IMAGE098
为DL类设备从
Figure 771599DEST_PATH_IMAGE055
中随机选取的值;若真实签名设备
Figure 932453DEST_PATH_IMAGE094
为ECC类型,则从
Figure 200623DEST_PATH_IMAGE063
中随机选取值
Figure 629068DEST_PATH_IMAGE099
,其中,
Figure 590071DEST_PATH_IMAGE099
为ECC类设备从
Figure 238221DEST_PATH_IMAGE063
中随机选取的值;若真实签名设备
Figure 44503DEST_PATH_IMAGE094
为Lattice类型,则从多项式环
Figure 360078DEST_PATH_IMAGE010
中随机选取多个元素构成向量
Figure 960824DEST_PATH_IMAGE100
通过真实签名设备
Figure 96270DEST_PATH_IMAGE094
计算得到真实签名设备的第一签名中间值
Figure 706243DEST_PATH_IMAGE101
,对应的计算公式为:
Figure 109280DEST_PATH_IMAGE102
(1)
其中,
Figure 412085DEST_PATH_IMAGE103
为取椭圆曲线上一点横坐标的函数;
通过真实签名设备
Figure 34828DEST_PATH_IMAGE094
,基于真实签名设备的第一签名中间值
Figure 182912DEST_PATH_IMAGE101
计算得到真实签名设备的第二签名中间值
Figure 941921DEST_PATH_IMAGE104
,对应的计算公式为:
Figure 415628DEST_PATH_IMAGE105
(2)
其中,
Figure 260087DEST_PATH_IMAGE106
为签名消息,
Figure 211862DEST_PATH_IMAGE107
为环签名成员环;
通过密码设备i计算得到密码设备的第三签名中间值
Figure 595351DEST_PATH_IMAGE108
,对应的计算公式为:
Figure 239959DEST_PATH_IMAGE109
(3)
通过密码设备i,根据密码设备的第三签名中间值
Figure 837294DEST_PATH_IMAGE108
为密码设备i+1计算得到密码设备的第四签名中间值
Figure 592760DEST_PATH_IMAGE110
,对应的计算公式为:
Figure 60782DEST_PATH_IMAGE111
(4)
其中,
Figure 876291DEST_PATH_IMAGE112
,且循环公式(3)与公式(4)计算最终得到真实签名设备的第五签名中间值
Figure 429763DEST_PATH_IMAGE113
Figure 988920DEST_PATH_IMAGE114
为密码设备i的第六签名中间值,n为环签名成员环的大小;
真实签名设备
Figure 75563DEST_PATH_IMAGE094
根据公式(5)计算得到真实签名设备
Figure 61973DEST_PATH_IMAGE094
的最终签名
Figure 368321DEST_PATH_IMAGE115
,对应的计算公式为:
Figure 200011DEST_PATH_IMAGE116
(5)
其中,关于签名消息m的环签名
Figure 173783DEST_PATH_IMAGE117
Figure 65516DEST_PATH_IMAGE118
为第一签名成分,
Figure 859159DEST_PATH_IMAGE119
为第二签名成分,
Figure 760119DEST_PATH_IMAGE120
为第n+1签名成分,n为环签名成员环的大小,
Figure 555775DEST_PATH_IMAGE121
为RSA类设备j的私钥,
Figure 883988DEST_PATH_IMAGE122
为DL类设备j的私钥,
Figure 899348DEST_PATH_IMAGE124
为ECC类设备j的私钥,
Figure 603999DEST_PATH_IMAGE125
为Lattice类设备j的私钥;
在所述步骤五中,根据所述环签名成员环中的环成员排列顺序以及所述关于签名消息m的环签名验证签名的有效性的方法包括如下步骤:
对于密码设备i,
Figure 21205DEST_PATH_IMAGE126
,按照公式(6)计算得到密码设备的第一验证中间结果
Figure 520320DEST_PATH_IMAGE127
Figure 22976DEST_PATH_IMAGE128
(6)
其中,
Figure 265739DEST_PATH_IMAGE103
为取椭圆曲线上一点横坐标的函数,
Figure 35986DEST_PATH_IMAGE129
为关于签名消息m的环签名
Figure 706002DEST_PATH_IMAGE130
的第i+1签名成分;
对于密码设备i,
Figure 695955DEST_PATH_IMAGE131
,按照公式(7)计算得到密码设备的第二验证中间结果
Figure 476829DEST_PATH_IMAGE132
Figure 868627DEST_PATH_IMAGE133
(7)
循环执行公式(6)与公式(7),以计算得到
Figure 709544DEST_PATH_IMAGE134
,其中,
Figure 186793DEST_PATH_IMAGE134
为第三验证中间结果;
根据
Figure 771358DEST_PATH_IMAGE134
计算得到
Figure 533776DEST_PATH_IMAGE135
,其中,
Figure 545595DEST_PATH_IMAGE135
为第四验证中间结果,对应的计算公式为:
Figure 244560DEST_PATH_IMAGE136
(8)
Figure 632816DEST_PATH_IMAGE137
,则签名真实有效,验证通过,其中
Figure DEST_PATH_IMAGE138
为关于签名消息m的环签名
Figure 264786DEST_PATH_IMAGE130
的第一签名成分。
CN202210668043.1A 2022-06-14 2022-06-14 基于多种不同公钥密码体制的异构工业物联网认证方法 Active CN114760076B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210668043.1A CN114760076B (zh) 2022-06-14 2022-06-14 基于多种不同公钥密码体制的异构工业物联网认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210668043.1A CN114760076B (zh) 2022-06-14 2022-06-14 基于多种不同公钥密码体制的异构工业物联网认证方法

Publications (2)

Publication Number Publication Date
CN114760076A CN114760076A (zh) 2022-07-15
CN114760076B true CN114760076B (zh) 2022-09-09

Family

ID=82336630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210668043.1A Active CN114760076B (zh) 2022-06-14 2022-06-14 基于多种不同公钥密码体制的异构工业物联网认证方法

Country Status (1)

Country Link
CN (1) CN114760076B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547099A (zh) * 2009-05-07 2009-09-30 张键红 基于椭圆曲线的自认证签名方法与装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4250429B2 (ja) * 2003-01-24 2009-04-08 キヤノン株式会社 連鎖型署名作成装置、及びその制御方法
US20050018851A1 (en) * 2003-06-26 2005-01-27 Microsoft Coproration Methods and apparatuses for providing blind digital signatures using curve-based cryptography

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547099A (zh) * 2009-05-07 2009-09-30 张键红 基于椭圆曲线的自认证签名方法与装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《Secure Delegation-Based Authentication for Telecare Medicine Information Systems》;ZUOWEN TAN;《IEEE Access》;20180605;全文 *
《Secure_and_efficient_bi-directional_proxy_re-encyrption_technique》;Chandrakala B M,et.al;《2016 International Conference on Control, Instrumentation, Communication and Computational Technologies (ICCICCT)》;20161231;全文 *
分工式门限认证加密方案;谭作文等;《计算机学报》;20100715(第07期);全文 *

Also Published As

Publication number Publication date
CN114760076A (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
CN109495249B (zh) 一种区块链系统的数据存储方法、节点和区块链系统
Bringer et al. HB^+^+: a lightweight authentication protocol secure against some attacks
CN104836808B (zh) 基于改进差分错误攻击的sm2签名算法安全性验证方法
CN103765809A (zh) 隐式认证的公钥
CN109274485B (zh) 一种数据加密方法、数据认证方法及相关设备和系统
CN103748832A (zh) 签名验证设备、签名验证方法、程序和记录介质
CN103490897B (zh) 一种多变量公钥签名/验证系统及签名/验证方法
CN108650087A (zh) 一种二进制域F2m下的SM2椭圆曲线签名点乘加密方法
CN103780382A (zh) 一种基于超球面的多变量公钥加密/解密系统及方法
CN110190957B (zh) 基于无证书的多变量广播多重签名方法
Niederhagen et al. Practical post-quantum cryptography
Gorbenko et al. Post-quantum message authentication cryptography based on error-correcting codes
CN107104788B (zh) 终端及其不可抵赖的加密签名方法和装置
CN116346328A (zh) 一种数字签名方法、系统、设备及计算机可读存储介质
CN114760076B (zh) 基于多种不同公钥密码体制的异构工业物联网认证方法
Bakhtiari et al. A message authentication code based on latin squares
US7401226B2 (en) Public key cryptographic method based on braid groups
Ren et al. An efficient batch verifying scheme for detecting illegal signatures.
CN112243011A (zh) 一种签名验证方法、系统、电子设备及存储介质
US20230141210A1 (en) Neural networks
Ravi et al. Backdooring post-quantum cryptography: Kleptographic attacks on lattice-based KEMs
KR102364047B1 (ko) 구조화된 행렬들에 기초한 공개키 암호를 위한 방법과 장치
Bhatia et al. Post-Quantum Cryptography
Guo et al. Differential power analysis on dynamic password token based on SM3 algorithm, and countermeasures
CN112217629A (zh) 一种云存储公开审计方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant