CN113179159B - 一种数据加密传输方法 - Google Patents
一种数据加密传输方法 Download PDFInfo
- Publication number
- CN113179159B CN113179159B CN202110396391.3A CN202110396391A CN113179159B CN 113179159 B CN113179159 B CN 113179159B CN 202110396391 A CN202110396391 A CN 202110396391A CN 113179159 B CN113179159 B CN 113179159B
- Authority
- CN
- China
- Prior art keywords
- hmm model
- password
- data
- vector
- observation
- 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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种数据加密传输方法,属于数据安全传输技术领域。本发明客户端在与服务端建立连接后,数据发送端先利用连接建立中的口令对原始数据进行初步加密,得到结果向量,再由结果向量构造对应的HMM模型,发送方根据该结果向量反向构造出对应的HMM模型;发送方将构造的HMM模型发送给接收端;接收端根据接收到的HMM模型解密得到初步加密的数据;接收端再根据连接建立过程中的口令还原出原始数据。本发明中的密钥随机生成,且数据传输结束后销毁,使通信更安全。
Description
技术领域
本发明涉及数据安全传输技术领域,尤其涉及一种数据加密传输方法。
背景技术
数据加密一直是保密数据的重要部分,目前已经有很多比较成熟的加密方式。常见的加密算法有可逆加密算法和不可逆加密算法,可逆加密算法又分为对称加密算法和非对称加密算法。在大部分情况下,相互通信的双方都需要建立一个有效和安全的加密和解密方式,并且需要在安全性和性能消耗间做取舍。而且,无论是对称加密还是非对称加密,密钥都是提前生成的,不可以在传输的过程中更改。在通讯过程中密钥是绝对关键的一环,如果密钥在某些情况下,如内部人员泄漏等,也就意味着所有建立的通讯都是不安全的。
中国专利申请文献CN106533663A中,公开了一种数据加密方法,以包括以下步骤:创建硬件密钥,将所述硬件密钥与所述加密方设备绑定;根据所述硬件密钥,创建所述硬件密钥的子密钥;利用所述硬件密钥加密所述子密钥,生成第一文件;创建软件加密密钥;利用所述软件加密密钥加密目标数据,生成第二文件;利用所述子密钥加密所述软件加密密钥,生成第三文件。所述创建硬件密钥,将所述硬件密钥与所述加密方设备绑定,包括:利用安装于所述加密方设备的TPM(Trusted Platform Module,可信赖平台模块)安全芯片创建所述硬件密钥,利用所述TPM安全芯片保存所述硬件密钥。所述创建硬件密钥,包括:根据公式一确定密钥长度;其中,所述公式一为:n=q×p;其中,q用于表征第一预设质数、p用于表征第二预设质数、n用于表征所述密钥长度;根据所述密钥长度和公式二,确定小于等于所述密钥长度的数中与所述密钥长度互质的数的第一数量;其中,所述公式二为确定随机一个与所述第一数量互质的第一目标数,且所述第一目标数为小于所述第一数量的正数;根据所述第一数量、所述第一目标数和公式三,确定第二目标数;其中,所述公式三为其中,e为所述第一目标数,d为所述第二目标数;根据所述第一目标数、所述第二目标数和所述密钥长度,确定所述硬件密钥包括:私钥和公钥,其中所述私钥为(n,d),所述公钥为(n,e);所述利用所述硬件密钥加密所述子密钥,生成第一文件,包括:根据公式四和所述公钥,加密所述子密钥,生成第一文件,其中,所述公式四为:C≡M^emod n;其中,C为所述第一文件,M为所述子密钥。但该方案存在需要依赖硬件密钥的问题。
现有技术至少存在以下不足:
1.现有的技术中,密钥提前生成,不可以在传输的过程中更改,有被内部泄漏的风险。
发明内容
为解决现有技术中存在的技术问题,本发明提供了一种数据加密传输方法,该方法客户端在与服务端建立连接后,数据发送端先利用连接建立中的口令对原始数据进行初步加密,得到结果向量,再由结果向量构造对应的HMM模型,发送方根据该结果向量反向构造出对应的HMM模型;发送方将构造的HMM模型发送给接收端;接收端根据接收到的HMM模型解密得到初步加密的数据;接收端再根据连接建立过程中的口令还原出原始数据。本发明中的密钥随机生成,且数据传输结束后销毁,使通信更安全。
隐马尔可夫模型HMM是马尔可夫链的一种,是机器学习算法中的一个典型算法。它的状态不能直接观察到,但能通过观察向量序列观察到,每个观察向量都是通过某些概率密度分布表现为各种状态,每一个观察向量是由一个具有相应概率密度分布的状态序列产生。这也就意味着隐马尔可夫模型是一个双重随机过程。隐马尔可夫模型可以应用于多种机器学习场景,如输入推荐,智能问答等。
HMM基本模型的几个矩阵和参数值,其本身是有一定的限制的,比如HMM是针对概率问题,所以其矩阵中数据基本是取值(0,1)这个范围,还有状态转移概率分布矩阵每行相加为1,每列相加为1,观察状态概率矩阵每行相加为1等等,这些都是由于HMM针对的是概率问题。本发明利用了HMM模型的算法逻辑,但对各矩阵中的数据不设限制,各行各列的和可以大于1,为了计算的方便采用整数。
本发明提供了一种连接建立中的身份验证方法,包括以下步骤:
服务端随机生成第一HMM模型,并根据第一HMM模型生成口令K1;
服务端将第一HMM模型发送给客户端;
客户端根据接收到的第一HMM模型生成口令K2;
客户端根据口令K2生成第二HMM模型,并将第二HMM模型发送给服务端;
服务端根据接收到的第二HMM模型得到口令K3;
服务端判断口令K3与口令K1是否相同,若相同,则建立连接;若不同,则不建立连接,退出程序。
优选地,根据HMM模型生成口令具体为将HMM模型的条件概率作为口令;
优选地,所述客户端根据接收到的第一HMM模型生成口令K2具体为客户端根据接收到的第一HMM模型通过前向算法生成口令K2。
优选地,所述服务端根据接收到的第二HMM模型得到口令K3具体为服务端根据接收到的第二HMM模型通过前向算法得到口令K3。
优选地,根据HMM模型生成口令具体包括如下步骤:
对于HMM模型λ=(A,B,∏)和观测系列O={o1,o2,...oT},计算t=1时刻的各隐藏状态的前向概率;
计算t+1时刻的各隐藏状态的前向概率;
所述前向概率为t时刻隐藏状态i的观测系列为O={o1,o2,...oT}的概率;
T为观测序列长度。
优选地,所述连接建立步骤具体包括如下步骤:
客户端发起连接请求;
服务端接收到连接请求后,随机生成第一HMM模型λ1=(A,B,∏)的一组NxN的状态转移矩阵A、NxM的观察状态概率矩阵B、初始状态转移概率向量∏以及观测序列O={o1,o2,...oT},N为HMM模型中的状态数,T为观测序列长度;
服务端根据随机生成的第一HMM模型λ1=(A,B,∏)和观测序列O={o1,o2,...oT}得到口令K1(O|λ1),并保存由αT(i)构成的向量Pα={αT(i)}N;
服务端将第一HMM模型λ1=(A,B,∏)发送给客户端;
客户端接收到第一HMM模型λ1=(A,B,∏)后,根据接收到的第一HMM模型利用所述前向算法生成口令K2(O|λ1);
客户端根据口令K2随机生成第二HMM模型λ2=(A2,B2,∏2),将第二HMM模型发送给服务端;
服务端接收到第二HMM模型后,根据第二HMM模型通过所述前向算法得到口令K3;
如果口令K3与口令K1不同,则身份验证不通过,不建立连接,并记录客户端IP地址;如果口令K3与口令K1相同,则身份验证通过,建立连接。
优选地,通过在(1,N)范围内随机取值,随机生成观测序列O={o1,o2,...oT},其中,N为HMM模型中的状态数,T为观测序列长度。
优选地,在所述HMM模型的各矩阵中,各行的和或各列的和大于1。
本发明提供了一种通信系统,使用上述的连接建立中身份验证的方法。
本发明还提供了一种数据加密传输方法,包括以下步骤:
连接建立后,发送方利用连接建立过程中的口令,对需要加密传输的原始数据进行初步加密,得到结果向量;
发送方根据该结果向量反向构造出对应的HMM模型;
发送方将构造的HMM模型发送给接收端;
接收端根据接收到的HMM模型解密得到初步加密的数据;
接收端再根据连接建立过程中的口令还原出原始数据;
数据传输结束时,将所有口令销毁,断开连接。
优选地,所述数据加密传输方法具体包括如下步骤:
发送端采用连接建立过程中的口令处理需要加密传输的原始向量数据D={di}N,得到初步加密向量D'={d'i}N;
用初步加密数据向量替代向量Pα,令αT(i)=d'i;
其中,Pα为由αT(i)构成的向量,Pα={αT(i)}N,为连接建立过程随机生成并保存的口令;
随机给定状态转移矩阵A=[aij]N×N、观察结果V={v1,v2,...,vN}、观测序列O={o1,o2,...oT}以及观察概率矩阵B中的(N-1)xN数据,N为HMM模型中的状态数,T为观测序列长度;
根据随机给定的初始状态转移概率向量Π=(πi)N和连接建立过程随机生成并保存的口令Pα={αT(i)}N,求解得到观察概率矩阵B中的N个未知数的值,并确定HMM模型λ=(A,B,∏);
发送端将HMM模型发送给接收端;
接收端接收到HMM模型后,用HMM前向算法得到初步加密向量D'={d'i}N;
接收端根据连接建立过程中保存的口令解密得到原始数据D={di}N;
数据传输结束时,将所有口令销毁,断开连接。
根据口令生成HMM模型的做法,核心是对前向算法的运用。在假定已经随机给出了状态转移矩阵A和初始状态转移概率向量∏之后,根据前向算法求得条件概率的N个累加值,即中的αT(i),事实上由于口令P和N个累加值是已知的,也就意味着可以得到N个方程组成的方程组,方程中的未知数便是观测概率矩阵B,所以解方程前,需要随机生成观测概率矩阵B的N*(N-1)个值,剩余的N个值便可以通过方程求解得到,便得到了完整的HMM模型。
本发明还提供了一种通信系统,使用上述的数据加密传输方法。
本发明还提供了一种数据补全和数据加密传输方法,包括以下步骤:
发送端利用连接建立过程中的口令对要原始数据进行初步加密,得到初始处理数据;
随机给定HMM模型条件,给定的所述HMM模型条件中,观察概率矩阵B中含2N个未知数;
用初始处理数据赋予所述观察概率矩阵B的N个未知数,得到含有N个未知数的观察概率矩阵B;
根据连接建立过程中的口令和已经确定的HMM模型条件,得到不含未知数的观察概率矩阵B;
在观察概率矩阵B中剔除初始处理数据,作为训练数据;
将训练数据发送给接收端;
接收端根据接收到的训练数据及连接建立过程中的口令解密得到原始数据;
数据传输结束时,将所有口令销毁,断开连接。
优选地,数据补全和数据加密传输方法中,发送端为服务端时,采用口令K3得到初始处理数据,发送端为客户端时采用口令K2得到初始处理数据。
优选地,数据补全和数据加密传输方法具体包括如下步骤:
发送端采用连接建立过程中的口令处理需要加密传输的原始向量数据H={hi}N,得到初步加密向量H'={h'i}N;
随机给定状态转移矩阵A=[aij]N×N、观察结果V={v1,v2,...,vN}、观测序列O={o1,o2,...oT}以及观察概率矩阵B中的(N-2)*N个数据,N为HMM模型中的状态数,T为观测序列长度;
将初步加密向量H'={h'i}N的值赋予观察概率矩阵B中剩余2*N个未知数值中的N个未知数的值;
根据随机给定的初始状态转移概率向量Π=(πi)N和连接建立过程随机生成并保存的口令,求解得到观察概率矩阵B中的剩余N个未知数的值,得到观察概率矩阵B;
对观察概率矩阵B进行原始数据向量缺失处理,得到一个缺失N个原始数据后的观察概率矩阵B’,B'=[b'j(k)]N×N;
确定HMM模型λ'=(A,B',∏);
发送端将HMM模型λ'=(A,B',∏)发送给接收端;
接收端接收到HMM模型λ'=(A,B',∏)后,用HMM前向算法得到缺失的初步加密向量H'={h'i}N;
接收端根据连接建立过程中保存的口令解密得到原始数据H={hi}N
数据传输结束时,将所有口令销毁,断开连接。
本发明提供了一种通信系统,其使用上述的数据补全和数据加密传输方法。
与现有技术相对比,本发明的有益效果如下:
1.本发明在双方通信前,服务端随机生成一组HMM模型概率矩阵,并据此生成口令,将HMM模型发送给客户端,客户端根据HMM模型生成口令,并以此口令再生成另一个HMM模型返回服务端,服务端验证口令一致后才建立链接,保证了连接建立的口令是随机生成,不会被泄漏,与验证码方式的身份验证相比,口令生成方式更复杂,能够防御扫描、爬虫、暴力破解等恶意事件破解口令,使得连接建立更安全。
2.本发明在通信过程中,先将原始数据进行简单初步加密,得到一组结果向量,然后以此向量构造HMM模型,随机给定HMM模型中状态转移矩阵A=[aij]N×N、观察结果V={v1,v2,...,vN}、观察序列O={o1,o2,...oT}以及观察概率矩阵B中的(N-1)xN数据,根据随机给定的初始状态转移概率向量Π=(πi)N和连接建立过程随机生成并保存的口令向量,求解得到观察概率矩阵B中的N个未知数的值,确定HMM模型λ=(A,B,∏),发送端将确定的HMM模型发送给接收端,接收端根据HMM前向算法和口令,解密得到原始数据,本发明在数据加密传输过程中,HMM模型条件随机给定,并以此进行加解密,使得数据传输更安全。
3.本发明对于需要隐蔽传输的数据,可以隐藏数据,然后再根据HMM模型的机器学习算法自动填补数据,可以实现隐蔽数据的安全传输。
4.本发明在通讯结束后销毁此次通信密钥,下次再次随机生成一组密钥,能够在一定程度上保护通讯的安全,尤其是对一些对保密性要求较高的通讯。
附图说明
图1是本发明的一个实施例的连接建立流程图;
图2是本发明的一个实施例的连接建立后数据加密传输的流程图;
图3是本发明的一个实施例的连接建立后数据隐藏及补全的流程图。
具体实施方式
下面结合附图1-3,对本发明的具体实施方式作详细的说明。
本发明利用了HMM模型的算法逻辑,实际上对于HMM基本模型的几个矩阵和参数值,其本身是有一定的限制的,比如HMM是针对概率问题,所以其矩阵中数据基本是取值(0,1)这个范围,还有状态转移概率分布矩阵每行相加为1,每列相加为1,观察状态概率矩阵每行相加为1等等,这些都是由于HMM针对的是概率问题。本发明结合其算法逻辑,所以其数据限制没必要遵循,可以为了计算的方便采用整数。
下面对本发明中涉及的HMM模型基本概念进行详细描述。
状态转移矩阵A,在HMM模型中原本是事物由一种状态向另外一种状态转移的概率矩阵。假设某个事物有n种状态,表示为Z(z1,z2,z3...,zi,...zn),矩阵中的每个值Aij代表的是t时刻事物状态是zi,到了t+1时刻,其状态变成zj的概率。由于其现实意义,这也就意味着原有HMM模型中状态转移矩阵A的每列和为1,每行和也为1。但本发明对HMM算法进行了改进,不考虑其实际意义,所以不需要考虑各矩阵的概率大小约束。本发明中的状态转移矩阵可以简单看做就是一组普通的矩阵便可,每行的和或每列的和没有为1的限制。
观察状态概率矩阵B,在HMM模型中原本表示的是在某一时刻、某种状态对应的其观察结果的概率。假设某个事物有n中状态,表示为Z(z1,z2,z3...,zi,...zn),可能的观查结果为V(v1,v2,v3,...,vi,...vn)那么矩阵中的每个值Bij代表的是t时刻事物状态为zi所对应观察状态为vj所对应的概率。矩阵也是每一行和为1。同样的,在本发明中,观察状态概率矩阵可以看做是一组普通的矩阵便可。但值得注意的是,本发明在数据加密和数据补全中,都是先随机生成部分观察状态概率矩阵,剩余部分作为缺失量,缺失量的求解要依赖于前向算法,然后解方程组得到。
初始状态转移概率向量∏,是在开始时刻t=0,各个状态的概率,其累加和为1。同样的,在本发明中不需要考虑其现实意义,其随机得到一组普通的向量便可。
本发明提供了一种连接建立中的身份验证方法,包括以下步骤:
服务端随机生成第一HMM模型,并根据第一HMM模型生成口令K1;
服务端将第一HMM模型发送给客户端;
客户端根据接收到的第一HMM模型生成口令K2;
客户端根据口令K2生成第二HMM模型,并将第二HMM模型发送给服务端;
服务端根据接收到的第二HMM模型得到口令K3;
服务端判断口令K3与口令K1是否相同,若相同,则建立连接;若不同,则不建立连接,退出程序。
作为优选实施方式,根据HMM模型生成口令具体为将HMM模型的条件概率作为口令;
作为优选实施方式,所述客户端根据接收到的第一HMM模型生成口令K2具体为客户端根据接收到的第一HMM模型通过前向算法生成口令K2。
作为优选实施方式,所述服务端根据接收到的第二HMM模型得到口令K3具体为服务端根据接收到的第二HMM模型通过前向算法得到口令K3。
作为优选实施方式,根据HMM模型生成口令具体包括如下步骤:
对于HMM模型λ=(A,B,∏)和观测系列O={o1,o2,...oT},计算t=1时刻的各隐藏状态的前向概率;
计算t+1时刻的各隐藏状态的前向概率;
所述前向概率为t时刻隐藏状态i的观测系列为O={o1,o2,...oT}的概率;
T为观测序列长度。
作为优选实施方式,所述连接建立步骤具体包括如下步骤:
客户端发起连接请求;
服务端接收到连接请求后,随机生成第一HMM模型λ1=(A,B,∏)的一组NxN的状态转移矩阵A、NxM的观察状态概率矩阵B、初始状态转移概率向量∏以及观测序列O={o1,o2,...oT},N为HMM模型中的状态数,T为观测序列长度;
服务端根据随机生成的第一HMM模型λ1=(A,B,∏)和观测序列O={o1,o2,...oT}得到口令K1(O|λ1),并保存由αT(i)构成的向量Pα={αT(i)}N;
服务端将第一HMM模型λ1=(A,B,∏)发送给客户端;
客户端接收到第一HMM模型λ1=(A,B,∏)后,根据接收到的第一HMM模型利用所述前向算法生成口令K2(O|λ1);
客户端根据口令K2随机生成第二HMM模型λ2=(A2,B2,∏2),将第二HMM模型发送给服务端;
服务端接收到第二HMM模型后,根据第二HMM模型通过所述前向算法得到口令K3;
如果口令K3与口令K1不同,则身份验证不通过,不建立连接,并记录客户端IP地址;如果口令K3与口令K1相同,则身份验证通过,建立连接。
作为优选实施方式,通过在(1,N)范围内随机取值,随机生成观测序列O={o1,o2,...oT},其中,N为HMM模型中的状态数,T为观测序列长度。
作为优选实施方式,在所述HMM模型的各矩阵中,各行的和或各列的和大于1。
本发明还提供了一种通信系统,使用上述的连接建立中身份验证的方法。
本发明还提供了一种数据加密传输方法,包括以下步骤:
连接建立后,发送方利用连接建立过程中的口令,对需要加密传输的原始数据进行初步加密,得到结果向量,其为某个HMM模型的求解结果向量;
发送方根据该结果向量反向构造出对应的HMM模型;
发送方将构造的HMM模型发送给接收端;
接收端根据接收到的HMM模型解密得到初步加密的数据;
接收端再根据连接建立过程中的口令还原出原始数据;
数据传输结束时,将所有口令销毁,断开连接。
作为优选实施方式,所述数据加密传输方法具体包括如下步骤:
发送端采用连接建立过程中的口令处理需要加密传输的原始向量数据D={di}N,得到初步加密向量D'={d'i}N;
用初步加密数据向量替代向量Pα,令αT(i)=d'i;
其中,Pα为由αT(i)构成的向量,Pα={αT(i)}N,为连接建立过程随机生成并保存的口令;
随机给定状态转移矩阵A=[aij]N×N、观察结果V={v1,v2,...,vN}、观测序列O={o1,o2,...oT}以及观察概率矩阵B中的(N-1)xN数据,N为HMM模型中的状态数,T为观测序列长度;
根据随机给定的初始状态转移概率向量Π=(πi)N和连接建立过程随机生成并保存的口令Pα={αT(i)}N,求解得到观察概率矩阵B中的N个未知数的值,并确定HMM模型λ=(A,B,∏);
发送端将HMM模型发送给接收端;
接收端接收到HMM模型后,用HMM前向算法得到初步加密向量D'={d'i}N;
接收端根据连接建立过程中保存的口令解密得到原始数据D={di}N;
数据传输结束时,将所有口令销毁,断开连接。
根据口令生成HMM模型具体为通过前向算法得到HMM模型,在连接建立中的身份验证方法中,也采用同样的方法根据口令生成HMM模型。在假定已经随机给出了状态转移矩阵A和初始状态转移概率向量∏之后,根据前向算法求得条件概率的N个累加值,即中的αT(i),事实上由于口令P和N个累加值是已知的,也就意味着可以得到N个方程组成的方程组,方程中的未知数便是观测概率矩阵B,所以解方程前,需要随机生成观测概率矩阵B的N*(N-1)个值,剩余的N个值便可以通过方程求解得到,便得到了完整的HMM模型。
本发明还提供了一种通信系统,使用上述的数据加密传输方法。
本发明提供了一种数据补全和数据加密传输方法,包括以下步骤:
发送端利用连接建立过程中的口令对要原始数据进行初步加密,得到初始处理数据;
随机给定HMM模型条件,给定的所述HMM模型条件中,观察概率矩阵B中含2N个未知数;
用初始处理数据赋予所述观察概率矩阵B的N个未知数,得到含有N个未知数的观察概率矩阵B;
根据连接建立过程中的口令和已经确定的HMM模型条件,得到不含未知数的观察概率矩阵B;
在观察概率矩阵B中剔除初始处理数据,作为训练数据;
将训练数据发送给接收端;
接收端根据接收到的训练数据及连接建立过程中的口令解密得到原始数据;
数据传输结束时,将所有口令销毁,断开连接。
作为优选实施方式,数据补全和数据加密传输方法中,发送端为服务端时,采用口令K3得到初始处理数据,发送端为客户端时采用口令K2得到初始处理数据。
作为优选实施方式,数据补全和数据加密传输方法具体包括如下步骤:
发送端采用连接建立过程中的口令处理需要加密传输的原始向量数据H={hi}N,得到初步加密向量H'={h'i}N;
随机给定状态转移矩阵A=[aij]N×N、观察结果V={v1,v2,...,vN}、观测序列O={o1,o2,...oT}以及观察概率矩阵B中的(N-2)*N个数据,N为HMM模型中的状态数,T为观测序列长度;
将初步加密向量H'={h'i}N的值赋予观察概率矩阵B中剩余2*N个未知数值中的N个未知数的值;
根据随机给定的初始状态转移概率向量Π=(πi)N和连接建立过程随机生成并保存的口令,求解得到观察概率矩阵B中的剩余N个未知数的值,得到观察概率矩阵B;
对观察概率矩阵B进行原始数据向量缺失处理,得到一个缺失N个原始数据后的观察概率矩阵B’,B'=[b'j(k)]N×N;
确定HMM模型λ'=(A,B',∏);
发送端将HMM模型λ'=(A,B',∏)发送给接收端;
接收端接收到HMM模型λ'=(A,B',∏)后,用HMM前向算法得到缺失的初步加密向量H'={h'i}N;
接收端根据连接建立过程中保存的口令解密得到原始数据H={hi}N;
数据传输结束时,将所有口令销毁,断开连接。
通信口令是贯穿整个通信过程,包括后续的加密和补充,通信口令是本发明中通信搭建的基础,先是作为身份的验证,其次便是在加密和信息补充中密文数据的初步加密和最后反解(因为这也是需要确定这是本次通信指令,否则其他情况下的通信指令是不能最终得到正确的加密数据和补充数据)。通信口令也就是HMM模型中最后得到的条件概率
在已经通过随机产生的数据得到HMM基本模型后,可以随机指定观测序列。在HMM中,观测序列是实际能看到的观察值,然后再按观察值去确定递推条件概率。事实上,观测序列回归到前向算法的计算步骤,其具体含义便是迭代计算中用观察状态矩阵的哪一列去相乘。所以对于一个观察概率矩阵B=[bj(k)]N×N来说,观测序列O={o1,o2,...,oT}就是在(1,N)范围内取值,确定观察概率矩阵的哪一列去和上一次迭代的结果进行相乘。所以对于本发明来说,观测序列的随机生成,便是在(1,N)范围内随机取值。
原始的HMM前向算法,其基本流程便是得到一个HMM基本模型,以及观测序列,首先计算t=1时刻的各个隐藏状态前向概率,然后不断迭代,计算下一个时刻的隐藏状态前向概率。也就是通过下面的公式进行迭代:
本发明提供了一种通信系统,其使用上述的数据补全和数据加密传输方法。
实施例1
参照附图1-3,根据本发明的一个具体实施方案,对本发明提供的连接建立过程进行详细说明。
本发明提供了连接建立过程的身份验证,包括如下步骤:
客户端发起连接请求;
服务端接收到连接请求后,随机生成第一HMM模型λ1=(A,B,∏)的一组NxN的状态转移矩阵A、NxM的观察状态概率矩阵B、初始状态转移概率向量∏以及观测序列O={o1,o2,...oT};通过在(1,N)范围内随机取值,随机生成观测序列O={o1,o2,...oT},其中,N为HMM模型中的状态数,T为观测序列长度。
服务端根据随机生成的第一HMM模型λ1=(A,B,∏)和观测序列O={o1,o2,...oT}得到口令K1(O|λ1),并保存由αT(i)构成的向量Pα={αT(i)}N;本发明各步骤中的根据HMM模型生成口令具体为将HMM模型的条件概率作为口令;
服务端将第一HMM模型λ1=(A,B,∏)发送给客户端;
客户端接收到第一HMM模型λ1=(A,B,∏)后,根据接收到的第一HMM模型利用所述前向算法生成口令K2(O|λ1);
客户端根据口令K2随机生成第二HMM模型λ2=(A2,B2,∏2),将第二HMM模型发送给服务端;
服务端接收到第二HMM模型后,根据第二HMM模型通过所述前向算法得到口令K3;
如果口令K3与口令K1不同,则身份验证不通过,不建立连接,并记录客户端IP地址;如果口令K3与口令K1相同,则身份验证通过,建立连接。
在所述HMM模型的各矩阵中,各行的和或各列的和大于1。
根据HMM模型生成口令具体包括如下步骤:
对于HMM模型λ=(A,B,∏)和观测系列O={o1,o2,...oT},计算t=1时刻的各隐藏状态的前向概率;
计算t+1时刻的各隐藏状态的前向概率;
所述前向概率为t时刻隐藏状态i的观测系列为O={o1,o2,...oT}的概率;
T为观测序列长度。
根据口令生成HMM模型具体为通过前向算法得到HMM模型。在假定已经随机给出了状态转移矩阵A和初始状态转移概率向量∏之后,根据前向算法求得条件概率的N个累加值,即中的αT(i),事实上由于口令P和N个累加值是已知的,也就意味着可以得到N个方程组成的方程组,方程中的未知数便是观测概率矩阵B,所以解方程前,需要随机生成观测概率矩阵B的N*(N-1)个值,剩余的N个值便可以通过方程求解得到,便得到了完整的HMM模型。
实施例2
参照附图1-3,根据本发明的一个具体实施方案,对本发明提供的数据加密传输过程进行详细说明。
本发明提供了数据加密传输的方法,包括如下步骤:
发送端采用连接建立过程中的口令处理需要加密传输的原始向量数据D={di}N,得到初步加密向量D'={d'i}N;
用初步加密数据向量替代向量Pα,令αT(i)=d'i;
其中,Pα为由αT(i)构成的向量,Pα={αT(i)}N,为连接建立过程随机生成并保存的口令;
随机给定状态转移矩阵A=[aij]N×N、观察结果V={v1,v2,...,vN}、观测序列O={o1,o2,...oT}以及观察概率矩阵B中的(N-1)xN数据,N为HMM模型中的状态数,T为观测序列长度;
根据随机给定的初始状态转移概率向量Π=(πi)N和连接建立过程随机生成并保存的口令Pα={αT(i)}N,求解得到观察概率矩阵B中的N个未知数的值,并确定HMM模型λ=(A,B,∏);
发送端将HMM模型发送给接收端;
接收端接收到HMM模型后,用HMM前向算法得到初步加密向量D'={d'i}N;
接收端根据连接建立过程中保存的口令解密得到原始数据D={di}N。
根据口令生成HMM模型具体为通过前向算法得到HMM模型。在假定已经随机给出了状态转移矩阵A和初始状态转移概率向量∏之后,根据前向算法求得条件概率的N个累加值,即中的αT(i),事实上由于口令P和N个累加值是已知的,也就意味着可以得到N个方程组成的方程组,方程中的未知数便是观测概率矩阵B,所以解方程前,需要随机生成观测概率矩阵B的N*(N-1)个值,剩余的N个值便可以通过方程求解得到,便得到了完整的HMM模型。
实施例3
参照附图1-3,根据本发明的一个具体实施方案,对本发明提供的数据加密传输过程进行详细说明。
本发明提供了数据加密传输的中数据的隐藏及补全的方法,包括如下步骤:
发送端采用连接建立过程中的口令处理需要加密传输的原始向量数据H={hi}N,得到初步加密向量H'={h'i}N;
随机给定状态转移矩阵A=[aij]N×N、观察结果V={v1,v2,...,vN}、观测序列O={o1,o2,...oT}以及观察概率矩阵B中的(N-2)*N个数据,N为HMM模型中的状态数,T为观测序列长度;
将初步加密向量H'={h'i}N的值赋予观察概率矩阵B中剩余2*N个未知数值中的N个未知数的值;
根据随机给定的初始状态转移概率向量Π=(πi)N和连接建立过程随机生成并保存的口令,求解得到观察概率矩阵B中的剩余N个未知数的值,得到观察概率矩阵B;
对观察概率矩阵B进行原始数据向量缺失处理,得到一个缺失N个原始数据后的观察概率矩阵B’,B'=[b'j(k)]N×N;
确定HMM模型λ'=(A,B',∏);
发送端将HMM模型λ'=(A,B',∏)发送给接收端;
接收端接收到HMM模型λ'=(A,B',∏)后,用HMM前向算法得到缺失的初步加密向量H'={h'i}N;
接收端根据连接建立过程中保存的口令解密得到原始数据H={hi}N;
数据传输结束时,将所有口令销毁,断开连接。
实施例4
参照附图1-3,根据本发明的一个具体实施方案,下面对本发明的通信过程进行详细说明。
本发明提供了一种数据传输前的连接建立过程中身份验证的方法,包括以下步骤:
服务端随机生成第一HMM模型,并根据第一HMM模型生成口令K1,将;
服务端将第一HMM模型发送给客户端;
客户端根据接收到的第一HMM模型生成口令K2;
客户端根据口令K2生成第二HMM模型,并将第二HMM模型发送给服务端;
服务端根据接收到的第二HMM模型得到口令K3;
服务端判断口令K3与口令K1是否相同,若相同,则建立连接;若不同,则不建立连接,退出程序。
所述连接建立过程中身份验证的方法具体包括如下步骤:
客户端发起连接请求;
服务端接收到连接请求后,随机生成第一HMM模型λ1=(A,B,∏)的一组NxN的状态转移矩阵A、NxM的观察状态概率矩阵B、初始状态转移概率向量∏以及观测序列O={o1,o2,...oT},N为HMM模型中的状态数,T为观测序列长度;
服务端根据随机生成的第一HMM模型λ1=(A,B,∏)和观测序列O={o1,o2,...oT}得到口令K1(O|λ1),并保存由αT(i)构成的向量Pα={αT(i)}N;
服务端将第一HMM模型λ1=(A,B,∏)发送给客户端;
客户端接收到第一HMM模型λ1=(A,B,∏)后,根据接收到的第一HMM模型利用所述前向算法生成口令K2(O|λ1);
客户端根据口令K2随机生成第二HMM模型λ2=(A2,B2,∏2),将第二HMM模型发送给服务端;
服务端接收到第二HMM模型后,根据第二HMM模型通过所述前向算法得到口令K3;
如果口令K3与口令K1不同,则身份验证不通过,不建立连接,并记录客户端IP地址;如果口令K3与口令K1相同,则身份验证通过,建立连接。
在连接建立后,本发明的实施例采用如下数据加密传输方法进行传输,包括如下步骤,
连接建立后,发送方利用连接建立过程中的口令,对需要加密传输的原始数据进行初步加密,得到结果向量,其为某个HMM模型的求解结果向量;
发送方根据该结果向量反向构造出对应的HMM模型;
发送方将构造的HMM模型发送给接收端;
接收端根据接收到的HMM模型解密得到初步加密的数据;
接收端再根据连接建立过程中的口令还原出原始数据;
数据传输结束时,将所有口令销毁,断开连接。
所述数据加密传输方法具体包括如下步骤:
发送端采用连接建立过程中的口令处理需要加密传输的原始向量数据D={di}N,得到初步加密向量D'={d'i}N;
用初步加密数据向量替代向量Pα,令αT(i)=d'i;
其中,Pα为由αT(i)构成的向量,Pα={αT(i)}N,为连接建立过程随机生成并保存的口令;
随机给定状态转移矩阵A=[aij]N×N、观察结果V={v1,v2,...,vN}、观测序列O={o1,o2,...oT}以及观察概率矩阵B中的(N-1)xN数据,N为HMM模型中的状态数,T为观测序列长度;
根据随机给定的初始状态转移概率向量Π=(πi)N和连接建立过程随机生成并保存的口令Pα={αT(i)}N,求解得到观察概率矩阵B中的N个未知数的值,并确定HMM模型λ=(A,B,∏);
发送端将HMM模型发送给接收端;
接收端接收到HMM模型后,用HMM前向算法得到初步加密向量D'={d'i}N;
接收端根据连接建立过程中保存的口令解密得到原始数据D={di}N。
在数据加密传输中,本发明实施例还对需要隐蔽传输的数据采用数据隐藏和补全方法加密传输,具体包括如下步骤:
发送端利用连接建立过程中的口令对要原始数据进行初步加密,得到初始处理数据;
随机给定HMM模型条件,给定的所述HMM模型条件中,观察概率矩阵B中含2N个未知数;
用初始处理数据赋予所述观察概率矩阵B的N个未知数,得到含有N个未知数的观察概率矩阵B;
根据口令和给定的HMM模型条件,得到不含未知数的观察概率矩阵B;
在观察概率矩阵B中剔除初始处理数据,作为训练数据;
将训练数据发送给接收端;
接收端根据接收到的训练数据及口令解密得到原始数据;
数据传输结束时,将所有口令销毁,断开连接。
所述数据隐藏及补全方法具体包括如下步骤:
发送端采用连接建立过程中的口令处理需要加密传输的原始向量数据H={hi}N,得到初步加密向量H'={h'i}N;
随机给定状态转移矩阵A=[aij]N×N、观察结果V={v1,v2,...,vN}、观测序列O={o1,o2,...oT}以及观察概率矩阵B中的(N-2)*N个数据,N为HMM模型中的状态数,T为观测序列长度;
将初步加密向量H'={h'i}N的值赋予观察概率矩阵B中剩余2*N个未知数值中的N个未知数的值;
根据随机给定的初始状态转移概率向量Π=(πi)N和连接建立过程随机生成并保存的口令,求解得到观察概率矩阵B中的剩余N个未知数的值,得到观察概率矩阵B;
对观察概率矩阵B进行原始数据向量缺失处理,得到一个缺失N个原始数据后的观察概率矩阵B’,B'=[b'j(k)]N×N;
确定HMM模型λ'=(A,B',∏);
发送端将HMM模型λ'=(A,B',∏)发送给接收端;
接收端接收到HMM模型λ'=(A,B',∏)后,用HMM前向算法得到缺失的初步加密向量H'={h'i}N;
接收端根据连接建立过程中保存的口令解密得到原始数据H={hi}N;
数据传输结束时,将所有口令销毁,断开连接。
通过在(1,N)范围内随机取值,随机生成观测序列O={o1,o2,...oT},其中,N为HMM模型中的状态数,T为观测序列长度。
在所述HMM模型的各矩阵中,各行的和或各列的和大于1。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。
Claims (6)
1.一种数据加密传输方法,其特征在于,包括以下步骤:
连接建立后,发送方利用连接建立过程中保存的根据随机生成的HMM模型生成的口令,对需要加密传输的原始数据进行初步加密,得到结果向量;
发送方根据该结果向量,结合连接建立过程中生成并保存的口令及该口令随机给定的HMM模型的状态转移矩阵A和初始状态转移概率向量∏,反向构造出对应的HMM模型;
发送方将构造的HMM模型发送给接收端;
接收端根据接收到的HMM模型解密得到初步加密的数据;
接收端再根据连接建立过程中的口令还原出原始数据;
数据传输结束时,将所有口令销毁,断开连接。
3.根据权利要求1所述的数据加密传输方法,其特征在于,所述数据加密传输方法具体包括如下步骤:
发送端采用连接建立过程中根据随机生成的HMM模型生成的口令处理需要加密传输的原始向量数据D={di}N,得到初步加密向量D'={d'i}N;
用初步加密数据向量替代向量Pα,令αT(i)=d'i;
其中,Pα为由αT(i)构成的向量,Pα={αT(i)}N,为连接建立过程随机生成并保存的口令;
随机给定状态转移矩阵A=[aij]N×N、观察结果V={v1,v2,...,vN}、观测序列O={o1,o2,...oT}以及观察概率矩阵B中的(N-1)*N数据,N为HMM模型中的状态数,T为观测序列长度;
根据随机给定的初始状态转移概率向量Π=(πi)N和连接建立过程随机生成并保存的口令Pα={αT(i)}N,求解得到观察概率矩阵B中的N个未知数的值,并确定HMM模型λ=(A,B,∏);
发送端将HMM模型发送给接收端;
接收端接收到HMM模型后,用HMM前向算法得到初步加密向量D'={d'i}N;
接收端根据连接建立过程中保存的口令解密得到原始数据D={di}N;
数据传输结束时,将所有口令销毁,断开连接。
4.根据权利要求3所述的数据加密传输方法,其特征在于,通过在(1,N)范围内随机取值,随机生成观测序列O={o1,o2,...oT},其中,N为HMM模型中的状态数,T为观测序列长度。
5.根据权利要求1所述的数据加密传输方法,其特征在于,在所述HMM模型的各矩阵中,各行的和或各列的和大于1。
6.一种通信系统,其特征在于,使用权利要求1-5任一项所述的数据加密传输方法,执行如下操作:
连接建立后,发送方利用连接建立过程中保存的根据随机生成的HMM模型生成的口令,对需要加密传输的原始数据进行初步加密,得到结果向量;
发送方根据该结果向量,结合连接建立过程中生成并保存的口令及该口令随机给定的HMM模型的状态转移矩阵A和初始状态转移概率向量∏,反向构造出对应的HMM模型;
发送方将构造的HMM模型发送给接收端;
接收端根据接收到的HMM模型解密得到初步加密的数据;
接收端再根据连接建立过程中的口令还原出原始数据;
数据传输结束时,将所有口令销毁,断开连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110396391.3A CN113179159B (zh) | 2021-04-13 | 2021-04-13 | 一种数据加密传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110396391.3A CN113179159B (zh) | 2021-04-13 | 2021-04-13 | 一种数据加密传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113179159A CN113179159A (zh) | 2021-07-27 |
CN113179159B true CN113179159B (zh) | 2022-03-11 |
Family
ID=76923375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110396391.3A Active CN113179159B (zh) | 2021-04-13 | 2021-04-13 | 一种数据加密传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113179159B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012133601A1 (en) * | 2011-03-30 | 2012-10-04 | Mitsubishi Electric Corporation | Privacy-preserving probabilistic inference based on hidden markov models |
US8433892B2 (en) * | 2011-03-30 | 2013-04-30 | Mitsubishi Electric Research Laboratories, Inc. | Privacy-preserving probabilistic inference based on hidden Markov models |
CN104901807B (zh) * | 2015-04-07 | 2019-03-26 | 河南城建学院 | 一种可用于低端芯片的声纹密码方法 |
CN109829289B (zh) * | 2019-01-09 | 2023-02-17 | 中国电子科技集团公司电子科学研究院 | 口令猜测方法 |
-
2021
- 2021-04-13 CN CN202110396391.3A patent/CN113179159B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113179159A (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112989368B (zh) | 多方联合进行隐私数据处理的方法及装置 | |
JP4774492B2 (ja) | 認証システム及び遠隔分散保存システム | |
US6125185A (en) | System and method for encryption key generation | |
US20200389304A1 (en) | Single node multi-party encryption | |
CN111447192B (zh) | 用于云雾协助物联网的轻量级属性基签密方法 | |
CN111277412B (zh) | 基于区块链密钥分发的数据安全共享系统及方法 | |
CN107241196A (zh) | 基于区块链技术的数字签名方法及系统 | |
CN107294696B (zh) | 针对Leveled全同态密钥分配方法 | |
KR20210139344A (ko) | 데이터 기반 활동을 수행하는 방법 및 장치 | |
EP3304800A1 (en) | Method for providing a space puzzle | |
EP1330702B1 (en) | Method and system of using an insecure crypto-accelerator | |
CN111917721A (zh) | 基于区块链的属性加密方法 | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
Tahir et al. | A scheme for the generation of strong icmetrics based session key pairs for secure embedded system applications | |
CN113297619A (zh) | 基于可扩展精度双混沌哈希和RSA的Mysql敏感数据保护系统 | |
CN113271293A (zh) | 可验证的有约束二次规划安全外包计算方法及系统 | |
CN108599941A (zh) | 随机非对称扩充字节通信数据加密方法 | |
CN113179159B (zh) | 一种数据加密传输方法 | |
Alawatugoda | On the leakage-resilient key exchange | |
CN113206839B (zh) | 一种数据传输中的数据隐藏及补全方法 | |
CN117134945A (zh) | 数据处理方法、系统、装置、计算机设备及存储介质 | |
Kwon et al. | Efficient and secure password-based authentication protocols against guessing attacks | |
CN113067705B (zh) | 一种连接建立中身份验证的方法 | |
CN115550073A (zh) | 可监管隐身地址构造方法 | |
CN113965320A (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 |