CN114244552A - 基于区块链的数据加密传输方法及装置 - Google Patents

基于区块链的数据加密传输方法及装置 Download PDF

Info

Publication number
CN114244552A
CN114244552A CN202111256523.9A CN202111256523A CN114244552A CN 114244552 A CN114244552 A CN 114244552A CN 202111256523 A CN202111256523 A CN 202111256523A CN 114244552 A CN114244552 A CN 114244552A
Authority
CN
China
Prior art keywords
character string
hash value
digital
affine transformation
transformation processing
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.)
Granted
Application number
CN202111256523.9A
Other languages
English (en)
Other versions
CN114244552B (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.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202111256523.9A priority Critical patent/CN114244552B/zh
Publication of CN114244552A publication Critical patent/CN114244552A/zh
Application granted granted Critical
Publication of CN114244552B publication Critical patent/CN114244552B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/3236Cryptographic 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 using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于区块链的数据加密传输方法及装置,涉及区块链技术领域,该方法包括:对待传输数据进行散列值计算,得到待传输数据的散列值;对散列值中字符进行数字编码,得到散列值的数字字符串;根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串;所述加密密钥根据散列值的数字字符串生成,并存储于区块链网络中;发出仿射变换处理后的数字字符串。本发明可抵御字典攻击,提升数据加密传输的效率和安全性。

Description

基于区块链的数据加密传输方法及装置
技术领域
本发明涉及区块链技术领域,尤其涉及基于区块链的数据加密传输方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
目前,一般采用基于口令的加密(Password Based Encrypted,PBE)实现数据的加密传输。其原理是用户在前端输入待传输数据(如口令信息)后进行散列值计算,与后台的数据传输中不直接传输数据的明文,而是传输数据的散列值。后台接收到前端的报文后,将数据的散列值进行存储,或从数据库取出数据散列值进行比对校验。
而上述数据传输的方式并不安全,经常会收到字典攻击,字典攻击是指在黑客在破解密码或密钥时,逐一尝试用户自定义词典中的可能密码(单词或短语)的攻击方式。上述的数据传输方式基于散列值计算,往往无法抵御针对数据的字典攻击,使得数据传输的安全性难以保证。
现有技术下存在一种抵御字典攻击的方案,其在得到对待传输数据的散列值之后,对散列值使用分组密码算法进行加密后传输,如3DES、AES等算法。这种方法虽然能抵御字典攻击,但借助分组密码算法的计算过程十分繁杂,易造成数据加密传输的效率低下。
发明内容
本发明实施例提供一种基于区块链的数据加密传输方法,用以抵御字典攻击,提升数据加密传输的效率和安全性,该方法包括:
对待传输数据进行散列值计算,得到待传输数据的散列值;
对散列值中字符进行数字编码,得到散列值的数字字符串;
根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串;所述加密密钥根据散列值的数字字符串生成,并存储于区块链网络中;
发出仿射变换处理后的数字字符串。
本发明实施例还提供一种基于区块链的数据加密传输装置,用以抵御字典攻击,提升数据加密传输的效率和安全性,该装置包括:
散列值计算模块,用于对待传输数据进行散列值计算,得到待传输数据的散列值;
数字编码模块,用于对散列值中字符进行数字编码,得到散列值的数字字符串;
仿射变换处理模块,用于根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串;所述加密密钥根据散列值的数字字符串生成,并存储于区块链网络中;
数据传输模块,用于发出仿射变换处理后的数字字符串。
本发明实施例还提供一种基于区块链的数据加密传输方法,用以抵御字典攻击,提升数据加密传输的效率和安全性,该方法包括:
接收仿射变换处理后的所传输数据的数字字符串;仿射变换处理后的所传输数据的数字字符串,是根据加密密钥对所传输数据的数字字符串进行仿射变换处理得到;所述加密密钥根据所传输数据的数字字符串生成,并存储于区块链网络中;
对仿射变换处理后的所传输数据的数字字符串,进行逆向仿射变换处理,得到所传输数据的数字字符串;
对所传输数据的数字字符串,进行逆向数字编码,得到所传输数据的散列值;
对所传输数据的散列值,进行逆向散列值计算,得到所传输数据。
本发明实施例还提供一种基于区块链的数据加密传输装置,用以抵御字典攻击,提升数据加密传输的效率和安全性,该装置包括:
仿射变换处理后的所传输数据的数字字符串接收模块,用于接收仿射变换处理后的所传输数据的数字字符串;仿射变换处理后的所传输数据的数字字符串,是根据加密密钥对所传输数据的数字字符串进行仿射变换处理得到;所述加密密钥根据所传输数据的数字字符串生成,并存储于区块链网络中;
逆向仿射变换处理模块,用于对仿射变换处理后的所传输数据的数字字符串,进行逆向仿射变换处理,得到所传输数据的数字字符串;
逆向数字编码模块,用于对所传输数据的数字字符串,进行逆向数字编码,得到所传输数据的散列值;
逆向散列值计算模块,用于对所传输数据的散列值,进行逆向散列值计算,得到所传输数据。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的数据加密传输方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述基于区块链的数据加密传输方法的计算机程序。
本发明实施例中,对待传输数据进行散列值计算,得到待传输数据的散列值;对散列值中字符进行数字编码,得到散列值的数字字符串;根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串;所述加密密钥根据散列值的数字字符串生成,并存储于区块链网络中;发出仿射变换处理后的数字字符串,与现有技术中借助散列值实现数据加密传输的技术方案相比,通过对散列值进行仿射变换处理,可有效抵御针对于散列值的字典攻击,提升数据加密传输的安全性;同时,因以仿射变换处理替代现有技术下的分组密码算法实现散列值加密,解决了现有技术中使用分组密码算法进行加密而造成计算过程繁杂、降低数据传输效率的问题,可提升数据传输的效率;进一步地,以区块链存储加密密钥,也可借助区块链的特性保证数据加密传输的安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中一种基于区块链的数据加密传输方法的流程示意图;
图2为本发明实施例中一种基于区块链的数据加密传输装置的结构示意图;
图3为本发明实施例中一种基于区块链的数据加密传输装置的具体示例图;
图4为本发明实施例中一种基于区块链的数据加密传输方法的流程示意图;
图5为本发明实施例中一种基于区块链的数据加密传输装置的结构示意图;
图6为本发明实施例中一种基于区块链的数据加密传输装置的具体示例图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明所示实例涉及下列名词,如下进行解释:
仿射变换:是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。仿射密码是根据仿射变换而来的一种替换密码,即字母系统中所有字母都由一个一元一次数学方程加密,对应至数值或转回字母。
单向散列函数:又称Hash函数、杂凑函数,就是把任意长的输入消息串变化成固定长的输入串且由输出串难以得到输入串的一种函数。这个输出串称为该消息的散列值,一般用于产生消息摘要,密钥加密等。
MD5:是RSA数据安全公司开发的一种单向散列算法,MD5被广泛使用,可以用来把不同长度的数据块进行暗码运算成一个128位的数值。
字典攻击:在破解密码或密钥时,逐一尝试用户自定义词典中的可能密码(单词或短语)的攻击方式。
区块链:一种去中心化的、不可篡改的、可信的分布式账本,具有不可伪造、全程留痕、可以追溯、公开透明、集体维护等特征。
目前,单向散列函数可用于基于口令的加密(Password Based Encrypted,PBE)。原理是用户在前端输入口令后进行散列值计算,与后台的数据传输中不直接传输口令明文,而是传输口令的散列值。后台接收到前端报文后,将口令的散列值进行存储,或从数据库取出口令散列值进行比对校验。但这种方法无法抵御针对口令的字典攻击,特别是在存在弱口令的情况下。
为了解决上述问题,本发明实施例提供一种基于区块链的数据加密传输方法,用以抵御字典攻击,提升数据加密传输的效率和安全性,如图1所示,该方法包括:
步骤101:对待传输数据进行散列值计算,得到待传输数据的散列值;
步骤102:对散列值中字符进行数字编码,得到散列值的数字字符串;
步骤103:根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串;上述加密密钥根据散列值的数字字符串生成,并存储于区块链网络中;
步骤104:发出仿射变换处理后的数字字符串。
本发明实施例中,对待传输数据进行散列值计算,得到待传输数据的散列值;对散列值中字符进行数字编码,得到散列值的数字字符串;根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串;上述加密密钥根据散列值的数字字符串生成,并存储于区块链网络中;发出仿射变换处理后的数字字符串,与现有技术中借助散列值实现数据加密传输的技术方案相比,通过对散列值进行仿射变换处理,可有效抵御针对于散列值的字典攻击,提升数据加密传输的安全性;同时,因以仿射变换处理替代现有技术下的分组密码算法实现散列值加密,解决了现有技术中使用分组密码算法进行加密而造成计算过程繁杂、降低数据传输效率的问题,可提升数据传输的效率;进一步地,以区块链存储加密密钥,也可借助区块链的特性保证数据加密传输的安全。
具体实施时,首先对待传输数据进行散列值计算,得到待传输数据的散列值。
实施例中,对待传输数据进行散列值计算,得到待传输数据的散列值,可以包括:
基于预设置的单向散列函数,对待传输数据进行散列值计算,得到待传输数据的散列值。
具体实施时,在对待传输数据进行散列值计算,得到待传输数据的散列值后,对散列值中字符进行数字编码,得到散列值的数字字符串。
实施例中,对散列值中字符进行数字编码,得到散列值的数字字符串,可以包括:
在散列值仅包含小写字母字符或仅包含大写字母字符时,以第一数值集合,对散列值中字符进行数字编码,得到散列值的数字字符串;
在散列值包含小写字母字符、大写字母字符和数字字符时,以第二数值集合,对散列值中字符进行数字编码,得到散列值的数字字符串;
其中,第一数值集合和第二数值集合不同。
在上述实施例中,第一数值集合可为包含自然数0~25的数字结合;第一数值集合可为包含自然数0~61的数字结合。
具体实施时,在对散列值中字符进行数字编码,得到散列值的数字字符串后,根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串;上述加密密钥根据散列值的数字字符串生成,并存储于区块链网络中。
实施例中,本发明实施例提供的一种基于区块链的数据加密传输方法,还可以包括:按如下方式生成加密密钥:
选取散列值的数字字符串中的一个数字;上述数字与预设数值互质;上述预设数值通过对进行数字编码的数值集合中数字极大值加1而得到;
选取散列值的数字字符串中的另一数字,结合上述选取的一个数字,基于密钥生成算法,生成加密密钥。
在一个实施例中,根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串,可以包括:
按如下公式根据加密密钥,对数字字符串中每一数字进行仿射变换处理,得到每一数字的仿射变换处理结果:
e(x)=ax+b(mod m)
其中,x为数字字符串中的数字,无量纲;e(x)为数字字符串中数字x的仿射变换处理结果;a,b为加密密钥;m为进行数字编码的数值集合中数字极大值加1的值;
按数字字符串中数字的顺序,对每一数字的仿射变换处理结果进行组合,得到仿射变换处理后的数字字符串。
具体实施时,在根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串后,发出仿射变换处理后的数字字符串。
下面给出一个具体实施例,来说明本发明的方法的具体应用,该实施例中,可以包括如下步骤:
一、对于要处理的明文使用单向散列函数进行哈希值的计算,首先将明文进行哈希计算,得到散列值H。
二、依据特定的算法生成加密密钥ab,根据加密密钥求解解密密钥,并将密钥存储在区块链中:
1、首先计算散列值字符集中的字符数量,若为纯小写字母,则取m=26;一般散列值的字符是大小字母+数字,取m=62;
2、对散列值中字符进行数字编码,得到散列值的数字字符串,如将数字0-61和字符一一对应,一个数字代表一个字符,如图6所示。
3、按如下方式生成加密密钥:
选取散列值的数字字符串中的一个数字;上述数字与预设数值互质;上述预设数值通过对进行数字编码的数值集合中数字极大值加1而得到;
选取散列值的数字字符串中的另一数字,结合上述选取的一个数字,基于密钥生成算法,生成加密密钥。
例如,根据一定的密钥生成算法取a,b∈Z62,且保证gcd(a,m)=1,(a,b)即为加密密钥,将密钥(a,b)存储在区块链中;
三、使用加密密钥,计算仿射加密后的密文;
按如下公式根据加密密钥,对数字字符串中每一数字进行仿射变换处理,得到每一数字的仿射变换处理结果:
e(x)=ax+b(mod m)
其中,x为数字字符串中的数字,无量纲;e(x)为数字字符串中数字x的仿射变换处理结果;a,b为加密密钥;m为进行数字编码的数值集合中数字极大值加1的值;
按数字字符串中数字的顺序,对每一数字的仿射变换处理结果进行组合,得到仿射变换处理后的数字字符串,即使用该函数将原字符串中的字符转换为对应加密字符。
四、使用解密密钥,计算仿射加密前的明文。
使用解码函数d(x)=a-1(x-b)(mod m)来还原明文,其中a-1是a在Zm群的乘法逆元算符。可以参考使用欧几里得算法求解乘法逆元,其中,d(x)为原始字符字符所对应的编码。
当然,可以理解的是,上述详细流程还可以有其他变化例,相关变化例均应落入本发明的保护范围。
本发明实施例中,对待传输数据进行散列值计算,得到待传输数据的散列值;对散列值中字符进行数字编码,得到散列值的数字字符串;根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串;上述加密密钥根据散列值的数字字符串生成,并存储于区块链网络中;发出仿射变换处理后的数字字符串,与现有技术中借助散列值实现数据加密传输的技术方案相比,通过对散列值进行仿射变换处理,可有效抵御针对于散列值的字典攻击,提升数据加密传输的安全性;同时,因以仿射变换处理替代现有技术下的分组密码算法实现散列值加密,解决了现有技术中使用分组密码算法进行加密而造成计算过程繁杂、降低数据传输效率的问题,可提升数据传输的效率;进一步地,以区块链存储加密密钥,也可借助区块链的特性保证数据加密传输的安全。
相比于目前抵御字典攻击的方法,如目前防止这种攻击,一般在哈希函数后再使用分组密码进行计算,如3DES、AES等算法。但本发明实施例提供的方法,处理速度远远快于分组密码算法,大大提升性能。
本发明实施例中还提供了一种基于区块链的数据加密传输装置,如下面的实施例上述。由于该装置解决问题的原理与基于区块链的数据加密传输方法相似,因此该装置的实施可以参见基于区块链的数据加密传输方法的实施,重复之处不再赘述。
本发明实施例还提供一种基于区块链的数据加密传输装置,用以抵御字典攻击,提升数据加密传输的效率和安全性,如图2所示,该装置包括:
散列值计算模块201,用于对待传输数据进行散列值计算,得到待传输数据的散列值;
数字编码模块202,用于对散列值中字符进行数字编码,得到散列值的数字字符串;
仿射变换处理模块203,用于根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串;上述加密密钥根据散列值的数字字符串生成,并存储于区块链网络中;
数据传输模块204,用于发出仿射变换处理后的数字字符串。
在一个实施例中,散列值计算模块,具体用于:
基于预设置的单向散列函数,对待传输数据进行散列值计算,得到待传输数据的散列值。
在一个实施例中,数字编码模块,具体用于:
在散列值仅包含小写字母字符或仅包含大写字母字符时,以第一数值集合,对散列值中字符进行数字编码,得到散列值的数字字符串;
在散列值包含小写字母字符、大写字母字符和数字字符时,以第二数值集合,对散列值中字符进行数字编码,得到散列值的数字字符串;
其中,第一数值集合和第二数值集合不同。
在一个实施例中,还可以包括:生成加密密钥模块,用于:
按如下方式生成加密密钥:
选取散列值的数字字符串中的一个数字;上述数字与预设数值互质;上述预设数值通过对进行数字编码的数值集合中数字极大值加1而得到;
选取散列值的数字字符串中的另一数字,结合上述选取的一个数字,基于密钥生成算法,生成加密密钥。
在一个实施例中,仿射变换处理模块,具体用于:
按如下公式根据加密密钥,对数字字符串中每一数字进行仿射变换处理,得到每一数字的仿射变换处理结果:
e(x)=ax+b(mod m)
其中,x为数字字符串中的数字,无量纲;e(x)为数字字符串中数字x的仿射变换处理结果;a,b为加密密钥;m为进行数字编码的数值集合中数字极大值加1的值;
按数字字符串中数字的顺序,对每一数字的仿射变换处理结果进行组合,得到仿射变换处理后的数字字符串。
下面给出一个具体实施例,来说明本发明的装置的具体应用,参见图3,该实施例中,可以包括:
单向散列模块301:对于要处理的明文进行哈希值的计算;
仿射密钥生成模块302:以A哈希值为输入,依据特定的算法生成加密密钥,根据加密密钥求解解密密钥;
仿射加密模块303:使用B生成的加密密钥,计算仿射加密后的密文;
仿射解密模块304:根据B生成的解密密钥,计算仿射加密前的明文;
区块链305:存储生成的仿射密钥;
当然,可以理解的是,上述详细流程还可以有其他变化例,相关变化例均应落入本发明的保护范围。
本发明实施例还提供一种基于区块链的数据加密传输方法,用以抵御字典攻击,提升数据加密传输的效率和安全性,如图4所示,该方法包括:
步骤401:接收仿射变换处理后的所传输数据的数字字符串;仿射变换处理后的所传输数据的数字字符串,是根据加密密钥对所传输数据的数字字符串进行仿射变换处理得到;上述加密密钥根据所传输数据的数字字符串生成,并存储于区块链网络中;
步骤402:对仿射变换处理后的所传输数据的数字字符串,进行逆向仿射变换处理,得到所传输数据的数字字符串;
步骤403:对所传输数据的数字字符串,进行逆向数字编码,得到所传输数据的散列值;
步骤404:对所传输数据的散列值,进行逆向散列值计算,得到所传输数据。
本发明实施例中,接收仿射变换处理后的所传输数据的数字字符串;仿射变换处理后的所传输数据的数字字符串,是根据加密密钥对所传输数据的数字字符串进行仿射变换处理得到;上述加密密钥根据所传输数据的数字字符串生成,并存储于区块链网络中;对仿射变换处理后的所传输数据的数字字符串,进行逆向仿射变换处理,得到所传输数据的数字字符串;对所传输数据的数字字符串,进行逆向数字编码,得到所传输数据的散列值;对所传输数据的散列值,进行逆向散列值计算,得到所传输数据,与现有技术中借助散列值实现数据加密传输的技术方案相比,通过对散列值进行仿射变换处理,可有效抵御针对于散列值的字典攻击,提升数据加密传输的安全性;同时,因以仿射变换处理替代现有技术下的分组密码算法实现散列值加密,解决了现有技术中使用分组密码算法进行加密而造成计算过程繁杂、降低数据传输效率的问题,可提升数据传输的效率;进一步地,以区块链存储加密密钥,也可借助区块链的特性保证数据加密传输的安全。
在一个实施例中,按如下公式根据加密密钥,对所传输数据的数字字符串进行仿射变换处理,得到仿射变换处理后的所传输数据的数字字符串:
e(x)=ax+b(mod m)
其中,x为所传输数据的数字字符串中的数字,无量纲;e(x)为所传输数据的数字字符串中数字x的仿射变换处理结果;a,b为加密密钥;m为进行数字编码的数值集合中数字极大值加1的值。
在一个实施例中,对仿射变换处理后的所传输数据的数字字符串,进行逆向仿射变换处理,得到所传输数据的数字字符串,可以包括:
按如下公式对数字字符串中每一数字进行逆向仿射变换处理,得到每一数字的逆向仿射变换处理结果:
d(x)=a-1(x-b)(mod m)
其中,x为数字字符串中的数字,无量纲;d(x)为数字字符串中数字x的逆向仿射变换处理结果;a,b为加密密钥;a-1为对a进行乘法逆元处理而得到;m为进行数字编码的数值集合中数字极大值加1的值;
按数字字符串中数字的顺序,对每一数字的逆向仿射变换处理结果进行组合,得到所传输数据的数字字符串。
本发明实施例还提供一种基于区块链的数据加密传输装置,用以抵御字典攻击,提升数据加密传输的效率和安全性,如图5所示,该装置包括:
仿射变换处理后的所传输数据的数字字符串接收模块501,用于接收仿射变换处理后的所传输数据的数字字符串;仿射变换处理后的所传输数据的数字字符串,是根据加密密钥对所传输数据的数字字符串进行仿射变换处理得到;上述加密密钥根据所传输数据的数字字符串生成,并存储于区块链网络中;
逆向仿射变换处理模块502,用于对仿射变换处理后的所传输数据的数字字符串,进行逆向仿射变换处理,得到所传输数据的数字字符串;
逆向数字编码模块503,用于对所传输数据的数字字符串,进行逆向数字编码,得到所传输数据的散列值;
逆向散列值计算模块504,用于对所传输数据的散列值,进行逆向散列值计算,得到所传输数据。
在一个实施例中,按如下公式根据加密密钥,对所传输数据的数字字符串进行仿射变换处理,得到仿射变换处理后的所传输数据的数字字符串:
e(x)=ax+b(mod m)
其中,x为所传输数据的数字字符串中的数字,无量纲;e(x)为所传输数据的数字字符串中数字x的仿射变换处理结果;a,b为加密密钥;m为进行数字编码的数值集合中数字极大值加1的值。
在一个实施例中,逆向仿射变换处理模块,具体用于:
按如下公式对数字字符串中每一数字进行逆向仿射变换处理,得到每一数字的逆向仿射变换处理结果:
d(x)=a-1(x-b)(mod m)
其中,x为数字字符串中的数字,无量纲;d(x)为数字字符串中数字x的逆向仿射变换处理结果;a,b为加密密钥;a-1为对a进行乘法逆元处理而得到;m为进行数字编码的数值集合中数字极大值加1的值;
按数字字符串中数字的顺序,对每一数字的逆向仿射变换处理结果进行组合,得到所传输数据的数字字符串。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的数据加密传输方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述基于区块链的数据加密传输方法的计算机程序。
本发明实施例中,对待传输数据进行散列值计算,得到待传输数据的散列值;对散列值中字符进行数字编码,得到散列值的数字字符串;根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串;所述加密密钥根据散列值的数字字符串生成,并存储于区块链网络中;发出仿射变换处理后的数字字符串,与现有技术中借助散列值实现数据加密传输的技术方案相比,通过对散列值进行仿射变换处理,可有效抵御针对于散列值的字典攻击,提升数据加密传输的安全性;同时,因以仿射变换处理替代现有技术下的分组密码算法实现散列值加密,解决了现有技术中使用分组密码算法进行加密而造成计算过程繁杂、降低数据传输效率的问题,可提升数据传输的效率;进一步地,以区块链存储加密密钥,也可借助区块链的特性保证数据加密传输的安全。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (18)

1.一种基于区块链的数据加密传输方法,其特征在于,包括:
对待传输数据进行散列值计算,得到待传输数据的散列值;
对散列值中字符进行数字编码,得到散列值的数字字符串;
根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串;所述加密密钥根据散列值的数字字符串生成,并存储于区块链网络中;
发出仿射变换处理后的数字字符串。
2.如权利要求1所述的方法,其特征在于,对待传输数据进行散列值计算,得到待传输数据的散列值,包括:
基于预设置的单向散列函数,对待传输数据进行散列值计算,得到待传输数据的散列值。
3.如权利要求1所述的方法,其特征在于,对散列值中字符进行数字编码,得到散列值的数字字符串,包括:
在散列值仅包含小写字母字符或仅包含大写字母字符时,以第一数值集合,对散列值中字符进行数字编码,得到散列值的数字字符串;
在散列值包含小写字母字符、大写字母字符和数字字符时,以第二数值集合,对散列值中字符进行数字编码,得到散列值的数字字符串;
其中,第一数值集合和第二数值集合不同。
4.如权利要求3所述的方法,其特征在于,还包括:
按如下方式生成加密密钥:
选取散列值的数字字符串中的一个数字;所述数字与预设数值互质;所述预设数值通过对进行数字编码的数值集合中数字极大值加1而得到;
选取散列值的数字字符串中的另一数字,结合上述选取的一个数字,基于密钥生成算法,生成加密密钥。
5.如权利要求3所述的方法,其特征在于,根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串,包括:
按如下公式根据加密密钥,对数字字符串中每一数字进行仿射变换处理,得到每一数字的仿射变换处理结果:
e(x)=ax+b(mod m)
其中,x为数字字符串中的数字,无量纲;e(x)为数字字符串中数字x的仿射变换处理结果;a,b为加密密钥;m为进行数字编码的数值集合中数字极大值加1的值;
按数字字符串中数字的顺序,对每一数字的仿射变换处理结果进行组合,得到仿射变换处理后的数字字符串。
6.一种基于区块链的数据加密传输装置,其特征在于,包括:
散列值计算模块,用于对待传输数据进行散列值计算,得到待传输数据的散列值;
数字编码模块,用于对散列值中字符进行数字编码,得到散列值的数字字符串;
仿射变换处理模块,用于根据加密密钥,对散列值的数字字符串进行仿射变换处理,得到仿射变换处理后的数字字符串;所述加密密钥根据散列值的数字字符串生成,并存储于区块链网络中;
数据传输模块,用于发出仿射变换处理后的数字字符串。
7.如权利要求6所述的装置,其特征在于,散列值计算模块,具体用于:
基于预设置的单向散列函数,对待传输数据进行散列值计算,得到待传输数据的散列值。
8.如权利要求6所述的装置,其特征在于,数字编码模块,具体用于:
在散列值仅包含小写字母字符或仅包含大写字母字符时,以第一数值集合,对散列值中字符进行数字编码,得到散列值的数字字符串;
在散列值包含小写字母字符、大写字母字符和数字字符时,以第二数值集合,对散列值中字符进行数字编码,得到散列值的数字字符串;
其中,第一数值集合和第二数值集合不同。
9.如权利要求8所述的装置,其特征在于,还包括:生成加密密钥模块,用于:
按如下方式生成加密密钥:
选取散列值的数字字符串中的一个数字;所述数字与预设数值互质;所述预设数值通过对进行数字编码的数值集合中数字极大值加1而得到;
选取散列值的数字字符串中的另一数字,结合上述选取的一个数字,基于密钥生成算法,生成加密密钥。
10.如权利要求8所述的装置,其特征在于,仿射变换处理模块,具体用于:
按如下公式根据加密密钥,对数字字符串中每一数字进行仿射变换处理,得到每一数字的仿射变换处理结果:
e(x)=ax+b(mod m)
其中,x为数字字符串中的数字,无量纲;e(x)为数字字符串中数字x的仿射变换处理结果;a,b为加密密钥;m为进行数字编码的数值集合中数字极大值加1的值;
按数字字符串中数字的顺序,对每一数字的仿射变换处理结果进行组合,得到仿射变换处理后的数字字符串。
11.一种基于区块链的数据加密传输方法,其特征在于,包括:
接收仿射变换处理后的所传输数据的数字字符串;仿射变换处理后的所传输数据的数字字符串,是根据加密密钥对所传输数据的数字字符串进行仿射变换处理得到;所述加密密钥根据所传输数据的数字字符串生成,并存储于区块链网络中;
对仿射变换处理后的所传输数据的数字字符串,进行逆向仿射变换处理,得到所传输数据的数字字符串;
对所传输数据的数字字符串,进行逆向数字编码,得到所传输数据的散列值;
对所传输数据的散列值,进行逆向散列值计算,得到所传输数据。
12.如权利要求11所述的方法,其特征在于,按如下公式根据加密密钥,对所传输数据的数字字符串进行仿射变换处理,得到仿射变换处理后的所传输数据的数字字符串:
e(x)=ax+b(mod m)
其中,x为所传输数据的数字字符串中的数字,无量纲;e(x)为所传输数据的数字字符串中数字x的仿射变换处理结果;a,b为加密密钥;m为进行数字编码的数值集合中数字极大值加1的值。
13.如权利要求12所述的方法,其特征在于,对仿射变换处理后的所传输数据的数字字符串,进行逆向仿射变换处理,得到所传输数据的数字字符串,包括:
按如下公式对数字字符串中每一数字进行逆向仿射变换处理,得到每一数字的逆向仿射变换处理结果:
d(x)=a-1(x-b)(mod m)
其中,x为数字字符串中的数字,无量纲;d(x)为数字字符串中数字x的逆向仿射变换处理结果;a,b为加密密钥;a-1为对a进行乘法逆元处理而得到;m为进行数字编码的数值集合中数字极大值加1的值;
按数字字符串中数字的顺序,对每一数字的逆向仿射变换处理结果进行组合,得到所传输数据的数字字符串。
14.一种基于区块链的数据加密传输装置,其特征在于,包括:
仿射变换处理后的所传输数据的数字字符串接收模块,用于接收仿射变换处理后的所传输数据的数字字符串;仿射变换处理后的所传输数据的数字字符串,是根据加密密钥对所传输数据的数字字符串进行仿射变换处理得到;所述加密密钥根据所传输数据的数字字符串生成,并存储于区块链网络中;
逆向仿射变换处理模块,用于对仿射变换处理后的所传输数据的数字字符串,进行逆向仿射变换处理,得到所传输数据的数字字符串;
逆向数字编码模块,用于对所传输数据的数字字符串,进行逆向数字编码,得到所传输数据的散列值;
逆向散列值计算模块,用于对所传输数据的散列值,进行逆向散列值计算,得到所传输数据。
15.如权利要求14所述的装置,其特征在于,按如下公式根据加密密钥,对所传输数据的数字字符串进行仿射变换处理,得到仿射变换处理后的所传输数据的数字字符串:
e(x)=ax+b(mod m)
其中,x为所传输数据的数字字符串中的数字,无量纲;e(x)为所传输数据的数字字符串中数字x的仿射变换处理结果;a,b为加密密钥;m为进行数字编码的数值集合中数字极大值加1的值。
16.如权利要求15所述的装置,其特征在于,逆向仿射变换处理模块,具体用于:
按如下公式对数字字符串中每一数字进行逆向仿射变换处理,得到每一数字的逆向仿射变换处理结果:
d(x)=a-1(x-b)(mod m)
其中,x为数字字符串中的数字,无量纲;d(x)为数字字符串中数字x的逆向仿射变换处理结果;a,b为加密密钥;a-1为对a进行乘法逆元处理而得到;m为进行数字编码的数值集合中数字极大值加1的值;
按数字字符串中数字的顺序,对每一数字的逆向仿射变换处理结果进行组合,得到所传输数据的数字字符串。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5、11至13任一所述方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至5、11至13任一所述方法的计算机程序。
CN202111256523.9A 2021-10-27 2021-10-27 基于区块链的数据加密传输方法及装置 Active CN114244552B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111256523.9A CN114244552B (zh) 2021-10-27 2021-10-27 基于区块链的数据加密传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111256523.9A CN114244552B (zh) 2021-10-27 2021-10-27 基于区块链的数据加密传输方法及装置

Publications (2)

Publication Number Publication Date
CN114244552A true CN114244552A (zh) 2022-03-25
CN114244552B CN114244552B (zh) 2024-04-19

Family

ID=80743276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111256523.9A Active CN114244552B (zh) 2021-10-27 2021-10-27 基于区块链的数据加密传输方法及装置

Country Status (1)

Country Link
CN (1) CN114244552B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931529A (zh) * 2010-08-09 2010-12-29 中兴通讯股份有限公司 一种数据加密方法、数据解密方法及节点
CN109981256A (zh) * 2019-04-03 2019-07-05 华南师范大学 基于FeisitelBox结构的白盒分组密码构造方法及系统
CN110086633A (zh) * 2019-05-13 2019-08-02 广东辰宜信息科技有限公司 一种区块链技术中密文防篡改方法
EP3570489A1 (en) * 2018-05-18 2019-11-20 Siemens Aktiengesellschaft Device and method for transforming blockchain data blocks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931529A (zh) * 2010-08-09 2010-12-29 中兴通讯股份有限公司 一种数据加密方法、数据解密方法及节点
EP3570489A1 (en) * 2018-05-18 2019-11-20 Siemens Aktiengesellschaft Device and method for transforming blockchain data blocks
CN109981256A (zh) * 2019-04-03 2019-07-05 华南师范大学 基于FeisitelBox结构的白盒分组密码构造方法及系统
CN110086633A (zh) * 2019-05-13 2019-08-02 广东辰宜信息科技有限公司 一种区块链技术中密文防篡改方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘海峰;朱婧;曹慧;: "改进DES子密钥使用顺序的算法研究", 西南大学学报(自然科学版), no. 06, 20 June 2017 (2017-06-20) *

Also Published As

Publication number Publication date
CN114244552B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
US8300828B2 (en) System and method for a derivation function for key per page
Iyer et al. A novel idea on multimedia encryption using hybrid crypto approach
CN108270550B (zh) 一种基于sm4算法的安全高效的白盒实现方法及装置
CN110851845A (zh) 一种轻量级单用户多数据的全同态数据封装方法
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
CN110543778A (zh) 一种字符数据线性随机加密和解密算法
WO2013156758A1 (en) Method of encrypting data
Walia et al. Implementation of new modified MD5-512 bit algorithm for cryptography
Paragas et al. Hill cipher modification: A simplified approach
CN113098675B (zh) 基于多项式完全同态的二进制数据加密系统及方法
CN116070276A (zh) 基于同态加密与Simhash的密文查重与存储方法
CN114826590A (zh) 一种分组模式加密方法、解密方法及其装置、设备
Tiwari Cryptography in blockchain
CN111368317B (zh) 一种计算机数据加密系统及方法
CN111817853A (zh) 一种后量子安全的签密算法
CN114244552B (zh) 基于区块链的数据加密传输方法及装置
Haithem et al. Intelligent TRIPLE DES with N Round Based on Genetic Algorithm
Ruby et al. SANE: Secure encryption technique for alphanumeric data over web based applications
Usama et al. Chaos-based secure data compression (CSDC)
CN115134120B (zh) 一种ecc结合opt的加密方法
CN111835506B (zh) 基于一次使用密码本的信息安全数字加密方法
SELÇUK et al. Designing a new hybrid cryptographic model using coordinate axes
Ritonga et al. Modification affine cipher transform digraph to squared the value of ‘n’in text security
Rashid Design and implementation a new approach for enhancing encryption and decryption mechanisms
Berlin et al. A novel encryption technique for securing text files

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