一种数据通信方法及系统与流程

文档序号:12376847阅读:470来源:国知局
一种数据通信方法及系统与流程

本发明涉及通信领域,尤其涉及一种数据通信方法及系统。



背景技术:

对传输的数据加密,是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文之后再传输,而解密则是通过解密算法和解密密钥将密文恢复为明文。数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护数据在通信过程中的安全性。

现有技术中,对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥(mi yao)一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。

对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好密钥,然后使双方都能保存好密钥,而在数据传输过程中一般均使用固定密码作为密钥,整个程序运行周期内不再改变,如果一方的密钥被泄露,或攻击者在足够长的时间内通过暴力破解等方式试出密码来,那么加密的数据也就不安全了。因此,如何保证密钥安全以实现数据通信安全成了必须要解决的问题。



技术实现要素:

为解决上述技术问题,本发明提供一种数据通信方法及系统,能够定时更换用于加密的密码,防止不法分子的暴力破解,提高数据传输安全性。

本发明提供的技术方案如下:

本发明公开了一种数据通信方法,用于第一通信端与第二通信端进行数据通信,包括步骤:S100:第一通信端生成随机密码,并使用预设变换函数将所述随机密码变换为第一随机密码;S200:第一通信端使用预设初始密码加密待发送的数据和所述第一随机密码生成加密数据,发送所述加密数据到第二通信端;S300:第二通信端接收第一通信端发送的所述加密数据,并根据预设初始密码解密所述加密数据,获得所述第一随机密码;S400:第二通信端使用所述预设变换函数对所述第一随机密码进行反变换,得到所述随机密码;S500:第二通信端与第一通信端分别使用所述随机密码更新各自存储的所述预设初始密码,第二通信端与第一通信端分别使用更新后的所述预设初始密码加密待传输的数据互相通信。

本发明通过变换函数对随机密码进行变换后传输,由于数据传输过程中传输的是变换后的随机密码,即使被不法分子截获,由于其并不知道变换函数,因此也无法得知随机密码,从而提高了密码传输的安全性。

进一步优选的,所述步骤S500之后还包括步骤:S600:预设时长之后重复执行步骤S100。

本发明在使用一个预设初始密码进行数据传输达到预设时长之后,会自动重复生成随机密码,并根据随机密码进行预设初始密码的更新,通过这种定时更新预设初始密码的方式无需用户手动设置,便于用户使用,同时也大大提高了数据传输的安全性。

进一步优选的,所述步骤S100之前还包括步骤:S000:第一通信端和第二通信端分别存储相同的所述预设变换函数以及所述预设初始密码。

本发明采用对称算法进行数据的加解密,第一通信端和第二通信端均存储有相同的预设初始密码和预设变换函数,同时,第一通信端存储有加密算法,第二通信端存储

进一步优选的,所述预设变换函数为多个;每个所述预设变换函数均对应一个不同的函数编号。

进一步优选的,所述步骤S100“使用预设变换函数将所述随机密码变换为第一随机密码”进一步包括:使用任意一个所述预设变换函数将所述随机密码变换为第一随机密码;所述步骤S200“第一通信端使用预设初始密码加密待发送的数据和所述第一随机密码并发送到第二通信端”进一步包括:第一通信端使用预设初始密码加密待发送的数据、所述第一随机密码以及所述预设变换函数对应的函数编号生成所述加密数据,发送所述加密数据到第二通信端;所述步骤S300“第二通信端接收并解密第一通信端发送的所述加密数据,获得所述第一随机密码”进一步包括:第二通信端接收并解密第一通信端发送的所述加密数据,获得所述第一随机密码以及所述函数编号;所述步骤S400“第二通信端使用所述预设变换函数对所述第一随机密码进行反变换,得到所述随机密码”进一步包括:第二通信端使用所述函数编号获得与其对应的所述预设变换函数,使用所述预设变换函数对所述第一随机密码进行反变换,得到所述随机密码。

本发明中通过预设多个预设变换函数,并分别作函数编号与之对应。在对随机密码进行变换后同时传送使用的变换函数对应的函数编号至第二通信端,便于第二通信端对变换后的随机密码进行反变换已得到原始的随机密码,同时,即使在传输过程中随机密码和函数编号被攻击者截获,但攻击者并不知道函数编号所对应的变换函数,因此也无法破解随机密码,从而提高了密码传输的安全性。

