本发明涉及数据安全传输技术领域,尤其涉及一种数据传输中的数据隐藏及补全方法。
背景技术:
数据加密一直是保密数据的重要部分,目前已经有很多比较成熟的加密方式。常见的加密算法有可逆加密算法和不可逆加密算法,可逆加密算法又分为对称加密算法和非对称加密算法。在大部分情况下,相互通信的双方都需要建立一个有效和安全的加密和解密方式,并且需要在安全性和性能消耗间做取舍。而且,无论是对称加密还是非对称加密,密钥都是提前生成的,不可以在传输的过程中更改。在通讯过程中密钥是绝对关键的一环,如果密钥在某些情况下,如内部人员泄漏等,也就意味着所有建立的通讯都是不安全的。
中国专利申请文献cn106533663a中,公开了一种数据加密方法,以包括以下步骤:创建硬件密钥,将所述硬件密钥与所述加密方设备绑定;根据所述硬件密钥,创建所述硬件密钥的子密钥;利用所述硬件密钥加密所述子密钥,生成第一文件;创建软件加密密钥;利用所述软件加密密钥加密目标数据,生成第二文件;利用所述子密钥加密所述软件加密密钥,生成第三文件。所述创建硬件密钥,将所述硬件密钥与所述加密方设备绑定,包括:利用安装于所述加密方设备的tpm(trustedplatformmodule,可信赖平台模块)安全芯片创建所述硬件密钥,利用所述tpm安全芯片保存所述硬件密钥。所述创建硬件密钥,包括:根据公式一确定密钥长度;其中,所述公式一为:n=q×p;其中,q用于表征第一预设质数、p用于表征第二预设质数、n用于表征所述密钥长度;根据所述密钥长度和公式二,确定小于等于所述密钥长度的数中与所述密钥长度互质的数的第一数量;其中,所述公式二为
现有技术至少存在以下不足:
1.现有的技术中,密钥提前生成,不可以在传输的过程中更改,有被内部泄漏的风险。
技术实现要素:
为解决现有技术中存在的技术问题,本发明提供了一种数据传输中的数据隐藏及补全方法,该方法在客户端与服务端建立连接后,发送端利用连接建立过程中的口令对原始数据进行初步加密,得到初始处理数据;随机给定hmm模型条件,观察概率矩阵b中含2n个未知数;用初始处理数据赋予观察概率矩阵b的n个未知数,得到含有n个未知数的观察概率矩阵b;根据连接建立过程中的口令和已经确定的hmm模型条件,得到不含未知数的观察概率矩阵b;在观察概率矩阵b中剔除初始处理数据,作为训练数据;将训练数据发送给接收端;接收端根据训练数据及连接建立过程中的口令解密得到原始数据。本发明中的数据随机进行隐藏并在接收时补全,使数据传输更安全。
隐马尔可夫模型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时刻的各隐藏状态的前向概率;
不断迭代,最终求得hmm模型的条件概率
所述前向概率为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和初始状态转移概率向量∏之后,根据前向算法求得条件概率
本发明还提供了一种通信系统,使用上述的数据加密传输方法。
本发明还提供了一种数据补全和数据加密传输方法,包括以下步骤:
发送端利用连接建立过程中的口令对要原始数据进行初步加密,得到初始处理数据;
随机给定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)xn个数据,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模型生成口令k2具体为客户端根据接收到的第一hmm模型通过前向算法生成口令k2。
作为优选实施方式,所述服务端根据接收到的第二hmm模型得到口令k3具体为服务端根据接收到的第二hmm模型通过前向算法得到口令k3。
作为优选实施方式,根据hmm模型生成口令具体包括如下步骤:
对于hmm模型λ=(a,b,∏)和观测系列o={o1,o2,...ot},计算t=1时刻的各隐藏状态的前向概率;
计算t 1时刻的各隐藏状态的前向概率;
不断迭代,最终求得hmm模型的条件概率
所述前向概率为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和初始状态转移概率向量∏之后,根据前向算法求得条件概率
本发明还提供了一种通信系统,使用上述的数据加密传输方法。
本发明提供了一种数据补全和数据加密传输方法,包括以下步骤:
发送端利用连接建立过程中的口令对要原始数据进行初步加密,得到初始处理数据;
随机给定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)xn个数据,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来说,n为hmm模型中的状态数,长度为t的观测序列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模型λ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模型λ=(a,b,∏)和观测系列o={o1,o2,...ot},计算t=1时刻的各隐藏状态的前向概率;
计算t 1时刻的各隐藏状态的前向概率;
不断迭代,最终求得hmm模型的条件概率
所述前向概率为t时刻隐藏状态i的观测系列为o={o1,o2,...ot}的概率;
t为观测序列长度。
根据口令生成hmm模型具体为通过前向算法得到hmm模型。在假定已经随机给出了状态转移矩阵a和初始状态转移概率向量∏之后,根据前向算法求得条件概率
实施例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和初始状态转移概率向量∏之后,根据前向算法求得条件概率
实施例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)xn个数据,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)xn个数据,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。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。
1.一种数据传输中的数据隐藏及补全方法,其特征在于,包括以下步骤:
发送端利用连接建立过程中的口令对要原始数据进行初步加密,得到初始处理数据;
随机给定hmm模型条件,给定的所述hmm模型条件中,观察概率矩阵b中含2n个未知数;
用初始处理数据赋予所述观察概率矩阵b的n个未知数,得到含有n个未知数的观察概率矩阵b;
根据连接建立过程中的口令和已经确定的hmm模型条件,得到不含未知数的观察概率矩阵b;
在观察概率矩阵b中剔除初始处理数据,作为训练数据;
将训练数据发送给接收端;
接收端根据接收到的训练数据及连接建立过程中的口令解密得到原始数据;
数据传输结束时,将所有口令销毁,断开连接。
2.根据权利要求1所述的数据传输中的数据隐藏及补全,其特征在于,所述连接建立过程中的口令具体为随机生成的一个hmm模型的条件概率。
3.根据权利要求2所述的数据传输中的数据隐藏及补全,其特征在于,具体包括如下步骤:
发送端采用连接建立过程中的口令处理需要加密传输的原始向量数据h={hi}n,得到初步加密向量h'={h'i}n;
其中,
随机给定状态转移矩阵a=[aij]n×n、观察结果v={v1,v2,...,vn}、观测序列o={o1,o2,...ot}以及观察概率矩阵b中的(n-2)xn个数据,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.根据权利要求3所述的数据传输中的数据隐藏及补全,其特征在于,通过在(1,n)范围内随机取值,随机生成观测序列o={o1,o2,...ot},其中,n为hmm模型中的状态数,t为观测序列长度。
5.根据权利要求1所述的数据传输中的数据隐藏及补全,其特征在于,发送端为服务端时,采用口令k3得到初始处理数据,发送端为客户端时采用口令k2得到初始处理数据。
6.根据权利要求1所述的数据传输中的数据隐藏及补全,其特征在于,在所述hmm模型的各矩阵中,各行的和或各列的和大于1。
7.一种通信系统,其特征在于,使用权利要求1所述的数据传输中的数据隐藏及补全方法。
技术总结