CN107147626A - 一种AES算法与ElGamal算法相结合的加密文件传输方法 - Google Patents

一种AES算法与ElGamal算法相结合的加密文件传输方法 Download PDF

Info

Publication number
CN107147626A
CN107147626A CN201710277389.8A CN201710277389A CN107147626A CN 107147626 A CN107147626 A CN 107147626A CN 201710277389 A CN201710277389 A CN 201710277389A CN 107147626 A CN107147626 A CN 107147626A
Authority
CN
China
Prior art keywords
mrow
mtd
msub
mtr
msubsup
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
CN201710277389.8A
Other languages
English (en)
Other versions
CN107147626B (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.)
Nantong University
Original Assignee
Nantong University
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 Nantong University filed Critical Nantong University
Priority to CN201710277389.8A priority Critical patent/CN107147626B/zh
Publication of CN107147626A publication Critical patent/CN107147626A/zh
Application granted granted Critical
Publication of CN107147626B publication Critical patent/CN107147626B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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

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)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种AES算法与ElGamal算法相结合的文件传输加密方法,将基于可逆逻辑的AES算法与非对称算法ElGamal算法相结合,既保证了文件的加密效果,又保证了文件及密钥传输过程中的安全性。文件在发送端采用基于可逆逻辑的AES算法进行加密处理,然后运用发送端提供的ElGamal公钥对AES密钥进行加密处理,并将加密后的文件与密钥发送至接收端,在接收端运用本地保存的ElGamal私钥先对接收到的AES密钥进行解密处理,然后将还原后的密钥对接收到的AES密文进行解密处理,得到发送端发送的原文。

Description