本发明还公开了一种数据通信系统,包括第一通信端和第二通信端,所述第一通信端包括:随机密码生成模块,用于生成随机密码;变换模块,用于使用预设变换函数将所述随机密码变换为第一随机密码;加密模块,用于使用预设初始密码加密待发送的数据和所述第一随机密码生成加密数据;第一通信模块,用于发送所述加密数据到第二通信端;所述第二通信端包括:第二通信模块,用于接收所述加密数据;解密模块,用于根据所述预设初始密码解密所述加密数据,获得所述第一随机密码;反变换模块,用于使用所述预设变换函数对所述第一随机密码进行反变换,得到所述随机密码;所述第一通信端还包括第一更新模块,第一更新模块用于使用所述随机密码更新其存储的所述预设初始密码;所述第二通信端还包括第二更新模块,第二更新模块用于使用所述随机密码更新其存储的所述预设初始密码。

进一步优选的,所述第一通信端还包括:计时模块,用于当所述第一更新模块更新所述初始密码之后开始计时;所述随机密码生成模块还用当所述计时模块的计时时长达到预设时长时,生成随机密码。

进一步优选的,所述第一通信端包括第一存储模块,所述第二通信端包括第二存储模块;所述第一存储模块和所述第二存储模块分别存储相同的所述预设变换函数和所述预设初始密码。

进一步优选的,所述预设变换函数为多个;每个所述预设变换函数均对应一个不同的函数编号。

进一步优选的,所述变换模块进一步用于使用任意一个所述预设变换函数将所述随机密码变换为第一随机密码;所述加密模块进一步用于使用预设初始密码加密待发送的数据、所述第一随机密码以及所述预设变换函数对应的函数编号生成所述加密数据;所述解密模块进一步用于解密所述加密数据,获得所述第一随机密码以及所述函数编号;所述第二通信端还包括函数获取模块,用于使用所述函数编号获得与其对应的所述预设变换函数。

与现有技术相比,本发明能够带来以下至少一项有益效果:

1、对随机密码进行变换,变换后传输到对端,由于数据传输过程中传输的是变换后的随机密码,即使被不法分子截获也无法得知随机密码,因此提高了密码传输的安全性。

2、生成随机密码来定时更新用于加密数据的预设初始密码,减小了被暴力破解的可能,提高了数据传输的安全性。

3、由于随机密码是随机生成的,维护人员也不知道某特定时刻的密码,防止系统从内部攻破密码。

4、本发明的密码定时更新,无需用户手动设置,方便用户使用。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明予以进一步说明。

图1为本发明一种数据通信方法的主要步骤示意图;

图2为本发明一种数据通信方法的完整步骤示意图;

图3为本发明一种数据通信方法的一个具体实施例的数据交互流程图;

图4为本发明一种数据通信系统的主要组成框图;

图5为本发明一种数据通信系统的完整组成框图。

附图标号说明:

100、第一通信端,101、随机密码生成模块,102、变换模块,103、加密模块,104、第一通信模块,105、第一更新模块,106、计时模块,107、第一存储模块;

200、第二通信端,201、第二通信模块,202、解密模块,203、反变换模块,204、第二更新模块,205、第二存储模块,206、函数获取模块。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

图1为本发明一种数据通信方法的主要步骤示意图,作为本发明的一个具体实施例,如图1所示,本发明公开了一种数据通信方法,用于第一通信端与第二通信端进行数据传输,包括步骤:S100:第一通信端生成随机密码,并使用预设变换函数将所述随机密码变换为第一随机密码;S200:第一通信端使用预设初始密码加密待发送的数据和所述第一随机密码生成加密数据,发送所述加密数据到第二通信端;S300:第二通信端接收第一通信端发送的所述加密数据,并根据预设初始密码解密所述加密数据,获得所述第一随机密码;S400:第二通信端使用所述预设变换函数对所述第一随机密码进行反变换,得到所述随机密码;S500:第二通信端与第一通信端分别使用所述随机密码更新各自存储的所述预设初始密码,第二通信端与第一通信端分别使用更新后的所述预设初始密码加密待传输的数据互相通信。

