CN114422800B - 一种数据加密方法、装置与计算设备 - Google Patents

一种数据加密方法、装置与计算设备 Download PDF

Info

Publication number
CN114422800B
CN114422800B CN202111584694.4A CN202111584694A CN114422800B CN 114422800 B CN114422800 B CN 114422800B CN 202111584694 A CN202111584694 A CN 202111584694A CN 114422800 B CN114422800 B CN 114422800B
Authority
CN
China
Prior art keywords
data
encrypted
image
fibonacci
key
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
CN202111584694.4A
Other languages
English (en)
Other versions
CN114422800A (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.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software Technology Co 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 Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202111584694.4A priority Critical patent/CN114422800B/zh
Publication of CN114422800A publication Critical patent/CN114422800A/zh
Application granted granted Critical
Publication of CN114422800B publication Critical patent/CN114422800B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32272Encryption or ciphering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimile Transmission Control (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明公开了一种数据加密方法、装置与计算设备。上述数据加密方法包括步骤:获取待加密的数据;对于数据中的每一位,将其由初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为数据的初始形式表示,得到移位数据;对移位数据进行斐波那契编码,得到斐波那契编码数据;对载体图像进行编码,得到图像编码数据,并从图像编码数据中选取部分数据做为密钥;利用密钥对斐波那契编码数据进行加密,得到加密数据,并将加密数据写入载体图像数据中,得到加密图像数据;以及将加密图像数据存储至缓存中。本发明一并公开了相应的装置和计算设备。

Description

一种数据加密方法、装置与计算设备
技术领域
本发明涉及数据加密技术领域,尤其是一种数据加密方法、装置与计算设备。
背景技术
从第一台计算机诞生起,经过几十年的高速发展,信息技术已经进入到我们生活的方方面面,不断改变着我们的生活。我们已经进入了信息化时代,信息化时代是一个信息爆炸的时代,大量的信息依靠传统的方式难以实现有效的储存和传输,因而以计算机技术和网络技术为基础的信息技术的发展显得尤为重要。密码技术作为保护信息安全的主要手段之一,不仅可以保证信息的机密性,而且可以保证信息的完整性和确证性,防止信息被篡改、伪造和假冒。随着科技的发展和进步,目前已经进入了数字化时代,通过计算机存储、处理和传播等技术,使得我们的信息得到了极大速度的推广和传播,数字技术也已经成为了当代各类传媒的核心技术和普遍技术。
现有的网络安全传输技术包括基于因特网密钥交换协议的技术和数字信封技术。基于因特网密钥交换协议的技术是指通讯的源端和目的端通过共享密钥对交换数据进行解密,从而实现源端与目的端的数据交换。数字信封技术是指通讯的源端利用随机产生的对称密钥加密数据,再利用目的端的公钥加密对称密钥,被公钥加密后的对称密钥则称之为数字信封。在传递数据时,目的端若要解密数据,必须先用目的端的私钥解密数字信封,得到对称密钥,再利用对称密钥解密数据。
以上两种网络安全传输技术加密效果一般,仍然存在被嗅探拦截、被破解、被模拟、以及被渗透的风险。另外,这两种网络安全传输技术仅仅关注于数据本身,而忽略了数据的传输方式,数据传输方式大部分采用明文传输,明文传输在造成极大的网络安全隐患的同时,也使得固定的二进制编码形式变得不够安全。
综上,上述现有的两种网络安全传输技术均存在加密效果不够理想,数据传输过程中存在安全隐患的问题。
发明内容
为此,本发明提供了一种数据加密方法、装置与计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种数据加密方法,包括步骤:获取待加密的数据;对于所述数据中的每一位,将其由初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为所述数据的初始形式表示,得到移位数据;对所述移位数据进行斐波那契编码,得到斐波那契编码数据;对载体图像进行编码,得到图像编码数据,并从所述图像编码数据中选取部分数据做为密钥;利用所述密钥对所述斐波那契编码数据进行加密,得到加密数据,并将所述加密数据写入载体图像数据中,得到加密图像数据;以及将所述加密图像数据存储至缓存中。
可选地,在根据本发明的数据加密方法中,所述若干次循环移位为:按照同一方向进行3次循环移位。
可选地,在根据本发明的数据加密方法中,所述载体图像数据为所述载体图像的RGB数据。
可选地,在根据本发明的数据加密方法中,所述对载体图像进行编码所采用的编码方法为base64编码。
可选地,在根据本发明的数据加密方法中,所述从所述图像编码数据中选取部分数据做为密钥的步骤包括:按照由小至大的顺序从正整数中选取n个素数Ni,i=1,2,……,n,其中,n为所述斐波那契编码数据的数量;以及从所述图像编码数据中取第Ni个数据作为密钥。
可选地,在根据本发明的数据加密方法中,利用所述密钥对所述斐波那契编码数据进行加密,得到加密数据的步骤包括:将所述密钥转换为二进制数据;以及将该二进制数据与所述斐波那契编码数据进行异或运算,得到加密数据。
可选地,在根据本发明的数据加密方法中,所述将所述加密数据写入载体图像数据中,得到加密图像数据的步骤包括:将所述加密数据写入所述载体图像的RGB数据的一个通道矩阵中;以及将预设的数据写入所述RGB数据的另外两个通道矩阵中,得到加密图像数据。
根据本发明的另一方面,还提供了一种数据加密装置,包括:数据获取单元,适于获取待加密的数据;移位单元,适于对于所述数据中的每一位,将其由初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为所述数据的初始形式表示,得到移位数据;斐波那契编码单元,适于对所述移位数据进行斐波那契编码,得到斐波那契编码数据;密钥选取单元,适于对载体图像进行编码,得到图像编码数据,并从所述图像编码数据中选取部分数据做为密钥;加密单元,适于利用所述密钥对所述斐波那契编码数据进行加密,得到加密数据,并将所述加密数据写入载体图像数据中,得到加密图像数据;以及存储单元,适于将所述加密图像数据存储至缓存中。
根据本发明的再一方面,还提供了一种数据解密方法,包括步骤:获取加密图像数据;从所述加密图像数据中删除加密数据,得到载体图像数据,并根据所述载体图像数据还原载体图像;对所述载体图像进行编码,得到图像编码数据,并从所述图像编码数据中提取密钥;利用所述密钥对所述加密数据进行解密,得到斐波那契编码数据;对所述斐波那契编码数据进行斐波那契解码,得到移位数据;对所述移位数据由其初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为所述解码数据的初始形式表示,得到原始数据;以及将所述原始数据存储至缓存中。
可选地,在根据本发明的数据解密方法中,所述若干次循环移位为:按照与加密过程中移位方向相反的方向进行3次循环移位。
可选地,在根据本发明的数据解密方法中,所述载体图像数据为所述载体图像的RGB数据。
可选地,在根据本发明的数据解密方法中,所述对载体图像进行编码所采用的编码方法为base64编码。
可选地,在根据本发明的数据解密方法中,所述从所述图像编码数据中选取密钥的步骤包括:按照由小至大的顺序从正整数中选取n个素数Ni,i=1,2,……,n,其中,n为所述加密数据的数量;以及从所述图像编码数据中取第Ni个数据作为密钥。
可选地,在根据本发明的数据解密方法中,所述利用所述密钥对所述加密数据进行解密,得到斐波那契编码数据的步骤包括:将所述密钥转换为二进制数据;以及将该二进制数据与所述加密数据进行异或运算,得到斐波那契编码数据。
可选地,在根据本发明的数据解密方法中,所述从所述加密图像数据中删除加密数据,得到载体图像数据的步骤包括:将所述加密数据从所述载体图像的RGB数据的一个通道矩阵中删除;以及将预设的数据从所述RGB数据的另外两个通道矩阵中删除,得到加密图像数据。
根据本发明的再一方面,还提供了一种数据解密装置,包括:第二数据获取单元,适于获取加密图像数据;载体图像还原单元,适于从所述加密图像数据中删除加密数据,得到载体图像数据,并根据所述载体图像数据还原载体图像;密钥提取单元,适于对所述载体图像进行编码,得到图像编码数据,并从所述图像编码数据中提取密钥;解密单元,适于利用所述密钥对所述加密数据进行解密,得到斐波那契编码数据;解码单元,适于对所述斐波那契编码数据进行斐波那契解码,得到解码数据;数据还原单元,适于对所述解码数据由其初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为所述解码数据的初始形式表示,得到原始数据;以及第二存储单元,适于将所述原始数据存储至缓存中。
根据本发明的再一方面,还提供了一种计算设备,包括:至少一个处理器和存储有程序指令的存储器;当程序指令被处理器读取并执行时,使得计算设备执行如上的数据加密方法和数据解密方法。
根据本发明的再一方面,还提供了一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上的数据加密方法和数据解密方法。
本发明的数据加密方法从载体图像中提取密钥对数据进行加密,加密过程中采用位运算进行数据计算,然后将加密后的数据写入载体图像中。
根据本发明的数据加密方法、装置与计算设备,能够实现以下有益效果中的至少一种:对数据加密后隐写入载体图像中,实现了图像元数据和待加密数据的综合加密,因此最终的加密数据不是裸露数据,而是图像,提高了数据的安全性,即使外部安全遭受威胁、嗅探和拦截,也无法得到内部安全加密规律,无法解析得到数据信息;加密过程中采用了位运算,提高了加密和解密的效率;并且,由于密钥来源于载体图像,加密后的数据又写到载体图像中,即,所有数据存在于载体图像中,使得解密过程更加方便。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的数据加密方法的应用场景示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;
图3示出了根据本发明一个实施例的数据加密方法300的流程图;
图4示出了根据本发明一个实施例的自然数1-10000范围内的所有素数;
图5示出了根据本发明一个实施例的数据加密装置500的结构示意图;
图6示出了根据本发明一个实施例的数据解密方法600的流程图;
图7示出了根据本发明一个实施例的数据解密装置700的结构示意图。
图8示出了根据本发明一个实施例的载体图像;
图9示出了根据本发明一个实施例的载体图像的R通道矩阵;
图10示出了根据本发明一个实施例的载体图像的G通道矩阵;
图11示出了根据本发明一个实施例的载体图像的B通道矩阵。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
针对网络安全传输技术均存在加密效果不够理想的问题,本发明提供了一种数据加密方法。
图1示出了根据本发明一个实施例的数据加密方法的应用场景示意图。如图1所示,第一设备与第二设备之间通信连接,例如通过有线或无线的方式连接。第一设备与第二设备之间通信时,例如,第一设备向第二设备发送数据时,第一设备采用数据加密方法对待发送的数据进行加密处理,然后将加密后的数据发送至第二设备,第二设备接收到数据后,对数据进行解密处理,获得原始数据;同样地,第二设备向第一设备发送数据时,第二设备采用数据加密方法对待发送的数据进行加密处理,然后将加密后的数据发送至第一设备,第一设备接收到数据后,对数据进行解密处理,获得原始数据。
应当指出,本发明对第一设备与第二设备的具体种类不作限制。例如,第一设备与第二设备可以实现为桌面电脑、笔记本电脑、处理器芯片、手机、平板电脑等计算设备,但不限于此,也可以是驻留在计算设备上的应用程序。
在本发明的实施例中,第一设备与第二设备适于执行数据加密方法方法。本发明的数据加密方法300将在下文中详述。
在一个实施例中,本发明的第一设备与第二设备可以实现为一种计算设备,使得本发明的数据加密方法和数据解密方法可以在计算设备中执行。
图2示出了根据本发明一个实施例的计算设备200的示意图。需要说明的是,图2所示的计算设备200仅为一个示例,在实践中,用于实施本发明的数据加密方法和数据解密方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图2所示的计算设备200相同,也可以与图2所示的计算设备200不同。实践中用于实施本发明的数据加密方法和数据解密方法的计算设备可以对图2所示的计算设备200的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。
如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上由一个或多个处理器204利用程序数据224执行指令。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备200可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和WEB服务器等,也可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然,计算设备200也可以实现为小尺寸便携(或者移动)电子设备的一部分。在根据本发明的实施例中,计算设备200被配置为执行根据本发明的数据加密方法300和数据解密方法600。其中,计算设备200的应用222中包含执行根据本发明的数据加密方法300和数据解密方法600的多条程序指令,而程序数据224还可以存储程序指令执行过程中涉及的各种数据。
根据本发明实施例的一种数据加密方法300包括步骤:获取待加密的数据;对于数据中的每一位,将其由初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为数据的初始形式表示,得到移位数据;对移位数据进行斐波那契编码,得到斐波那契编码数据;对载体图像进行编码,得到图像编码数据,并从图像编码数据中选取部分数据做为密钥;利用密钥对所述斐波那契编码数据进行加密,得到加密数据,并将加密数据写入载体图像数据中,得到加密图像数据;以及将加密图像数据存储至缓存中。
图3示出了根据本发明一个实施例的数据加密方法300的流程图。方法300在计算设备(例如前述计算设备200)中执行。如图3所示,方法300始于步骤S310。
在步骤S310中,获取待加密的数据。
接下来,在步骤S320中,对于所述待加密的数据中的每位数据,将其由初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为数据的初始形式表示,得到移位数据。
待加密的数据是由若干个数据据构成的一组数据,例如,待加密的数据依次包括Data1、Data2、Data3等数据,并且数据的初始形式表示为十六进制,即Data1、Data2、Data3等均为十六进制数据。将待加密的数据的第一位数据(即Data1)转化为二进制表示,然后将转化后的二进制数的各个位进行循环位移。假设Data1对应的二进制数有八位,位移方式为向右移三次,那么八位二进制数的第一位将移至第四位,第二位将移至第五位,第三位将移至第六位,第四位将移至第七位,第五位将移至第八位,第六位将移至第一位,第七位将移至第二位,第八位将移至第三位,然后将移位后的二进制数据转换为十六进制数据,得到Data1的移位数据。对待加密的数据中的Data2、Data3等数据均采用同样的方式进行处理,得到移位数据。
接下来,在步骤S330中,对移位数据进行斐波那契编码,得到斐波那契编码数据。
斐波那契数列的定义如下:
F(0)=0
F(1)=1
F(n)=F(n-1)+F(n-2)
由此可知,该数列为:0、1、1、2、3、5、8、13、21、……
斐波那契数列为正整数,根据齐肯多夫定理,任意自然数Q均可以被唯一地表示成若干个斐波那契数的和:
Q=F(k1)+F(k2)+....+F(kr)
需要注意的是,这里的若干个斐波那契数不能包含两个相邻的斐波那契数,即:k1≥k2+2,k2≥k3+2,...kr≥2。
将步骤S320获得的移位数据中的每一位数据均进行斐波那契编码,斐波那契编码的具体方法为:如果一个数据使用斐波那契数表示为
Figure BDA0003410961980000091
pi的值为0或1,那么,对这个数据进行斐波那契编码,得到编码后的数据(即斐波那契编码数据)为:
pm pm-1 …… p0
接下来,在步骤S340中,对载体图像进行编码,得到图像编码数据,并从所述图像编码数据中选取部分数据做为密钥。这里的载体图像可以是任意一幅图像。
在一个实施例中,可以从现有的编码方式中选取一种(例如Base64编码)或若干种进行组合对载体图像进行编码,得到图像编码数据,再按照预设的规则从图像编码数据中选取一部分作为密钥。本申请对载体图像的编码方式、载体图像数据的种类、以及提取密钥的规则均不作限制。
Base64编码是使用64个可打印ASCII字符(A-Z、a-z、0-9、+、/)将任意字节序列数据编码成ASCII字符串,另有“=”符号用作后缀用途。Base64编码索引值如表1所示。
表1 Base64编码索引值
Figure BDA0003410961980000101
Figure BDA0003410961980000111
在一个实施例中,密钥的选取方式为:按照由小至大的顺序从所有正整数中选取n个素数Ni,i=1,2,……,n,其中,n为步骤S330获得的斐波那契编码数据的数量,然后从图像编码数据中取第Ni个数据作为密钥。例如,对载体图像进行Base64编码,得到图像的Base64编码数据,步骤S330获得的斐波那契编码数据的数量为10,那么,从所有正整数中选取最小的10个素数,图4示出了根据本发明一个实施例的自然数1-10000范围内的所有素数,根据图4可知,最小的10个素数为:2、3、5、7、13、17、19、23、29以及31,然后,按照这10个素数,取图像的Base64编码数据中的第2个、第3个、第5个、第7个、第13个、第17个、第19个、第23个、第29个以及第31个数据作为密钥。
接下来,在步骤S350中,利用步骤S340提取的密钥对步骤S330获得的斐波那契编码数据进行加密,得到加密数据,并将加密数据写入载体图像数据中,得到加密图像数据。
在一个实施例中,按照预设的加密方法,利用密钥对斐波那契编码数据进行加密,得到加密数据,加密方法可以是现有的加密方法中选取一种或若干种进行组合。将加密数据写入载体图像数据中,得到加密图像数据,这一步骤相当于在载体图像数据增加了一部分数据,得到新的载体图像数,新的载体图像数据作为加密图像数据,也就是方法300最终得到的数据。
在一个实施例中,利用密钥对斐波那契编码数据进行加密的方法为:将密钥转换为二进制数据,作为密钥的n个数据分别与n个斐波那契编码数据一一对应,相互对应的密钥数据与斐波那契编码数据进行异或位运算。异或位运算是指参与运算的a、b两个数据的值不相同,则异或结果为1;如果a、b两个数据的值相同,则异或结果为0。异或的数学符号为“⊕”,运算法则自反,a⊕b⊕a=b,如表2所示。
表2异或运算
数据a 数据b 运算结果
1 1 0
0 0 0
1 0 1
0 1 1
将密钥的二进制数据与所述斐波那契编码数据进行异或运算,得到加密数据。具体为:将密钥的每个数据分别转换为二进制数据,由于斐波那契编码数据由0和1表示,相当于二进制数据,因此,移位数据中,每个数据的斐波那契编码均为一组二进制数据,将密钥第一个数据的二进制数据与上述移位数据中第一个数据的二进制数据进行异或运算,运算结果作为加密数据中的第一个数据,将密钥第二个数据的二进制数据与上述移位数据中第二个数据的二进制数据进行异或运算,运算结果作为加密数据中的第二个数据……,以此类推,将密钥的最后一个数据的二进制数据与上述移位数据中最后一个数据的二进制数据进行异或运算,运算结果作为加密数据中的最后一个数据。
在一个实施例中,载体图像为彩色图像,载体图像数据采用图像的RGB数据,即,用来表示图像像素值的R、G、B三个通道矩阵。由于每一像素的颜色需由R、G、B三个分量来表示,用M、N分别表示图像像素的行数和列数,那么,图像各像素的R、G、B三个颜色分量则分别由三个M×N的二维矩阵来表示。RGB图像的数据类型一般为8位无符号整形。按照预设的规则,将加密数据写入载体图像数据,例如,预设的规则可以是:将加密数据写入R、G、B中某一通道矩阵的某一行或者某一列。为保证R、G、B三个通道矩阵大小的一致,将加密数据写入R、G、B中某一通道矩阵的某一行或者某一列时,还应当在另外两个通道矩阵对应的行或列中补写数据,以形成新的载体图像数据,将新的载体图像数据作为加密图像数据。
接下来,在步骤S360中,将步骤S350获得的密图像数据存储至缓存中,以便在后续步骤中从当前设备发送出去。
图5示出了根据本发明一个实施例的数据加密装置500的结构示意图。如图5所示,数据加密装置500包括:第一数据获取单元510,适于获取待加密的数据;移位单元520,适于对于数据中的每一位,将其由初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为数据的初始形式表示,得到移位数据;斐波那契编码单元530,适于对移位数据进行斐波那契编码,得到斐波那契编码数据;密钥选取单元540,适于对载体图像进行编码,得到图像编码数据,并从图像编码数据中选取部分数据做为密钥;加密单元550,适于利用密钥对斐波那契编码数据进行加密,得到加密数据,并将加密数据写入载体图像数据中,得到加密图像数据;以及第一存储单元560,适于将加密图像数据存储至缓存中。
在一个实施例中,移位单元520中的若干次循环移位为:按照同一方向进行3次循环移位。
在一个实施例中,载体图像数据为载体图像的RGB数据。
在一个实施例中,密钥选取单元540通过对载体图像进行base64编码得到图像编码数据。
在一个实施例中,密钥选取单元540通过以下步骤实现密钥的选取:按照由小至大的顺序从正整数中选取n个素数Ni,i=1,2,……,n,其中,n为斐波那契编码数据的数量;以及从图像编码数据中取第Ni个数据作为密钥。
在一个实施例中,加密单元550通过以下步骤实现对斐波那契编码数据进行加密:将密钥转换为二进制数据;以及将该二进制数据与斐波那契编码数据进行异或运算,得到加密数据。
在一个实施例中,加密单元550通过以下步骤得到加密图像数据:将加密数据写入载体图像的RGB数据的一个通道矩阵中;以及将预设的数据写入RGB数据的另外两个通道矩阵中,得到加密图像数据。
上述数据加密装置500能够执行数据加密方法300的步骤,并且能够达到与方法300相同的技术效果。
根据本发明实施例的一种数据解密方法600包括步骤:获取加密图像数据;从加密图像数据中删除加密数据,得到载体图像数据,并根据载体图像数据还原载体图像;对载体图像进行编码,得到图像编码数据,并从图像编码数据中提取密钥;利用密钥对加密数据进行解密,得到斐波那契编码数据;对斐波那契编码数据进行斐波那契解码,得到解码数据;对解码数据由其初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为解码数据的初始形式表示,得到原始数据;以及将原始数据存储至缓存中。
图6示出了根据本发明一个实施例的数据解密方法600的流程图。方法600与方法300为互逆的过程。方法600在计算设备(例如前述计算设备200)中执行。如图6所示,方法600始于步骤S610。
在步骤S610中,获取加密图像数据。这里的加密图像数据是当前设备接收到的由其他设备发送的已加密的数据。
接下来,在步骤S620中,从加密图像数据中删除加密数据,得到载体图像数据,并根据载体图像数据还原载体图像。根据本发明实施例的数据加密方法300,加密图像数据是按照预设的规则将加密数据写入载体图像数据后得到的新的载体图像数据。那么,在步骤S620中,从新的载体图像数据中删除加密数据,即可得到原始的载体图像数据,并可以根据载体图像数据还原得到载体图像。例如,在方法300中,载体图像数据为载体图像的RGB数据,将RBG三个通道矩阵均扩展一行或扩展一列,将加密数据写入B通道矩阵扩展的行或列中,并以255、0、255、0……作为结束标志,在另外两个通道矩阵对应的行或列中写入255,那么,在步骤S620中,B通道矩阵对应的行或列中的数据删除结束标志后即为加密数据,将加密数据所在的行或列整体删除,则剩余的矩阵为载体图像数据的B通道矩阵,同样地,将另外两个通道矩阵中对应的行或列整体删除,则剩余的矩阵为载体图像数据的R通道矩阵和G通道矩阵,这样得到的三个新的通道矩阵则为载体图像数据。
接下来,在步骤S630中,对载体图像进行编码,得到图像编码数据,并从图像编码数据中提取密钥。这一步骤按照与步骤S340相同的编码方法对载体图像进行编码,并且按照与步骤S340相同的规则从图像编码数据中提取密钥,编码方法及密钥提取规则在此不再赘述。
接下来,在步骤S640中,利用步骤S630提取的密钥对加密数据进行解密,得到斐波那契编码数据。根据本发明实施例的数据加密方法300,步骤S350按照预设的加密方式利用密钥对斐波那契编码数据进行加密,那么,在步骤S640中,按照与步骤S350的加密方式相对应的解密方式对加密数据进行解密,解密得到的数据即为斐波那契编码数据。例如,当步骤S350的加密方式为:将密钥转换为二进制数据,然后将该二进制数据与斐波那契编码数据进行异或运算,得到加密数据时,步骤S640的解密方式应当为:将密钥转换为二进制数据;以及将该二进制数据与所述加密数据进行异或运算,得到斐波那契编码数据。
接下来,在步骤S650中,对斐波那契编码数据进行斐波那契解码,得到移位数据。根据本发明实施例的数据加密方法300,步骤S330对移位数据进行斐波那契编码,得到斐波那契编码数据,那么,步骤S650根据斐波那契编码原理对斐波那契编码数据进行斐波那契解码,即可得到移位数据。
接下来,在步骤S660中,对移位数据由其初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为所述解码数据的初始形式表示,得到原始数据。步骤S660与方法300的步骤S310互逆,按照与步骤S310相反的过程即可还原出原始数据。例如,步骤S310中将二进制数据向右循环移位三次,那么,步骤S660中则将二进制数据向左循环移位三次。
接下来,在步骤S670中,将步骤S660获得的原始数据存储至缓存中。
图7示出了根据本发明一个实施例的数据解密装置700的结构示意图。如图7所示,数据解密装置700包括:第二数据获取单元710,适于获取加密图像数据;载体图像还原单元720,适于从加密图像数据中删除加密数据,得到载体图像数据,并根据载体图像数据还原载体图像;密钥提取单元730,适于对载体图像进行编码,得到图像编码数据,并从图像编码数据中提取密钥;解密单元740,适于利用密钥对加密数据进行解密,得到斐波那契编码数据;解码单元750,适于对斐波那契编码数据进行斐波那契解码,得到解码数据;数据还原单元760,适于对解码数据由其初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为解码数据的初始形式表示,得到原始数据;以及第二存储单元770,适于将原始数据存储至缓存中。
在一个实施例中,载体图像数据为所述载体图像的RGB数据。
在一个实施例中,载体图像还原单元720通过以下步骤获得载体图像数据:将加密数据从载体图像的RGB数据的一个通道矩阵中删除;以及将预设的数据从RGB数据的另外两个通道矩阵中删除,得到加密图像数据。
在一个实施例中,密钥提取单元730通过对载体图像进行base64编码来获得图像编码数据。
在一个实施例中,密钥提取单元730通过以下步骤实现密钥的提取:按照由小至大的顺序从正整数中选取n个素数Ni,i=1,2,……,n,其中,n为斐波那契编码数据的数量;以及从图像编码数据中取第Ni个数据作为密钥。
在一个实施例中,解密单元740通过以下步骤获得斐波那契编码数据:将密钥转换为二进制数据;以及将该二进制数据与加密数据进行异或运算,得到斐波那契编码数据。
在一个实施例中,数据还原单元760中的若干次循环移位为:按照与加密过程中移位方向相反的方向进行3次循环移位。
下面以十六进制数据96 1C 41 08 19 5A AB 18 90 59 D4 BF 8E作为待加密的数据、以图8所示的图像(该图像实际为彩色图像)作为载体图像为例,来说明对数据进行加密的过程。
首先对待加密的数据进行处理。将数据中的96、1C、41、08、19、5A、AB、18、90、59、D4、BF以及8E分别转换为二进制形式,然后向右循环移动三次。以其中的D4为例,将D和4分别转换为二进制形式,然后将D的二进制表示与4的二进制表示作为一个整体,将这个整体中的所有数据均向右循环移动三次。如表3所示,D的二进制表示为1101,4的二进制表示为0100,将D与4作为一个整体,即11010100,将11010100中的每一位均向右循环移动一次,得到01101010,再向右循环移动一次,得到00110101,再向右循环移动一次,得到10011010。然后将10011010转换回十六进制表示,即9A。
表3 D4循环右移三次
Figure BDA0003410961980000161
Figure BDA0003410961980000171
采用同样的方式对待加密的数据中的其他数据进行处理,最终得到的移位数据如下:
D2 83 28 01 23 4D 75 03 12 2B 9A F7 D1
对移位数据进行斐波那契编码,得到如表4所示的26个斐波那契编码数据。
表4斐波那契编码数据
Figure BDA0003410961980000172
/>
Figure BDA0003410961980000181
接下来对载体图像进行处理。对载体图像进行Base64编码,得到的图像编码数据如下:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAgCAIAAABl4DQWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE10lEQVRIiaVWTWgbRxj9ZmallbS7lmSv1zEutUN6CDk0wRcfgklOaQulGIpTcmlPORVyLL2XHgqBnHNre+k9CfRgQmhKoGDojyEpodCakriWVork3R3t7MzsTA9jNoolbQN9J43mmzff75tFWmv4H9BaI4Rm7VrlhznnjDHOeZ7nSimM8dzcXL1eN7tCiN3dXc75pUuXpt4xnV1rTSlNksS2bcdxXNdFCCGEtNadTse2bYyxUqrX6926dYtSeu7cuSAIXoudMXZ0dOS6bhAE4x6ZHHqel6ap4zhKqb29vSzL1tfXHcd5rczEccw5933f8E5WpVarhWGIEOr3+3t7ezdu3PB9v1arTWXH44vBYJDnebvdHndZCJEkSRzHeZ4DAEJoYWEhSZJ79+49ePDg4cOHrVZLCPEf7HEcI4Q8z9NjyPOcUmoiSNPU/Gl+7+zsAMC1a9eWl5cZY2EYTt5xnBnGWJZlrVbrRCo4581mkxACAFmWKaUQQlmW3blzhzG2sbGxtrZGCHFdVyk1GAwcxxmvATbJHQ6HrVZrMjSEkKEGAIwxQkgp1e1279+/DwBXr14d352fn2eMUUpfYaeUOo6jp4EQIqUEACmlafksy+7evcs5v3jx4urqqmnTAs1mk1JqjhyzR1Fk2/ZUduMsY8zkJM/z4XD46NEjANje3sYYn7BXSnmeF0XRcd4557P66WWAGCulKKU3b96sVqvXr1/PsmxlZQVjPGlMCBFC5HlOCLHSNDWOl1+QZdnt27cfP36slNrd3d3a2iKEzDrVaDQYY47j4CzLjF0J8jwXQgRBYIJQSvX7/RJ7y7LSNAUAXFRgFqSUz2Tynf3ze5vffv7F+5ubmxjjs2fPlhxBCBlaqxiQWdS/juJv2N/v0u9Xfnu6sv71+cvwwdaXK8vnYZpOFDCDPaUsBZRSPcq+eUapoBtPORxU4YewLsD/66tqtVoesYFlGnbqnhDix65O43qrGjee+2o4hzsSXsStAGRpFxi5BgDLsqyp7FprzvmfvZpKkVfTsrsokjP28Dn8A7Ger5Wym8ICAK5UKrMULs/zwVHNSnFlVJehP6LnoV+Ffn3/zSsl1AAgpTSpw/V6vRC/yUZMBCJSY1GToU/pBf3CG8mV1SsfGQdnYTQamQm1bNvOssx13cnotNYjiTyQRNZEt5Y3PJae+f3T7beq1fLp45zbtg0AGCHUbrdN859gz5U+THErl42juuz4/MXCTx9/cvqdC1MFoMBoNCreHwsAXNft9Xr1er3wSGsthNh51sQ8fwN484/2wJpLP7PevtwqEQAAQAglSeL7/vHSmFJKO52O7/tmmSu18wT98sReohmqyNOMXPiQOW7FsqySrxfz2AZBUDwgx+xa636/zxjzPA8AlFKcc845AFiWValUCCHlCQGAOI5t2y5e/JfshvHw8FAIYd6/QiGMaYnLZjeKIkLIqVOnxp14ZVCVUmEYRlEUBIFSqtzTAhjjMAw9z1tcXDwR30kZUEpFUbS/v7+0tNRoNMrvwBiPRqNut7u2tuZ53mTqpoiMmaNer3dwcNButz3PM2M9nigpZRzHw+FweXnZ931CyNTUzZQwpZTWOkmSwWCQJAnn/FiyLatarbqu2263zfdlSbVnshdxFO U 9 U e R CC E v w L 1 n n q E Y I o v J X A A A A A E l F T k S u Q m C C
其中,“data:image/png;base64”为编码过程的简要说明,位于简要说明后面的“iVBORw0KG……”为图像编码数据。
如图4所示,前26个素数分别为:2、3、5、7、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97以及101,按照这26个素数从图像编码数据“iVBORw0KG……”中选取第2、3、5、7、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97以及101个数据作为密钥,选取的密钥如下:
VBR0oAShAAAA4QAW7AG4AlRTZl
将26个密钥数据在Base64编码中的索引值转化为二进制表示,如表5所示。
表5密钥的二进制表示
密钥 索引值 二进制位 密钥 索引值 二进制位
V 21 0001 0101 Q 16 0001 0000
B 1 0000 0001 A 0 0000 0000
R 17 0001 0001 W 22 0001 0110
0 52 0011 0100 7 59 0011 1011
o 10 0000 1010 A 0 0000 0000
A 0 0000 0000 G 6 0000 0110
S 18 0001 0010 4 56 0011 1000
h 33 0010 0001 A 0 0000 0000
A 0 0000 0000 l 37 0010 0101
A 0 0000 0000 R 17 0001 0001
A 0 0000 0000 T 19 0001 0011
A 0 0000 0000 Z 25 0001 1001
4 56 0011 1000 l 37 0010 0101
26个密钥数据与26个斐波那契编码数据一一对应,将相互对应的密钥数据的二进制表示与斐波那契编码数据的二进制表示进行异或运算,运算结果如表6所示。
表6斐波那契编码数据与密钥进行异或运算
Figure BDA0003410961980000201
/>
Figure BDA0003410961980000211
根据表6可知,将计算得到的数据(即加密数据)转化为十进制数据为:149、9、81、36、2、64、18、35、8、16、18、128、16、48、0、6、57、8、14、104、66、109、153、43、153以及39。
载体图像的R、G、B三个通道矩阵大小均为M×N,加密过程中,在R、G、B三个通道矩阵的下方增加一行,则R、G、B三个通道矩阵大小变为(M+1)×N。将以上26个十进制数据顺序或者倒序写入载体图像的B通道矩阵的最后一行,并以255,0,255,0,255,0........表示写入结束,这里选择倒序写入,而另外两个通道矩阵的最后一行则全部写入数值255,如图9至图11所示,图9、图10以及图11分别为R、G、B三个通道矩阵,矩形框内的数据为加密过程中增加的数据。图6至图8所示的矩阵则为最终获得的加密后的数据。
对上述示例进行解密的过程与加密过程互逆:首先获取彩色图像的R、G、B三个通道矩阵,提取B通道矩阵的最后一行数据,将其中的255,0,255,0,255,0........删除,得到加密数据,将加密数据转换为二进制表示;然后将三个通道矩阵的最后一行数据(即加密生成的像素值)删除,以还原得到原始的载体图像,将原始的载体图像进行base64编码,按照加密数据的数量(26个)从图4中选取该数量的素数,将选取的各个素数的值作为base64编码数据的位置,从base64编码数据中选取这些位置的数据作为密钥,将密钥转化为二进制表示;再将加密数据的二进制表示与密钥的二进制表示进行异或运算,运算结果为斐波那契编码数据;最后将运算结果转化为十六进制表示,将26个十六进制数据两两组合,形成13个十六进制数据,将这13个十六进制数据均转化为二进制表示,对每个二进制数据向左循环移位3次,将移位后的数据转化回十六进制,得到原始数据。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的自动校验方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的优选实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。

Claims (18)

1.一种数据加密方法,包括步骤:
获取待加密的数据;
对于所述数据中的每一位,将其由初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为所述数据的初始形式表示,得到移位数据;
对所述移位数据进行斐波那契编码,得到斐波那契编码数据;
对载体图像进行编码,得到图像编码数据,并从所述图像编码数据中选取部分数据做为密钥;
利用所述密钥对所述斐波那契编码数据进行加密,得到加密数据,并将所述加密数据写入载体图像数据中,得到加密图像数据;以及
将所述加密图像数据存储至缓存中。
2.如权利要求1所述的数据加密方法,其中,所述若干次循环移位为:按照同一方向进行3次循环移位。
3.如权利要求1所述的数据加密方法,其中,所述载体图像数据为所述载体图像的RGB数据。
4.如权利要求1所述的数据加密方法,其中,所述对载体图像进行编码所采用的编码方法为base64编码。
5.如权利要求1所述的数据加密方法,其中,所述从所述图像编码数据中选取部分数据做为密钥的步骤包括:
按照由小至大的顺序从正整数中选取n个素数
Figure QLYQS_1
,/>
Figure QLYQS_2
,其中,n为所述斐波那契编码数据的数量;以及
从所述图像编码数据中取第
Figure QLYQS_3
个数据作为密钥。
6.如权利要求1所述的数据加密方法,其中,利用所述密钥对所述斐波那契编码数据进行加密,得到加密数据的步骤包括:
将所述密钥转换为二进制数据;以及
将该二进制数据与所述斐波那契编码数据进行异或运算,得到加密数据。
7.如权利要求3所述的数据加密方法,其中,所述将所述加密数据写入载体图像数据中,得到加密图像数据的步骤包括:
将所述加密数据写入所述载体图像的RGB数据的一个通道矩阵中;以及
将预设的数据写入所述RGB数据的另外两个通道矩阵中,得到加密图像数据。
8.一种数据加密装置,包括:
数据获取单元,适于获取待加密的数据;
移位单元,适于对于所述数据中的每一位,将其由初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为所述数据的初始形式表示,得到移位数据;
斐波那契编码单元,适于对所述移位数据进行斐波那契编码,得到斐波那契编码数据;
密钥选取单元,适于对载体图像进行编码,得到图像编码数据,并从所述图像编码数据中选取部分数据做为密钥;
加密单元,适于利用所述密钥对所述斐波那契编码数据进行加密,得到加密数据,并将所述加密数据写入载体图像数据中,得到加密图像数据;以及
存储单元,适于将所述加密图像数据存储至缓存中。
9.一种计算设备,包括:
至少一个处理器和存储有程序指令的存储器;
当所述程序指令被所述处理器读取并执行时,使得所述计算设备执行如权利要求1-7中任一项所述的数据加密方法。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-7中任一项所述的数据加密方法。
11.一种数据解密方法,包括步骤:
获取加密图像数据;
从所述加密图像数据中删除加密数据,得到载体图像数据,并根据所述载体图像数据还原载体图像;
对所述载体图像进行编码,得到图像编码数据,并从所述图像编码数据中提取密钥;
利用所述密钥对所述加密数据进行解密,得到斐波那契编码数据;
对所述斐波那契编码数据进行斐波那契解码,得到解码数据;
对所述解码数据由其初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为所述解码数据的初始形式表示,得到原始数据;以及
将所述原始数据存储至缓存中。
12.如权利要求11所述的数据解密方法,其中,所述若干次循环移位为:按照与加密过程中移位方向相反的方向进行3次循环移位。
13.如权利要求11所述的数据解密方法,其中,所述载体图像数据为所述载体图像的RGB数据。
14.如权利要求11所述的数据解密方法,其中,所述对所述载体图像进行编码所采用的编码方法为base64编码。
15.如权利要求11所述的数据解密方法,其中,所述从所述图像编码数据中提取密钥的步骤包括:
按照由小至大的顺序从正整数中选取n个素数
Figure QLYQS_4
,/>
Figure QLYQS_5
,其中,n为所述加密数据的数量;以及
从所述图像编码数据中取第
Figure QLYQS_6
个数据作为密钥。
16.如权利要求11所述的数据解密方法,其中,所述利用所述密钥对所述加密数据进行解密,得到斐波那契编码数据的步骤包括:
将所述密钥转换为二进制数据;以及
将该二进制数据与所述加密数据进行异或运算,得到斐波那契编码数据。
17.如权利要求13所述的数据解密方法,其中,所述从所述加密图像数据中删除加密数据,得到载体图像数据的步骤包括:
将所述加密数据从所述载体图像的RGB数据的一个通道矩阵中删除;以及
将预设的数据从所述RGB数据的另外两个通道矩阵中删除,得到加密图像数据。
18.一种数据解密装置,包括:
第二数据获取单元,适于获取加密图像数据;
载体图像还原单元,适于从所述加密图像数据中删除加密数据,得到载体图像数据,并根据所述载体图像数据还原载体图像;
密钥提取单元,适于对所述载体图像进行编码,得到图像编码数据,并从所述图像编码数据中提取密钥;
解密单元,适于利用所述密钥对所述加密数据进行解密,得到斐波那契编码数据;
解码单元,适于对所述斐波那契编码数据进行斐波那契解码,得到解码数据;
数据还原单元,适于对所述解码数据由其初始形式表示转换为二进制表示,然后进行若干次循环移位,并将移位后的二进制数据转换为所述解码数据的初始形式表示,得到原始数据;以及
第二存储单元,适于将所述原始数据存储至缓存中。
CN202111584694.4A 2021-12-14 2021-12-14 一种数据加密方法、装置与计算设备 Active CN114422800B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111584694.4A CN114422800B (zh) 2021-12-14 2021-12-14 一种数据加密方法、装置与计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111584694.4A CN114422800B (zh) 2021-12-14 2021-12-14 一种数据加密方法、装置与计算设备

Publications (2)

Publication Number Publication Date
CN114422800A CN114422800A (zh) 2022-04-29
CN114422800B true CN114422800B (zh) 2023-06-06

Family

ID=81267130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111584694.4A Active CN114422800B (zh) 2021-12-14 2021-12-14 一种数据加密方法、装置与计算设备

Country Status (1)

Country Link
CN (1) CN114422800B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115879138B (zh) * 2023-02-27 2023-06-27 北京厚方科技有限公司 一种用于芯片的轻量级数据加密方法
CN116484407B (zh) * 2023-04-23 2024-03-22 深圳市天下房仓科技有限公司 一种数据安全保护方法、装置、电子设备及存储介质
CN117473540A (zh) * 2023-12-28 2024-01-30 北京天健源达科技股份有限公司 文件字符加密方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9544277B1 (en) * 2015-09-09 2017-01-10 Roger G Marshall KAFKA: A cellular automation / complex Fibonacci sequences-based technique for encrypting and decrypting audio, video and text messages
CN111464296A (zh) * 2020-03-30 2020-07-28 卓尔智联(武汉)研究院有限公司 序列密码生成方法、数据加密方法和数据解密方法
CN112231740A (zh) * 2020-12-10 2021-01-15 卓尔智联(武汉)研究院有限公司 数据加密方法、数据解密方法、装置、计算机设备和介质
CN112235319A (zh) * 2020-12-09 2021-01-15 卓尔智联(武汉)研究院有限公司 数据加密、解密方法、装置和加解密电路

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10965453B2 (en) * 2018-09-14 2021-03-30 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for authenticated encryption based on device fingerprint

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9544277B1 (en) * 2015-09-09 2017-01-10 Roger G Marshall KAFKA: A cellular automation / complex Fibonacci sequences-based technique for encrypting and decrypting audio, video and text messages
CN111464296A (zh) * 2020-03-30 2020-07-28 卓尔智联(武汉)研究院有限公司 序列密码生成方法、数据加密方法和数据解密方法
CN112235319A (zh) * 2020-12-09 2021-01-15 卓尔智联(武汉)研究院有限公司 数据加密、解密方法、装置和加解密电路
CN112231740A (zh) * 2020-12-10 2021-01-15 卓尔智联(武汉)研究院有限公司 数据加密方法、数据解密方法、装置、计算机设备和介质

Also Published As

Publication number Publication date
CN114422800A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
CN114422800B (zh) 一种数据加密方法、装置与计算设备
CN108463968B (zh) 可变长度数据的快速格式保留加密
Kumar et al. IEHC: An efficient image encryption technique using hybrid chaotic map
CN103825723A (zh) 一种加密方法和装置
CN105324956A (zh) 加密明文数据的方法及设备
CN111866018B (zh) 数据信息加密发送方法、装置、计算机设备及存储介质
Chen Image sharing method for gray-level images
Dumas et al. Foundations of coding: compression, encryption, error correction
Alam et al. Universal playfair cipher using MXN matrix
Li et al. Sharing more information in gray visual cryptography scheme
Bhattacharyya et al. Text steganography: a novel approach
Sridevi et al. Image steganography combined with cryptography
AU2017100438A4 (en) Methods and Apparatus for Encrypting Multimedia Information
CN110473214B (zh) 基于Ramanujan矩阵的图像置乱与恢复方法
CN106228503B (zh) 卫星遥感影像shp点文件的数字水印嵌入和提取方法
CN106934755A (zh) 一种基于m序列的图像加解密方法
Hameed et al. Modified advanced encryption standard for text and images
Swain et al. A dynamic approach to image steganography using the three least significant bits and extended hill cipher
Choche et al. A methodology to conceal QR codes for security applications
CN115134471A (zh) 图像加密、解密方法以及相关设备
CN114915464A (zh) 一种基于特殊矩阵运算的图像加密方法、解密方法
US20240187209A1 (en) Data encryption and decryption using screens and lfsr-generated logic blocks
CN107896143B (zh) 基于高维混沌系统和算术编码的联合编码方法
CN111400731A (zh) 一种基于DNACNot的量子图像加密方法
Jiao et al. Improved security for android system based on multi-chaotic maps using a novel image encryption algorithm

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