通信系统和通信方法

文档序号:7551012阅读:169来源:国知局
专利名称:通信系统和通信方法
技术领域
本发明涉及包括两个通信装置的通信系统,这两个通信装置能够对纯文本形式(plain text)的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为发送对象数据。
背景技术
上述通信系统被用在有必要使在两个通信装置之间发送的发送对象数据对于第三方保密的情形中。尽管提出并使用了各种加密技术以保持发送对象数据的机密性,但是很难完全防止代码的解密。通常,通过对发送对象数据加密而进行的通信是利用以下过程进行的:在发送者一侧的发送和接收装置上以预定的位数为单位切割发送对象数据,对每一片段的切割数据进行加密并将其发送到另一端的通信装置,并在接收者一侧的发送和接收装置上对接收到的数据进行解密。在这种情况下,发送者一侧的发送和接收装置以及接收者一侧的发送和接收装置以固定单位(例如8位或16位)执行加密或解密处理。因此,在这样的单位的大小被第三方获知的情况下,用于加密的算法被破解并且通信的内容随之被破解的可能性较高。现有的装置以标准化单位(例如8位或16位)执行加密或解密。因此,在发送和接收装置以和这样的标准化单位相同的单位执行加密或解密的情况下,破解用于加密的算法变得较容易。本发明的目的是改进包括两个通信装置的通信系统,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为发送对象数据,以便减小被第三方破解的可能性。

发明内容
为了实现该目的,本发明人提出了下面描述的第一发明和第二发明。根据第一发明的通信系统包括第一通信装置和第二通信装置,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为发送对象数据。 该通信系统的第一通信装置和第二通信装置都包括:切割装置,用于以预定的位数为单位将发送对象数据切割成多个片段的发送对象切割数据,也用于以经加密数据在被加密时被切割的相同位数为单位将经加密数据切割成多个片段的经加密的切割数据;加密和解密装置,用于利用在所述第一通信装置和所述第二通信装置之间公共的算法对发送对象切割数据进行加密以使其成为经加密数据,并且利用在对经加密的切割数据进行加密时所使用的算法对经加密的切割数据进行解密以使其成为发送对象切割数据;连接装置,用于连接解密后的发送对象切割数据以使其成为发送对象数据;以及发送和接收装置,用于发送和接收经加密数据。并且该通信系统的切割装置切割发送对象数据,使得至少一个片段的发送对象切割数据具有与其它片段的发送对象切割数据不同的位数。当切割发送对象数据并生成发送对象切割数据时,该通信系统切割发送对象数据,使得发送对象切割数据的至少一个片段具有与发送对象切割数据的其他片段不同的位数。因此,即使用于加密的算法已知,第三方也不能对经加密数据进行解密,除非经加密数据被加密所用的单位也已知。通信系统可以使发送对象切割数据或经加密的切割数据的至少一个片段具有与发送对象切割数据或经加密的切割数据的其他片段不同的位数。因此,当对代码进行解密时,与8位和16位(其是数据处理的一般单位)不同单位的处理对于发送对象切割数据或经加密的切割数据的至少一个片段是必要的,从而很难利用通用计算机对其进行分析。因此,第三方很难破解该通信系统的加密通信。根据第一发明的通信系统可以如下。该通信系统包括第一通信装置和第二通信装置,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为发送对象数据。第一通信装置和第二通信装置都包括:切割装置,用于以预定的位数为单位将发送对象数据切割成多个片段的发送对象切割数据,也用于以经加密数据在被加密时被切割的相同位数为单位将经加密数据切 割成多个片段的经加密的切割数据;公共数据生成装置,用于顺序地生成在第一通信装置和第二通信装置之间是公共的公共数据;加密和解密装置,用于利用基于接收自公共数据生成装置的公共数据而生成的在第一通信装置和第二通信装置之间公共的算法对发送对象切割数据进行加密以使其成为经加密数据,并且利用在对经加密的切割数据进行加密时所使用的算法对经加密的切割数据进行解密以使其成为发送对象切割数据;连接装置,用于连接解密后的发送对象切割数据以使其成为发送对象数据;以及发送和接收装置,用于发送和接收经加密数据,并且公共数据生成装置在加密和解密装置接收到发送对象切割数据或经加密的切割数据的时候生成公共数据。该通信系统的切割装置切割发送对象数据,使得发送对象切割数据的至少一个片段具有与发送对象切割数据的其他片段不同的位数。该通信系统按这样的定时更新算法,以便利用对于第一通信装置和第二通信装置来说相同的算法来执行加密和解密,因此代码可能被破解的可能性变低。第一发明的第一通信装置和第二通信装置都可以包括混合装置,用于在发送对象切割数据中除最大位数的一个片段外的其它部分中包括与发送对象数据无关的哑数据,从而使每一片段的发送对象切割数据的位数与发送对象切割数据的最大位数的片段的位数匹配。从而,在第一通信装置或第二通信装置上,发送对象切割数据或经加密的切割数据的每一片段的位数都匹配于加密或解密的单位,从而有利于加密和解密的处理。另一方面,第三方不能确定哪些数据是原始的发送对象切割数据或经加密的切割数据,哪些数据是哑数据,因此代码可能被破解的可能性很低。根据第二发明的通信系统包括第一通信装置和第二通信装置,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为发送对象数据。该通信系统的第一通信装置和第二通信装置都包括:切割装置,用于以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据,也用于以所述经加密数据在被加密时被切割的相同位数为单位将所述经加密数据切割成多个片段的经加密的切割数据;加密和解密装置,用于利用在第一通信装置和第二通信装置之间是公共的算法对发送对象切割数据进行加密以使其成为经加密数据,并且利用在对经加密的切割数据进行加密时所使用的算法对经加密的切割数据进行解密以使其成为发送对象切割数据,从而以基准位数为基准执行加密或解密;连接装置,用于连接解密后的发送对象切割数据以使其成为发送对象数据;以及发送和接收装置,用于发送和接收经加密数据。该通信系统的切割装置以比基准位数少的位数为单位切割发送对象数据;并且第一通信装置和第二通信装置都包括混合装置,用于在发送对象切割数据中包括与发送对象数据无关的哑数据,从而使发送对象切割数据的位数与基准位数匹配。该通信系统的切割装置以比基准位数少的位数为单位切割所述发送对象数据。基准位数可以是8位或16位,这例如与常用数据处理单位相同。从而,当对代码进行解密时,发送对象切割数据或经加密的切割数据中的至少一个片段需要以不同于8位或16位(这与常用数据处理单位相同)的处理单位进行处理,因此难以利用通用计算机进行分析。包括在该通信系统中的第一通信装置和第二通信装置包括混合装置,用于在发送对象切割数据中包括与发送对象数据无关的哑数据,从而使发送对象切割数据的位数与基准位数匹配。因此,包括在该通信系统中的第一通信装置和第二通信装置允许按照与通用计算机相同的处理单位执行加密和解密处理。由此,没有必要改变硬件配置使其与传统配置不同。另一方面,第三方不能确定哪些数据是发送对象切割数据或经加密的切割数据,哪些数据是哑数据,因此加密可能被破解的可能性很低。第二发明的通信系统可以如下。第二发明的通信系统包括第一通信装置和第二通信装置,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为发送对象数据。 第一通信装置和第二通信装置都包括:切割装置,用于以预定的位数为单位将发送对象数据切割成多个片段的发送对象切割数据,也用于以经加密数据在被加密时被切割的相同位数为单位将经加密数据切割成多个片段的经加密的切割数据;公共数据生成装置,用于顺序地生成在第一通信装置和第二通信装置之间是公共的公共数据;加密和解密装置,用于利用基于接收自公共数据生成装置的公共数据而生成的在第一通信装置和第二通信装置之间是公共的算法对发送对象切割数据进行加密以使其成为经加密数据,并且利用在对经加密的切割数据进行加密时所使用的算法对经加密的切割数据进行解密以使其成为发送对象切割数据,以便以基准位数为基准执行加密或解密;连接装置,用于连接解密后的发送对象切割数据以使其成为发送对象数据;以及发送和接收装置,用于发送和接收经加密数据,并且公共数据生成装置在加密和解密装置接收到发送对象切割数据或经加密的切割数据的时候生成公共数据。该通信系统的切割装置以比基准位数少的位数为单位切割发送对象数据;并且第一通信装置和第二通信装置都包括混合装置,用于在发送对象切割数据中包括与发送对象数据无关的哑数据,从而使发送对象切割数据的位数与基准位数匹配。该通信系统按这样的定时更新用于加密和解密的算法,以便利用对于第一通信装置和第二通信装置来说相同的算法执行加密和解密,因此代码可能被破解的可能性较低。在按比基准位数短来切割发送对象数据的情况下,切割装置可以按预定的位数或不同的位数来切割。尽管在前一情况下处理较简单,但是在后一情况下代码被破解的可能性更低。在切割装置以比基准位数短的预定位数为单位切割发送对象数据的情况下,混合装置可以在发送对象数据的固定位置处包括哑数据,或者可以在对于发送对象数据的每个片段而言不同的位置上包括哑数据。尽管在前一情况下处理较简单,但是在后一情况下代码被破解的可能性更低。下面的内容是第一发明和第二发明之间共有的。公共数据生成装置可以生成伪随机数作为公共数据。当然,公共数据生成装置可以生成任何其他数据。关于用于加密和解密的算法,公共数据生成装置应当按这样的定时生成上述公共数据,以便利用对于第一通信装置和第二通信装置上的加密和解密来说相同的算法来生成。例如,公共数据生成装置可以在每次发送对象数据被加密或者经加密数据被解密时生成公共数据。公共数据生成装置还可以在每次发送对象切割数据被加密或者经加密的切割数据被解密时生成公共数据。混合装置可以基于公共数据决定用于包括哑数据的预定位置。在哑数据被包括在发送对象切割数据的不同位置的情况下(包括这样的情形:在发送对象数据被切割时,发送对象切割数据的至少一个片段具有与发送对象切割数据的其他片段不同的位数),第一通信装置和第二通信装置不能在不知道发送者一侧上的通信装置将哑数据包括在发送对象切割数据中何处的情况下对接收到的经加密的切割数据进行解密。如果混合装置被设置为基于公共数据决定用于包括哑数据的预定位置,则接收者一侧上的通信装置可以利用其所拥有的数据(该数据在第一通信装置和第二通信装置之间是公共的)来获知哑数据被包括在发送对象切割数据中的位置。在这种情况下,在第一通信装置和第二通信装置之间不交换任何关于哑数据被包括在发送对象切割数据中的位置的信息。因此,第三方几乎不可能破解该通信系统的加密。
在切割发送对象数据以使得发送对象切割数据的至少一个片段具有与发送对象切割数据的其他片段不同的位数的情况下,切割装置可以基于公共数据切割发送对象数据,以使得发送对象切割数据的至少一个片段具有与发送对象切割数据的其他片段不同的位数。在发送对象切割数据的至少一个片段具有与发送对象切割数据的其他片段不同的位数的情况下,除非发送者一侧上的通信装置知道发送对象切割数据被切割的位数,否则不能执行解密。如果切割装置被设置为基于公共数据切割发送对象数据,则接收者一侧上的通信装置可以利用其所拥有的数据(该数据在第一通信装置和第二通信装置之间是公共的)来获知发送对象数据被切割的位数。在这种情况下,在第一通信装置和第二通信装置之间不交换任何关于发送对象切割数据在何处被切割的信息。因此,第三方几乎不可能击破该通信系统的加密。第一发明也可以通过以下方法实现。该方法的示例是一种在包括第一通信装置和第二通信装置的通信系统中实施的通信方法,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为发送对象数据。该方法包括:用于第一通信装置和第二通信装置中的一个的以下步骤:以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据;利用预定算法对发送对象切割数据进行加密以使其成为经加密数据;以及将经加密数据发送到第一通信装置和第二通信装置中的另一个,以及用于第一通信装置和第二通信装置中的另一个的以下步骤:以所述经加密数据在被加密时被切割的相同位数为单位将接收的经加密数据切割成多个片段的经加密的切割数据;利用在对经加密的切割数据进行加密时所使用的算法对经加密的切割数据进行解密以使其成为发送对象切割数据;以及连接解密后的发送对象切割数据以使其成为发送对象数据。根据该方法,第一通信装置和第二通信装置切割发送对象数据,使得发送对象切割数据的至少一个片段具有与发送对象切割数据的其他片段不同的位数。该方法的另一个例子是一种在包括第一通信装置和第二通信装置的通信系统中实施的通信方法,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为发送对象数据。