一种AES算法与ElGamal算法相结合的加密文件传输方法
技术领域
本方法涉及信息技术领域的加密文件的传输方法,特别是一种AES算法与ElGamal算法相结合的加密文件传输方法。
背景技术
一、AES算法
高级加密标准(英语:Advanced Encryption Standard,缩写:AES)是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
AES的区块长度固定为128比特,密钥长度则可以是128,192或256比特。大多数AES计算是在一个特别的有限域完成的。
AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“状态(state)”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)。加密时,各轮AES加密循环(除最后一轮外)均包含4个步骤:
AddRoundKey—矩阵中的每一个字节都与该次轮秘钥(round key)做XOR运算;每个子密钥由密钥生成方案产生。
SubBytes—通过非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。
ShiftRows—将矩阵中的每个横列进行循环式移位。
MixColumns—为了充分混合矩阵中各个直行的操作。这个步骤使用线性转换来混合每列的四个字节。
最后一个加密循环中省略MixColumns步骤,而以另一个AddRoundKey取代。
其存在的问题在于传统的逻辑门存在一定位上的扇出,即两个输入,却只有一个输出。这样便有利于边信道攻击中的功耗分析进行破解。
二、可逆逻辑线路
可逆逻辑线路是由一系列可逆逻辑门搭建而成的具有一定函数功能的逻辑电路。它具有如下特点:
(1)输入数等于输出数;
(2)没有扇入与扇出;
(3)没有反馈;
(4)网络分层级联,有时为了保证网络可逆,需要添加一些无用的输出或输入信息位,即垃圾信息位;
(5)n输入、输出向量的可逆网络共有2n!种。
三、ElGamal算法
ElGamal公钥密码体质基于有限域上的离散对数困难问题。它既能用于数据加密也能用于数字签名,在现代密码学中应用十分广泛,是目前应用最为广泛的数字签名方案,这些方案可以应用于数字签名、认证、加密以及各种安全协议中,在金融系统中,广泛地使用到ElGamal签名体质,同时在通信系统中,也大量使用基于ElGamal签名算法的认证和通信协议
ElGamal的加密过程如下:
(1)参数产生:设G为有限域Zp上的乘法群,p是一个素数,α是Zp上的一个生成元
(2)密钥生成:选取α∈[1,p-2],计算β=αa mod p,那么得到私钥为a,公钥为(p,α,β)。
(3)加密过程:对于加密消息m可以任意选取随机数k∈[1,p-2],计算γ=ak modp和δ=mβk mod p,可以得到密文为c=(γ,δ)。
(4)解密过程:接受着收到密文c=(γ,δ)后,使用私钥a,计算γ-aδ=(αk)-aδ=α-ka(mβk)=α-kaak mod p=m mod p=m,得到明文m。
利用以上参数和密钥,数字签名算法DSA(Digital Signature Algorithm)如下:
签名过程:对消息m,任意选取随机数k∈[1,p-2],计算r=αk mod p,s=k-1(H(m)+ar)mod(p-1),其中H为Hash函数。那么(r,s)为消息m的签名。
信息安全不仅体现在文件存储的环节,文件在传输过程中的安全也同样至关重要。市场上大多数的文件传输会根据相应的公共协议对传输的消息进行加解密,但在用户将消息发送到信道的过程中,信息的安全性却备受考验,存在着截流的风险。同时,对称加解密采用同样的密钥也加大了对密钥传输安全性的考验,通常的加密系统,用户会将密钥交给第三方安全机构来授予,通过数字签名等对身份、属性的验证来派发。第三方的公信力就显得至关重要,公信力的缺失和用户个人信息的泄漏同样威胁着安全。如何管理密钥,如何确保传输消息的安全引起了广泛的思考。
发明内容
本发明的目的是为了克服以上不足,提供一种AES算法与ElGamal算法相结合的文件传输加密方法,既保证了文件的加密效果,又保证了文件及密钥传输过程中的安全性。
本发明的目的通过以下技术方案来实现:一种AES算法与ElGamal算法相结合的加密文件传输方法,具体步骤包括:
A、文件在发送端采用AES算法进行加密处理,然后运用发送端提供的ElGamal公钥对AES密钥进行加密处理,并将加密后的文件与密钥发送至接收端;
B、文件在接收端运用本地保存的ElGamal私钥先对接收到的AES密钥进行解密处理,然后将还原后的密钥对接收到的AES密文进行解密处理,得到发送端发送的原文。
在本发明一个较佳实施例中,用户在注册时自动调用ElGamal算法,生成对应的公钥PublicKey和私钥PrivateKey,分别存储在服务器和本地数据库。
在本发明一个较佳实施例中,所述AES算法为基于可逆逻辑的AES算法。
在本发明一个较佳实施例中,所述可逆逻辑的AES算法,具体为:
a、运用可逆逻辑门的可逆特性,构造相应的可逆逻辑电路来替换、改造传统AES算法中列混合过程的电路构造,达到运用可逆逻辑门来替代传统逻辑门的效果,从而实现AES算法中的加密过程;
b、运用可逆逻辑门的可逆特性,构造相应的可逆逻辑电路来替换、改造传统AES算法中逆列混合过程的电路构造,达到运用可逆逻辑门来替代传统逻辑门的效果,从而实现AES算法中的解密过程。
在本发明一个较佳实施例中,所述步骤a中的所述列混合过程的具体步骤如下:
列混合的操作是通过矩阵相乘来实现的,在算法中,矩阵的乘法和加法都是定义基于Z2[x]的不可约多项式m(x)=x8+x4+x3+x+1构造的有限域GF(28)上的运算,所涉及到的加法和乘法运算具体如下:
列混合是针对字、字节和位的操作,到最终列混合是针对位的操作,写成多项式相乘的形式,令其中w(x)是迦罗瓦域上的多项式,记为:
w(x)={03}x3+{01}x2+{01}x+{02}
为了便于计算操作,写成如下的形式:
所以
经过该乘法计算后,每一列中的一个字有下述结果取代:
通过构造可逆逻辑可逆电路来实现;
其中b7b6b5b4b3b2b1b0输入的相应的字节,也即是状态矩阵中每个元素的值,其中b(x)为一个字节;
而一个状态中共含有16个元素,即含有16个字节,每一个字节都需要进行上述的操作,为了简化电路,我们将迦罗瓦域中2·b(x)的运算封装成一个小的可逆逻辑模块电路。
在本发明一个较佳实施例中,所述步骤b中所述逆列混合过程的具体步骤如下:
逆列混合变换是列混合变换的逆变换,逆混合变换是在状态上对每一列进行运算,将每一列看作是4次多项式,将状态的列看作GF(28)上的多项式且被一个固定的多项式w-1(x)模x4+1,其中w-1(x)为:
w-1(x)={03}x3+{01}x2+{01}x+{02}
同样,这里可以写成矩阵乘法,令
经过该乘法计算后,一列中的4个字节将由下述结果取代:
本发明AES算法与ElGamal算法相结合的文件传输加密方法与现有技术相比具有以下优点:
1、双重加密:
本文件传输加密方法先运用了AES算法进行第一重加密,然后在其基础上对AES的密钥也运用ElGamal算法进行第二重加密,在不降低效率的前提下保证了文件的传输安全。
2、AES算法基于可逆逻辑线路构造:
基于可逆逻辑构造的原理,通过增加可构造密钥的种类提升了加密线路的抗攻击性。在n条线路上的有限域内可以构造的密钥种类多达2n!种,而传统的线路构造方法可以实现的密钥种类仅有2n!种。
3、私钥在本地保管:
在整个文件传输过程中,只有拥有私钥才能将文件进行解密,而接收端的私钥仅在本地保存而不参与传输过程,提升了接收端的安全度,防止在传输过程中的密钥泄露。
附图说明
图1是AES与ElGamal结合的传输结构图;
图2是AES与ElGamal结合的用例图;
图3是加密文件传输过程的流程图;
图4是加密文件传输过程的时序图;
图5是AES算法的加密流程图;
图6是为实现AES算法中的列混合过程而设计的可逆逻辑电路;
图7是可逆逻辑电路数乘2的电路构造;
图8是U器件;
图9是可逆逻辑电路;
图10是逆列混合的电路构造图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。在本发明的一种实施方式中描述的元素和特征可以与一个或更多个其它实施方式中示出的元素和特征相结合。应当注意,为了清楚的目的,说明中省略了与本发明无关的、本领域普通技术人员已知的部件和处理的表示和描述。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
结合图1-4,本发明公开了一种AES算法与ElGamal算法相结合的加密文件传输方法,具体步骤包括:
(1)用户在注册时自动调用ElGamal算法,生成一个对应的公钥PublicKey,和私钥PrivateKey,分别存储在服务器和本地数据库。
(2)发送方A首先调用AES算法对原文件Plaintext进行加密,生成密文Ciphertext。
(3)发送方A根据接收方B的用户ID访问服务器数据库,取得接收方B存储在服务器上的公钥Qu_B,利用获取的接收方B的公钥Qu_B,对AES加密时生成的密钥AESKey调用ElGamal算法进行加密,将加密后的文件和密钥打包发送给接收方B。
(4)接收方B在收到文件后,解析出其中的密钥部分,首先调用ElGamal算法还原出AES加密所使用的密钥AESKey。
(5)然后利用还原出的AESKey调用AES算法对密文Ciphertext解密,最终还原出明文Plaintext。
优选地,所述AES算法采用基于可逆逻辑的AES算法。
结合图5所示,所述基于可逆逻辑的AES算法具体步骤如下:
(1)、运用可逆逻辑门的可逆特性,构造特殊的可逆逻辑电路来替换、改造传统AES算法中列混合过程的电路构造,达到运用可逆逻辑门来替代传统逻辑门的效果,从而实现AES算法中的加密过程。
(2)、运用可逆逻辑门的可逆特性,构造特殊的可逆逻辑电路来替换、改造传统AES算法中逆列混合过程的电路构造,达到运用可逆逻辑门来替代传统逻辑门的效果,从而实现AES算法中的解密过程。
列混合过程改造:
列混合是整个加密过程中最为重要的一个部分,本质上来讲列混合的操作是通过矩阵相乘来实现的,在算法中,矩阵的乘法和加法都是定义基于Z2[x]的不可约多项式m(x)=x8+x4+x3+x+1构造的有限域GF(28)上的运算,所涉及到的加法和乘法运算的详细介绍见下面所述。
列混合是针对字,字节和位的操作,到最终列混合说到底是针对位的操作,之前提到列混合的操作相当于是通过矩阵相乘来实现的,我们可以用来写成多项式相乘的形式,令其中w(x)是迦罗瓦域上的多项式,记为:
w(x)={03}x3+{01}x2+{01}x+{02}
为了便于计算操作,可以写成如下的形式:
所以
经过该乘法计算后,每一列中的一个字有下述结果取代:
这里我们通过构造可逆逻辑可逆电路来实现,见图6。
其中b7b6b5b4b3b2b1b0输入的相应的字节,也即是状态矩阵中每个元素的值,图7就表示迦罗瓦域中2·b(x)的运算,其中b(x)为一个字节。
而一个状态中共含有16个元素,即含有16个字节,每一个字节都需要进行上面的操作,为了简化电路,我们将图7封装成一个小的可逆逻辑模块电路图,见图8所示。
而针对每一列所进行的操作,我们构造如下的可逆逻辑电路图,见图9。
逆列混合过程改造:
逆列混合变换是列混合变换的逆变换。逆混合变换是在状态上对每一列进行运算。将每一列看作是4次多项式。将状态的列看作GF(28)上的多项式且被一个固定的多项式w-1(x)模x4+1,其中w-1(x)为:
w-1(x)={03}x3+{01}x2+{01}x+{02}
同样这里可以写成矩阵乘法。令
经过该乘法计算后,一列中的4个字节将由下述结果取代:
构造的可逆逻辑电路图见图10。
最后应说明的是:虽然以上已经详细说明了本发明及其优点,但是应当理解在不超出由所附的权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、替代和变换。而且,本发明的范围不仅限于说明书所描述的过程、设备、手段、方法和步骤的具体实施例。本领域内的普通技术人员从本发明的公开内容将容易理解,根据本发明可以使用执行与在此所述的相应实施例基本相同的功能或者获得与其基本相同的结果的、现有和将来要被开发的过程、设备、手段、方法或者步骤。因此,所附的权利要求旨在在它们的范围内包括这样的过程、设备、手段、方法或者步骤。

