CN111563268B - 基于矩阵运算的数据加密方法、装置及存储介质 - Google Patents
基于矩阵运算的数据加密方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111563268B CN111563268B CN202010677638.4A CN202010677638A CN111563268B CN 111563268 B CN111563268 B CN 111563268B CN 202010677638 A CN202010677638 A CN 202010677638A CN 111563268 B CN111563268 B CN 111563268B
- Authority
- CN
- China
- Prior art keywords
- matrix
- data
- key
- binary stream
- encrypted signal
- 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
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 350
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000013507 mapping Methods 0.000 claims abstract description 62
- 238000004364 calculation method Methods 0.000 claims abstract description 21
- 238000003491 array Methods 0.000 claims description 20
- 238000009877 rendering Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000006835 compression Effects 0.000 claims 1
- 238000007906 compression Methods 0.000 claims 1
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005336 cracking Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013501 data transformation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 150000003839 salts Chemical class 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种大数据,揭露一种基于矩阵运算的数据加密方法,应用于服务端,包括:接收前端发送的数据请求并根据请求内容将对应的源数据转化为第一矩阵;从第一映射字典中随机获取一个密钥以及对应的第二矩阵;随机生成第三矩阵,根据第一矩阵、第二矩阵和第三矩阵生成加密信号,并将加密信号、第三矩阵以及密钥反馈至前端,以供前端根据密钥从第二映射字典中获取第二矩阵的逆矩阵,根据加密信号、第三矩阵以及逆矩阵计算得到第一矩阵并转化为二进制流数据,展示渲染后的二进制流数据。本发明还涉及区块链技术,所述源数据存储于区块链中。本发明基于矩阵运算对服务端源数据进行加密计算,以防止数据泄露导致的损失和风险,有效地保护了数据。
Description
技术领域
本发明涉及大数据处理,尤其涉及一种基于矩阵运算的数据加密方法、电子装置及计算机可读存储介质。
背景技术
目前很多公司或者团体会通过爬虫程序抓取网络数据,从而获取所需要的信息,因此我们在进行网络资讯交流的同时,要避免重要的数据被第三方爬取导致经济损失或未知风险。也就是说,面对众多的爬取工具以及数据保护的破解措施,如何保护有价值的信息和数据不被爬虫窃取也变得更加重要。目前比较常用的反爬虫工具和方法主要有:
1、服务端后台实现监控程序,通过统计单位时间内的统计指标(例如访问ip、访问session、访问User_Agent),当超过预设阀值后就实现风险报警,从而封锁该统计指标对应访问端的后续请求。
2、服务端的重要数据需访问端进行账号注册登录后方可获得,同时利用js和AJAX的动态效果,只让正常登录者访问,让爬虫无法正常读取重要数据。
技术问题
上述方法主要有以下几个弊端:爬虫使用者较容易通过伪造痕迹的方式绕过反爬虫规则,且部分监控方法(例如统计访问User_Agent)误伤大,很容易对普通使用者造成误拦截,造成正常用户体验不佳。当爬虫使用者绕过反爬虫规则时,服务端原始的真实数据会完全暴露在爬虫使用者的面前,数据安全性不够高。此外,现有基于矩阵运算的数据加密方法主要是通过对称加密AES和非对称加密RSA算法实现,一般使用场景是登陆密码加密等简略信息,对于较大的数据,比如几十KB甚至几百KB的数据进行加密是相当消耗性能的,并不实用。而且,AES本质上是可以反解密出来的,即使加salt,对于salt也需要另外传输保存,直接原文传输同样会面临被爬取的风险,RSA虽然安全,但同样需要两次传输获取,加密效率较低,如何安全存储前端生成的私钥也是个问题。
技术解决方案
鉴于以上内容,有必要提供一种基于矩阵运算的数据加密方法,用于对源数据进行加密以防止数据泄露。
本发明提供的基于矩阵运算的数据加密方法,应用于服务端,包括:
接收前端发送的数据请求,根据所述数据请求的请求内容将对应的源数据转化为第一矩阵;
从预设的第一映射字典中随机获取一个密钥以及与所述密钥对应的第二矩阵;
随机生成第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号,并将所述加密信号、所述第三矩阵以及所述密钥反馈至所述前端,以供所述前端根据所述密钥从预设的第二映射字典中获取所述第二矩阵的逆矩阵,根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到所述第一矩阵,将所述第一矩阵转化为二进制流数据,并将所述二进制流数据渲染后展示到所述前端的显示页面上。
可选地,所述源数据转化为第一矩阵包括:
将所述源数据转化为二进制流数据;
根据所述二进制流数据计算获得第一矩阵,所述第一矩阵的特征描述为:S=radix(zip(P),10),其中,P为二进制流数据,S为第一矩阵。
可选地,所述接收前端发送的数据请求,根据所述数据请求的请求内容将对应的源数据转化为第一矩阵之前还包括:生成并存储所述第一映射字典,其中,所述第一映射字典包括一对以上数量的数组,每对数组包括一个密钥和与该密钥对应的运算矩阵。
可选地,所述前端根据所述第一映射字典生成并存储第二映射字典,所述第二映射字典包括与所述第一映射字典数组数量对应的数组,每对数组包括一个密钥和与所述第一映射字典数组中该密钥对应的运算矩阵的逆矩阵。
可选地,所述服务端通过如下计算公式生成加密信号:T=S*X+Y;其中,S为第一矩阵,X为第二矩阵,Y为第三矩阵,T为加密信号。
可选地,所述前端根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到所述第一矩阵,将所述第一矩阵转化为二进制流数据包括:
所述前端通过S=(T-Y)*X’计算得到所述第一矩阵,然后通过P=unzip(radix(S,2))计算得到二进制流数据;其中,S为第一矩阵,X’为逆矩阵,Y为第三矩阵,T为加密信号,P为二进制流数据。
此外,为实现上述目的,本发明还提供一种基于矩阵运算的数据加密方法,应用于前端,包括:
向服务端发送数据请求,所述服务端响应所述数据请求生成第一矩阵、秘钥、与所述秘钥对应的第二矩阵,以及第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号;
接收所述服务端返回的所述加密信号、第三矩阵以及密钥,获取所述密钥对应的第二矩阵的逆矩阵,根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到所述第一矩阵,将所述第一矩阵转化为二进制流数据,并将所述二进制流数据渲染后展示到所述前端的显示页面上。
可选地,所述服务端响应所述数据请求生成第一矩阵、秘钥、与所述秘钥对应的第二矩阵,以及第三矩阵包括:
所述服务端根据所述数据请求的请求内容将对应的源数据转化为第一矩阵;
从预设的第一映射字典中随机获取一个密钥以及与所述密钥对应的第二矩阵,以供所述前端根据所述密钥从预设的第二映射字典中获取所述第二矩阵的逆矩阵;
随机生成第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号。
此外,为实现上述目的,本发明还提供一种电子装置,该电子装置包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的基于矩阵运算的数据加密程序,所述基于矩阵运算的数据加密程序被所述处理器执行时实现如权利要求1至6任一项所述的基于矩阵运算的数据加密方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有基于矩阵运算的数据加密程序;其中,所述基于矩阵运算的数据加密程序可被一个或者多个处理器执行,以实现如权利要求1至6任一项所述的基于矩阵运算的数据加密方法的步骤。
有益效果
相较现有技术,本发明通过服务端将源数据转化为第一矩阵,从预设的第一映射字典中获取密钥以及对应的第二矩阵,随机生成第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号,并将所述加密信号、所述第三矩阵以及所述密钥返回到发送数据请求的前端,以供前端根据所述加密信号、所述第三矩阵以及所述密钥获取所述第一矩阵,并将所述第一矩阵转化的二进制流数据渲染后展示到显示页面上。本发明基于矩阵运算对服务端源数据进行加密计算,若被爬取了第三矩阵,因为服务端从第一映射字典随机获取秘钥对应的第二矩阵进行加密,爬取者也无法爬取加密策略和第二矩阵,即使爬取者知道加密矩阵的格式,利用穷举法获取加密矩阵也基本不实际,增加了加密数据破解的难度和成本,使加密数据难以被破解,以防止数据泄露导致的经济损失和未知风险,有效地达到了保护数据的目的。
附图说明
图1为本发明电子装置第一实施例的示意图;
图2为图1中的基于矩阵运算的数据加密程序第一实施例的程序模块图;
图3为本发明基于矩阵运算的数据加密方法第一实施例的流程图;
图4为本发明基于矩阵运算的数据加密方法第二实施例的流程图;
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
本发明的最佳实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
如图3所示,为本发明基于矩阵运算的数据加密方法第一实施例的流程图,该基于矩阵运算的数据加密方法应用于服务端,包括步骤S11-S13。
S11、接收前端发送的数据请求,根据所述数据请求的请求内容将对应的源数据转化为第一矩阵。
在一实施方式中,所述服务端解析所述前端发送的数据请求的请求内容,获取与所述请求内容中所请求的数据对应的源数据,将所述源数据转化为二进制流数据;
根据所述二进制流数据计算获得第一矩阵(n*16的矩阵),计算公式如下:
S=radix(zip(P),10)
其中,P为二进制流数据,S为第一矩阵。
S12、从预设的第一映射字典中随机获取一个密钥以及与所述密钥对应的第二矩阵。
在一实施方式中,所述服务端生成并存储第一映射字典,所述第一映射字典包括m对数组,每对数组包括一个密钥和与该密钥对应的运算矩阵(16*16的可逆方阵,且对应的逆矩阵唯一),例如:
dict1: [{key1:X1},{key2:X2},...,{key m:Xm}]
其中,dict1为第一映射字典,key1~key m为密钥,X1~Xm为运算矩阵。
所述服务端从所述第一映射字典中随机获取一对数组{密钥:X},所述运算矩阵X即为与所述密钥对应的第二矩阵。
S13、随机生成第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号,并将所述加密信号、所述第三矩阵以及所述密钥反馈至所述前端,以供所述前端根据所述密钥从预设的第二映射字典中获取所述第二矩阵的逆矩阵,根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到所述第一矩阵,将所述第一矩阵转化为二进制流数据,并将所述二进制流数据渲染后展示到所述前端的显示页面上。
在一实施方式中,所述第三矩阵为n*16的矩阵,所述服务端通过如下计算公式生成加密信号:
T=S*X+Y
其中,S为第一矩阵,X为第二矩阵,Y为第三矩阵,T为加密信号。本实施例中通过随机生成第三矩阵消除计算加密信号时的线性计算的问题,增加了加密信号的破解的难度和成本。
在一实施方式中,所述前端根据所述第一映射字典生成并存储第二映射字典,所述第二映射字典包括m对数组,每对数组包括一个密钥和与所述运算矩阵对应的逆矩阵,例如:
dict2:[{key1:X1’},{key2:X2’},...,{key m:Xm’}]
其中,dict2为第二映射字典,key1~key m为密钥,X1’~Xm’为逆矩阵。
所述第一映射字典与所述第二映射字典可定时同步更新,以保证加密策略的安全性。
在一实施方式中,所述发送请求的前端在接收到所述加密信号、所述第三矩阵以及所述密钥后,从预设的第二映射字典中获取与所述密钥对应的逆矩阵(即所述第二矩阵的逆矩阵),根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到第一矩阵,计算公式如下:
S=(T-Y)*X’
其中,S为第一矩阵,X’为逆矩阵,Y为第三矩阵,T为加密信号。然后根据所述第一矩阵S计算得到二进制流数据P,计算公式如下:
P=unzip(radix(S,2))
最后所述前端将得到的二进制流数据进行渲染并展示到显示页面上。
由上述实施例可知,本发明提出的基于矩阵运算的数据加密方法,服务端将源数据转化为第一矩阵,从预设的第一映射字典中获取密钥以及对应的第二矩阵,随机生成第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号,并将所述加密信号、所述第三矩阵以及所述密钥返回到发送数据请求的前端,以供前端根据所述加密信号、所述第三矩阵以及所述密钥获取所述第一矩阵,并将所述第一矩阵转化的二进制流数据渲染后展示到显示页面上。本发明基于矩阵运算对服务端源数据进行加密计算,若被爬取了第三矩阵,因为服务端从第一映射字典随机获取秘钥对应的第二矩阵进行加密,爬取者也无法爬取加密策略和第二矩阵,即使爬取者知道加密矩阵的格式,利用穷举法获取加密矩阵也基本不实际,增加了加密数据破解的难度和成本,使加密数据难以被破解,以防止数据泄露导致的经济损失和未知风险,有效地达到了保护数据的目的。
本发明的实施方式
如图1所示,为本发明电子装置1第一实施例的示意图。电子装置1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述电子装置1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
在本实施例中,电子装置1包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,该存储器11中存储有基于矩阵运算的数据加密程序10,所述基于矩阵运算的数据加密程序10可被所述处理器12执行。图1仅示出了具有组件11-13以及基于矩阵运算的数据加密程序10的电子装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对电子装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为电子装置1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子装置1的内部存储单元,例如该电子装置1的硬盘;在另一些实施例中,该非易失性存储介质也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。本实施例中,存储器11的可读存储介质主要包括存储程序区和存储数据区,其中,存储程序区通常用于存储安装于电子装置1的操作系统和各类应用软件,例如存储本发明第一实施例中的基于矩阵运算的数据加密程序10的代码等;存储数据区可存储根据区块链节点的使用所创建的数据等,例如已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(CentralProcessingUnit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子装置1的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行基于矩阵运算的数据加密程序10等。
网络接口13可包括无线网络接口或有线网络接口,该网络接口13用于在所述电子装置1与客户端(图中未画出)之间建立通信连接。
可选的,所述电子装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(OrganicLight-EmittingDiode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
在本发明的第一实施例中,所述基于矩阵运算的数据加密程序10被所述处理器12执行时实现如下步骤。
接收前端发送的数据请求,根据所述数据请求的请求内容将对应的源数据转化为第一矩阵。
在一实施方式中,所述服务端解析所述前端发送的数据请求的请求内容,获取与所述请求内容中所请求的数据对应的源数据,将所述源数据转化为二进制流数据;
根据所述二进制流数据计算获得第一矩阵(n*16的矩阵),计算公式如下:
S=radix(zip(P),10)
其中,P为二进制流数据,S为第一矩阵。
从预设的第一映射字典中随机获取一个密钥以及与所述密钥对应的第二矩阵。
在一实施方式中,所述服务端生成并存储第一映射字典,所述第一映射字典包括m对数组,每对数组包括一个密钥和与该密钥对应的运算矩阵(16*16的可逆方阵,且对应的逆矩阵唯一),例如:
dict1: [{key1:X1},{key2:X2},...,{key m:Xm}]
其中,dict1为第一映射字典,key1~key m为密钥,X1~Xm为运算矩阵。
所述服务端从所述第一映射字典中随机获取一对数组{密钥:X},所述运算矩阵X即为与所述密钥对应的第二矩阵。
随机生成第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号,并将所述加密信号、所述第三矩阵以及所述密钥反馈至所述前端,以供所述前端根据所述密钥从预设的第二映射字典中获取所述第二矩阵的逆矩阵,根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到所述第一矩阵,将所述第一矩阵转化为二进制流数据,并将所述二进制流数据渲染后展示到所述前端的显示页面上。
在一实施方式中,所述第三矩阵为n*16的矩阵,所述服务端通过如下计算公式生成加密信号:
T=S*X+Y
其中,S为第一矩阵,X为第二矩阵,Y为第三矩阵,T为加密信号。本实施例中通过随机生成第三矩阵消除计算加密信号时的线性计算的问题,增加了加密信号的破解的难度和成本。
在一实施方式中,所述前端根据所述第一映射字典生成并存储第二映射字典,所述第二映射字典包括m对数组,每对数组包括一个密钥和与所述运算矩阵对应的逆矩阵,例如:
dict2:[{key1:X1’},{key2:X2’},...,{key m:Xm’}]
其中,dict2为第二映射字典,key1~key m为密钥,X1’~Xm’为逆矩阵。
所述第一映射字典与所述第二映射字典可定时同步更新,以保证加密策略的安全性。
在一实施方式中,所述发送请求的前端在接收到所述加密信号、所述第三矩阵以及所述密钥后,从预设的第二映射字典中获取与所述密钥对应的逆矩阵(即所述第二矩阵的逆矩阵),根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到第一矩阵,计算公式如下:
S=(T-Y)*X’
其中,S为第一矩阵,X’为逆矩阵,Y为第三矩阵,T为加密信号。然后根据所述第一矩阵S计算得到二进制流数据P,计算公式如下:
P=unzip(radix(S,2))
最后所述前端将得到的二进制流数据进行渲染并展示到显示页面上。
由上述实施例可知,本发明提出的电子装置1,服务端将源数据转化为第一矩阵,从预设的第一映射字典中获取密钥以及对应的第二矩阵,随机生成第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号,并将所述加密信号、所述第三矩阵以及所述密钥返回到发送数据请求的前端,以供前端根据所述加密信号、所述第三矩阵以及所述密钥获取所述第一矩阵,并将所述第一矩阵转化的二进制流数据渲染后展示到显示页面上。本发明基于矩阵运算对服务端源数据进行加密计算,若被爬取了第三矩阵,因为服务端从第一映射字典随机获取秘钥对应的第二矩阵进行加密,爬取者也无法爬取加密策略和第二矩阵,即使爬取者知道加密矩阵的格式,利用穷举法获取加密矩阵也基本不实际,增加了加密数据破解的难度和成本,使加密数据难以被破解,以防止数据泄露导致的经济损失和未知风险,有效地达到了保护数据的目的。
在其他实施例中,基于矩阵运算的数据加密程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述基于矩阵运算的数据加密程序10在电子装置1中的执行过程。
如图2所示,为图1中的基于矩阵运算的数据加密程序10第一实施例的程序模块图。
在本发明的第一实施例中,基于矩阵运算的数据加密程序10应用于服务端,包括数据转化模块110、密钥矩阵模块120及信号加密模块130,示例性地:
所述数据转化模块110,用于接收前端发送的数据请求,根据所述数据请求的请求内容将对应的源数据转化为第一矩阵;
所述密钥矩阵模块120,用于从预设的第一映射字典中随机获取一个密钥以及与所述密钥对应的第二矩阵;
所述信号加密模块130,用于随机生成第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号,并将所述加密信号、所述第三矩阵以及所述密钥反馈至所述前端,以供所述前端根据所述密钥从预设的第二映射字典中获取所述第二矩阵的逆矩阵,根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到所述第一矩阵,将所述第一矩阵转化为二进制流数据,并将所述二进制流数据渲染后展示到所述前端的显示页面上。
上述数据转化模块110、密钥矩阵模块120及信号加密模块130等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
如图4所示,为本发明基于矩阵运算的数据加密方法第二实施例的流程图,该基于矩阵运算的数据加密方法应用于前端,包括步骤S21-S22。
S21、向服务端发送数据请求,所述服务端响应所述数据请求生成第一矩阵、秘钥、与所述秘钥对应的第二矩阵,以及第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号。
在一实施方式中,所述服务端响应所述数据请求生成第一矩阵、秘钥、与所述秘钥对应的第二矩阵,以及第三矩阵包括:
所述服务端根据所述数据请求的请求内容将对应的源数据转化为第一矩阵;
从预设的第一映射字典中随机获取一个密钥以及与所述密钥对应的第二矩阵,以供所述前端根据所述密钥从预设的第二映射字典中获取所述第二矩阵的逆矩阵;
随机生成第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号。
S22、接收所述服务端返回的所述加密信号、第三矩阵以及密钥,获取所述密钥对应的第二矩阵的逆矩阵,根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到所述第一矩阵,将所述第一矩阵转化为二进制流数据,并将所述二进制流数据渲染后展示到所述前端的显示页面上。
此外,本发明实施例还提出一种计算机可读存储介质,计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等中的任意一种或者几种的任意组合。计算机可读存储介质中包括基于矩阵运算的数据加密程序10,所述基于矩阵运算的数据加密程序10被处理器执行时实现如下操作:
A1、接收前端发送的数据请求,根据所述数据请求的请求内容将对应的源数据转化为第一矩阵;
A2、从预设的第一映射字典中随机获取一个密钥以及与所述密钥对应的第二矩阵;
A3、随机生成第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号,并将所述加密信号、所述第三矩阵以及所述密钥反馈至所述前端,以供所述前端根据所述密钥从预设的第二映射字典中获取所述第二矩阵的逆矩阵,根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到所述第一矩阵,将所述第一矩阵转化为二进制流数据,并将所述二进制流数据渲染后展示到所述前端的显示页面上。
本发明之计算机可读存储介质的具体实施方式与上述基于矩阵运算的数据加密方法以及电子装置的第一实施例的具体实施方式大致相同,在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于矩阵运算的数据加密方法,应用于服务端,其特征在于,包括:
接收前端发送的数据请求,根据所述数据请求的请求内容将对应的源数据转化为第一矩阵;
从预设的第一映射字典中随机获取一个密钥以及与所述密钥对应的第二矩阵;
随机生成第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号,并将所述加密信号、所述第三矩阵以及所述密钥反馈至所述前端,以供所述前端根据所述密钥从预设的第二映射字典中获取所述第二矩阵的逆矩阵,根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到所述第一矩阵,将所述第一矩阵转化为二进制流数据,并将所述二进制流数据渲染后展示到所述前端的显示页面上。
2.如权利要求1所述的基于矩阵运算的数据加密方法,其特征在于,所述源数据转化为第一矩阵包括:
将所述源数据转化为二进制流数据;
根据所述二进制流数据计算获得第一矩阵,所述第一矩阵的特征描述为:S=radix(zip(P),10),其中,P为二进制流数据,S为第一矩阵,radix为基数转换函数,zip为压缩编码函数。
3.如权利要求1所述的基于矩阵运算的数据加密方法,其特征在于,所述接收前端发送的数据请求,根据所述数据请求的请求内容将对应的源数据转化为第一矩阵之前还包括:
生成并存储所述第一映射字典,其中,所述第一映射字典包括一对以上数量的数组,每对数组包括一个密钥和与该密钥对应的运算矩阵。
4.如权利要求3所述的基于矩阵运算的数据加密方法,其特征在于,所述前端根据所述第一映射字典生成并存储第二映射字典,所述第二映射字典包括与所述第一映射字典数组数量对应的数组,每对数组包括一个密钥和与所述第一映射字典数组中该密钥对应的运算矩阵的逆矩阵。
5.如权利要求1所述的基于矩阵运算的数据加密方法,其特征在于,所述服务端通过如下计算公式生成加密信号:T=S*X+Y;其中,S为第一矩阵,X为第二矩阵,Y为第三矩阵,T为加密信号。
6.如权利要求1所述的基于矩阵运算的数据加密方法,其特征在于,所述前端根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到所述第一矩阵,将所述第一矩阵转化为二进制流数据包括:
所述前端通过S=(T-Y)*X’计算得到所述第一矩阵,然后通过P=unzip(radix(S,2))计算得到二进制流数据;其中,S为第一矩阵,X’为逆矩阵,Y为第三矩阵,T为加密信号,P为二进制流数据,radix为基数转换函数,unzip为zip函数的逆函数。
7.一种基于矩阵运算的数据加密方法,应用于前端,其特征在于,该方法包括:
向服务端发送数据请求,所述服务端响应所述数据请求生成第一矩阵、密钥、与所述密钥对应的第二矩阵,以及第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号;
接收所述服务端返回的所述加密信号、第三矩阵以及密钥,获取所述密钥对应的第二矩阵的逆矩阵,根据所述加密信号、所述第三矩阵以及所述逆矩阵计算得到所述第一矩阵,将所述第一矩阵转化为二进制流数据,并将所述二进制流数据渲染后展示到所述前端的显示页面上。
8.如权利要求7所述的基于矩阵运算的数据加密方法,其特征在于,所述服务端响应所述数据请求生成第一矩阵、密钥、与所述密钥对应的第二矩阵,以及第三矩阵包括:
所述服务端根据所述数据请求的请求内容将对应的源数据转化为第一矩阵;
从预设的第一映射字典中随机获取一个密钥以及与所述密钥对应的第二矩阵,以供所述前端根据所述密钥从预设的第二映射字典中获取所述第二矩阵的逆矩阵;
随机生成第三矩阵,根据所述第一矩阵、所述第二矩阵和所述第三矩阵生成加密信号。
9.一种电子装置,其特征在于,该电子装置包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的基于矩阵运算的数据加密程序,所述基于矩阵运算的数据加密程序被所述处理器执行时实现如权利要求1至6任一项所述的基于矩阵运算的数据加密方法的步骤。
10.一种计算机可读存储介质,其特征在于,包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有基于矩阵运算的数据加密程序;其中,所述基于矩阵运算的数据加密程序可被一个或者多个处理器执行,以实现如权利要求1至6任一项所述的基于矩阵运算的数据加密方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010677638.4A CN111563268B (zh) | 2020-07-15 | 2020-07-15 | 基于矩阵运算的数据加密方法、装置及存储介质 |
PCT/CN2021/095008 WO2022012162A1 (zh) | 2020-07-15 | 2021-05-21 | 基于矩阵运算的数据加密方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010677638.4A CN111563268B (zh) | 2020-07-15 | 2020-07-15 | 基于矩阵运算的数据加密方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111563268A CN111563268A (zh) | 2020-08-21 |
CN111563268B true CN111563268B (zh) | 2021-01-15 |
Family
ID=72075477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010677638.4A Active CN111563268B (zh) | 2020-07-15 | 2020-07-15 | 基于矩阵运算的数据加密方法、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111563268B (zh) |
WO (1) | WO2022012162A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111563268B (zh) * | 2020-07-15 | 2021-01-15 | 平安国际智慧城市科技股份有限公司 | 基于矩阵运算的数据加密方法、装置及存储介质 |
CN113779554A (zh) * | 2021-09-01 | 2021-12-10 | 中国银行股份有限公司 | 信息加密传输方法、装置及相关设备 |
CN115242485A (zh) * | 2022-07-19 | 2022-10-25 | 核工业四一六医院 | 一种数据加密或解密的方法、系统、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314580A (zh) * | 2011-09-20 | 2012-01-11 | 西安交通大学 | 一种基于向量和矩阵运算的支持计算的加密方法 |
CN103259643A (zh) * | 2012-08-14 | 2013-08-21 | 苏州大学 | 一种矩阵全同态加密方法 |
CN103684742A (zh) * | 2013-11-29 | 2014-03-26 | 西安交通大学 | 一种基于循环矩阵变换的支持密文计算的加密方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003302899A (ja) * | 2002-04-11 | 2003-10-24 | Sony Corp | ブーリアン・マトリクスに基づく暗号化および復号処理方法、並びに装置 |
US20040202326A1 (en) * | 2003-04-10 | 2004-10-14 | Guanrong Chen | System and methods for real-time encryption of digital images based on 2D and 3D multi-parametric chaotic maps |
CN105471575B (zh) * | 2014-09-05 | 2020-11-03 | 创新先进技术有限公司 | 一种信息加密、解密方法及装置 |
SG10201405852QA (en) * | 2014-09-18 | 2016-04-28 | Huawei Internat Pte Ltd | Encryption function and decryption function generating method, encryption and decryption method and related apparatuses |
CN106921485A (zh) * | 2015-12-24 | 2017-07-04 | 航天信息股份有限公司 | 基于矩阵运算的加密解密方法 |
CN108985082B (zh) * | 2018-07-11 | 2020-02-07 | 上海海事大学 | 一种基于数字水印的医学图像加密方法 |
CN110489989A (zh) * | 2019-08-27 | 2019-11-22 | 深圳市道通智能航空技术有限公司 | 数据加密/解密方法、其加密/解密芯片及其无人机 |
CN111563268B (zh) * | 2020-07-15 | 2021-01-15 | 平安国际智慧城市科技股份有限公司 | 基于矩阵运算的数据加密方法、装置及存储介质 |
-
2020
- 2020-07-15 CN CN202010677638.4A patent/CN111563268B/zh active Active
-
2021
- 2021-05-21 WO PCT/CN2021/095008 patent/WO2022012162A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314580A (zh) * | 2011-09-20 | 2012-01-11 | 西安交通大学 | 一种基于向量和矩阵运算的支持计算的加密方法 |
CN103259643A (zh) * | 2012-08-14 | 2013-08-21 | 苏州大学 | 一种矩阵全同态加密方法 |
CN103684742A (zh) * | 2013-11-29 | 2014-03-26 | 西安交通大学 | 一种基于循环矩阵变换的支持密文计算的加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111563268A (zh) | 2020-08-21 |
WO2022012162A1 (zh) | 2022-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669637B2 (en) | Decentralized token table generation | |
CN108900464B (zh) | 电子装置、基于区块链的数据处理方法和计算机存储介质 | |
CN111563268B (zh) | 基于矩阵运算的数据加密方法、装置及存储介质 | |
CN112751852B (zh) | 数据传输方法及相关设备 | |
CN110457945B (zh) | 名单查询的方法、查询方设备、服务方设备及存储介质 | |
CN107948152B (zh) | 信息存储方法、获取方法、装置及设备 | |
WO2021012548A1 (zh) | 基于区块链的数据处理方法、系统、电子装置及存储介质 | |
CN111984990B (zh) | 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法 | |
CN111950030A (zh) | 基于区块链的数据共享存储方法、终端设备和存储介质 | |
EP3134994A1 (en) | Method of obfuscating data | |
CN113420049B (zh) | 数据流通方法、装置、电子设备及存储介质 | |
CN113704357A (zh) | 一种基于区块链的智慧城市数据共享方法及系统 | |
CN113127915A (zh) | 数据加密脱敏方法、装置、电子设备及存储介质 | |
CN111612458A (zh) | 用于区块链数据处理的方法、装置及可读存储介质 | |
CN112199622A (zh) | 页面跳转方法、系统及存储介质 | |
CN114760052A (zh) | 银行物联网平台密钥生成方法、装置、电子设备及介质 | |
CN112307503B (zh) | 签章管理方法、装置和电子设备 | |
CN113904832A (zh) | 数据加密方法、装置、设备及存储介质 | |
CN112217639B (zh) | 数据的加密共享方法、装置、电子设备及计算机存储介质 | |
CN113221154A (zh) | 服务密码获取方法、装置、电子设备及存储介质 | |
CN115643090A (zh) | 基于隐私检索的纵向联邦分析方法、装置、设备及介质 | |
CN115085934A (zh) | 基于区块链和组合密钥的合同管理方法及相关设备 | |
CN114614972A (zh) | 数据对齐方法、系统、电子装置及存储介质 | |
CN104486311A (zh) | 一种支持可扩展性的远程数据完整性检查方法 | |
CN111934882B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231023 Address after: Room 2601 (Unit 07), Qianhai Free Trade Building, No. 3048, Xinghai Avenue, Nanshan Street, Qianhai Shenzhen-Hong Kong Cooperation Zone, Shenzhen, Guangdong 518000 Patentee after: Shenzhen Ping An Smart Healthcare Technology Co.,Ltd. Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000 Patentee before: Ping An International Smart City Technology Co.,Ltd. |