CN111177760A - 一种基于异或算法改进的数据加密解密方法 - Google Patents
一种基于异或算法改进的数据加密解密方法 Download PDFInfo
- Publication number
- CN111177760A CN111177760A CN201911396873.8A CN201911396873A CN111177760A CN 111177760 A CN111177760 A CN 111177760A CN 201911396873 A CN201911396873 A CN 201911396873A CN 111177760 A CN111177760 A CN 111177760A
- Authority
- CN
- China
- Prior art keywords
- bytes
- encryption
- password
- file
- data
- 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.)
- Pending
Links
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
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于计算机信息安全领域,具体涉及一种基于异或算法改进的数据加密解密方法,该方法具体包括以下步骤:步骤(1)使用异或运算进行第一层加密;步骤(2)使用字节值运算进行第二层加密;步骤(3)使用字节值运算进行第一层解密;步骤(4)使用异或运算进行第二层解密。本发明使用了两层加密,不仅原理简单,使用条件宽泛,且重复加密不会解密,可以对任何类型的数据进行加密且安全性较高。
Description
技术领域
本发明属于计算机信息安全领域,具体涉及一种基于异或算法改进的数据加密解密方法。
背景技术
进入信息时代以来,在各行业的信息处理中都融入了互联网技术和计算机技术,虽能方便处理各项信息和数据,但使得资料面临着被窃取的风险,不论是对个人信息的私密性还是企业资料的安全性都造成诸多不利影响。当今加密算法较多,其安全性与加密速度各不相同,但大多算法较为复杂,部分算法加密后的字符串有一些特殊字符,需要在HTTP请求中进行特殊编码处理,使用条件苛刻,对效率产生一定影响。而单纯的异或加密运算虽然原理简单但使用密码对明文加密两次即可解密得到明文,安全性差。
因此需要提供一种使用双层加密的数据加密技术,可以对任何类型的数据进行加密且安全性较高。
发明内容
本发明的目的在于提供一种基于异或算法改进的数据加密解密方法,使用特殊规则对数据进行加密,提高原异或算法的安全性。
实现本发明目的的技术方案:
一种基于异或算法改进的数据加密解密方法,该方法具体包括以下步骤:
步骤(1)使用异或运算进行第一层加密;
步骤(2)使用字节值运算进行第二层加密;
步骤(3)使用字节值运算进行第一层解密;
步骤(4)使用异或运算进行第二层解密。
所述的步骤(1)具体包括以下步骤:
步骤(1.1)对于一个文件,使用编程语言获取该文件的字节;
步骤(1.2)设置密码,指定编码并将密码转成字节数据;
步骤(1.3)根据文件字节的长度,将密码字节循环拼接成等长的数据集;
步骤(1.4)把文件字节与循环拼接后的密码字节一一对应进行异或运算可得第一层加密后的数据集。
所述的步骤(1.2)中密码可以为任何字符,长度小于等于文件字节集的长度。
所述的步骤(1.3)中的循环拼接含义为假设有数据’student’,密码’abc’,根据’student’的长度循环拼接之后密码为’abcabca’。
所述的步骤(2)具体包括以下步骤:
步骤(2.1)继续将第一层加密后的数据集进行遍历取值,设值为t(0≤t≤255),对t加任意正整数n得T,使T对256取余数得t′,整数型t′的转换公式如下:
t′=(t+n)%256 n∈N*且n≠256*m,m∈N*
步骤(2.2)将整数型t′转成字节型,遍历写出到磁盘可得到密文。
所述的步骤(3)具体包括以下步骤:
步骤(3.1)使用编程语言获取待解密文件的字节;
步骤(3.2)对字节数据进行遍历取值,设值为t′(0≤t′≤255),并对t′进行如下公式操作得到t;
t=(t′+256-n)%256 n∈N*且n≠256*m,m∈N*
将每个t遍历储存至数据集中。
所述的步骤(4)具体包括以下步骤:
步骤(4.1)使用加密过程中相同密码(相同编码),根据步骤(1.2)、步骤 (1.3)、步骤(1.4)对上述数据集进行异或,得到解密数据;
步骤(4.2)写出到磁盘得到原文件。
本发明的有益技术效果在于:
本发明提供了一种基于异或算法改进的数据加密解密方法,使用了两层加密,不仅原理简单,使用条件宽泛,且重复加密不会解密,可以对任何类型的数据进行加密且安全性较高。
具体实施方式
下面结合实施例对本发明作进一步详细说明。
本发明涉及计算机数据读写、数据类型、异或运算等相关知识。
字节是文件储存单位,任何文件或数据底层均为0和1,八位表示一个字节,字节是最小的储存单元,所有的文件都是二进制文件,即字节文件。一个八位的字节十进制值为-128至127,可以表示256个不同整数,计算机中字节型数据取值范围为0-255的整数。
本发明提供了一种基于异或算法改进的数据加密解密方法,该方法具体包括以下步骤:
步骤(1)使用异或运算进行第一层加密;
异或运算也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1, 1⊕1=0(同为0,异为1,⊕为异或),这些法则与加法是相同的,只是不带进位。任何文件均由字节(八位0或1表示一个字节)组成,我们使用密码转成的字节对需要加密文件的字节进行异或操作,从而进行加密。具体操作步骤如下:
步骤(1.1)对于一个文件,使用编程语言获取该文件的字节。
使用python语言获取图片a的字节数据a_bytes
a_bytes=open(str(a_Path),mode="rb")
a_Path为图片a的输入路径。
步骤(1.2)设置密码,指定编码并将密码转成字节数据,密码可以为任何字符,长度小于等于文件字节集的长度。
输入密码获取密码的字节数据,指定编码,密码为“123456”,编码为“utf-8”
pwd_bytes=bytes("123456","utf-8")
步骤(1.3)根据文件字节的长度,将密码字节循环拼接成等长的数据集。
循环拼接含义为假设有数据’student’,密码’abc’,根据’student’的长度循环拼接之后密码为’abcabca’。
按照图片字节长度循环拼接密码字节得到pwds_bytes
pwds_bytes=a_bytesLen//pwd_bytesLen*pwd_bytes+pwd_bytes[:a_bytesLen% pwd_bytesLen]
步骤(1.4)把文件字节与循环拼接后的密码字节一一对应进行异或运算可得第一层加密后的数据集。
pwds_bytes每个值对a_bytes每个值一一对应做异或运算得到新的值, A_bytes为异或后的数据集
A_bytes[i]=pwds_bytes[i]^a_bytes[i],^为python中的异或运算符。
步骤(2)使用字节值运算进行第二层加密,具体包括以下子步骤:
步骤(2.1)继续将第一层加密后的数据集进行遍历取值,设值为t(0≤t≤ 255),对t加任意正整数n得T,使T对256取余数得t′(公式1);如此操作,达到使用同一密码对密文进行异或但不能解密的目的,提高数据安全性。整数型t′的转换公式如下:
t′=(t+n)%256 n∈N*且n≠256*m,m∈N* (1)
遍历A_bytes,对A_bytes中每个值t进行加n(n=10)并对256取余操作可得t′
t′=(t+10)%256
步骤(2.2)将整数型t′转成字节型,遍历写出到磁盘可得到密文。
对t′转换成字节型,遍历输出到磁盘可得A′.jpg
f_write.write(bytes([t′]))
图A′解密:
步骤(3)使用字节值运算进行第一层解密,具体包括以下子步骤:
步骤(3.1)使用编程语言获取待解密文件的字节;
获取图片A′的字节数据A′_bytes
A′_bytes=open(str(A′_Path),mode="rb")
A′_Path为图片A′的路径
步骤(3.2)对字节数据进行遍历取值,设值为t′(0≤t′≤255),并对t′进行如下公式操作得到t。
t=(t′+256-n)%256n∈N*且n≠256*m,m∈N*
注:n与加密过程中的n相同。
将每个t遍历储存至数据集中。
遍历A′_bytes,对A′_bytes中每个值t′进行如下操作可得t,遍历输出可得数据集A_bytes
t=(t′+256-10)%256
步骤(4)使用异或运算进行第二层解密,具体包括以下子步骤:
步骤(4.1)使用加密过程中相同密码(相同编码),根据步骤(1.2)、步骤 (1.3)、步骤(1.4)对上述数据集进行异或,得到解密数据。
根据步骤1.2、步骤1.3、步骤1.4进行操作,即按照相同编码将密码转成密码字节,并按照A_bytes长度循环拼接密码字节得到pwds_bytes,pwds_bytes 每个值对A_bytes每个值一一对应做异或运算得到新的值,可得解密数据。
pwd_bytes=bytes("123456","utf-8")
pwds_bytes=A_bytesLen//pwd_bytesLen*pwd_bytes+pwd_bytes[:A_bytesLen%pwd_bytesLen]
a_bytes[i]=pwds_bytes[i]^A_bytes[i]
步骤(4.2)写出到磁盘得到原文件。
遍历写出到磁盘可得a.jpg。
f_write.write(bytes([a_bytes[i]]))
上面结合实施例对本发明作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。本发明中未作详细描述的内容均可以采用现有技术。
Claims (7)
1.一种基于异或算法改进的数据加密解密方法,其特征在于,该方法具体包括以下步骤:
步骤(1)使用异或运算进行第一层加密;
步骤(2)使用字节值运算进行第二层加密;
步骤(3)使用字节值运算进行第一层解密;
步骤(4)使用异或运算进行第二层解密。
2.根据权利要求1所述的一种基于异或算法改进的数据加密解密方法,其特征在于,所述的步骤(1)具体包括以下步骤:
步骤(1.1)对于一个文件,使用编程语言获取该文件的字节;
步骤(1.2)设置密码,指定编码并将密码转成字节数据;
步骤(1.3)根据文件字节的长度,将密码字节循环拼接成等长的数据集;
步骤(1.4)把文件字节与循环拼接后的密码字节一一对应进行异或运算可得第一层加密后的数据集。
3.根据权利要求2所述的一种基于异或算法改进的数据加密解密方法,其特征在于:所述的步骤(1.2)中密码可以为任何字符,长度小于等于文件字节集的长度。
4.根据权利要求3所述的一种基于异或算法改进的数据加密解密方法,其特征在于:所述的步骤(1.3)中循环拼接含义为假设有数据’student’,密码’abc’,根据’student’的长度循环拼接之后密码为’abcabca’。
5.根据权利要求4所述的一种基于异或算法改进的数据加密解密方法,其特征在于,所述的步骤(2)具体包括以下步骤:
步骤(2.1)继续将第一层加密后的数据集进行遍历取值,设值为t(0≤t≤255),对t加任意正整数n得T,使T对256取余数得t′,整数型t′的转换公式如下:
t′=(t+n)%256n∈N*且n≠256*m,m∈N*
步骤(2.2)将整数型t′转成字节型,遍历写出到磁盘可得到密文。
6.根据权利要求5所述的一种基于异或算法改进的数据加密解密方法,其特征在于,所述的步骤(3)具体包括以下步骤:
步骤(3.1)使用编程语言获取待解密文件的字节;
步骤(3.2)对字节数据进行遍历取值,设值为t′(0≤t′≤255),并对t′进行如下公式操作得到t;
t=(t′+256-n)%256n∈N*且n≠256*m,m∈N*
将每个t遍历储存至数据集中。
7.根据权利要求6所述的一种基于异或算法改进的数据加密解密方法,其特征在于,所述的步骤(4)具体包括以下步骤:
步骤(4.1)使用加密过程中相同密码(相同编码),根据步骤(1.2)、步骤(1.3)、步骤(1.4)对上述数据集进行异或,得到解密数据;
步骤(4.2)写出到磁盘得到原文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911396873.8A CN111177760A (zh) | 2019-12-30 | 2019-12-30 | 一种基于异或算法改进的数据加密解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911396873.8A CN111177760A (zh) | 2019-12-30 | 2019-12-30 | 一种基于异或算法改进的数据加密解密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111177760A true CN111177760A (zh) | 2020-05-19 |
Family
ID=70657593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911396873.8A Pending CN111177760A (zh) | 2019-12-30 | 2019-12-30 | 一种基于异或算法改进的数据加密解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177760A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116502253A (zh) * | 2023-06-29 | 2023-07-28 | 北京天健源达科技股份有限公司 | 电子病历字符加密方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142074A (zh) * | 2011-03-31 | 2011-08-03 | 东北大学 | 基于混沌的通用电子档案加解密方法 |
CN105959118A (zh) * | 2016-04-28 | 2016-09-21 | 吉林大学 | 基于流密码的双位单向循环链表加密解密方法 |
CN106982116A (zh) * | 2017-04-26 | 2017-07-25 | 南通大学 | 一种基于可逆逻辑电路的aes的本地文件加密方法 |
CN109728897A (zh) * | 2019-01-17 | 2019-05-07 | 南京信安融慧网络技术有限公司 | 一种为等长可见字符串的加密和解密方法 |
-
2019
- 2019-12-30 CN CN201911396873.8A patent/CN111177760A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142074A (zh) * | 2011-03-31 | 2011-08-03 | 东北大学 | 基于混沌的通用电子档案加解密方法 |
CN105959118A (zh) * | 2016-04-28 | 2016-09-21 | 吉林大学 | 基于流密码的双位单向循环链表加密解密方法 |
CN106982116A (zh) * | 2017-04-26 | 2017-07-25 | 南通大学 | 一种基于可逆逻辑电路的aes的本地文件加密方法 |
CN109728897A (zh) * | 2019-01-17 | 2019-05-07 | 南京信安融慧网络技术有限公司 | 一种为等长可见字符串的加密和解密方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116502253A (zh) * | 2023-06-29 | 2023-07-28 | 北京天健源达科技股份有限公司 | 电子病历字符加密方法及装置 |
CN116502253B (zh) * | 2023-06-29 | 2023-09-22 | 北京天健源达科技股份有限公司 | 电子病历字符加密方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Image encryption algorithm based on chaotic system and dynamic S-boxes composed of DNA sequences | |
Thirumalai et al. | Secured E-Mail System using Base 128 Encoding Scheme | |
US20120269340A1 (en) | Hierarchical encryption/decryption device and method thereof | |
US9858436B2 (en) | Secure format-preserving encryption of data fields | |
WO2024077948A1 (zh) | 匿踪查询方法、装置和系统及存储介质 | |
KR20070039161A (ko) | 암호화 시스템, 방법 및 결합 함수 | |
JP5593458B2 (ja) | 文字列がオートマトンに受理されるか否かを認証するシステム | |
US10476663B1 (en) | Layered encryption of short-lived data | |
CN111866018B (zh) | 数据信息加密发送方法、装置、计算机设备及存储介质 | |
CN105099652A (zh) | 数据加密、解密方法和装置 | |
US20220417000A1 (en) | Random position cipher encryption using scrambled ascii strings | |
Abdul Hussien et al. | [Retracted] A Secure Environment Using a New Lightweight AES Encryption Algorithm for E‐Commerce Websites | |
WO2021129470A1 (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
US20080192924A1 (en) | Data encryption without padding | |
Usama et al. | Chaos-based simultaneous compression and encryption for Hadoop | |
JP7367860B2 (ja) | 認証暗号化装置、認証復号装置、認証暗号システム、方法及びプログラム | |
CN114826590B (zh) | 一种分组模式加密方法、解密方法及其装置、设备 | |
KR20230024342A (ko) | 데이터의 압축 및 암호화를 위한 시스템들 및 방법들 | |
US20100124328A1 (en) | Extensive ciphertext feedback | |
US11477172B2 (en) | Securing data compression | |
CN111177760A (zh) | 一种基于异或算法改进的数据加密解密方法 | |
US11356254B1 (en) | Encryption using indexed data from large data pads | |
CN117134914A (zh) | 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 | |
CN112640359B (zh) | 消息认证装置、消息认证方法及计算机可读取的存储介质 | |
CN113541942B (zh) | 基于arx白盒分组密码的数字内容加解密方法 |
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 |