具体的,本发明中第一通信端与第二通信端使用对称加密算法对待发送的数据进行加密并传输。其中预设初始密码作为对称加密算法中的密钥,固定密码,固化在程序里不能改变,程序刚启动时都使用该密码对待发送的数据进行加密。

具体的,本发明通过变换函数对随机密码进行变换后传输,其中变换函数可以为任意一种函数,不作具体限定,只要数据通信的第一通信端与第二通信端两端分别存储相同的变换函数即可。具体的,以简单实例解释本实施例中的变换函数。假设本实施例中的变换函数f(x)为简单的线性函数,f(x)=x+123,第一通信端生成的随机密码为111,则随机密码111作为x经过变换函数f(x)=x+123进行变换,得到第一随机密码即为234。发送第一随机密码234至第二通信端,第二通信端存储有相同的变换函数f(x)=x+123,则接收到的第一随机密码234作为f(x)经过变换函数f(x)=x+123进行反变换,即得到随机密码111。

本发明由于数据传输过程中传输的是变换后的随机密码,即使被不法分子截获,但其并不知道变换函数,因此也无法得知随机密码,从而提高了密码传输的安全性。同时,通过传输的随机密码更新预设初始密码,自动更换预设初始密码,无需用户手动设置,为用户使用带来便利,而且随机密码是随机生成的,维护人员也不知道某特定时刻的密码,能够防止系统从内部攻破密码。

图2为本发明一种数据通信方法的完整步骤示意图。优选的,如图2所示,所述步骤S500之后还包括步骤:S600:预设时长之后重复执行步骤S100。

本发明在使用一个预设初始密码进行数据传输达到预设时长之后,会自动重复生成随机密码,并根据随机密码进行预设初始密码的更新。通过这种定时更新预设初始密码的方式大大提高了数据传输的安全性,同时自动更新预设初始密码,无需用户手动设置,便于用户使用。

优选的,如图2所示,所述步骤S100之前还包括步骤:S000:第一通信端和第二通信端分别存储相同的所述预设变换函数以及所述预设初始密码。

本发明采用对称加密算法对数据进行加解密,第一通信端和第二通信端均存储有相同的预设初始密码、预设变换函数以及加解密算法。采用对称加密算法具有计算量小、加密速度快、加密效率高的优点。

优选的,所述预设变换函数为多个;每个所述预设变换函数均对应一个不同的函数编号。

优选的,所述步骤S100“使用预设变换函数将所述随机密码变换为第一随机密码”进一步包括:使用任意一个所述预设变换函数将所述随机密码变换为第一随机密码;所述步骤S200“第一通信端使用预设初始密码加密待发送的数据和所述第一随机密码并发送到第二通信端”进一步包括:第一通信端使用预设初始密码加密待发送的数据、所述第一随机密码以及所述预设变换函数对应的函数编号生成所述加密数据,发送所述加密数据到第二通信端;所述步骤S300“第二通信端接收并解密第一通信端发送的所述加密数据,获得所述第一随机密码”进一步包括:第二通信端接收并解密第一通信端发送的所述加密数据,获得所述第一随机密码以及所述函数编号;所述步骤S400“第二通信端使用所述预设变换函数对所述第一随机密码进行反变换,得到所述随机密码”进一步包括:第二通信端使用所述函数编号获得与其对应的所述预设变换函数,使用所述预设变换函数对所述第一随机密码进行反变换,得到所述随机密码。

下面以实例解释本实施例的工作流程。

假设本实施例中的变换函数f(x)包括3个,编号分别为1、2、3,均为分别为简单的线性函数,编号为1的变换函数f(x)=x+123,编号为2的变换函数f(x)=x+121,编号为3的变换函数f(x)=x+120。

假设第一通信端生成的随机密码为111,经由编号为1的变换函数f(x)=x+123进行变换,随机密码111作为x经过变换函数,得到第一随机密码即为234。

发送第一随机密码234以及变换函数f(x)=x+123的函数编号1至第二通信端。

第二通信端存储有相同的多个变换函数,且具有相同的函数编号。第二通信端根据接收到的函数编号1可得知用于变换的变换函数为编号为1的变换函数f(x)=x+123,则将接收到的第一随机密码234经过编号为1的变换函数f(x)=x+123进行反变换,即得到随机密码111。

第一通信端和第二通信端分别将预设初始密码更新为111。