Claims (6)

1.一种AES算法与ElGamal算法相结合的加密文件传输方法,其特征在于,具体步骤包括:
A、文件在发送端采用AES算法进行加密处理,然后运用发送端提供的ElGamal公钥对AES密钥进行加密处理,并将加密后的文件与密钥发送至接收端;
B、文件在接收端运用本地保存的ElGamal私钥先对接收到的AES密钥进行解密处理,然后将还原后的密钥对接收到的AES密文进行解密处理,得到发送端发送的原文。
2.根据权利要求1所述的AES算法与ElGamal算法相结合的加密文件传输方法,其特征在于,用户在注册时自动调用ElGamal算法,生成对应的公钥PublicKey和私钥PrivateKey,分别存储在服务器和本地数据库。
3.根据权利要求1所述的AES算法与ElGamal算法相结合的加密文件传输方法,其特征在于,所述AES算法为基于可逆逻辑的AES算法。
4.根据权利要求3所述的AES算法与ElGamal算法相结合的加密文件传输方法,其特征在于,所述可逆逻辑的AES算法,具体为:
a、运用可逆逻辑门的可逆特性,构造相应的可逆逻辑电路来替换、改造传统AES算法中列混合过程的电路构造,达到运用可逆逻辑门来替代传统逻辑门的效果,从而实现AES算法中的加密过程;
b、运用可逆逻辑门的可逆特性,构造相应的可逆逻辑电路来替换、改造传统AES算法中逆列混合过程的电路构造,达到运用可逆逻辑门来替代传统逻辑门的效果,从而实现AES算法中的解密过程。
5.根据权利要求4所述的AES算法与ElGamal算法相结合的加密文件传输方法,其特征在于,所述步骤a中的所述列混合过程的具体步骤如下:
列混合的操作是通过矩阵相乘来实现的,在算法中,矩阵的乘法和加法都是定义基于Z2[x]的不可约多项式m(x)=x8+x4+x3+x+1构造的有限域GF(28)上的运算,所涉及到的加法和乘法运算具体如下:
列混合是针对字、字节和位的操作,到最终列混合是针对位的操作,写成多项式相乘的形式,令其中w(x)是迦罗瓦域上的多项式,记为:
w(x)={03}x3+{01}x2+{01}x+{02}
为了便于计算操作,写成如下的形式:
<mrow> <mi>w</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mn>02</mn> </mtd> <mtd> <mn>03</mn> </mtd> <mtd> <mn>01</mn> </mtd> <mtd> <mn>01</mn> </mtd> </mtr> <mtr> <mtd> <mn>01</mn> </mtd> <mtd> <mn>02</mn> </mtd> <mtd> <mn>03</mn> </mtd> <mtd> <mn>01</mn> </mtd> </mtr> <mtr> <mtd> <mn>01</mn> </mtd> <mtd> <mn>01</mn> </mtd> <mtd> <mn>02</mn> </mtd> <mtd> <mn>03</mn> </mtd> </mtr> <mtr> <mtd> <mn>03</mn> </mtd> <mtd> <mn>01</mn> </mtd> <mtd> <mn>01</mn> </mtd> <mtd> <mn>02</mn> </mtd> </mtr> </mtable> </mfenced> </mrow>
所以
<mrow> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msubsup> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mn>02</mn> </mtd> <mtd> <mn>03</mn> </mtd> <mtd> <mn>01</mn> </mtd> <mtd> <mn>01</mn> </mtd> </mtr> <mtr> <mtd> <mn>01</mn> </mtd> <mtd> <mn>02</mn> </mtd> <mtd> <mn>03</mn> </mtd> <mtd> <mn>01</mn> </mtd> </mtr> <mtr> <mtd> <mn>01</mn> </mtd> <mtd> <mn>01</mn> </mtd> <mtd> <mn>02</mn> </mtd> <mtd> <mn>03</mn> </mtd> </mtr> <mtr> <mtd> <mn>03</mn> </mtd> <mtd> <mn>01</mn> </mtd> <mtd> <mn>01</mn> </mtd> <mtd> <mn>02</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> <mn>0</mn> <mo>&amp;le;</mo> <mi>c</mi> <mo>&lt;</mo> <mi>N</mi> <mi>b</mi> </mrow> 1
经过该乘法计算后,每一列中的一个字有下述结果取代:
<mrow> <msubsup> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>02</mn> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>03</mn> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> </mrow>
<mrow> <msubsup> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> <mo>=</mo> <msub> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>02</mn> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>03</mn> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <msub> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> </mrow>
<mrow> <msubsup> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> <mo>=</mo> <msub> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>02</mn> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>03</mn> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
<mrow> <msubsup> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>03</mn> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>&amp;CirclePlus;</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>02</mn> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
通过构造可逆逻辑可逆电路来实现;
其中b7b6b5b4b3b2b1b0输入的相应的字节,也即是状态矩阵中每个元素的值,其中b(x)为一个字节;
而一个状态中共含有16个元素,即含有16个字节,每一个字节都需要进行上述的操作,为了简化电路,我们将迦罗瓦域中2·b(x)的运算封装成一个小的可逆逻辑模块电路。
6.根据权利要求4所述的AES算法与ElGamal算法相结合的加密文件传输方法,其特征在于,所述步骤b中所述逆列混合过程的具体步骤如下:
逆列混合变换是列混合变换的逆变换,逆混合变换是在状态上对每一列进行运算,将每一列看作是4次多项式,将状态的列看作GF(28)上的多项式且被一个固定的多项式w-1(x)模x4+1,其中w-1(x)为:
w-1(x)={03}x3+{01}x2+{01}x+{02}
同样,这里可以写成矩阵乘法,令
<mrow> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msubsup> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <mn>0</mn> <mi>e</mi> </mrow> </mtd> <mtd> <mrow> <mn>0</mn> <mi>b</mi> </mrow> </mtd> <mtd> <mrow> <mn>0</mn> <mi>d</mi> </mrow> </mtd> <mtd> <mn>09</mn> </mtd> </mtr> <mtr> <mtd> <mn>09</mn> </mtd> <mtd> <mrow> <mn>0</mn> <mi>e</mi> </mrow> </mtd> <mtd> <mrow> <mn>0</mn> <mi>b</mi> </mrow> </mtd> <mtd> <mrow> <mn>0</mn> <mi>d</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mi>d</mi> </mrow> </mtd> <mtd> <mn>09</mn> </mtd> <mtd> <mrow> <mn>0</mn> <mi>e</mi> </mrow> </mtd> <mtd> <mrow> <mn>0</mn> <mi>b</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mi>b</mi> </mrow> </mtd> <mtd> <mrow> <mn>0</mn> <mi>d</mi> </mrow> </mtd> <mtd> <mn>09</mn> </mtd> <mtd> <mrow> <mn>0</mn> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> <mn>0</mn> <mo>&amp;le;</mo> <mi>c</mi> <mo>&lt;</mo> <mi>N</mi> <mi>b</mi> </mrow>
经过该乘法计算后,一列中的4个字节将由下述结果取代:
<mrow> <msubsup> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>0</mn> <mi>e</mi> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>0</mn> <mi>b</mi> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>0</mn> <mi>d</mi> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>09</mn> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
<mrow> <msubsup> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>09</mn> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>0</mn> <mi>e</mi> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>0</mn> <mi>b</mi> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>0</mn> <mi>d</mi> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
<mrow> <msubsup> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>0</mn> <mi>d</mi> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>09</mn> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>0</mn> <mi>e</mi> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>0</mn> <mi>b</mi> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
<mrow> <msubsup> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> <mo>&amp;prime;</mo> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>0</mn> <mi>b</mi> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>0</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>0</mn> <mi>d</mi> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>09</mn> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&amp;CirclePlus;</mo> <mrow> <mo>(</mo> <mo>{</mo> <mn>0</mn> <mi>e</mi> <mo>}</mo> <mo>&amp;CenterDot;</mo> <msub> <mi>s</mi> <mrow> <mn>3</mn> <mo>,</mo> <mi>c</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>.</mo> </mrow> 2
CN201710277389.8A 2017-04-25 2017-04-25 一种AES算法与ElGamal算法相结合的加密文件传输方法 Active CN107147626B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710277389.8A CN107147626B (zh) 2017-04-25 2017-04-25 一种AES算法与ElGamal算法相结合的加密文件传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710277389.8A CN107147626B (zh) 2017-04-25 2017-04-25 一种AES算法与ElGamal算法相结合的加密文件传输方法

Publications (2)

Publication Number Publication Date
CN107147626A true CN107147626A (zh) 2017-09-08
CN107147626B CN107147626B (zh) 2020-03-27

Family

ID=59775365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710277389.8A Active CN107147626B (zh) 2017-04-25 2017-04-25 一种AES算法与ElGamal算法相结合的加密文件传输方法

Country Status (1)

Country Link
CN (1) CN107147626B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768923A (zh) * 2018-03-29 2018-11-06 南通大学 一种基于量子可逆逻辑线路的加密算法的聊天实时加密方法
CN109547197A (zh) * 2018-11-16 2019-03-29 重庆邮电大学 一种基于拉斯维加斯ELGamal加密的OPC UA秘钥交换方法
US10764029B1 (en) 2019-04-02 2020-09-01 Carey Patrick Atkins Asymmetric Encryption Algorithm

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022455A (zh) * 2006-12-26 2007-08-22 北京大学 一种Web通信加密方法
CN104935588A (zh) * 2015-06-12 2015-09-23 华中科技大学 一种安全云存储系统的分层密钥管理方法
CN105024806A (zh) * 2015-08-14 2015-11-04 安徽师范大学 一种基于可逆逻辑门的加密系统的模逆电路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022455A (zh) * 2006-12-26 2007-08-22 北京大学 一种Web通信加密方法
CN104935588A (zh) * 2015-06-12 2015-09-23 华中科技大学 一种安全云存储系统的分层密钥管理方法
CN105024806A (zh) * 2015-08-14 2015-11-04 安徽师范大学 一种基于可逆逻辑门的加密系统的模逆电路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
齐学梅等: "有限域上模逆电路的可逆逻辑设计", 《计算机科学与探索》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768923A (zh) * 2018-03-29 2018-11-06 南通大学 一种基于量子可逆逻辑线路的加密算法的聊天实时加密方法
CN109547197A (zh) * 2018-11-16 2019-03-29 重庆邮电大学 一种基于拉斯维加斯ELGamal加密的OPC UA秘钥交换方法
US10764029B1 (en) 2019-04-02 2020-09-01 Carey Patrick Atkins Asymmetric Encryption Algorithm

Also Published As

Publication number Publication date
CN107147626B (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
Abood et al. A survey on cryptography algorithms
Mitali et al. A survey on various cryptography techniques
Orobosade et al. Cloud application security using hybrid encryption
Koko et al. Comparison of Various Encryption Algorithms and Techniques for improving secured data Communication
US6111952A (en) Asymmetrical cryptographic communication method and portable object therefore
CN107147626A (zh) 一种AES算法与ElGamal算法相结合的加密文件传输方法
CN106982116A (zh) 一种基于可逆逻辑电路的aes的本地文件加密方法
CN106973061B (zh) 一种基于可逆逻辑电路的aes的外发文件加密方法
CN108768923A (zh) 一种基于量子可逆逻辑线路的加密算法的聊天实时加密方法
Kumar et al. Distinction between Secret key and Public key Cryptography with existing Glitches
Walia Cryptography Algorithms: A Review
Nalwaya et al. A cryptographic approach based on integrating running key in feedback mode of elgamal system
Tarawneh Cryptography: Recent Advances and Research Perspectives
Chahar et al. Design of a new Security Protocol
Mukhopadhyay Cryptography: Advanced encryption standard (aes)
Gupta Cryptography and Network Security
Jharbade et al. Network based Security model using Symmetric Key Cryptography (AES 256–Rijndael Algorithm) with Public Key Exchange Protocol (Diffie-Hellman Key Exchange Protocol)
Sidhu Analyzing Modern Cryptography Techniques and Reviewing their Timeline (2023)
Perwej et al. Block ciphering in KSA, A major breakthrough in cryptography analysis in wireless networks
Abdelgader et al. Design of a secure file transfer system using hybrid encryption techniques
Kulkarni Study of Modern Cryptographic Algorithms.
Memon et al. Randomized text encryption: A new dimension in cryptography
CN111835506B (zh) 基于一次使用密码本的信息安全数字加密方法
Manoj et al. VLSI Implementation of SMS4 Cipher for Optimized Utilization of FPGA
Tangri et al. Cryptography Techniques and its Application

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