该方法包括:用于第一通信装置和第二通信装置中的一个的以下步骤:以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据;利用预定算法对发送对象切割数据进行加密以使其成为经加密数据;以及将经加密数据发送到第一通信装置和第二通信装置中的另一个,以及用于第一通信装置和第二通信装置中的另一个的以下步骤:以所述经加密数据在被加密时被切割的相同位数为单位将接收的经加密数据切割成多个片段的经加密的切割数据;利用在对经加密的切割数据进行加密时所使用的算法对经加密的切割数据进行解密以使其成为发送对象切割数据;以及连接解密后的发送对象切割数据以使其成为发送对象数据,并且第一通信装置和第二通信装置在接收到发送对象切割数据或经加密的切割数据的时候生成公共数据;以及以基准位数为基准执行加密或解密,并且第一通信装置和第二通信装置中的所述一个以比基准位数少的位数为单位切割所述发送对象数据;以及在发送对象切割数据中包括与发送对象数据无关的哑数据,从而使发送对象切割数据的位数与基准位数匹配。第二发明也可以通过以下方法实现。第二发明的例子是一种在包括第一通信装置和第二通信装置的通信系统中实施的通信方法,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为发送对象数据。
该方法包括:用于第一通信装置和第二通信装置中的一个的以下步骤:以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据;顺序地生成预定的公共数据;利用基于公共数据生成的算法对发送对象切割数据进行加密以使其成为经加密数据;以及将经加密数据发送到第一通信装置和第二通信装置中的另一个,以及用于第一通信装置和第二通信装置中的另一个的以下步骤:以所述经加密数据在被加密时被切割的相同位数为单位将接收的经加密数据切割成多个片段的经加密的切割数据;顺序地生成与第一通信装置和第二通信装置中的所述一个共有的公共数据;利用基于所生成的公共数据而生成的、在对经加密的切割数据进行加密时所使用的算法对经加密的切割数据进行解密以使其成为发送对象切割数据;以及连接解密后的发送对象切割数据以使其成为发送对象数据。该方法的第一通信装置和第二通信装置在接收到发送对象切割数据或经加密的切割数据的时候生成公共数据;以及切割发送对象数据,使得发送对象切割数据的至少一个片段具有与发送对象切割数据的其他片段不同的位数。该方法的另一个例子是一种在包括第一通信装置和第二通信装置的通信系统中实施的通信方法,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为发送对象数据。该方法包括:用于第一通信装置和第二通信装置中的一个的以下步骤:以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据;顺序地生成预定的公共数据;利用基于公共数据生成的算法对发送对象切割数据进行加密以使其成为经加密数据;以及将经加密数据发送到第一通信装置和第二通信装置中的另一个,以及用于第一通信装置和第二通信装置中的另一个的以下步骤:以经加密数据在被加密时被切割的相同位数为单位将接收的经加密数据切割成多个片段的经加密的切割数据;顺序地生成与第一通信装置和第二通信装置中的所述一个共有的公共数据;利用基于所生成的公共数据而生成的、在对经加密的切割数据进行加密时所使用的算法对经加密的切割数据进行解密以使其成为发送对象切割数据;以及连接解密后的发送对象切割数据以使其成为发送对象数据。该方法的第一通信装置和第二通信装置在接收到发送对象切割数据或经加密的切割数据的时候生成公共数据;以及以基准位数为基准执行加密或解密;第一通信装置和第二通信装置中的所述一个以比基准位数少的位数为单位切割发送对象数据;以及在发送对象切割数据中包括与发送对象数据无关的哑数据,从而使发送对象切割数据的位数与基准位数匹配。


