CN110401536B - 一种基于深度学习的通用加密算法 - Google Patents
一种基于深度学习的通用加密算法 Download PDFInfo
- Publication number
- CN110401536B CN110401536B CN201910762344.9A CN201910762344A CN110401536B CN 110401536 B CN110401536 B CN 110401536B CN 201910762344 A CN201910762344 A CN 201910762344A CN 110401536 B CN110401536 B CN 110401536B
- Authority
- CN
- China
- Prior art keywords
- time
- training set
- deep learning
- information
- address
- 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
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于深度学习的通用加密算法,所述算法包括以下步骤:步骤1)合成训练集的构建;步骤2)模型训练与参数表的构建;步骤3)时变密码本的构建;步骤4)信息的加密与解密。本发明基于深度学习的上述特性,利用深度学习结果的难解释性和训练时间长的特点来辅助加密,这是首次利用通用的深度学习模型辅助加密;并且提出了时变密码本的概念和构造方法,来解决密钥更新的问题;且该方法的两阶段结构——通信准备阶段和通信过程,使得暴力破解的所需时间和正常加解密的时间解耦合,实现了效率和安全的兼顾。
Description
技术领域
本发明涉及一种加密算法,具体涉及一种基于深度学习的通用加密算法,属于人工智能与密码学交叉技术领域。
背景技术
密码学是保障信息安全的核心技术,越来越多重要的数据需要被安全的加密算法来保障安全。这些加密算法包括经典的加密算法(比如3DES,AED,RSA),还有一些十分新颖的算法(比如DNA算法,混沌映射算法)等。特别地,AES作为对称加密算法的代表而被广泛地使用,它具有较快地速度以及低空间消耗。此外,还存在一种安全的,牢不可破的对称加密算法——一次性密码本。
然而,这些算法都面临着一定的问题。首先,大多数加密算法都依赖于密钥的长度,当密钥的长度变短时,安全性也会降低。一种解决方法时增加加密算法的时间复杂度。这样的话,对于同样规模的密钥空间,攻击者需要更多的时间来进行暴力攻击,但是这样也会损失加密解密的效率,因为通信双方需要更多的时间去加密和解密。此外,对于一次性密码本,其使用有很大的不便性,其原因在于:
一、用以加密的文本,也就是一次性密码本,必须确实是随机产生的。
二、它至少必须和被加密的文件等长。
三、用以加密的文本只能用一次,且必须对非关系人小心保密,不再使用时,用以加密的文本应当要销毁,以防重复使用。若密码本被使用多次,很容易通过多组明文/密文对破解密钥。
当大量的信息需要被传输时,它遭受着密钥更新的困难,而这种困难使得一次性密码本的真正应用领域很窄。因此,密码专家们思考各种各样的方法去接近一次性密码本,并同时考虑设计的方法的可用性。
深度学习是近年来人工智能的热点研究领域,可自动地学习到从海量数据的表示(representation)到数据的标记(label)的映射,而这种映射关系是由深度学习模型中的超参数所控制的,由深度学习模型产生的超大规模的参数(权重)所捕捉到的。目前尚无理论可对这些参数进行合理的解释,即这些参数具有不可解释性。当模型的超参数是未知的或者被改变后,或者训练数据被改变后,所训练出的参数将发生变化。因此,深度学习模型实质蕴涵了加密的特性。而且,深度学习的训练时间耗时极长,每调一个超参数就意味着大量时间的流逝。因此,能否利用深度学习的这两个特点来辅助加密是值得研究的。
发明内容
本发明正是针对现有技术中存在的问题,提供一种基于深度学习的通用加密算法,本发明基于深度学习的上述特性,利用深度学习结果的难解释性和训练时间长的特点来辅助加密,这是首次利用通用的深度学习模型辅助加密;并且提出了时变密码本的概念和构造方法,来解决密钥更新的问题;且该方法的两阶段结构——通信准备阶段和通信过程,使得暴力破解的所需时间和正常加解密的时间解耦合,实现了效率和安全的兼顾。
为了实现上述目的,本发明的技术方案如下,一种基于深度学习的通用加密算法,其特征在于,所述算法包括以下步骤:
步骤1)合成训练集的构建;
步骤2)模型训练与参数表的构建;
步骤3)时变密码本的构建;
步骤4)信息的加密与解密。
作为本发明的一种改进,所述步骤1)合成训练集的构建,具体如下,密钥中的部分内容指示通信双方构建合成语料库,具体地,密钥中的这部分内容通常为一个地址,通过这个地址可以获取信息,对于文本形式的公开训练集,地址应当指向用于获取文本资源的地址;对于图片形式的公开训练集,地址则应当指向用于获取图片资源的地址,通过地址获取到相应的资源后可构建增量训练集,将增量训练集添加到公开训练集中,即可生成合成训练集。凡是能在其上训练深度学习模型的训练集都可作为公开训练集。公开训练集,顾名思义,是任何人都可以获取的。针对不同的信息形态选用不同的公开训练集。例如,对于文本,公开训练集可以是维基百科、亚马逊评论等;对于图像,公开训练集可以是CIFAR10、MNIST等。
增量训练集的构建,根据深度学习模型的类型来决定构建的增量训练集中是否含有标签,具体地,由于深度学习模型可大致分为无监督模型,半监督模型和监督模型,因此增量训练集的构建应当考虑标签的配置;对于无监督模型,显然是不需要进行标签的配置的,因为其对应的公开训练集中也不含标签,对于半监督模型或监督模型,应当进行标签的配置,因为通过密钥内容获取的图片信息、文本信息等仅是数据,缺少对应的标签,对于半监督模型和监督模型来说,没有标签就意味着不是完整的训练集,因此,通信双方需要在算法层面上对新增训练集的标签进行约定,之所以可以在算法层面上约定,是因为这种约定的公开与否并不影响该加密方法的安全性。通信准备过程的一部分。通信双方首先各自获取公开训练集的拷贝,然后根据密钥的内容在公开训练集的拷贝上进行添加修改,构建保密的合成训练集。正常情况下,双方分别构建的合成训练集应当是一致的。
作为本发明的一种改进,所述步骤2)模型训练与参数表的构建,具体如下,通信双方在合成训练集上用深度学习模型进行训练,训练完成后,通信双方可以从模型中提取最终得到的权重。这些权重值可被组织为一个参数列表。通信准备过程的一部分。收发双方根据密钥中的内容,用深度学习模型在合成训练集上进行训练。模型中的超参数由密钥中的内容指定。训练完成后,将权重值(参数)排列为表,再将表中的实数权重值(参数)转换为整数。
对所述步骤2)中得到的权重列表,通常是实数列表,要将其送入安全散列函数之前,需要对其进行处理,将其变为整数。变换方法为小数截断和移动小数点。
作为本发明的一种改进,所述步骤3)时变密码本的构建,具体如下,将参数列表中的所有值分别送入安全散列函数,可生成对应的哈希值列表。通信准备过程的一部分。将上一步中形成的参数表中的所有值分组拼接后送入安全散列函数,可生成对应的哈希值,将这些哈希值排列成表,即构建完时变密码本。
作为本发明的一种改进,所述步骤4)信息的加密与解密,具体如下,生成的哈希值列表即是所需要的时变密码本,通信双方根据时变密码本进行加密和解密,经过前面的过程,通信双方各自有一份时变密码本的拷贝,每加密或解密一单位的信息,双方会按照规则更改密码本,来用于下一单位的信息的传输。
对所述步骤4)中的加密单位,对于文本信息是字符或单词,对于图片信息是一张图片;
对所述步骤4)中的密码本更新规则,可以有多种变化方式。这里提供一种方式:将哈希列表的最后一个值作为保留哈希,其他位置的哈希值作为循环哈希;当传送第一单位信息时,用哈希列表的第一个值作为异或的一个操作数;完成第一个单位信息的传输后,哈希列表的第一个值与保留哈希进行拼接,再次送入安全散列函数产生新的哈希值,将该哈希值放入哈希列表的倒数第二个位置,之前在倒数第二个位置以及之前的哈希值全部向前一个位置移位;也就是说,原来第二个位置的哈希值移动到第一个位置,原来倒数第二个位置的哈希值移动到倒数第三个位置,保留哈希的位置不变。
通信过程,当信息需要传输时,通信双方基于时变密码本进行加密和解密。发送方可将待发送的信息依次与表中的哈希值进行异或操作。对于每单位的信息,与之异或的哈希值都不同。接收方接收到密文后,依次与表中的哈希值进行异或操作来完成解密任务。
本发明中,步骤4)构建的时变密码本的时变特性体现在:当第i个单位的信息与第i组哈希值异或后,该组哈希值会自动更新。更新方式为:将部分少量的哈希值作为保留哈希值,每一组哈希值使用完毕之后,与该保留哈希值进行拼接,并送入SHA-256函数生成新的一组哈希值。
相对于现有技术,本发明的技术效果如下:1)本发明方法提出了一种基于深度学习的新型的加密方法,该方案具有时变特性,这对于降低密钥重新分配的频率非常有利,时变是指在传输信息时密码本会随着信息的传输而变化。因此,对于相同的信息,其表示每次都会变化,在某种程度上,它接近一次性密码本;2)本方法兼顾了安全和效率,通过设计了独特的两阶段的结构:通信准备阶段和通信阶段,前者需要很长时间,并且通常暴力攻击针对的是此阶段,后者耗时较少,因为它只涉及查找操作。而双方的通信主要基于第二阶段,通过这种方式,双方都可以实现相对高速的通信,而攻击者则需要更多的时间来破解;3)本发明提出的用深度学习辅助的新型加密方法还具有较好的通用性,很多深度学习模型都可以被应用到该方法,具有较好的应用前景和推广范围。
附图说明
图1为本发明方法的加解密过程逻辑流程图。
图2为对参数表进行处理后参数表的变化过程。
具体实施方式:
为了加深对本发明的理解,下面结合附图对本实施例做详细的说明。
实施例1:参见图1、图2,一种基于深度学习的通用加密算法,所述算法包括以下步骤:
1) 合成训练集的构建;
2) 模型训练与参数表的构建;
3) 时变密码本的构建;
4) 信息的加密与解密。
具体实现过程如下:
合成训练集的构建:鉴于对不同训练集的训练生成不同的参数,为了获得这些特定的参数用于加密,双方首先需要基于键中包含的地址构建合成训练集。
可包括在密钥中的地址种类是丰富的,例如arXiv ID,统一资源定位符(URL),数字对象标识符(DOI),国际标准书号(ISBN)等。它们能够指定资源的位置,双方都可以从中获得增量训练集。将增量训练集添加到公开训练集后,构建的新的训练集即为合成训练集。
模型训练与参数表的构建:获得合成训练集后,双方根据密钥中的超参数进行深度学习模型中的超参数设置,并用此深度学习模型在合成训练集上进行训练。
基于加密结果应该足够随机且唯一的要求,对于相同的输入,输出应当是一致的。因此,应该防止一些随机因素,例如避免使用多线程进行模型训练,以防止在使用多线程时操作系统线程调度中的抖动。另一方面,这种做法提高了安全性,因为攻击者不能使用多线程训练的加速方法来加速暴力破解。
训练完成后,模型中的全部参数(权重)已经确定,可以将这些参数按照网络层的顺序进行排列,形成参数表。
时变密码本的构建:参数表生成后,我们使用一些技巧并结合SHA-256函数对其进行处理。SHA-256函数的雪崩效应和不可逆性进一步加固了安全性。
要用SHA-256处理参数表中的参数向量,首先需要将实数参数转化为整数参数。一种简单的方式是,将每一维的前16个有效数字转化为16位整数。例如,小数0.0006421631111111111转化整数6421631111111111,数64216311111111112341转化为6421631111111111。为若向量的维度为200,则将200个16位整数进行拼接,得到一个3200位(十进制)的整数串,送入SHA-256函数,计算消息摘要。但是这样做速度较慢。
同时,考虑到SHA256产生的消息摘要的空间为。将过短的整数串长度送入SHA-256函数将造成极大的空间浪费。相反,若整数串长度过长,那么加解密效率会受到影响。因此,考虑将5个16位整数拼接到一起,整数串的空间为.因此,向量的维度由D维变为了维,每一维都是80位(十进制)的整数。将每一维的整数作为SHA-256函数的输入,用输出的256位(二进制)哈希值替换该整数,得到新的维的向量。至此,完成了参数表的初步处理,密码本大体构建完成。
信息的加密与解密:通信双方根据时变密码本进行加密和解密。经过前面的过程,通信双方各自有一份时变密码本的拷贝,每加密或解密一单位的信息,双方会按照规则更改密码本,来用于下一单位的信息的传输。
具体地,生成的密码本是一个的哈希矩阵。密码本中每一行为一个维的向量。将维的向量切分为两个部分,分别定义为循环向量和保留向量。循环向量有维,保留向量有1维。发送方在发送某个信息时,先取出第一行第一列,即(1,1)处的哈希值,将该哈希值与待发送信息异或,异或的结果即为密文,将其进行发送。
发送完成后,发送方将循环向量的第一维与保留向量拼接成512位(二进制)数送入SHA-256函数,输出新的哈希值来替代循环向量中第一维的原哈希值,然后该循环向量进行循环移位,即第1维的值移动到第维,第2维的值移动到第1维,第的值移动到第维,以此类推。当接收方收到第一个信息后,同样选取(1,1)处的哈希值与之异或,由密文解得明文,并按照同样的方式,先更新第一维的哈希值,然后再将循环向量进行循环。下一次发送信息时,发送方选取(2,1)处的哈希值进行加密,接收方选取(2,1)处的哈希值进行解密。发送第m+1个信息时,由于时变密码本仅有m行,因此,再次选取(1,1)处的哈希值进行加密和解密,但由于时变特性,相同位置的哈希值在不同的时刻是不同的。
需要说明的是上述实施例,并非用来限定本发明的保护范围,在上述技术方案的基础上所作出的等同变换或替代均落入本发明权利要求所保护的范围。
Claims (1)
1.一种基于深度学习的通用加密算法,其特征在于,所述算法包括以下步骤:
步骤1)合成训练集的构建;
步骤2)模型训练与参数表的构建;
步骤3)时变密码本的构建;
步骤4)信息的加密与解密;
所述步骤1)合成训练集的构建,具体如下,密钥中的部分内容指示通信双方构建合成语料库,具体地,密钥中的这部分内容为一个地址,通过这个地址可以获取信息,对于文本形式的公开训练集,地址指向用于获取文本资源的地址;对于图片形式的公开训练集,地址指向用于获取图片资源的地址,通过地址获取到相应的资源后可构建增量训练集,将增量训练集添加到公开训练集中,即可生成合成训练集;
所述步骤2)模型训练与参数表的构建,具体如下,通信双方在合成训练集上用深度学习模型进行训练,模型中的超参数由密钥中的内容指定,训练完成后,通信双方可以从模型中提取最终得到的权重, 这些权重值被组织为一个参数列表;
所述步骤3)时变密码本的构建,具体如下,将参数列表中的所有值分别送入安全散列函数,可生成对应的哈希值列表;
所述步骤4)信息的加密与解密,具体如下,生成的哈希值列表即是所需要的时变密码本,通信双方根据时变密码本进行加密和解密,经过前面的过程,通信双方各自有一份时变密码本的拷贝,每加密或解密一单位的信息,双方会按照规则更改密码本,来用于下一单位的信息的传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910762344.9A CN110401536B (zh) | 2019-08-19 | 2019-08-19 | 一种基于深度学习的通用加密算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910762344.9A CN110401536B (zh) | 2019-08-19 | 2019-08-19 | 一种基于深度学习的通用加密算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110401536A CN110401536A (zh) | 2019-11-01 |
CN110401536B true CN110401536B (zh) | 2022-09-09 |
Family
ID=68328584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910762344.9A Active CN110401536B (zh) | 2019-08-19 | 2019-08-19 | 一种基于深度学习的通用加密算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110401536B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111210017B (zh) * | 2019-12-24 | 2023-09-26 | 北京迈格威科技有限公司 | 确定布局顺序及数据处理的方法、装置、设备及存储介质 |
CN112395636B (zh) * | 2021-01-19 | 2021-07-30 | 国网江西省电力有限公司信息通信分公司 | 电网数据加密模型训练方法、系统、存储介质及设备 |
CN113014570B (zh) * | 2021-02-22 | 2022-08-02 | 西安理工大学 | 一种基于卷积神经网络的通信数据加解密方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108520181A (zh) * | 2018-03-26 | 2018-09-11 | 联想(北京)有限公司 | 数据模型训练方法和装置 |
CN109685501A (zh) * | 2018-12-04 | 2019-04-26 | 暨南大学 | 基于区块链激励机制下可审计的隐私保护深度学习平台建设方法 |
CN109995520A (zh) * | 2019-03-06 | 2019-07-09 | 西北大学 | 基于深度卷积神经网络的密钥传输方法、图像处理平台 |
CN110008723A (zh) * | 2019-03-27 | 2019-07-12 | 东南大学 | 一种基于词嵌入技术的加密算法 |
-
2019
- 2019-08-19 CN CN201910762344.9A patent/CN110401536B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108520181A (zh) * | 2018-03-26 | 2018-09-11 | 联想(北京)有限公司 | 数据模型训练方法和装置 |
CN109685501A (zh) * | 2018-12-04 | 2019-04-26 | 暨南大学 | 基于区块链激励机制下可审计的隐私保护深度学习平台建设方法 |
CN109995520A (zh) * | 2019-03-06 | 2019-07-09 | 西北大学 | 基于深度卷积神经网络的密钥传输方法、图像处理平台 |
CN110008723A (zh) * | 2019-03-27 | 2019-07-12 | 东南大学 | 一种基于词嵌入技术的加密算法 |
Also Published As
Publication number | Publication date |
---|---|
CN110401536A (zh) | 2019-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8345876B1 (en) | Encryption/decryption system and method | |
CN110401536B (zh) | 一种基于深度学习的通用加密算法 | |
US5764766A (en) | System and method for generation of one-time encryption keys for data communications and a computer program product for implementing the same | |
CN109981249B (zh) | 基于拉链式动态散列和nlfsr的加密解密方法及装置 | |
CN113726512B (zh) | 密钥生成和分发方法、密钥生成装置、密钥管理系统 | |
Kumar et al. | Lightweight data security model for IoT applications: a dynamic key approach | |
CN109450615A (zh) | 一种高效的opc ua客户端与服务器端数据传输加密方法 | |
JP2004336794A (ja) | 暗号システム内でユーザ定義idに基づく公開鍵を発生する方法と機器 | |
Vinotha et al. | VLSI implementation of image encryption using DNA cryptography | |
Al-Shargabi et al. | A new DNA based encryption algorithm for internet of things | |
Rahman et al. | Chaos and logistic map based key generation technique for AES-driven IoT security | |
Salmi et al. | Implementation of the data encryption using caesar cipher and vernam cipher methods based on CrypTool2 | |
Hassan et al. | A hybrid encryption technique based on DNA cryptography and steganography | |
CN107078900B (zh) | 基于可再现随机序列的密码系统 | |
US11042488B2 (en) | Diversifying a base symmetric key based on a public key | |
CN107896149A (zh) | 基于三个群运算的128位对称加密方法 | |
Roy et al. | An improved concept of cryptography based on DNA sequencing | |
Mahantesh et al. | Design of secured block ciphers PRESENT and HIGHT algorithms and its FPGA implementation | |
JP2013098722A (ja) | ストリーム暗号の暗号化装置、ストリーム暗号の復号装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号方法、およびプログラム | |
Kumar | Advanced RSA cryptographic algorithm for improving data security | |
Kalyan et al. | An Efficient AES with Custom Configurable Encryption Algorithm Using Dynamic Keys for Secure Data Communication in Networks | |
Labbi et al. | Symmetric encryption algorithm for RFID systems using a dynamic generation of key | |
Hughes | Basic Cryptography: Symmetric Key Encryption | |
Jain et al. | Variation of playfair cipher | |
Naga Hemanth et al. | Secure data transfer by implementing mixed algorithms |
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 |