本发明中通过预设多个预设变换函数,并分别作函数编号与之对应。在对随机密码进行变换后同时传送使用的变换函数对应的函数编号至第二通信端,便于第二通信端对变换后的随机密码进行反变换已得到原始的随机密码,同时,即使在传输过程中随机密码和函数编号被攻击者截获,但攻击者并不知道函数编号所对应的变换函数,因此也无法破解随机密码,从而提高了密码传输的安全性。

图3为本发明一种数据通信方法的一个具体实施例的数据交互流程图。结合图3详细解释本发明的工作流程。

如图3所示,A为预设初始密码,B为随机密码,B’为第一随机密码,C为定时预设时长之后产生的随机密码,C’为C经变换函数变换的第一随机密码。

第一通信端生成随机密码B,经由变换函数变换为第一随机密码B’。

第一通信端采用预设初始密码A加密待传送的数据,其中携带变换后的第一随机密码B’。

第二通信端接收到加密的数据,提取出第一随机密码B’,对B’进行反变换得到随机密码B。

第一通信端和第二通信端将B作为预设初始密码,在之后的数据通信过程中采用B进行数据加密。

在预设时长之后,第一通信端生成随机密码C,经由变换函数变为C’。

第一通信端采用预设初始密码B加密待传送的数据,其中携带变换后的第一随机密码C’。

第二通信端接收到加密的数据,提取出第一随机密码C’,对C’进行反变换得到随机密码C。

第一通信端和第二通信端将C作为预设初始密码,在之后的数据通信过程中采用C进行数据加密。

如此反复,当达到预设时长时,就对预设初始密码进行一次更新。

图4为本发明一种数据通信系统的主要组成框图,包括第一通信端100和第二通信端200,所述第一通信端100包括:随机密码生成模块101,用于生成随机密码;变换模块102,用于使用预设变换函数将所述随机密码变换为第一随机密码;加密模块103,用于使用预设初始密码加密待发送的数据和所述第一随机密码生成加密数据;第一通信模块104,用于发送所述加密数据到第二通信端;所述第二通信端200包括:第二通信模块201,用于接收所述加密数据;解密模块202,用于根据所述预设初始密码解密所述加密数据,获得所述第一随机密码;反变换模块203,用于使用所述预设变换函数对所述第一随机密码进行反变换,得到所述随机密码;所述第一通信端100还包括第一更新模块105,用于使用所述随机密码更新其存储的所述预设初始密码;所述第二通信端200还包括第二更新模块204,用于使用所述随机密码更新其存储的所述预设初始密码。

本发明通过变换函数对随机密码进行变换后传输,由于数据传输过程中传输的是变换后的随机密码,即使被不法分子截获,由于其并不知道变换函数,因此也无法得知随机密码,从而提高了密码传输的安全性。

图5为本发明一种数据通信系统的完整组成框图,优选的,如图5所示,所述第一通信端100还包括:计时模块106,用于当所述第一更新模块更新105所述初始密码之后开始计时;所述随机密码生成模块101还用当所述计时模块106计时时长达到预设时长时,生成随机密码。

本发明在使用一个预设初始密码进行数据传输达到预设时长之后,会自动重复生成随机密码,并根据随机密码进行预设初始密码的更新,通过这种定时更新预设初始密码的方式无需用户手动设置,便于用户使用,同时也大大提高了数据传输的安全性。

优选的,所述第一通信端100包括第一存储模块107,所述第二通信端200包括第二存储模块205;所述第一存储模块107和所述第二存储模块205分别存储相同的所述预设变换函数和所述预设初始密码。

优选的,所述预设变换函数为多个;每个所述预设变换函数均对应一个不同的函数编号。

优选的,所述变换模块102进一步用于使用任意一个所述预设变换函数将所述随机密码变换为第一随机密码;所述加密模块103进一步用于使用预设初始密码加密待发送的数据、所述第一随机密码以及所述预设变换函数对应的函数编号生成所述加密数据;所述解密模块202进一步用于解密所述加密数据,获得所述第一随机密码以及所述函数编号;所述第二通信端201还包括函数获取模块206,用于使用所述函数编号获得与其对应的所述预设变换函数。

需要说明的是,本系统中各模块之间的信息交互、执行过程等内容与上述方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1