通信系统和通信方法

文档序号:7635585阅读:155来源:国知局
专利名称:通信系统和通信方法
技术领域
本发明涉及包括两个通信装置的通信系统,这两个通信装置能够对纯文本形式(plaintext)的发送对象数据进行加密以使其成为经加 密数据,然后将其发送到另一端的通信装置,也能够对接收到的经加 密数据进行解密以使其成为所述发送对象数据。
背景技术
上迷通信系统被用在有必要使在两个通信装置之间发送的发送 对象数据对于第三方保密的情形中。尽管提出并使用了各种加密技术 以保持发送对象数据的机密性,但是很难完全防止代码的解密。通常,通过对发送对象数据加密而进行的通信是利用以下过程进 行的在发送者一侧的发送和接收装置上以预定的位数为单位切割发 送对象数据,对每一 片段的切割数据进行加密并将其发送到另 一端的 通信装置,并在接收者一侧的发送和接收装置上对接收到的数据进行 解密。在执行这样的加密的情况下,常常使用预定的算法和密钥。该算 法是非常复杂的以防止代码的解密,并且该密钥在许多情况下也按预 定的时序改变。然而, 一旦算法和密钥已知,相对而言就很容易利用 该算法和密钥破解经加密数据,即使该算法很复杂或者密钥是变化的 也是如此。本发明人对加密技术进行了多年的研究,并且先前已发明了一种 用于进行加密通信的技术,其中在发送一侧和接收一侧上的通信装置 的每一个都配有用于连续生成用于执行加密和解密的算法和密钥中的 至少一个的公共装置,以便在连续改变用于加密和解密的算法和密钥 中的至少一个的同时进行加密通信。
该技术连续生成用于进行加密和解密的算法和密钥中的至少一 个。即使在算法或密钥一旦已知的情况下,算法或密钥或这两者也会 在其后改变。因此,其力度远高于传统的加密技术。然而,关于该技术,有这样的情形即如果某些过去的算法或密 钥已知,则可以预测算法或密钥或这两者从现在开始如何改变。从而, 被第三方破解的可能性不绝对为0。本发明的目的是改进包括两个通信装置的通信系统,这两个通信 装置能够对纯文本形式的发送对象数据进行加密以使其成为经加密数 据,然后将其发送到另一端的通信装置,也能够对接收到的经加密数 据进行解密,使其成为发送对象数据,以便减小被第三方破解的可能 性。发明内容为了实现该目的,本发明人提出了下面描述的第一发明和第二发明。本申请的第一发明如下。第 一发明是一种包括第 一通信装置和第二通信装置的通信系统,为经加密i据,然后将其发送到i一端的通信装置:也能够对接收到 的经加密数据进行解密,使其成为发送对象数据。该通信系统的第一通信装置和第二通信装置都包括切割装置, 用于以预定的位数为单位将发送对象数据切割成多个片段的发送对象 切割数据,也用于以经加密数据在被加密时被切割的相同位数为单位 将经加密数据切割成多个片段的经加密的切割数据;算法生成装置, 用于顺序地生成在第一通信装置和第二通信装置之间是/^共的算法; 加密和解密装置,用于利用所述算法对发送对象切割数据进行加密以 使其成为经加密数据,并且利用在对经加密的切割数据进行加密时所 使用的算法对经加密的切割数据进行解密以使其成为发送对象切割数 据;连接装置,用于连接解密后的发送对象切割数据以使其成为发送
对象数据;以及发送和接收装置,用于发送和接收经加密数据。该通信系统的算法生成装置在每次发送对象数据被加密或者经加密数据被解密时生成所述算法,并在生成算法时使用通过将过去解中的至少一个指派给解生成算法而获得的预定解,并且还在不再有必要再次指派过去解时擦除这些过去解。该通信系统利用算法生成装置连续地生成用于加密和解密的算法。算法生成装置在生成所述算法时使用"解,,(solution )。如上所述,解是利用过去解生成的。此外,这些解一旦对于生成新的解不再必要时就被擦除。过去解在通信系统中被逐个擦除。由此,即使第三方可能知道在 该时间点处的解,他们也无法知道解在生成过程中经历的路线。由于以上原因,通过该通信系统进行的加密通信可能被第三方破 解的可能性很小。解可以是伪随机数。该通信系统按这样的时序更新算法以利用对于第一通信装置和 第二通信装置来说相同的算法执行加密和解密。算法生成装置可以在 每次发送对象数据被加密或者经加密数据被解密时生成算法。此外,时生成算法。在后一情况下,对于发送对象切割数据的每个片段利用不同的算 法执行加密,因此加密可能被解密的可能性变低。算法生成装置根据过去解生成新的解。然而,它也可以通过将多 个过去解指派给解生成算法而获得解。更具体而言, 一个或多个过去 解可以被指派给解生成算法以生成新的解。第一发明也可以通过以下方法实现。该方法被实施在包括第一通信装置和第二通信装置的通信系统 中,这两个通信装置能够对纯文本形式的发送对象数据进行加密以使 其成为经加密数据,然后将其发送到另一端的通信装置,也能够对接 收到的经加密数据进行解密,使其成为发送对象数据。该方法包括用于第一通信装置和第二通信装置中的一个的以下 步骤以预定的位数为单位将发送对象数据切割成多个片段的发送对 象切割数据;顺序地生成算法;利用所述算法对发送对象切割数据进 行加密以使其成为经加密数据;以及将经加密数据发送到第一通信装 置和第二通信装置中的另一个,以及用于第一通信装置和第二通信装 置中的另一个的以下步骤以经加密数据在被加密时被切割的相同位据:顺j地生成与第二通信装置和第二通信装置中的;斤述二个生成的相同的算法;利用在对经加密的切割数据进行加密时所使用的算法对 经加密的切割数据进行解密以使其成为发送对象切割数据;以及连接 解密后的发送对象切割数据以使其成为发送对象数据。根据该方法,第一通信装置和第二通信装置中的一个和另一个在 每次发送对象数据被加密或者经加密数据被解密时生成所述算法,并 在生成所述算法时使用通过将过去解中的至少一个指派给解生成算法 而获得的预定解,并且还在不再有必要再次指派过去解时擦除这些过 去解。才艮据该申请的第二发明如下。第二发明是一种包括第 一通信装置和第二通信装置的通信系统, 这两个通信装置能够对纯文本形式的发送对象数据进行加密以^_其成 为经加密数据,然后将其发送到另一端的通信装置,也能够对接收到 的经加密数据进行解密,使其成为发送对象数据,其中第一通信装置 和第二通信装置都包括切割装置,用于以预定的位数为单位将发送对象数据切割成多个片段的发送对象切割数据,也用于以经加密数据经加密的切割数据;密钥生成装置,用于顺序地生成在第一通信装置 和第二通信装置之间是公共的密钥;加密和解密装置,用于利用所述 密钥和一预定算法对发送对象切割数据进行加密以使其成为经加密数 据,并且利用在对经加密的切割数据进行加密时所使用的密钥和与所 述算法相同的算法对经加密的切割数据进行解密以使其成为发送对象切割数据;连接装置,用于连接解密后的发送对象切割数据以^使其成 为发送对象数据;以及发送和接收装置,用于发送和接收经加密数据。该通信系统的密钥生成装置在每次发送对象数据被加密或者经 加密数据被解密时生成所述密钥,并在生成所述密钥时使用通过将过 去解中的至少一个指派给解生成算法而获得的预定解,并且还在不再 有必要再次指派过去解时擦除这些过去解。根据第二发明的通信系统与第一发明具有共同的主旨。与第一发 明中连续生成算法不同的是,根据第二发明的通信系统连续地生成密 钥。在生成密钥的情况下,与第一发明中生成算法的情况一样^:用过 去解,并且在其不再被使用时擦除过去解。因此,关于根据第二发明 的通信系统,通信可能被第三方破解的可能性很小。这一情况下的解也可以是伪随机数。第二发明的密钥生成装置可以在任何时刻生成密钥。例如,密钥被解密时生成密钥。密钥生成装置通过将过去解指派给解生成算法而获得解。指派给 解生成算法的解的数目可以是一个或多个。第二发明也可以通过以下方法实现。第二发明是一种在包括第一通信装置和第二通信装置的通信系 统中实施的方法,这两个通信装置能够对纯文本形式的发送对象数据 进行加密以使其成为经加密数据,然后将其发送到另 一端的通信装置, 也能够对接收到的经加密数据进行解密,使其成为发送对象数据。第二发明包括用于第一通信装置和第二通信装置中的一个的以 下步骤以预定的位数为单位将发送对象数据切割成多个片段的发送 对象切割数据;利用所述密钥和一预定的算法对发送对象切割数据进 行加密以使其成为经加密数据;以及将经加密数据发送到第 一通信装 置和第二通信装置中的另一个,以及用于第一通信装置和第二通信装 置中的另一个的以下步骤以经加密数据在被加密时被切割的相同位 数为单位将接收到的经加密数据切割成多个片段的经加密的切割数据;顺序地生成与第一通信装置和第二通信装置中的所述一个生成的 相同的密钥;利用在对经加密的切割数据进行加密时所使用的密钥和 与所述算法相同的算法对经加密的切割数据进行解密以使其成为发送 对象切割数据;以及连接解密后的发送对象切割数据以使其成为发送 对象数据。第一通信装置和第二通信装置中的一个和另一个在每次发 送对象数据被加密或者经加密数据被解密时生成所述密钥,并在生成 所述密钥时使用通过将过去解中的至少一个指派给解生成算法而获得 的预定解,并且还在不再有必要再次指派过去解时擦除这些过去解。


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