图1是示出根据一个实施例的通信系统的整体配置的图;图2是示出包括在图1所示的通信系统中的第一通信装置和第二通信装置的硬件配置的图;图3是示出包括在图1所 示的通信系统中的第一通信装置和第二通信装置的通信装置的配置的框图4是示出在图1所示的通信系统中执行的过程的流程图;图5是示出在图1所示的通信系统的第一通信装置中执行的加密过程的流程图;以及图6是示出在图1所示的通信系统的第二通信装置中执行的解密过程的流程图。
具体实施例方式下文中将参考附图描述本发明的优选实施例。根据该实施例的通信系统被粗略地配置为如图1所示。该通信系统包括经由网络13相互连接的第一通信装置11和第二通信装置12。第一通信装置11和第二通信装置12相互进行加密通信。连接第一通信装置11和第二通信装置12的网络13例如是因特网。当然,也可以利用另一方式(例如内联网或私有线路)配置网络13。下面对第一通信装置11和第二通信装置12的配置给出描述。由于根据该实施例第一通信装置11和第二通信装置12具有相同的配置,因此下面只描述第一通信装置11的配置作为代表。图2示出了第一通信装置11的硬件配置。根据该实施例,第一通信装置11包括CPU (中央处理单元)21、ROM (只读存储器)
22、HDD (硬盘驱动器)23、RAM (随机访问存储器)24、输入装置25、显示装置26、通信装置27和总线28。CPU21、R0M22、HDD23、RAM24、输入装置25、显示装置26和通信装置27可以经由总线28交换数据。R0M22或HDD23记录有预定程序和预定数据(这可以包括作为该实施例中的发送对象数据的数据,并且预定数据包括执行程序所必需的数据)。CPU21控制整个第一通信装置11,并基于存储在R0M22或HDD23中的程序和数据执行后面将描述的过程。RAM24被用作在CPU21上执行过程时的工作存储区。输入装置25由键盘、鼠标等等构成,并且被用于输入命令和数据。显示装置26可以由IXD (液晶显示器)、CRT (阴极射线管)构成,并且被用于显示命令、输入的数据、后面将描述的过程的状态等等。通信装置27经由网络13与第二通信装置12进行通信。第二通信装置12的通信装置27经由网络13与第一通信装置11进行通信。下面将对通信装置27的配置给出描述。图3示出了通信装置27的框图。通信装置27配置有接口部分31、预处理部分32、加密和解密部分33、公共数据生成部分34、算法生成部分35、密钥生成部分36、通信部分37和连接部分38。接口部分31在总线28与加密和解密部分33之间交换数据。接口部分31还有将数据从总线28发送到公共数据生成部分34并将数据从连接部分38发送到总线28的功能。预处理部分32具有以下功能:以预定的位数为单位切割经由接口部分31从总线28接收的发送对象数据或经加密数据,并生成发送对象切割数据或经加密切割数据以将其发送到加密和解密部分33。如何切割发送对象数据和经加密数据将在后面描述。根据该实施例,预处理部分32具有通过 后面描述的方法将与发送对象数据没有联系的哑数据包括在发送对象数据中的功能。
加密和解密部分33具有以下功能:从预处理部分32接收发送对象切割数据或经加密的切割数据,在接收到发送对象切割数据的情况下对其进行加密,或者在接收到经加密的切割数据的情况下对其进行解密。该实施例的加密和解密部分33具有固定的基准位数作为在执行加密和解密过程的情况下的处理单位。在该实施例中,基准位数是8位,但是其并不限于此。加密和解密的细节将在后面描述。公共数据生成部分34顺序生成公共数据,公共数据是在第一通信装置11和第二通信装置12之间公共的数据。该实施例的第一通信装置11和第二通信装置12的公共数据生成部分34顺序生成公共数据,从而使相同顺序的公共数据变得相同。该实施例的公共数据是伪随机数,但并不总是如此。所生成的公共数据被发送到预处理部分32、算法生成部分35和密钥生成部分36。算法生成部分35基于接收自公共数据生成部分34的公共数据生成算法。该算法被用在加密和解密部分33执行加密处理和解密处理时。密钥生成部分36基于接收自公共数据生成部分34的公共数据生成密钥。该密钥被用在加密和解密部分33执行 加密处理和解密处理时。通信部分37与网络13交换数据。通过在加密和解密部分33中对发送对象切割数据进行加密而生成的经加密的切割数据由连接部分38连接起来,并且经由通信部分37被发送到位于另一端的通信装置。通信部分37从另一端的通信装置接收经加密的数据。经加密的数据被从通信部分37发送到预处理部分32。连接部分38具有以下功能:将通过在加密和解密部分33中对经加密的切割数据进行解密而生成的发送对象切割数据按原始顺序连接以使其成为一组发送对象数据。发送对象数据被发送到接口部分31,并且在必要时经由总线28被发送到HDD23或CPU21。连接部分38还有以下功能:将通过在加密和解密部分33对发送对象切割数据进行加密而生成的经加密的切割数据按原始顺序连接以使其成为一组经加密数据。经加密数据被发送到通信部分37,并且被从通信部分37发送到位于另一端的通信装置。连接部分38不必具有连接通过在加密和解密部分33中对发送对象切割数据进行加密而生成的经加密的切割数据的功能。在这种情况下,经加密的切割数据按照其被加密的顺序被顺序发送到另一端的通信装置。在连接部分38如上所述的情况下,经加密的切割数据可以被直接发送到通信部分37而不经过连接部分38。下面对在通信系统中执行的处理流程给出描述。利用图4描述概况,在通信系统中执行的处理流程如下。首先,第一通信装置11对发送对象数据进行加密以生成经加密数据(S110)。随后,第一通信装置11将经加密数据发送到第二通信装置12(S120)。随后,接收到经加密数据的第二通信装置12对经加密数据进行解密以将其变回发送对象数据(S130)。从而,在下面的描述中经加密数据被从第一通信装置11发送到第二通信装置12。很明显,即使与上述情形相反,即经加密数据被从第二通信装置12发送到第一通信装置11,在处理内容上也不会有任何差异。首先,参考图5给出对上述步骤SllO的详细描述,其中第一通信装置11对发送对象数据进行加密以生成经加密数据。首先,读取发送对象数据。发送对象数据可以是需要从第一通信装置11发送到第二通信装置12的任何数据。根据该实施例,发送对象数据被记录在HDD23上。在从例如输入装置25输入用于将发送对象数据发送到第二通信装置12的命令的情况下,CPU21从HDD23读出发送对象数据,并将其临时记录在RAM24中。发送对象数据经由总线28被从RAM24发送到通信装置27中的预处理部分32和接口部分31 (SllOl)0在预处理部分32中,以预定的位数为单位切割发送对象数据以使其成为发送对象切割数据(S1102)。预处理部分32在必要时在发送对象切割数据中包括哑数据。可能只有一种方法由发送对象数据生成发送对象切割数据。然而,根据该实施例,发送对象切割数据是按照下面三种方法中的一种由发送对象数据生成的:A)情形:以比基准位数少的预定位数为单位将发送对象数据切割成发送对象切割数据,并在各片段的发送对象切割数据的相应固定位置处包括哑数据,所有片段的位数都比基准位数少;B)情形:以比基准位数少的预定位数为单位将发送对象数据切割成发送对象切割数据,并在各片段的发送对象切割数据的不同位置处包括哑数据,所有片段的位数都比基准位数少;C)情形:以与基准位数一样多或比基准位数少的 位数为单位将发送对象数据切割成发送对象切割数据,并在位数比基准位数少的各片段的发送对象切割数据中包括哑数据。关于上述三种方法中的哪一种应当被用于由发送对象数据生成发送对象切割数据,这是由公共数据生成部分34所生成的公共数据决定的。下面将首先对公共数据生成部分34如何生成公共数据给出描述。在接口部分31从总线28接收到发送对象数据的情况下,公共数据生成部分34从接口部分31接收该信息。公共数据生成部分34利用这个机会开始生成公共数据。根据该实施例,公共数据生成部分34在每次接口部分31接收到发送对象数据时生成公共数据。该实施例的公共数据是具有8行和8列的矩阵(X),但是其并不限于此。根据该实施例,公共数据生成部分34好像非线性转换一样连续地生成公共数据,但是其并不限于这种情形。为了好像非线性转换一样连续生成公共数据,有几种可以考虑的技术,例如(I)在生成公共数据的过程中包括对过去公共数据的指数计算,(2)在生成公共数据的过程中包括对过去公共数据的两个或更多个片段的乘法,或者(I)和(2)的组合。根据该实施例,公共数据生成部分34具有被预定为初始矩阵的第01解(Xtll)和第02解(Xtl2)(例如,第01解和第02解被记录在预定存储器中)。公共数据生成部分34将初始矩阵指派给解生成算法,并按以下方式生成第I解(X1)0第I 解(X1) =X02X01+ a ( a =8 行和 8 列的矩阵)这是最初生成的公共数据。随后,在接口部分31从总线28接收到发送对象数据的情况下,公共数据生成部分34按以下方式生成第2解(X2)。第2 解(X2^X1Xtl2+a
类似地,每次接口部分31从总线28接收到发送对象数据时,公共数据生成部分34按以下方式生成第3、第4…第N解。第3 解(X3) =X2X^a第4 解(X4) =X3X2+ a...
第N 解(Xn ) =XN_1XN_2+ a这样生成的公共数据(即解)被发送到预处理部分32和算法生成部分35,并且也被保持在公共数据生成部分34中。为了生成第N解(XN),该实施例使用了第N-1解(Xim)和第N-2解(XN_2),即紧邻第N解之前生成的两个解。因此,为了生成新的解,公共数据生成部分34必须保持在过去生成的最近的前两个解(或者,这两个解必须被某个其他部件保持)。相反地,在过去生成的比最近的前两个解更老的解不被用于生成从今往后的新解。从而,该实施例总是在公共数据生成部分34中保持两个过去的解。然而,该实施例从预定存储器等中擦除由于生成新的解现在是第三最近的在先解,但在此之前都是第二最近的在先解的一个解,其中这样的解原本记录在所述预定存储器等当中。这样生成的解在非线性转换中是混乱的(chaotic),并且也是伪随机数。为了进行非线性转换,可以考虑使用下面的公式而不是上述公式:第N解(Xn) =
\-l\-2+ Q。例如:(a)第 N 解(Xn)= (XnJp(b )第 N 解(XN ) = U p (Xn_2) q (Xn_3) e (Xn_4) s(c)第 N 解(Xn)= (Xn^1)p+(Xn_2)qP、Q、R和S分别是预定的常数。公共数据生成部分34在使用公式(a)或(c)的情况下具有两个初始矩阵,在使用公式(b)的情况下具有四个初始矩阵。上述a是常数。然而,它也可以是特定变化的环境信息。环境信息是随着时间流逝按顺序自然生成的信息,并且通常可以在远处获得,例如基于特定区域的天气确定的信息,基于在特定时间广播的TV台的TV广播的内容确定的信息以及基于特定体育比赛的结果确定的信息。可以通过连续地创建上述a并生成公共数据来进一步提高通信的机密性。当然,还可以将a (可以根据环境信息生成)添加到公式(a)到(C)的右侧。如上所述,已接收到公共数据(即,上述解)的预处理部分32决定上述方法A)、B)和C)中的哪一个应当被用于生成发送对象切割数据。根据该实施例,发送对象切割数据在将构成8行8列的矩阵的数相加的总和除以3余数为0的情况下由方法A)生成,余数为I的情况下由方法B)生成,而在余数为2的情况下由方法C)生成,但是其并不限于这种情形。在通过方法A)生成发送对象切割数据的情况下,预处理部分32从头部开始按顺序以比基准位数少的预定位数(在该实施例中是7位)为单位切割从接口部分31接收的发送对象数据,以生成发送对象切割数据。预处理部分32在发送对象切割数据的固定位置处嵌入哑数据。用于嵌入哑数据的发送对象切割数据的位置可以是可变的或固定的。在后一情况下,哑数据被嵌入的位置可以是发送对象切割数据的头部或尾部或诸如第二位或第三位之类的预定中间位置。哑数据可以是任何数据,只要它是与发送对象数据无关的数据即可。例如,可以考虑这样的过程,例如恒定地嵌入数据O或数据1,或嵌入数据1,或交替地嵌入数据I和O。又例如,可以基于上述公共数据决定要嵌入哪些哑数据。例如,如果构成作为公共数据的8行8列矩阵的数相加后的总和被9除其余数为O,则可以继续O,例如O、
0、0、0…。如果余数为1,则可以交替放入1,例如0、1、0、1…。如果余数为2,则可以每三个位置放入1,例如0、0、1、0、0、1…。同样地,如果余数为3则可以每四个位置放入I,余数为4则每五个位置放入I,余数为9则每十个位置放入I。在通过方法B)生成发送对象切割数据的情况下,预处理部分32以比基准位数少的预定位数(例如是7位)为单位切割发送对象数据,以使其成为发送对象切割数据,并且在各片段的发送对象切割数据的不同位置处包括哑数据,其中所有片段都具有比基准位数少的位数。在这种情况下,哑数据被嵌入的位置可以是可以是固定的或有规则改变的,例如按第一位、第二位、第三位、…、第八位、第一位、第二位、…、第八位的顺序移动,或者对于每一片段的发送对象切割数据随机改变。在哑数据被嵌入的位置随机改变的情况下,这些位置可以例如基于公共数据决定。关于使用公共数据来决定用于嵌入哑数据的基准位数的方法,可以例如执行以下的过程。如果构成作为公共数据的8行8列矩阵的数相加后的总和被8除其余数为0,则哑数据被交替嵌入在各片段的发送对象切割数据的头部和尾部。如果余数为1,则在头部嵌入有哑数据的发送对象切割数据和在尾部嵌入有哑数据的发送对象切割数据被布置为每隔二个位置。如果余数为2,则在头部嵌入有哑数据的发送对象切割数据和在尾部嵌入有哑数据的发送对象切割数据被布置为每隔三个位置。如果余数为7,则在头部嵌入有哑数据的发送对象切割数据和在尾部嵌入有哑数据的发送对象切割数据被布置为每隔八个位置。还可以进一步移动哑数据被嵌入的位置,例如头部和尾部,而不是固定位置。在通过方法C)生成发送对象切割数据的情况下,发送对象数据被切割成基准位数或比基准位数少的位数。这一切 割可以通过将发送对象数据切割为比8位短的随机长度来执行。例如,如果构成作为公共数据的8行8列矩阵的数相加后的总和被8除其余数为0,则在该时间点处发送对象数据的头部可以以8位为单位切割。如果余数为1,则在该时间点处发送对象数据的头部可以以I位为单位切割。如果余数为2,则在该时间点处发送对象数据的头部可以以2位为单位切割。…如果余数为7,则在该时间点处发送对象数据的头部可以以7位为单位切割。在这样生成的发送对象切割数据中,预处理部分32在位数比基准位数少的每一片段的发送对象切割数据中嵌入哑数据。在这种情况下,哑数据的嵌入位置可以是特定位置,诸如头部或尾部或例如由公共数据指定的预定可变位置。在任何一种情况下,这样生成的发送对象切割数据都按生成的顺序以流式方式被发送到加密和解密部分33。与发送对象切割数据的生成相并行地,算法生成部分35生成在对发送对象切割数据进行加密时使用的算法。算法生成部分35基于公共数据生成算法。根据该实施例,算法生成部分35按以下方式生成算法。该实施例的算法被定义为“在8位数据的发送对象切割数据是I行8列的矩阵Y的情况下,其是通过将作为公共数据的8行8列矩阵X升至a次幂然后顺时针方向旋转nX90°后乘以Y而获得的”。
这里,存在a是预定常数的情形。然而,根据该实施例,它是基于公共数据改变的数。更具体而言,该实施例的算法基于公共数据改变。例如,a可以被定义为在将通过相加包括在公共数据中的作为矩阵元素的所有数而获得的数除以5的情况下的余数,其中公共数据是8行8列的矩阵(假定在余数为0的情况下a = I)。上述n是由密钥定义的预定数。如果密钥是常数,则n固定。然而,如下所述,密钥基于公共数据改变。更具体而言,根据该实施例这一 n也基于公共数据改变。还可以决定另一算法。根据该实施例,算法生成部分35在每次它从公共数据生成部分34接收到公共数据时生成算法,并将算法发送到加密和解密部分33。与发送对象切割数据的生成并行地,密钥生成部分36生成在对发送对象切割数据进行加密时使用的密钥。密钥生成部分36基于公共数据生成密钥。根据该实施例,密钥生成部分36按以下方式生成密钥。该实施例的密钥是通过相加包括在公共数据中的作为矩阵元素的所有数而获得的数,其中公共数据是8行8列的矩阵。因此,根据该实施例,密钥基于公共数据改变。还可以决定另一密钥。根据该实施例,密钥生成部分36在每次它从公共数据生成部分34接收到公共数据时生成密钥,并将该密钥发送到加密和解密部分33。加密和解密部分33基于接收自算法生成部分35的算法和接收自密钥生成部分36的密钥,对接收自预处理部分32的发送对象切割数据进行加密(S1103)。如上所述,该算法被定义为“在8位数据的发送对象切割数据是I行8列的矩阵Y的情况下,其是通过将作为公共数据的8行8列矩阵X升至a次幂然后顺时针方向旋转nX90°后乘以Y而获得的”,并且作为密钥的n是上述数字。在a为3而n为6的情况下,加密是通过将8行8列的矩阵乘以发送对象切割数据而进行的,其中所述8行8列的矩阵是通过使对X求三次方而获得的8行8列矩阵顺时针旋转6X90° = 540°而获得的。这样生成的数据是经加密的切割数据。经加密的切割数据被发送到连接部分38。连接部分38将经加密的切割数据连接成一个整体,并生成经加密数据(S1104)。在这种情况下,经加密的切割数据的排序对应于经加密的切割数据的原始排列顺序。因而,第一通信装置11对发送对象数据进行加密以生成经加密数据的SllO步骤完成。经加密数据被发送到通信部分37,然后经由网络13被发送到第二通信装置12。已接收到经加密数据的第二通信装置12执行步骤S130,对经加密数据进行解密,并将其变回发送对象数据。下文中将详细描述这一解密步骤。被发送到第二通信装置12的经加密数据被第二通信装置12的通信部分37接收(S1201)。 通信部分37将经加密数据发送到预处理部分32。
预处理部分32以预定的位数为单位切割接收的经加密数据,并生成经加密的切割数据(S1202)。在切割经加密数据并生成经加密的切割数据的情况中,预处理部分32执行与第一通信装置11的连接部分38所执行的相反过程。更具体而言,从头部开始以8位为单位切割经加密数据,以将其划分成多个片段的经加密的切割数据。随后,经加密的切割数据被发送到加密和解密部分33,在加密和解密部分33处对其进行解密并使其成为发送对象切割数据(S1203)。解密是按照与第一通信装置11的加密和解密部分33所执行的过程相反的过程执行的。因此,第二通信装置12需要在第一通信装置11上执行加密时所需要的算法和密钥。用于解密的算法和密钥是在第二通信装置12内部生成的。下面将描述其工作。第二通信装置12的通信部分37接收到经加密数据的信息被从通信部分37发送到公共数据生成部分34。已接收到该信息的公共数据生成部分34利用这个机会在每次它接收到该信息时生成公共数据。由第二通信装置12的公共数据生成部分34执行的公共数据的生成是通过与第一通信装置11的公共数据生成部分34所执行的相同的步骤执行的。第二通信装置12的公共数据生成部分34具有与第一通信装置11的公共数据生成部分34相同的初始矩阵和解生成算法。因此,由第二通信装置12生成的公共数据与由第一通信装置11生成的公共数据相同(如果拿相同生成顺序的数据相比较的话)。所生成的公共数据被从公共数据生成部分34发送到预处理部分32、算法生成部分35和密钥生成部分36。算法生成部分35在每次其接收到公共数据时基于接收到的公共数据生成算法。第二通信装置12的算法生成部分35生成算法的步骤与第一通信装置11的算法生成部分35生成算法的步骤相同。所生成的算法被从算法生成部分35发送到加密和解密部分33。密钥生成部分36在每次其接收到公共数据时基于接收到的公共数据生成密钥。第二通信装置12的密钥生成部分36生成密钥的步骤与第一通信装置11的密钥生成部分36生成密钥的步骤相同。所生成的密钥被从密钥生成部分36发送到加密和解密部分33。关于该通信系统,每次在第一通信装置11上执行加密时在第一通信装置11上生成新的公共数据,并且每次在第二通信装置12上执行解密时也在第二通信装置12上生成新的公共数据。如上所述,由第二通信装置12生成的公共数据与由第一通信装置11生成的公共数据相同(如果拿相同生成顺序的数据相比较的话)。因此,在第一通信装置11上对某些发送对象数据进行加密时生成的所有公共数据以及基于该公共数据生成的算法和密钥总是与在第二通信装置12上生成的公共数据以及基于该公共数据生成的算法和密钥(当对利用该公共数据以及基于该公共数据生成的算法和密钥所生成的经加密数据进行解密时)相匹配。即使是在第二通信装置12上执行加密并且在第一通信装置11上执行解密时,这些情形也是相同的。
如上所述,加密和解密部分33利用接收自算法生成部分35的算法执行解密处理。更详细地说,加密和解密部分33基于接收自算法生成部分35的算法(被定义为“在8位数据的发送对象切割数据是I行8列的矩阵Y的情况下,经加密的切割数据是通过将作为公共数据的8行8列矩阵X升至a次幂然后顺时针方向旋转nX90°后乘以Y而获得的”)生成用于执行解密处理的算法(被定义为“在经加密的切割数据是I行8列的矩阵Z的情况下,发送对象切割数据是通过将作为公共数据的8行8列矩阵X升至a次幂然后顺时针方向旋转nX90°后的逆矩阵乘以Y而获得的”),并利用密钥根据上述定义执行计算,借此执行解密处理。因而,加密和解密部分33对以流式方式一个接一个地提供自预处理部分32的经加密的切割数据进行解密以便生成发送对象切割数据。随后,加密和解密部分33按需要从发送对象切割数据中去除哑数据(S1204)。如上所述,由公共数据生成部分34生成的公共数据被发送到预处理部分32。该公共数据是当确定在第一通信装置11的预处理部分32中哑数据如何被嵌入在发送对象切割数据中的时候所使用的。更具体而言,在该时间点处由第二通信装置12的预处理部分32保持的公共数据指示哑数据是如何被嵌入在由第二通信装置12的加密和解密部分33完全解密(或正在进行解密或刚刚要解密)的经加密的切割数据(更精确地说,在使经加密的切割数据受到加密之前的发送对象切割数据)中的。预处理部分32向加密和解密部分33发送关于哑数据被嵌入在由加密和解密部分33解密的发送对象切割数据中的 何处的信息。加密和解密部分33利用该信息从发送对象切割数据中去除哑数据。这样生成的发送对象切割数据被发送到连接部分38。连接部分38将接收到的发送对象切割数据连接成一个整体,并将其变回处于在第一通信装置11上加密之前的原始状态的发送对象数据(S1205 )。这样,第二通信装置12对经加密数据进行解密并将其变回发送对象数据的步骤130完成。所生成的发送对象数据被从连接部分38发送到接口部分31,然后经由总线28被发送到例如HDD23以存储在其中。《变形例》在上述通信系统中,每次接口部分31接收到发送对象数据时或者每次通信部分37接收到经加密数据时,公共数据生成部分34生成公共数据。在这种情况下,由发送对象数据的一个片段生成的发送对象切割数据的所有片段是按照同一算法加密的。与此不同,公共数据生成部分34可以在每次加密和解密部分33接收到发送对象切割数据时或者在每次加密和解密部分33接收到经加密的切割数据时生成公共数据。在这种情况下,对于由发送对象数据的一个片段生成的发送对象切割数据的每个片段,利用不同的算法和密钥进行加密。在这种变形例中,在执行加密的情况下,公共数据、算法和密钥按以下方式生成。首先,将描述执行加密的情形。如果接口部分31接收到发送对象数据,则关于该效果的信息被从接口部分31发送到公共数据生成部分34。在接收到该信息时,公共数据生成部分34按照上述实施例中的情形生成公共数据。公共数据被发送到预处理部分32、算法生成部分35和密钥生成部分36。在接收到公共数据时,预处理部分32按照上述实施例中的情形通过切割发送对象数据开始生成发送对象切割数据。算法生成部分35基于接收到的公共数据生成算法,并将所生成的算法发送到加密和解密部分33。密钥生成部分36基于接收到的公共数据生成密钥,并将所生成的密钥发送到加密和解密部分33。
加密和解密部分33利用接收到的算法和密钥对接收到的发送对象切割数据进行加密以生成经加密的切割数据的第一片段。随后,公共数据生成部分34在发送对象切割数据的第二片段被从预处理部分32发送到加密和解密部分33之前生成公共数据以便将其发送到算法生成部分35和密钥生成部分36。在接收它后,算法生成部分35生成与用于生成经加密的切割数据的第一片段的算法不同的算法,并将其发送到加密和解密部分33。类似地,密钥生成部分36生成与第一密钥不同的密钥,并将其发送到加密和解密部分33。加密和解密部分33使用该算法和密钥,利用发送对象切割数据的第二片段生成经加密的切割数据的第二片段。这一步骤被重复以对经加密的切割数据的每个片段执行不同的加密。在该变形例中,公共数据的在前的第二片段只被发送到算法生成部分35和密钥生成部分36。然而,公共数据的在前的第二片段也可以被发送到预处理部分32。在这种情况下,可以针对发送对象切割数据的每个片段改变生成发送对象切割数据的方法。下面将描述执行解密的情形。如果通信部分37接收到经加密数据,则关于该效果的信息被从通信部分37发送到公共数据生成部分34。在接收 到该信息后,公共数据生成部分34按照上述实施例中的情形生成公共数据。公共数据被发送到预处理部分32、算法生成部分35和密钥生成部分36。在接收到公共数据后,预处理部分32按照上述实施例中的情形生成关于发送对象切割数据原先被如何生成的信息,并将其发送到加密和解密部分33。算法生成部分35基于接收到的公共数据生成算法,并将所生成的算法发送到加密和解密部分33。密钥生成部分36基于接收到的公共数据生成密钥,并将所生成的密钥发送到加密和解密部分33。该算法和密钥分别与在对该发送对象切割数据进行加密时所使用的算法和密钥相同。预处理部分32按照上述实施例中的情形将通过切割经加密数据而生成的经加密的切割数据发送到加密和解密部分33。加密和解密部分33利用通过使用接收到的算法生成的用于解密的算法对接收到的经加密的切割数据进行解密,以便生成发送对象切割数据的第一片段。加密和解密部分33根据接收到的关于发送对象切割数据原先被如何生成的上述信息从所生成的发送对象切割数据中去除哑数据。随后,公共数据生成部分34在发送对象切割数据的第二片段被从预处理部分32发送到加密和解密部分33之前生成公共数据的下一片段,以便将其发送到算法生成部分35。在接收到该片段后,算法生成部分35生成与用于生成发送对象切割数据的第一片段的算法不同的算法,并将其发送到加密和解密部分33。该算法与用于加密该发送对象切割数据的算法相同。在接收到公共数据后,密钥生成部分36生成与用于生成发送对象切割数据的第一片段的密钥不同的密钥,并将其发送到加密和解密部分33。该密钥与用于加密该发送对象切割数据的密钥相同。加密和解密部分33利用这些算法和密钥对经加密的切割数据的第二片段进行解密以生成发送对象切割数据的第二片段。其还按照上述实施例中的情形去除哑数据。这一步骤被重复以利用不同的算法和密钥对经加密的切割数据的每个片段进行解密,以便一个接一个地生成发送对象切割数据。在执行加密过程中,通过也将公共数据的在前的第二片段发送到预处理部分32而针对发送对象切割数据的每个片段改变生成发送对象切割数据的方法的情形中,在执行解密时公共数据的在前的第二片段也被发送到预处理部分32。从而,预处理部分32针对经加密的切割数据的每个片段生成关于发送对象切割数据原先被如何生成的信息。每次经加密的切割数据被加密和解密部分33解密时,这样生成的上述关于发送对象切割数据原先被如何生成的信息被发送到加密和解密部分33。加密和解密部分33使用该信息来通过不同方法安全地去除嵌入在 发送对象切割数据的每个片段中的哑数据。
权利要求
1.一种包括第一通信装置和第二通信装置的通信系统,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为所述发送对象数据,其中: 所述第一通信装置和所述第二通信装置都包括: 切割装置,用于以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据,也用于以所述经加密数据在被加密时被切割的相同位数为单位将所述经加密数据切割成多个片段的经加密的切割数据; 加密和解密装置,用于利用在所述第一通信装置和所述第二通信装置之间公共的算法对所述发送对象切割数据进行加密以使其成为所述经加密数据,并且利用在对所述经加密的切割数据进行加密时所使用的算法对所述经加密的切割数据进行解密以使其成为所述发送对象切割数据; 连接装置,用于连接解密后的发送对象切割数据以使其成为所述发送对象数据;以及 发送和接收装置,用于发送和接收所述经加密数据,并且 所述切割装置切割所述发送对象数据,使得至少一个片段的所述发送对象切割数据具有与其它片段的所述发送对象切割数据不同的位数, 所述第一通信装置和所述第二通信装置都包括混合装置,用于在所述发送对象切割数据中除最大位数的一个片段外的其它部分中包括与所述发送对象数据无关的哑数据,从而使所述发送对象切割数据的每一片段的位数与所述发送对象切割数据的最大位数的片段的位数匹配。
2.一种包括第一通信装置和第二通信装置的通信系统,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为所述发送对象数据,其中: 所述第一通信装置和所述第二通信装置都包括: 切割装置,用于以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据,也用于以所述经加密数据在被加密时被切割的相同位数为单位将所述经加密数据切割成多个片段的经加密的切割数据; 加密和解密装置,用于利用在所述第一通信装置和所述第二通信装置之间公共的算法对所述发送对象切割数据进行加密以使其成为所述经加密数据,并且利用在对所述经加密的切割数据进行加密时所 使用的算法对所述经加密的切割数据进行解密以使其成为所述发送对象切割数据,以便以基准位数为基准执行加密或解密; 连接装置,用于连接解密后的发送对象切割数据以使其成为所述发送对象数据;和发送和接收装置,用于发送和接收所述经加密数据,并且所述切割装置以比所述基准位数少的位数为单位切割所述发送对象数据;并且所述第一通信装置和所述第二通信装置都包括混合装置,用于在所述发送对象切割数据中包括与所述发送对象数据无关的哑数据,从而使所述发送对象切割数据的位数与所述基准位数匹配。
3.一种包括第一通信装置和第二通信装置的通信系统,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为所述发送对象数据,其中:所述第一通信装置和所述第二通信装置都包括: 切割装置,用于以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据,也用于以所述经加密数据在被加密时被切割的相同位数为单位将所述经加密数据切割成多个片段的经加密的切割数据; 公共数据生成装置,用于顺序地生成在所述第一通信装置和所述第二通信装置之间是公共的公共数据; 加密和解密装置,用于利用基于接收自所述公共数据生成装置的公共数据而生成的在所述第一通信装置和所述第二通信装置之间公共的算法对所述发送对象切割数据进行加密以使其成为所述经加密数据,并且利用在对所述经加密的切割数据进行加密时所使用的算法对所述经加密的切割数据进行解密以使其成为所述发送对象切割数据; 连接装置,用于连接解密后的发送对象切割数据以使其成为所述发送对象数据;和 发送和接收装置,用于发送和接收所述经加密数据,并且 所述公共数据生成装置在所述加密和解密装置接收到所述发送对象切割数据或所述经加密的切割数据的时候生成所述公共数据,以及 所述切割装置切割所述发送对象数据,使得至少一个片段的所述发送对象切割数据具有与其它片段的所述发送对象切割数据不同的位数, 所述第一通信装置和所述第二通信装置都包括混合装置,用于在所述发送对象切割数据中除最大位数的一个片段外的其它部分中包括与所述发送对象数据无关的哑数据,从而使所述发送对象切割数据的每一片段的位数与所述发送对象切割数据的最大位数的片段的位数匹配。
4.一种包括第一通信装置和第二通信装置的通信系统,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为所述发送对象数据,其中: 所述第一通信装置和所述第二通信装置都包括: 切割装置,用于以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据,也用于以所述经加密数据在被加密时被切割的相同位数为单位将所述经加密数据切割成多个片段的经加密的切割数据; 公共数据生成装置,用于顺序地生成在所述第一通信装置和所述第二通信装置之间是公共的公共数据; 加密和解密装置,用于利用基于接收自所述公共数据生成装置的公共数据而生成的在所述第一通信装置和所述第二通信装置之间公共的算法对所述发送对象切割数据进行加密以使其成为所述经加密数据,并且利用在对所述经加密的切割数据进行加密时所使用的算法对所述经加密的切割数据进行解密以使其成为所述发送对象切割数据,以便以基准位数为基准执行加密或解密; 连接装置,用于连接解密后的发送对象切割数据以使其成为所述发送对象数据;和 发送和接收装置,用于发送和接收所述经加密 数据,并且 所述公共数据生成装置在所述加密和解密装置接收到所述发送对象切割数据或所述经加密的切割数据的时候生成所述公共数据,并且 所述切割装置以比所述基准位数少的位数为单位切割所述发送对象数据;并且所述第一通信装置和所述第二通信装置都包括混合装置,用于在所述发送对象切割数据中包括与所述发送对象数据无关的哑数据,从而使所述发送对象切割数据的位数与所述基准位数匹配。
5.如权利要求4所述的通信系统,其中: 所述切割装置以比所述基准位数少的预定位数为单位切割所述发送对象数据。
6.如权利要求5所述的通信系统,其中: 所述混合装置在所述发送对象数据的特定位置上包括所述哑数据。
7.如权利要求5所述的通信系统,其中: 所述混合装置对于每一片段的所述发送对象数据在不同的预定位置上包括所述哑数据。
8.如权利要求5所述的通信系统,其中: 所述切割装置切割所述发送对象数据,使得至少一个片段的所述发送对象切割数据具有与其它片段的所述发送对象切割数据不同的位数。
9.如权利要求3或4所述的通信系统,其中: 所述公共数据生成装置生成伪随机数作为所述公共数据。
10.如权利要求9所述的通信系统,其中: 所述公共数据生成装置在每次所述发送对象数据被加密或者所述经加密数据被解密时生成所述公共数据。
11.如权 利要求9所述的通信系统,其中: 所述公共数据生成装置在每次所述发送对象切割数据被加密或者所述经加密的切割数据被解密时生成所述公共数据。
12.如权利要求7所述的通信系统,其中: 所述混合装置基于所述公共数据决定用于包括所述哑数据的预定位置。
13.如权利要求8所述的通信系统,其中: 所述切割装置基于所述公共数据切割所述发送对象数据,使得至少一个片段的所述发送对象切割数据具有与其它片段的所述发送对象切割数据不同的位数。
14.一种在包括第一通信装置和第二通信装置的通信系统中实施的通信方法,所述两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为所述发送对象数据,所述方法包括: 用于所述第一通信装置和所述第二通信装置中的一个的以下步骤: 以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据; 利用预定算法对所述发送对象切割数据进行加密以使其成为所述经加密数据;和 将所述经加密数据发送到所述第一通信装置和所述第二通信装置中的另一个,以及 用于所述第一通信装置和所述第二通信装置中的另一个的以下步骤: 以所述经加密数据在被加密时被切割的相同位数为单位将接收的经加密数据切割成多个片段的经加密的切割数据; 利用在对所述经加密的切割数据进行加密时所使用的算法对所述经加密的切割数据进行解密以使其成为所述发送对象切割数据;和连接解密后的发送对象切割数据以使其成为所述发送对象数据,并且所述第一通信装置和所述第二通信装置中的所述一个切割所述发送对象数据,使得至少一个片段的所述发送对象切割数据具有与其它片段的所述发送对象切割数据不同的位数, 其中,在所述第一通信装置和所述第二通信装置中,在所述发送对象切割数据中除最大位数的一个片段外的其它部分中包括与所述发送对象数据无关的哑数据,从而使所述发送对象切割数据的每一片段的位数与所述发送对象切割数据的最大位数的片段的位数匹配。
15.一种在包括第一通信装置和第二通信装置的通信系统中实施的通信方法,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为所述发送对象数据,所述方法包括: 用于所述第一通信装置和所述第二通信装置中的一个的以下步骤: 以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据; 利用预定算法对所述发送对象切割数据进行加密以使其成为所述经加密数据;和 将所述经加密数据发 送到所述第一通信装置和所述第二通信装置中的另一个,以及 用于所述第一通信装置和所述第二通信装置中的另一个的以下步骤: 以所述经加密数据在被加密时被切割的相同位数为单位将接收的经加密数据切割成多个片段的经加密的切割数据; 利用在对所述经加密的切割数据进行加密时所使用的算法对所述经加密的切割数据进行解密以使其成为所述发送对象切割数据;和 连接解密后的发送对象切割数据以使其成为所述发送对象数据,并且 所述第一通信装置和所述第二通信装置 在接收到所述发送对象切割数据或所述经加密的切割数据的时候生成公共数据;以及 以基准位数为基准执行加密或解密,并且 所述第一通信装置和所述第二通信装置中的所述一个 以比所述基准位数少的位数为单位切割所述发送对象数据;以及 在所述发送对象切割数据中包括与所述发送对象数据无关的哑数据,从而使所述发送 对象切割数据的位数与所述基准位数匹配。
16.一种在包括第一通信装置和第二通信装置的通信系统中实施的通信方法,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为所述发送对象数据,所述方法包括: 用于所述第一通信装置和所述第二通信装置中的一个的以下步骤: 以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据; 顺序地生成预定的公共数据; 利用基于所述公共数据生成的算法对所述发送对象切割数据进行加密以使其成为所述经加密数据;和 将所述经加密数据发送到所述第一通信装置和所述第二通信装置中的另一个,以及用于所述第一通信装置和所述第二通信装置中的另一个的以下步骤: 以所述经加密数据在被加密时被切割的相同位数为单位将接收的经加密数据切割成多个片段的经加密的切割数据; 顺序地生成与所述第一通信装置和所述第二通信装置中的所述一个共有的公共数据; 利用基于所生成的公共数据而生成的、在对所述经加密的切割数据进行加密时所使用的算法对所述经加密的切割数据进行解密,以使其成为所述发送对象切割数据;和连接解密后的发送对象切割数据以使其成为所述发送对象数据,并且所述第一通信装置和所述第二通信装置 在接收到所述发送对象切割数据或所述经加密的切割数据的时候生成所述公共数据;以及 切割所述发送对象数据,使得至少一个片段的所述发送对象切割数据具有与其它片段的所述发送对象切割数据不同的位数, 其中,在所述第一通信装置和所述第二通信装置中,在所述发送对象切割数据中除最大位数的一个片段外的其它部分中包括与所述发送对象数据无关的哑数据,从而使所述发送对象切割数据的每一片段的位数与所述发送对象切割数据的最大位数的片段的位数匹配。
17.—种在包括第一通信装置和第二通信装置的通信系统中实施的通信方法,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数据进行解密,使其成为所述发送对象数据,所述方法包括: 用于所述第一通信装置和所述第二通信装置中的一个的以下步骤: 以预定的位数为单位将所述发送对象数据切割成多个片段的发送对象切割数据; 顺序地生成预定的公共数据; 利用基于所述公共数据生成的算法对所述发送对象切割数据进行加密以使其成为所述经加密数据;和 将所述经加密数据发送到所述第一通信装置和所述第二通信装置中的另一个,以及 用于所述第一通信装置和所述第二通信装置中的另一个的以下步骤: 以所述经加密数据在被加密时被切割的相同位数为单位将接收的经加密数据切割成多个片段的经加密的切割数据; 顺序地生成与所述第一通信装置和所述第二通信装置中的所述一个共有的公共数据; 利用基于所生成的公共数据而生成的、在对所述经加密的切割数据进行加密时所使用的算法对所述经加密的切割数据进行解密,以使其成为所述发送对象切割数据;和连接解密后的发送对象切割数据以使其成为所述发送对象数据,并且所述第一通信装置和所述第二通信装置 在接收到所述发送对象切割数据或所述经加密的切割数据的时候生成所述公共数据;以及 以基准位数为基准执行加密或解密;所述第一通信装置和所述第二通信装置中的所述一个以比所述基准位数少的位数为单位切割所述发送对象数据;以及在所述发送对象切割数据中包括与所述发送对象数据无关的哑数据,从而使所述发送对象切割数据的位数与所述基准位数匹配。
18.一种 包括在如权利要求1、2、3或4所述的通信系统中的通信装置。
全文摘要
本公开涉及通信系统和通信方法。其改进了一种包括两个通信装置的通信系统,以便减小其通信被第三方解密的可能性。该通信系统包括第一通信装置和第二通信装置,其中这两个通信装置之一对发送对象数据进行加密,并将其发送到另一个通信装置,该另一个通信装置随后对接收到的经加密数据进行解密。在执行加密之前,每一个通信装置以预定的位数为单位切割发送对象数据以生成发送对象切割数据。在这种情况下,通信装置中的每一个改变发送对象切割数据的位数,并将位数的大小与发送对象切割数据的位数中的最大位数相匹配的哑数据混合到发送对象切割数据中除该最大位数的片段以外的其它片段中。
文档编号H04L9/08GK103220138SQ20131002601
公开日2013年7月24日 申请日期2006年1月4日 优先权日2005年1月7日
发明者中村贵利 申请人:恩克利普特株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1