CN100555363C - 加密方法、密码解码方法、加密器、密码解码器、发送/接收系统和通信系统 - Google Patents

加密方法、密码解码方法、加密器、密码解码器、发送/接收系统和通信系统 Download PDF

Info

Publication number
CN100555363C
CN100555363C CNB2006101393234A CN200610139323A CN100555363C CN 100555363 C CN100555363 C CN 100555363C CN B2006101393234 A CNB2006101393234 A CN B2006101393234A CN 200610139323 A CN200610139323 A CN 200610139323A CN 100555363 C CN100555363 C CN 100555363C
Authority
CN
China
Prior art keywords
random number
pseudo random
output
modulation
demodulation
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
Application number
CNB2006101393234A
Other languages
English (en)
Other versions
CN1937008A (zh
Inventor
吉田節生
広田修
尾中宽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN1937008A publication Critical patent/CN1937008A/zh
Application granted granted Critical
Publication of CN100555363C publication Critical patent/CN100555363C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供了加密方法、密码解码方法、加密器、密码解码器、发送/接收系统和通信系统。一种加密技术包括:第一调制步骤,通过与由物理随机数确定的特定状态对相关联来对输入数据进行多级调制;第二调制步骤,通过使用物理随机数与另一信号不规则关联来输出第一步骤的输出;以及信道编码步骤,将第二步骤的输出信道编码为期望码字,并且将其作为加密数据输出,其中通过对加密数据进行信道解码而获得的解码信号可以辨别该信号与特定状态对中的哪个状态相对应,并且可以被解调为输入数据,并且通过使用该特定状态对以外的状态对进行的第一调制和使用与该物理随机数不同的物理随机数进行的第二调制来输出该信号。

Description

加密方法、密码解码方法、加密器、密码解码器、发送/接收系统和通信系统
技术领域
本发明涉及在其中对信息进行加密以进行发送和接收的系统中使用的加密/密码解码技术,尤其涉及下述的技术,该技术通过使用经典物理随机数而不是Yuen量子密码系统中的量子波动,来实现与传统的数学加密相比具有大得多的加密强度的经典Yuen加密,并且能够应用于各种介质。
背景技术
在现代网络中,作为加密方法,使用了诸如公用密钥加密法的数学加密。典型的示例包括流密码(经典密码)。图17是表示应用了流密码的普通发送/接收系统的结构的框图,并且图17中所示的发送/接收系统100被构造为包括:加密器110,用于在合法的发送器侧对明文进行加密;以及密码解码器120,用于在合法的接收器侧对经由网络等发送的密文进行解码。
这里,加密器110被构造为包括伪随机数生成器111和调制部分(异或算术单元)112。伪随机数生成器111根据预先设定的加密密钥K生成并输出伪随机数ri,并且例如,如果加密密钥K是100位的二进制数,则作为伪随机数ri,生成(2100-1)位的二进制数,即,周期为(2100-1)位的伪随机数。调制部分112计算要加密的明文xi和由伪随机数生成器111生成的伪随机数ri的异或,并将其输出为密文ci。换句话说,调制部分112根据伪随机数ri对明文xi进行加密,并将其输出为密文ci
另外,密码解码器120被构造为包括伪随机数生成器121和解调部分(异或算术单元)122。伪随机数生成器121根据与加密器110的伪随机数生成器111相同的加密密钥K,与伪随机数生成器111同步地生成并输出伪随机数ri。解调部分122计算从加密器110发送的密文和由伪随机数生成器111生成的伪随机数的异或(XOR),并将其输出为明文xi。换句话说,解调部分122根据伪随机数ri(根据与在加密器110侧用来生成伪随机数ri的加密密钥K相同的加密密钥而生成的伪随机数),与加密器110侧的伪随机数ri同步地对密文ci进行解码,并将其输出为明文xi
在应用了这种流密码的发送/接收系统100中,存在下述的可能性:可以通过被称为已知明文攻击的攻击方法来对密文ci进行解码。该已知明文攻击是这样的一种攻击方法,通过该攻击方法,拦截者不仅拦截了密文ci,而且获取了在被加密成密文ci之前的明文xi,并且通过对密文ci和明文xi进行比较来获得伪随机数,并使用该伪随机数来对除了已获得其明文的部分以外的密文进行解码。
由于伪随机数生成器111根据加密密钥K来计算并输出表现为伪方式的随机数的数值序列,所以如果所获取的从伪随机数生成器111输出的伪随机数序列具有等于或大于加密密钥K的数位数量,则根据该伪随机数序列反向计算加密密钥K,并且作为结果,再现所有的伪随机数。例如,如果获取了100位的密文和与该密文相对应的100位的明文,则反向计算出100位的加密密钥,并且还对其他密文进行解码。
在这种情况下,近来,提出了一种被认为对于包括上述已知明文攻击在内的任意攻击方法无法进行解码(无条件安全)的量子密码技术。例如,在以下非专利文献1和2中,提出了一种被称为Yuen密码(Y-00方案量子加密术)的技术或者一种被称为量子流密码的技术。该Y-00方案量子加密术是使用量子-机械非正交状态下的多个量子态作为多级信号的量子密码通信。
下面将参照图18来说明其中通过使用相干态下的光束的相位作为量子态,以多级相位调制方案来实现Y-00方案量子加密术的情况。
将一位“0”的明文和一位“1”的明文交替地分配给以临接相位角设置的相干光束。在图18所示的示例中,设置在相位角φi-1、φi、φi+1、φi+2...的相干光束分别分配有明文“0”、“1”、“0”、“1”...。
当以光子数表示的光强大约为10,000时,将相位多级信号的设置间隔设计为使得由于执行大约200级的多级相位调制而导致的量子波动(相干噪声),造成无法彼此区分相位角接近的相干光束。在图18所示的示例中,将相位多级信号的设置间隔设计为使得通过对具有相位角φi的相干光束进行多级相位调制,使分别设置在临接相位角φi-1和φi+1的两个相干光束落入量子波动内。
另一方面,彼此具有180度的相位角差的相干光束分配有相反位的明文。例如,当为相位角为0度的相干光束分配了一位“0”明文时,为相位角为180度的相干光束分配一位“1”明文。以彼此具有180度的相位角差的这些相干光束作为集合,使用使发送侧和接收侧同步的伪随机数来确定使用多个集合中的哪一个来表示一位明文,并将其切换至另一个,以进行一位明文的各次通信。
在图18所示的示例中,相位角为φi-1、φi、φi+1、φi+2...的各个相干光束分配有明文“0”、“1”、“0”、“1”...,并且如上所述,彼此具有180度的相位角差的相干光束,即,相位角为φi-1+180°、φi+180°、φi+1+180°、φi+2+180°...的各个相干光束分配有明文“1”、“0”、“1”、“0”...。此时,当设定了N(N为偶数)个具有不同相位角的相干光束时,作为结果,设定了N/2组彼此具有180度的相位角差的相干光束,并且生成了N/2个整数值当中(例如0到(N/2-1)当中)的值作为伪随机数。然后,在发送一位“1”的明文时,例如,如果作为伪随机数生成了“i”则选择相位角为φi和φi+180°的那组相干光束,并且对相位角为φi的相干光束执行多级相位调制,以使得相位角为φi的相干光束以及相位角为φi-1和φi+1的邻接相干光束落入量子波动中,由此发送经过多级相位调制之后的光信号。
由于接收侧通过使用与发送侧同步的伪随机数而知道使用了哪一组相干光束,所以通过对相位角相差180度的两种状态进行辨别,可以判断出明文是“1”还是“0”。
此时,由于量子波动很小,所以妨碍了对相位角彼此接近(辨别距离较小)的相干光束的辨别,然而,没有妨碍何时接收对相位角相差180度的两个相干光束中的哪一个的辨别。然而,拦截者不知道合法发送器和接收器所使用的伪随机数,因此,对于她/他来讲,无法知道通信中使用了多组相干光束中的哪一组。
因此,为了对所拦截的密码进行解码,拦截者需要正确地获知发送器所发送的相干光束的相位,以便对经过多级相位调制的光信号进行解调。然而,即使拦截者已经拦截了流经传输信道的相干光束,该拦截者也无法对表示明文(“1”或“0”)的状态的相干光束与相位角和所述相干光束接近的相干光束进行辨别以进行解调,因为它被淹没在量子波动中。
例如,如果接收侧接收到已经过多级相位调制的光信号,以使得如上所述,相位角为φi的相干光束和与其相邻的相位角为φi-1和φi+1的相干光束落入量子波动中,则拦截者需要在相位角为φi-1、φi和φi+1的相干光束(辨别距离很小的相干光束)之间进行辨别,因此无法进行解码。与此相反,合法接收器根据与发送侧的伪随机数同步的伪随机数可以辨别出使用了相位角为φi和φi+180°的那组相干光束,因此,可以在相位角相差180度的两个状态之间进行辨别,以进行解调以获知明文为“1”,从而对密码进行解码。
如上所述,根据Y-00方案量子加密术,与没有量子波动的经典加密术相比,可以保证非常高的安全性,因为对信息进行了设计,以使得由于量子波动而无法进行辨别。作为一种用于进一步提高安全性的技术,已经开发了对要发送的多级信号进行不规则变化的谨慎信号随机化(deliberate signal randomization,DSR)理论。参见非专利文献1和3。
另一方面,上述方案无法用于电信号或者电磁波,因为其使用了量子-机械通信介质。尽管在安全性方面次于量子系统,但是Tamagawa大学等已对被称作经典Y-00方案的在经典物理系统中执行这种加密术的方案进行了研究。
[非专利文献1]H.P.Yuen,“A New Approach to QuantumCryptography”,quant-ph/0311061V6(2004)
[非专利文献2]O.Hirota,K.Kato,M.Sohma,T.Usuda,K.Harasawa,“Quantum stream cipher based on optical communications”,Proc.onQuantum communication and quantum imaging,SPIE,vol-5551,2004
[非专利文献3]T.Tsuchimoto,T.Tomari,S.Usami,T.Usuda,I.Takumi,“Quantum optimum detection properties for mixed state by DSR”,The 27th Information Theory and Applications Symposium,vol-1,pp.359-362,December,2004
为了在量子系统中执行上述Y-00方案,必须使用具有量子-机械特性的通信介质,因此,其应用范围有限。在这种情况下,本发明的申请人提出了一种使用经典物理系统中的伪随机数和物理系统中的噪声来执行该Y-00方案的经典Y-00方案(例如,日本专利申请No.2004-260512等)。然而,到目前为止,该经典Y-00方案的实施例被应用于模拟DSR,因此,其输出必须是多级信号,并且该加密技术不能应用于诸如电子存储器、软盘、CD(光盘)和DVD(数字多功能盘)等的记录介质。
发明内容
鉴于上述问题而提出本发明,因此本发明的目的是提供一种经典Y-00方案加密技术,其能够应用于诸如电子存储器、软盘、CD(光盘)和DVD(数字多功能盘)等的记录介质,并且具有比传统数学加密大得多的加密强度。
为了实现上述目的,本发明的加密方法的特征在于,通过以下步骤来产生加密数据:第一调制步骤,用于通过使输入数据与由伪随机数确定的特定状态对相关联,来对该输入数据进行多级调制;第二调制步骤,用于执行离散DSR技术,该离散DSR技术通过使第一调制步骤中的输出与由物理随机数确定的离散值相关联,来对该输出进行调制;以及信道编码步骤,用于将所述输出信道编码为所期望的码字,并且通过对所述加密数据进行信道解码而获得的解码信号是这样一种信号,可以通过使用所述伪随机数来辨别该信号与所述特定状态对中的哪个状态相对应,将该信号解调为所述输入数据,并且可以通过使用所述特定状态对以外的一对状态进行的第一调制和使用与所述物理随机数不同的物理随机数进行的第二调制来输出该信号。
此外,在执行所述离散DSR技术时,优选地,使用所述物理随机数选择的状态数等于或大于4,并且被设定为不超过状态对的组数。在用于进行离散DSR的第二调制步骤中,通过向/从第一调制步骤中的输出中添加/减去所述物理随机数来进行调制,根据所期望的加密强度来确定通过所述物理随机数选择的状态数,根据状态数来确定状态对的数量,并且根据状态对的数量来确定伪随机数的状态数。
本发明的密码解码方法的特征在于,包括将加密数据信道解码为解码信号的步骤,该加密数据是通过执行以下操作而获得的:第一调制,用于通过使输入数据与由伪随机数确定的特定状态对相关联,来对该输入数据进行多级调制;将第二调制的输出信道编码为所期望的码字,所述第二调制用于执行离散DSR技术,该离散DSR技术通过使所述第一调制的输出与由物理随机数确定的离散值相关联来对所述第一调制的输出进行调制;以及进行加密,以使得通过对所述加密数据进行信道解码而获得的解码信号是这样一种信号,可以通过使用所述伪随机数来辨别该信号与所述特定状态对中的哪个状态相对应,将该信号解调为所述输入数据,并且可以通过使用所述特定状态对以外的一对状态进行的第一调制和使用与所述物理随机数不同的物理随机数进行的第二调制来输出该信号,其中通过基于与产生了在第一调制中使用的伪随机数的加密密钥相同的加密密钥,使用该伪随机数辨别所述解码信号与所述特定状态对中的哪个状态相对应,来将所述解码信号解调为所述输入数据。
本发明的加密器的特征在于,包括:伪随机数产生部分,用于根据加密密钥来产生伪随机数;第一调制部分,用于通过使输入数据与由伪随机数产生部分产生的伪随机数所确定的特定状态对相关联,来对该输入数据进行多级调制;物理随机数产生部分,用于根据物理现象来产生物理随机数;第二调制部分,用于通过使所述第一调制部分的输出与由所述物理随机数产生部分产生的物理随机数所确定的离散值相关联,来对所述第一调制部分的输出进行调制;以及信道编码部分,用于将所述第二调制部分的输出信道编码为所期望的码字,并将该码字输出为加密数据,其中,通过第一调制部分和第二调制部分来进行调制,以使得通过对所述加密数据进行信道解码而获得的解码信号是这样一种信号,可以通过使用所述伪随机数来辨别该信号与所述特定状态对中的哪个状态相对应,将该信号解调为所述输入数据,并且可以通过使用所述特定状态对以外的一对状态进行的第一调制和使用与所述物理随机数不同的物理随机数进行的第二调制来输出该信号。
在这种加密器中,可以将伪随机数产生部分、第一调制部分、物理随机数产生部分以及第二调制部分设置在防篡改区域中,以抑制由于通过物理随机数产生部分产生的物理随机数中的物理干扰而导致的概率分布变化,并抑制加密密钥和伪随机数的泄露,或者所述伪随机数产生部分可以被构造为禁止对伪随机数产生操作进行重置和重复。此外,本发明的加密器可以包括:
非易失性第一保存部分,用于:保存时钟信号的输入次数作为伪随机数的输出次数,所述时钟信号用于使所述伪随机数产生部分执行伪随机数产生操作;以及响应于来自所述防篡改区域外部的命令,将所述输出次数输出到所述防篡改区域的外部;以及
同步调节部分,用于根据从第一保存部分读取的输出次数对来自所述伪随机数产生部分的伪随机数的输出次数进行调节,以使得由所述伪随机数产生部分进行的伪随机数产生操作与由所述加密数据的目的地通信设备中的密码解码器的解调伪随机数产生部分进行的解调伪随机数产生操作同步。此外,本发明的解码器可以包括:
非易失性第二保存部分,用于保存与所述目的地通信设备的随机数表相同的随机数表;
密码发送部分,用于:根据保存在第二保存部分中的随机数表,将从第一保存部分读取的伪随机数的输出次数加密为加密同步信息;以及将所述加密同步信息发送至所述目的地通信设备;以及
解码接收部分,用于根据保存在第二保存部分中的随机数表,将从所述目的地通信设备接收的所述加密同步信息解码为解调伪随机数的输出次数,其中当所述解码接收部分解码出的所述目的地通信设备侧的解调伪随机数的输出次数大于从第一保存部分读取的伪随机数的输出次数时,所述同步调节部分可以将来自所述伪随机数产生部分的伪随机数的输出次数调节为所述目的地通信设备侧的解调伪随机数的输出次数。
本发明的密码解码器的特征在于对加密数据进行解码,该加密数据是通过执行以下操作而获得的:第一调制,用于通过使输入数据与由伪随机数确定的特定状态对相关联,来对该输入数据进行多级调制;将第二调制的输出信道编码为所期望的码字,所述第二调制用于执行离散DSR技术,该离散DSR技术通过使所述第一调制的输出与由物理随机数确定的离散值相关联来对所述第一调制的输出进行调制;以及进行加密,以使得通过对所述加密数据进行信道解码而获得的解码信号是这样一种信号,可以通过使用所述伪随机数来辨别该信号与所述特定状态对中的哪个状态相对应,来将该信号解调为所述输入数据,并且可以通过使用所述特定状态对以外的一对状态进行的第一调制和使用与所述物理随机数不同的物理随机数进行的第二调制来输出该信号,并且本发明的密码解码器的特征还在于:信道解码部分,用于将所述加密数据信道解码为解码信号;解调伪随机数产生部分,用于根据与产生了在第一调制中使用的伪随机数的加密密钥相同的加密密钥来产生伪随机数;以及解调部分,用于通过使用由所述伪随机数产生部分产生的伪随机数辨别出所述信号与所述特定状态对中的哪个状态相对应,来将所述解码信号解调为所述输入数据。
在这种密码解密器中,可以将解调伪随机数产生部分和解调部分设置在防篡改区域中,以抑制加密密钥和解调伪随机数的泄露,或者所述解调伪随机数产生部分可以被构造为禁止对解调伪随机数产生操作进行重置和重复。此外,本发明的密码解码器可以包括:
非易失性第一保存部分,用于:保存时钟信号的输入次数作为解调伪随机数的输出次数,所述时钟信号用于使所述解调伪随机数产生部分执行解调伪随机数产生操作;以及响应于来自所述防篡改区域外部的命令,将所述输出次数输出到所述防篡改区域的外部;以及
同步调节部分,用于根据从第一保存部分读取的输出次数,对来自所述解调伪随机数产生部分的解调伪随机数的输出次数进行调节,以使得由所述解调伪随机数产生部分进行的解调伪随机数产生操作与由所述加密数据的发送方通信设备中的加密器的伪随机数产生部分进行的伪随机数产生操作同步。此外,本发明的密码解码器可以包括:
非易失性第二保存部分,用于保存与所述发送方通信设备的随机数表相同的随机数表;
密码发送部分,用于:根据保存在第二保存部分中的随机数表,将从第一保存部分读取的解调伪随机数的输出次数加密为加密同步信息;以及将所述加密同步信息发送至所述发送方通信设备;以及
解码接收部分,用于根据保存在第二保存部分中的随机数表,将从所述发送方通信设备接收的所述加密同步信息解码为伪随机数的输出次数,其中当所述解码接收部分解码出的所述发送方通信设备侧的伪随机数的输出次数大于从第一保存部分读取的解调伪随机数的输出次数时,所述同步调节部分将来自所述解调伪随机数产生部分的解调伪随机数的输出次数调节为所述发送方通信设备侧的伪随机数的输出次数。
本发明的发送/接收系统的特征在于,包括彼此可通信地连接的第一和第二发送/接收设备,其中:
所述第一发送/接收设备被构造为包括:第一加密器,用于对要发送至第二发送/接收设备的输入数据进行加密;以及第一密码解码器,用于对从第二发送/接收设备接收的加密数据进行解码;
所述第二发送/接收设备被构造为包括:第二加密器,用于对要发送至第一发送/接收设备的输入数据进行加密;以及第二密码解码器,用于对从第一发送/接收设备接收的加密数据进行解码;
所述第一和第二加密器中的每一个都包括:
调制伪随机数产生部分,用于根据加密密钥来产生调制伪随机数;
第一调制部分,用于通过使输入数据与由所述调制伪随机数产生部分产生的调制伪随机数所确定的特定状态对相关联,来对该输入数据进行多级调制;
物理随机数产生部分,用于根据物理现象来产生物理随机数;
第二调制部分,用于通过使第一调制部分的输出与由所述物理随机数产生部分产生的物理随机数所确定的离散值相关联,来对第一调制部分的输出进行调制;以及
信道编码部分,用于将所述第二调制部分的输出信道编码为适于通信信道的期望码字,并将该码字输出为加密数据;
第一调制部分和第二调制部分被构造为使得通过对所述加密数据进行信道解码而获得的解码信号是这样一种信号,可以通过使用所述解调伪随机数来辨别该信号与所述特定状态对中的哪个状态相对应,来将该信号解调为所述输入数据,并且可以通过使用所述特定状态对以外的一对状态进行的第一调制和使用与所述物理随机数不同的物理随机数进行的第二调制来输出该信号;并且
所述第一和第二密码解码器被构造为分别包括:
信道解码部分,用于将所述加密数据信道解码为解码信号;
解调伪随机数产生部分,用于根据与产生了所述调制伪随机数的加密密钥相同的加密密钥来产生解调伪随机数;以及
解调部分,用于通过使用由所述解调伪随机数产生部分产生的解调伪随机数辨别出所述信号与所述特定状态对中的哪个状态相对应,来将所述解码信号解调为所述输入信号。
本发明的通信系统的特征在于,包括:
上述加密器,其设置在所述加密数据的发送方通信设备中,用于将所述加密数据作为多个分组发送至目的地通信设备;以及
上述密码解码器,其设置在所述加密数据的目的地通信设备中,用于对从所述发送方通信设备的加密器接收到的各个分组中的加密数据进行解码,其中:
在要从所述加密器发送至所述密码解码器的各个分组的头部中,描述了与所述多个分组有关的序列号或者用于各个分组的容器部分中的加密数据的第一调制部分中所使用的伪随机数的输出次数;并且
所述密码解码器包括:分组保存部分,用于保存来自所述加密器的所述多个分组;以及排列(permutation)部分,用于将保存在所述分组保存部分中的所述多个分组排列为根据各个分组的头部中描述的所述序列号或者输出次数的顺序,并将其输入到所述解调部分。
在这种通信系统中,所述序列号或者输出次数可以包含在要从所述加密器发送至所述密码解码器的各个分组的容器部分中的加密数据中,并且所述密码解码器可以包括:
第一比较部分,用于对各个分组的头部中描述的序列号或者输出次数与所述解调部分对所述加密数据的解调结果中所包含的序列号或者输出次数进行比较;以及
分组丢弃部分,用于当所述第一比较部分的比较结果为所述序列号或者输出次数不一致时,丢弃分组。
根据上述的本发明,通过进一步执行第二调制,可以获得离散信号输出,该第二调制使用用于通过伪随机数进行了多级调制的输出的物理随机数来执行离散DSR技术,因此,可以进行所期望的信道编码,并且由此,可以提供经典Y-00方案加密术,该加密术比传统的数学加密具有大得多的加密强度,并能够作为数据存储在电子存储器以及可以在无线电通信和电子通信中使用的各种记录介质中,并且还能够使得对于通信速度的影响最小化,而不会受到噪声的影响。
附图说明
图1是用于表示作为本发明的实施例的加密器的结构的框图。
图2是用于表示作为本发明的实施例的密码解码器的结构的框图。
图3是用于说明本实施例中的伪随机数与明文和密文之间的对应关系的图。
图4至图7是用于说明本实施例中的加密过程的图。
图8至图10是用于说明本实施例中的密码解码过程的图。
图11(A)至图11(D)是用于说明通过本实施例中的加密技术而获得的密文对于仅密文攻击的加密强度的图。
图12(A)至图12(B)是用于说明通过本实施例中的加密技术而获得的密文对于已知明文攻击的加密强度的图。
图13是用于说明本实施例中的加密/密码解码过程的第一变型例的图。
图14是用于说明本实施例中的加密/密码解码过程的第二变型例的图。
图15是表示应用了本发明的加密/密码解码技术的发送/接收系统的结构示例的框图。
图16是表示应用了本发明的加密/密码解码技术的公共线路系统的结构示例的框图。
图17是表示应用了流密码的普通发送/接收系统的结构的框图。
图18是用于说明Y-00方案量子加密术的图。
图19是用于说明以下方法的图,该方法用于对合法发送器和接收器进行认证,并确认应用了本发明的加密/密码解码技术的发送/接收系统中的伪随机数的同步。
图20是表示应用了本发明的加密/密码解码技术的通信系统的第一示例和第二示例的整体结构的框图。
图21是表示图20所示的通信系统的第一示例中的加密器的结构的框图。
图22是表示图20所示的通信系统的第一示例中的密码解码器的结构的框图。
图23是表示图20所示的通信系统的第二示例中的加密器的结构的框图。
图24是表示图20所示的通信系统的第二示例中的密码解码器的结构的框图。
图25(A)是表示将认证码和输出次数结合到图20所示的通信系统的第二示例中的输入数据(明文)中的示例的图,而图25(B)是表示图25(A)所示的分组输入数据(明文)的示例的图。
图26是表示应用了本发明的加密/密码解码技术的通信系统的第三示例和第四示例的整体结构的框图。
图27是表示图26所示的通信系统的第三示例中的加密器的结构的框图。
图28是表示图26所示的通信系统的第三示例中的密码解码器的结构的框图。
图29是表示图26所示的通信系统的第四示例中的加密器的结构的框图。
图30是表示图26所示的通信系统的第四示例中的密码解码器的结构的框图。
图31是表示应用了本发明的加密/密码解码技术的通信系统的第五示例和第六示例的整体结构的框图。
图32是表示图31所示的通信系统的第五示例中的加密器的结构的框图。
图33是表示图31所示的通信系统的第五示例中的密码解码器的结构的框图。
图34是表示图31所示的通信系统的第六示例中的加密器的结构的框图。
图35是表示图31所示的通信系统的第六示例中的密码解码器的结构的框图。
图36是表示使用随机数产生器而不是本实施例中的物理随机数产生器的结构的框图。
图37是表示应用了本发明的加密/密码解码技术的通信系统中的密码解码器的变型例的结构的框图。
具体实施方式
下面将参照附图来说明本发明的实施例。
[1]本实施例中的加密器的结构
图1是表示作为本发明的实施例的加密器的结构的框图,如图1所示,本实施例中的加密器10被构造为设置有伪随机数产生器11、第一调制部分12、物理随机数产生器13、第二调制部分14和信道编码部分15。
伪随机数产生器(伪随机数产生部分、调制伪随机数产生部分)11根据预先设定的加密密钥K来产生并输出调制伪随机数ri。例如,如果加密密钥K是100位二进制数,则从伪随机数产生器11产生(2100-1)位二进制数,即,周期为(2100-1)位的伪随机数。将伪随机数产生器11的输出作为伪随机数ri进行处理。在本实施例中,伪随机数ri具有M/2个整数0、1、...、(M/2-1)作为其状态。换句话说,ri∈{0,1,,...,(M/2-1)}。这里,M是偶数(奇数×2)恒定值,并且伪随机数ri的状态数为M/2(奇数)。
第一调制部分12通过使明文xi与由伪随机数产生器11产生的调制伪随机数ri所确定的特定状态对相关联,来对作为输入数据的明文xi进行调制,并将其输出为第一调制输出si′。在本实施例中,预先设定了M/2组状态对(状态“0”和状态“1”的对),可以在第一调制部分12中选择这些状态对作为针对明文xi的各个位的特定状态对。该M/2组状态对分别与伪随机数ri的状态0,1,...,(M/2-1)相关联,此外,M/2组状态对的所有状态0和1都预先与不同的多级信号0,1,...,(M-1)分别相关联。然后,第一调制部分12通过伪随机数ri选择M/2组状态对之一作为特定状态对,并将该对分配给明文xi的各个位,并输出为所分配的特定状态对中的一位的状态(0或1)设定的信号,作为这一位的调制输出si′。
如上所述,可以将由第一调制部分12执行的调制概括并表示为如图1中的表12a所示。如表12a中所示,当明文xi的状态是“0”且伪随机数ri是偶数时,第一调制部分12输出伪随机数ri本身作为调制输出si′,当明文xi的状态是“0”且伪随机数ri是奇数时,输出伪随机数ri+M/2作为调制输出si′,当明文xi的状态是“1”且伪随机数ri是偶数时,输出伪随机数ri+M/2作为调制输出si′,而当明文xi的状态是“1”且伪随机数ri是奇数时,输出伪随机数ri本身作为调制输出si′。稍后将参照图4至6来说明第一调制部分12的具体操作(第一调制步骤)。
物理随机数产生器(物理随机数产生部分)13根据物理现象来产生物理随机数fi。作为物理现象,使用诸如自然界的噪声、宇宙射线、热波动(热噪声)以及放射性同位素的衰变的实质上随机的现象,通过使用这种物理现象,物理随机数产生器13可以产生无需加密密钥的随机数序列,该随机数序列无复制性或周期性,因此无法预测。将来自物理随机数产生器13的输出作为物理随机数fi进行处理。在本实施例中,物理随机数fi具有四个整数-2,-1,1和2作为其状态。换句话说,fi∈{-2,-1,1,2}。
第二调制部分14使用由物理随机数产生器13产生的物理随机数fi对第一调制部分12的输出si′进行调制,并将其输出为第二调制输出si。在本实施例中,第二调制部分14使用由下式(1)表示的离散DSR,通过物理随机数fi来执行用于使第一调制输出si′与其他信号不规则关联的操作,并将其输出为第二调制部分的输出si,如图1所示。
si=(si′+fi)mod M    (1)
换句话说,将由物理随机数产生器13产生的物理随机数fi与第一调制部分12的输出si′相加,然后求得该和除以常数M的余数,该余数被认为是第二调制部分14的输出si。这样,稍后将参照图7来说明第二调制部分14的具体操作(第二调制步骤)。
注意,只需要由第一调制部分12和第二调制部分14进行的调制是调制输出为M级的离散多级信号的调制即可,因此,可以不考虑调制方案而使用诸如强度调制、相位调制和PCM(脉冲编码调制)的数字调制。也可以使用调制的输入信号和调制的输出信号,只要它们是可以表示为离散值的信号即可,例如强度信号、相位信号、数字信号、使用多条信号线的并行信号、以及为时序数据的串行数据,而无需考虑信号的类型。
信道编码部分15执行适于第二调制部分14的输出si的通信信道的期望信道编码,并将其输出作为密文ci输出。例如,为了使第二调制部分的输出si适于表示具有两个状态(即,ON状态和OFF状态)的信息的通信信道,将第二调制部分的输出si转换为二进制数。此外,通过纠错码来进行编码,以增加对于通信信道中的误码的抵抗力,并且如果需要,可以执行诸如用于提高编码的使用效率的处理的一系列编码处理。
纠错码的示例包括汉明码、Reed-Solomon码、LDPC(低密度奇偶校验)码、turbo码等。
另外,用于提高编码的使用效率的处理是下面描述的处理。
例如,当M=10时,第二调制部分14对于1位明文的输出si是0到9的多级信号,即,在通过使用BCD(二进制编码的十进制)的二进制数来表示的情况下,为0000到1001,这意味着1位明文需要4位。换句话说,如果将第二调制部分14对于3位明文的输出si表示为BCD,则需要12位。另一方面,如果将第二调制部分14对于3位明文的输出si设置为000到999,并将该十进制数转换为二进制数,则结果将是0000000000到1111100111,即,需要10位来表示,因此,与使用BCD的情况相比,将编码的使用效率提高了2位。为了进一步提高编码的使用效率,对第二调制部分14对于多位明文的整个输出si应用诸如LZW算法和Huffman编码的无损压缩算法是有效的。
注意,在使用第一调制部分12和第二调制部分14(作为第二调制部分14的输出si,已将最佳信号输出给通信信道)时,通过恒等映射(identity mapping)来表示信道编码部分15的操作,此时,可以省略信道编码部分15。
解码信号di是通过由上述第一调制部分12和第二调制部分14进行调制,并进一步由信道编码部分15进行信道编码而获得的经信道编码的密文ci,该解码信号di将是这样一种信号,可以通过使用伪随机数ri辨别该信号与所述特定状态对中的哪个状态相对应来将该信号解调为所述输入数据(明文xi),并且可以通过使用所述特定状态对以外的一对状态进行的第一调制以及使用与在第二调制中实际使用的物理随机数fi不同的物理随机数进行的第二调制来输出该信号。
具体地,通过在第二调制部分14中向/从第一调制部分12的输出si′添加/减去该物理随机数fi,结果,为第一调制部分12的输出si′和第二调制部分14的输出si赋予了不规则的关联。在本实施例中,将物理随机数fi的状态和状态数设定为使得第一范围(参照图2、图9和图10中的Ai)和第二范围(参照图2、图9和图10中的Bi)不交叠,即,彼此相斥,其中该第一范围是要赋予为各个状态对中的一个状态设定的信号(例如,图3中的第一调制的输出“4”)的不规则关联的关联目的地,而该第二范围是要赋予为各个状态对中的另一个状态设定的信号(例如,图3中的第一调制的输出“9”)的不规则关联的关联目的地。因此,在保持其中可以使用针对第一调制部分12的输出si′的物理随机数fi在合法接收器侧辨别明文xi的状态(“1”或“0”)的情形的同时,向第二调制部分14的输出si赋予了该不规则的关联。
这样,当通过在第二调制部分14中使用物理随机数fi对第一调制部分12的输出si′进行调制而向第二调制部分14的输出si赋予不规则关联时,使用了其中如上所述发生了数位(位)的进位的加法/减法。如果使用了诸如对物理随机数fi和第一调制部分12的输出si′的XOR运算的位运算,而不是加法/减法,则有可能在物理随机数fi的低2位的四个状态中形成一组,使得关联出现偏差,因而拦截者可以对密文ci进行解码。因此,不希望使用诸如XOR运算的位运算。
另外,在本实施例中,将上述状态对和物理随机数fi设置为使得其中明文xi是与第二调制部分14的输出si相对应的“1”的情况的数量与其中明文xi是“0”的情况的数量彼此相等,即,如果物理随机数fi和伪随机数ri是随机的,则第二调制的输出si也随机分布。
此外,在本实施例中,将物理随机数fi的状态数设定为等于或大于4且不超过M/2(即,所述状态对的组数)的偶数。
当物理随机数fi的状态数为2时,不再能确保对于已知明文攻击的安全性。此外,如果物理随机数fi的状态数为奇数,则第二调制输出si的状态与明文xi的状态之间的对应关系可能出现偏差,因而提供给拦截者额外的信息。例如,当物理随机数fi的状态数为5时,概率出现偏差,使得当第二调制输出si的状态为“0”时,明文xi的状态为“1”的概率为2/5,而为“0”的概率为3/5。因此,将物理随机数fi的状态数设定为4或者大于4的偶数。这样,下面将参照图12来说明当物理随机数fi的状态数为4时,对于密文ci的已知明文攻击的加密强度。
此外,如果物理随机数fi的状态数超过了M/2(即,状态对的组数),则针对该状态对的状态“1”的不规则关联的目的地与针对同一状态对的状态“0”的不规则关联的目的地相交叠(即,上述第一范围Ai和第二范围Bi相交叠),并且对于密码解码器20(稍后将参照图2进行说明)侧,即使可以使用与解码信号di(即,经信道解码的密文ci)有关的调制伪随机数ri来辨别特定状态对,也不再能够辨别状态0和1。因此,将物理随机数fi的状态数设定为不超过M/2,即,状态对的组数。
此外,在本实施例中,根据目标加密强度来设定物理随机数fi的状态数。为了提高加密强度,增加物理随机数fi的状态数。然后,根据基于目标加密强度而确定的物理随机数fi的状态数来确定状态对的组数M/2,并根据M/2(状态对的组数)来确定伪随机数ri的状态数。例如,在稍后将参照图3至图14进行说明的具体示例中,物理随机数fi的状态数被确定为“4”,而M/2被确定为“5”(符合状态数4的状态对的最小组数(即,M=10))。这样,确定了符合目标加密强度的状态对的最小组数M/2,即M/2,伪随机数ri的最小状态数。通常,可以确定,多级信号的状态数越多,伪随机数产生器11的运算速度(加密处理速度)和总体通信速度就越慢,然而,如上所述,通过确定M/2(伪随机数ri的状态数的最小值),可以在伪随机数产生器11中获得符合目标加密强度的最大运算速度。
[2]本实施例中的密码解码器的结构
图2是表示作为本发明的实施例的密码解码器的结构的框图,如图2所示,本实施例中的密码解码器20对由上述加密器10获得的密文ci进行解码,并被构造为包括伪随机数产生器21、解调部分22和信道解码部分23。
信道解码部分23对由加密器10获得的密文ci进行信道解码,并获得解码信号di
解码信号di和加密器10的第二调制部分14的与相同明文xi相对应的输出si相同。
此外,通过恒等映射来表示在使用能够直接解调密文ci的解调部分22时的信道解码部分23的操作,此时,可以省略信道解码部分23。
伪随机数产生器(伪随机数产生部分、解调伪随机数产生部分)21根据与产生了在由加密器10中的第一调制部分12进行的调制中使用的伪随机数ri的加密密钥K相同的加密密钥K来产生和输出与调制伪随机数ri同步的解调伪随机数ri,并具有与加密器10中的伪随机数产生器11相同的结构。
解调部分22通过使用由伪随机数产生器21产生的伪随机数ri辨别出该信号与特定状态对中的哪个状态相对应,来将由信道解码部分23获得的解码信号di解调为明文xi,具体地,解调部分22被设计为通过根据上述第一范围Ai和第二范围Bi之间的排斥关系辨别出分配给该解码信号di的特定状态对,并进一步辨别出明文xi与该特定状态对中的哪个状态(0或1)相对应,来将该解码信号di解调为明文xi
这里,当如上所述,物理随机数fi的状态为-2,-1,1和2时,如图2所示,根据伪随机数ri,将第一范围Ai计算为(ri-2)mod M、(ri-1)mod M、(ri+1)mod M和(ri+2)mod M,而将第二范围Bi计算为(ri+M/2-2)mod M、(ri+M/2-1)mod M、(ri+M/2+1)mod M和(ri+M/2+2)mod M。
如上所述,可以将由解调部分22进行的解调概括并表示为如图2中的表22a所示。如表22a所示,当解调信号di属于第一范围Ai且伪随机数ri是偶数时,解调部分22输出状态“0”作为解调结果的明文xi,而当解调信号di属于第一范围Ai且伪随机数ri是奇数时,输出状态“1”作为解调结果的明文xi,另一方面,当解调信号di属于第二范围Bi且伪随机数ri是偶数时,输出状态“1”作为解调结果的明文xi,而当解调信号di属于第二范围Bi且伪随机数ri是奇数时,输出状态“0”作为解调结果的明文xi。这样,稍后将参照图8至10来说明解调部分22的具体操作(解调步骤)。
[3]本实施例中的加密过程
下面将参照图3至7,具体说明本实施例中的加密过程(加密器10的操作)。
首先,参照图3来说明由第一调制部分12执行的第一调制中的各个变量之间的对应关系,即伪随机数ri、明文xi和第一调制部分12的输出si之间的对应关系。这里,对以下情况进行说明,其中物理随机数fi具有四个状态:整数-2,-1,1,2;而M/2,状态对的组数为“5”,即M=10,如上所述。
如图3所示,将位置关系相对于图中的同心圆的圆心彼此点对称的一对状态(明文xi)0和1作为一对状态进行处理,并使五组状态对分别与伪随机数ri的状态0,1,2,3和4相关联,并进一步使这五组状态对的所有状态0和1(10个状态)分别与不同的多级值0,1,2,...9相关联。换句话说,使与伪随机数ri的状态0相关联的状态对的状态(明文xi)0和1分别与多级信号0和5相关联,使与伪随机数ri的状态1相关联的状态对的状态(明文xi)1和0分别与多级信号1和6相关联,使与伪随机数ri的状态2相关联的状态对的状态(明文xi)0和1分别与多级信号2和7相关联,使与伪随机数ri的状态3相关联的状态对的状态(明文xi)1和0分别与多级信号3和8相关联,并且使与伪随机数ri的状态4相关联的状态对的状态(明文xi)0和1分别与多级信号4和9相关联。
下面参照图4至7来说明发送一位明文xi时的加密过程。
当发送一位明文xi时,如果由伪随机数产生器11产生的伪随机数ri为“4”,则如图4所示,选择其中状态0和1被设定为分别与多级信号4和9相关联的状态对,并且作为特定状态对,分配要发送的一位明文xi
此时,如果要发送的明文xi的状态为“1”,如图5所示,则选择图4中所分配的特定状态对的状态“1”侧,并且如图6所示,获得与状态“1”相关联的多级信号“9”,作为第一调制部分12的输出si′。
此外,当物理随机数产生器13对于第一调制部分12的输出si′(多级信号“9”)产生的物理随机数fi为“+1”时,通过上述表达式(1),si=(9+1)mod 10=0,并且赋予关联,其中输出相对于该状态对偏移了“+1”的信号,并且如图7所示,输出针对逆时针偏移了1的状态对的状态“0”而设定的多级信号“0”,作为第二调制部分14的输出si
使用物理随机数fi为如上所述获得的第二调制部分14的输出si赋予不规则关联,同时保持以下状态,在该状态中,可以在合法接收器侧辨别出明文xi,并且由信道编码部分15进行了信道编码的第二调制部分14的输出si为密文ci。如稍后所述,对于合法接收器侧(密码解码器20侧),可以通过使用伪随机数ri辨别出该信号与特定状态对中的哪个状态相对应,来将经信道解码的解码信号di从密文ci解调为明文xi,而无需使用物理随机数fi,并且解码信号di是这样一种数据,可以通过使用该特定状态对以外的一对状态进行的第一调制和使用与在第二调制中实际使用的物理随机数fi不同的物理随机数进行的第二调制来输出该数据。
注意,以上参照图4至图6说明的过程是由第一调制部分12进行的调制操作(第一调制步骤),并且与概括和表示在图1的表12a中的操作相对应。此外,以上参照图7说明的过程是由第二调制部分14进行的调制操作(第二调制步骤),并且与根据上述表达式(1)的操作相对应。
在图7所示的示例中,对物理随机数fi为“+1”的情况进行了说明,然而,除了“+1”以外,物理随机数fi也有可能是-2、-1或+2。换句话说,作为第二调制部分14的输出si的信号输出被设计为与偏离“9”(第一调制部分12的输出si′)的7、8、0和1中的任意一个不规则地相关联。然而,将会是该不规则关联的目的地的范围(在图9和图10中是指第二范围Bi)与将会是可以赋予多级信号“4”(被设定为位于相对于图9和图10中的同心圆的中心点对称的位置处的状态的多级信号)的不规则关联的目的地的范围(在图9和图10中是指第一范围Ai)不交叠,当物理随机数fi为-2,-1,+1和+2时,该多级信号“4”要与多级信号“9”配对。
[4]本实施例中的密码解码过程
接下来,参照图8至图10来具体说明本实施例中的密码解码过程(密码解码器20的操作)。这里,对如下过程进行说明,该过程用于对通过参照图4至图7所说明的过程而获得的一位明文xi的密文ci进行解码。
在密文ci的合法接收器侧的密码解码器20中,如上所述,伪随机数产生器21根据与产生了加密器10中的调制伪随机数ri的加密密钥K相同的加密密钥K,输出与调制伪随机数ri同步的解调伪随机数ri。因此,当接收到与一位明文相对应的密文ci时,合法接收器侧通过利用信道解码部分23对该密文ci进行信道解码而获得解码信号di(此处,di=0),同时,伪随机数产生器21与接收定时同步地产生并输出状态与在对密文ci进行加密时使用的调制伪随机数ri相同的解调伪随机数ri(此处,ri=4),并且如图8所示,通过伪随机数ri=4辨别出分配给该一位明文(解码信号di)的特定状态对。
此时,伪随机数ri=4,因此如图9所示,范围Ai和Bi(将会是针对与伪随机数ri=4相对应的状态对的两个不规则关联的目的地)分别为{2,3, 5,6}和{1,0,7,8}。于是,解码信号di的状态为“0”,而伪随机数ri为“4”,其是偶数,因此,如图10所示,将状态“1”解调为明文xi
如上所述,通过基于Ai和Bi(将会是两个不规则关联的目的地)的排斥关系,使用伪随机数辨别出该信号与特定状态对中的哪个状态(0或1)相对应,来将解码信号di解调为明文xi,而无需使用物理随机数fi
这里,以上参照图8至图10说明的过程是解调部分22的操作(解调步骤),并且与概括和表示在图2的表22a中的操作相对应。
[5]本实施例中的加密强度
下面将参照图11(A)至图11(D)来说明通过第一实施例中的加密技术(参照图4至图7说明的加密过程)而获得的对于密文ci的仅密文攻击(cipher-text-only attack)的加密强度。这里,对在以下状态下进行的仅密文攻击进行说明,在该状态下,拦截者已经拦截了密文ci并对其进行了信道解码,并且已经获得了解码信号di=0。
对于已通过拦截密文ci获得了解码信号di=0的拦截者,不可能知道拦截者看到了图11(A)至图11(D)中所示的四种情况中的哪一个,即,不可能区分图11(A)至图11(D)中所示的四种情况,因为拦截者不知道用于获得密文ci的伪随机数ri。这里,图11(A)中所示的情况1与明文xi=1、伪随机数ri=4,而物理随机数fi=+1的情况相对应,于是解码信号di=0,图11(B)中所示的情况2与明文xi=1、伪随机数ri=1,而物理随机数fi=-1的情况相对应,于是解码信号di=0,图11(C)中所示的情况3与明文xi=0、伪随机数ri=3,而物理随机数fi=+2的情况相对应,于是解码信号di=0,而图11(D)中所示的情况4与明文xi=0、伪随机数ri=2,而物理随机数fi=-2的情况相对应,于是解码信号di=0。
因此,使得拦截者不能解码出与由合法发送器发送的密文ci(解码信号di=0)相对应的明文xi的状态是“0”还是“1”。因此,通过使用本实施例中的加密技术,可以确保对于仅密文攻击的足够加密强度。
此外,通过参照图12(A)和图12(B)来说明对于对通过本实施例中的加密技术(参照图4至图7说明的加密过程)而获得的密文ci的已知明文攻击的加密强度。这里,对如下的已知明文攻击进行说明,其中拦截者已经拦截了密文ci并获得了解码信号di=0,并进一步通过特定装置来获得与该密文ci相对应的明文xi=1,预测出对应的伪随机数ri,并进一步尝试预测加密密钥K。
即使已经拦截了密文ci并通过对该密文ci进行信道解码而获得了解码信号di=0的拦截者获得了与该密文ci相对应的明文xi=1,也无法知道拦截者看到了图12(A)和图12(B)所示的两种情况中的哪一个,即,无法在图12(A)和图12(B)所示的两种情况之间进行区分,因为拦截者不知道用来获得该密文ci的伪随机数ri。这里,图12(A)和图12(B)所示的两种情况分别与图11(A)和图11(B)所示的情况相对应。
换句话说,即使拦截者获知了与通过对密文ci进行信道解码而得到的解码信号di=0相对应的明文xi是“1”,该拦截者也无法知道合法发送器和接收器所使用的伪随机数ri是“4”还是“1”。换句话说,对于在拦截者侧所预测的明文的每一位,都存在两种状态的伪随机数,因此,即使拦截者通过获得例如100位明文来进行已知明文攻击,对于可以从该100位明文中预测出的伪随机数序列来讲,也存在2100种随机的模式,此外,必须针对每种模式执行根据伪随机数预测加密密钥的操作,因此可以说,通过已知明文攻击对与已通过预测加密密钥而获得的明文xi的其他部分相对应的密文ci进行解码实际上是不可能的。具体地,从由物理随机数产生器13生成的物理随机数fi导出随机的2100个模式,因此,不可能发现数学缺陷并对密文ci进行解码。
从图11和图12所示的示例中还可以显见,可以进行配置,以使得通过将物理随机数fi的状态数设定为4,拦截者无法在以下两种情况之间辨别出该解码信号di对应于哪种情况:明文为“0”,并且与两种伪随机数ri的状态对相对应;明文为“1”,并且与两种伪随机数ri的状态对相对应。于是,尝试进行已知明文攻击的拦截者必须区分的情况的数量为2,因此,与传统加密术相比,显著地提高了对于已知明文攻击的加密强度。因此,通过使用本实施例中的加密技术,可以确保对于已知明文攻击的足够加密强度,从而保证了高安全性。顺便提及,这里将物理随机数fi的状态数设定为4,然而,通过将其设定为大于4的偶数,可以提高加密强度,因为增加了尝试进行已知明文攻击的拦截者必须要区分的情况的数量。
[6]本实施例的效果
如上所述,根据作为本发明的实施例的加密/密码解码技术,对密文ci进行发送,该密文ci是通过在使用基于加密密钥K而产生的伪随机数ri对明文xi进行了第一调制之后,对使用基于物理现象而产生的物理随机数fi进行了第二调制的信号进行信道编码而获得的,并且在具有与合法发送器侧的加密密钥K相同的加密密钥K的合法接收器侧,不使用物理随机数fi而是仅使用基于该加密密钥K而产生的伪随机数ri,根据作为解码数据的密文ci获得明文xi
这样,通过使用物理随机数fi对第一调制部分12的输出si赋予不规则关联,使得对于合法接收器侧,可以仅使用伪随机数ri而无需使用物理随机数fi来解调出解码信号di,同时如上所述,保证了高安全性,不仅对于仅密文攻击而且对于已知明文攻击,都能够确保非常高的加密强度。
至此,本实施例中的加密技术是通过与Y-00方案量子加密术不同的编码(简单数值)来实现的,因此,与现有的经典加密的情况相同,可以通过电磁波或电线来传输密文,并且可以在无线电通信或电通信中使用密文,另外,还使得可以将密文ci存储在电存储器或各种记录介质(软盘、CD、DVD等)中。此外,可以将密文ci存储在电存储器中,因此,可以通过路由器来传递密文ci
此外,如上所述,本实施例中的加密技术是通过编码(简单数值)来实现的,因此,无需如Y-00方案量子加密术中那样发送和接收许多不稳定的物理状态,并且不大可能受到噪声的影响,在将本加密技术用于光通信中时,不再需要低噪声的光放大器,并且中继级的数量不受光放大器的噪声级别的限制,另外,也不再需要开发光接收装置和具有优异线性的光源。
此外,根据本实施例中的加密技术,即使在第一调制中使用的多级信号的状态数(即,M)为大约10,也能够保证足够高的安全性,因此,与需要大约200个状态数的多级信号的Y-00方案量子加密术相比,可以显著地减少状态数,并且可以通过抑制伪随机数ri的位数,使伪随机数产生器11和12的运算速度对通信速度的影响最小化。
顺便提及,流密码容易受到已知明文攻击,因此,需要在使用公共密钥加密的加密侧(合法发送器侧)和密码解码侧(合法接收器侧)之间频繁地分配和改变加密密钥。然而,当利用采用质数因数分解的公共密钥加密来分配加密密钥时,公共密钥加密的安全性仅基于以下事实:至今还未发现高速进行质数因数分解的算法,并且一旦发现了进行质数因数分解的计算方法,就可以非常容易地解码出加密密钥。因此,希望消除使用公共密钥加密来分配加密密钥的需要。
与此相比,根据本实施例中的加密技术,如上所述,可以确保对于已知明文攻击的极高加密强度,而无需改变由伪随机数产生器11和21使用的加密密钥K,也就是说,通过将伪随机数产生器11和21并入(嵌入)到加密器10或密码解码器20中,而无需将加密密钥K通知给用户,因此,不再需要使用公共密钥加密来进行上述密钥的分配,并且还可以消除公共密钥加密的该弱点。
注意,在嵌入了包括加密密钥K的伪随机数产生器时,优选地,通过将包括存储有加密密钥K的存储器的至少一个芯片构造为无法从外部读取加密密钥K的状态,来构建具有防篡改特性的结构,以通过不仅防止用户而且防止进行访问的非法人员(拦截者)读取加密密钥K,来确保密文的安全性。作为具有防篡改特性的结构,例如,使用一种存储器芯片,当该芯片的表面暴露在空气中时其记录的内容会消失,或者使用一种电路,如果向该电路上安装用于读取信号的探测器,则该电路不再进行工作。
[7]本实施例中的加密/密码解码方法的变型例
在上述实施例中,由物理随机数产生器13产生的物理随机数fi的状态为四个整数-2,-1,1和2,并且对于特定状态对对称地赋予不规则关联,然而,本发明并不限于此,例如,如参照图13和图14所说明的,可以进行第二调制,以使得对于该特定状态对非对称地赋予不规则关联。
此时,选择上述四个整数,从而如图11所示的示例中所述,拦截者无法在以下两种情况之间辨别出该拦截者所获得的解码信号di与哪种情况相对应:明文为“0”,并且与不同的两种伪随机数ri的状态对相对应;明文为“1”,并且与不同的两种伪随机数ri的状态对相对应。
图13是用于说明本实施例中的加密/密码解码过程的第一变型例的图,在图13所示的第一变型例中,物理随机数fi的状态为四个整数0,1,2和3,并且示出了范围Ai和Bi,当M=10并且伪随机数ri=4时,范围Ai和Bi将成为对于与伪随机数ri=4相对应的状态对的两个不规则关联的目的地。此时,范围Ai和Bi分别为{4,5,6,7}和{0,1,2,9},即,被设定为彼此不交叠。另外,在这种情况下,根据图2的表22a中所示的规则来进行由解调部分22执行的解调,并且可以实现与上述实施例相同的功能和效果。
此外,当物理随机数fi中包含负整数时,必须进行2的补数表示(complementary expression),从而导致处理速度的降低,因为物理随机数产生器13的结构和处理更加复杂了,然而,如上所述,在使用包括0或者正整数而无负整数的物理随机数fi{0,1,2,3}的情况下,只需要截取来自物理随机数产生器13的二进制数的输出的两位作为物理随机数fi,并将其输出至第二调制部分14,而无需执行2的补数表示,从而可以获得加密处理速度和通信速度两方面的优势。
图14是用于说明本实施例中的加密/密码解码过程的第二变型例的图,在图14所示的第二变型例中,物理随机数fi的状态为四个整数-3,0,1和4,并且示出了范围Ai和Bi,当M=10并且伪随机数ri=4时,范围Ai和Bi将成为对于与伪随机数ri=4相对应的状态对的两个不规则关联的目的地。此时,范围Ai和Bi分别为{1,4,5,8}和{0,3,6,9},即,被设定为彼此不交叠并且交替排列。另外,在这种情况下,根据图2的表22a中所示的规则来进行由解调部分22执行的解调,并且可以实现与上述实施例相同的功能和效果。
[8]本实施例中的发送/接收系统
图15是表示应用了本发明的加密/密码解码技术的发送/接收系统的结构示例的框图,图15中所示的发送/接收系统1被构造为包括经由通信网络等彼此可通信地连接的第一发送/接收设备30A和第二发送/接收设备30B。
第一发送/接收设备30A被构造为包括:第一加密器10a,用于对要发送给第二发送/接收设备30B的输入数据(明文x1i)进行加密;以及第一密码解码器20a,用于对从第二发送/接收设备30B接收的加密数据(密文c2j)进行解码,而第二发送/接收设备30B被构造为包括:第二加密器10b,用于对要发送给第一发送/接收设备30A的输入数据(明文x2j)进行加密;以及第二密码解码器20b,用于对从第一发送/接收设备30A接收的加密数据(密文c1i)进行解码。
这里,第一加密器10a和第二加密器10b都按照与图1所示的加密器10相同的方式进行构造,第一密码解码器20a和第二密码解码器20b都按照与图2所示的密码解码器20相同的方式进行构造。于是,在图15所示的发送/接收系统中,第一加密器10a和第二密码解码器20b配对,并且设备10a和20b中的物理随机数产生器11和21被构造为基于相同的加密密钥K1同步地产生伪随机数r1i,而第二加密器10b和第一密码解码器20a配对,并且设备10b和20a中的物理随机数产生器11和21被构造为基于相同的加密密钥K2同步地产生伪随机数r2j。这里,设备10a和20b中的物理随机数产生器11和21的加密密钥K1和设备10b和20a中的物理随机数产生器11和21加密密钥K2被设定为不同。
利用这种结构,通过由第一加密器10a执行的上述加密过程对从第一发送/接收设备30A到第二发送/接收设备30B的发送数据进行加密,并将其发送至第二发送/接收设备30B作为密文,而在第二发送/接收设备30B侧,通过由第二密码解码器20b执行的上述密码解码过程将从第一发送/接收设备30A接收的密文解码为明文。类似地,通过由第二加密器10b执行的上述加密过程对从第二发送/接收设备30B到第一发送/接收设备30A的发送数据进行加密,并将其发送至第一发送/接收设备30A作为密文,而在第一发送/接收设备30A侧,通过由第一密码解码器20a执行的上述密码解码过程将从第二发送/接收设备30B接收的密文解码为明文。
因此,在第一发送/接收设备30A和第二发送/接收设备30B之间实现了应用了本实施例的加密技术的密码通信,并且可以获得与上述相同的功能和效果。
此外,在图15所示的发送/接收系统1中,通过应用本实施例中的加密技术,如上所述,可以确保对于已知明文攻击的极高加密强度,因此,不再需要使用公共密钥加密来重新分配复杂的加密密钥,可以将固定的加密密钥K1和K2嵌入在发送/接收设备中以备使用。此外,通过将加密密钥嵌入在发送/接收设备中,可以在高度保密的状态下对发送/接收系统进行操作直到达到其使用寿命,以使得即使对于用户自己,加密密钥K1和K2也是保密的。
然而,在这种情况下,即使用户自己也不知道加密密钥K1和K2,因此使得第一发送/接收设备30A和第二发送/接收设备30B无法根据加密密钥K本身或者与加密密钥K有关的信息,来认证另一方是否为合法发送器或接收器(通信中的对方)或者确认第一加密器10a的调制伪随机数r1i和第二密码解码器20b的解调伪随机数r1i是否同步,以及第二加密器10b的调制伪随机数r2j和第一密码解码器20a的解调伪随机数r2j是否同步。
于是,如图19所示,在发送/接收系统1中设置了如下的装置,以同时执行上述合法发送器和接收器的认证和伪随机数r1i和r2j的同步的确认。
利用该装置,在第一发送/接收设备30A中,作为第一加密器10a的输入数据(明文),输入长度等于或大于用于产生调制伪随机数r1i和r2j以及解调伪随机数r1i和r2j的加密密钥K1和K2的密钥长度中的较大长度的认证数值序列(随机序列)Y1,并且在将该认证数值序列Y1的加密数据(密文)C1从第一加密器10a发送至第二发送/接收设备30B之后,在第二发送/接收设备30B中,作为第二加密器10b的输入数据,输入通过由第二密码解码器20b对认证数值序列Y1的密文C1进行解码而获得的解码数值序列Y1′,将解码数值序列Y1′的加密数据(密文)C2从第二加密器10b发送至第一发送/接收设备30A,并且在第一发送/接收设备30A中,判断通过第一密码解码器20a对解码数值序列Y1′的密文C2进行解码而获得的响应数值序列Y2是否与原始认证数值序列Y1相一致。
如果响应数值序列Y2和原始认证数值序列Y1彼此一致,即,Y1=Y1′=Y2,则可以判定,根据相同的加密密钥K1同步地产生了第一加密器10a和第二密码解码器20b(在发送/接收时配对)中的伪随机数r1i,并且根据相同的加密密钥K2也同步地产生了第二加密器10b和第一密码解码器20a(在发送/接收时配对)中的伪随机数r2j
因此,当响应数值序列Y2和原始认证数值序列Y1彼此一致时,即使用户不知道加密密钥K1和K2,也可以认证第一发送/接收设备30A和第二发送/接收设备30B是相对彼此的合法发送器和接收器(通信中的对方),并且还可以认证第一加密器10a中的调制伪随机数r1i和第二密码解码器20b中的解调伪随机数r1i彼此同步,并且第二加密器10b中的调制伪随机数r2j和第一密码解码器20a中的解调伪随机数r2j彼此同步。
[9]本实施例中的公共线路系统
在图15所示的发送/接收系统1中,第一发送/接收设备30A和第二发送/接收设备30B可通信地彼此连接,并且以一对一的方式进行通信,然而,如果将上述本实施例中的加密技术应用于仅使用公共线路来进行通信的情况,则对于进行通信的两个终端设备(例如,移动电话)来讲,必须确定无疑地具有相同的加密密钥并根据该加密密钥同步地产生伪随机数。然而,如果使用公共密钥加密将加密密钥分配给两个任意的终端设备,则在经由公共线路(交换局)进行通信时,无法消除上述公共密钥加密的弱点,因此并不是优选的。
因此,图16中示出了一种公共线路系统,其中在确保加密密钥的防篡改特性的状态下,将包括预定加密密钥的伪随机数产生器并入到各个终端设备中,并且通过利用交换局的功能,使得可以在任意两个终端设备之间进行采用了本实施例的加密技术的通信,而无需改变各个终端设备侧的加密密钥。
图16是表示应用了本发明的加密/密码解码技术的公共线路系统的结构示例的框图,图16所示的公共线路系统2被构造为包括具有交换机41的交换局40以及可以通过交换局40彼此进行通信的多个终端设备50A、50B、50C和50D(图16中的四个设备)。这里,在以下说明中,如果需要指定单个的终端设备则使用符号50A、50B、50C和50D,如果不需要则使用符号50。
例如,每个终端设备50都是移动电话,并被构造为包括:第一加密器10a,用于对要经由交换局40发送给特定终端设备的输入数据(明文)进行加密;以及第一密码解码器20a,用于对经由交换局40从特定终端设备接收的加密数据(密文)进行解码。
此外,交换局40被构造为包括:交换机,用于执行对各个终端设备50和该特定终端设备进行连接的交换操作;发送/接收部分42A、42B、42C和42D,其插设在终端设备50A、50B、50C和50D与交换机41之间;以及加密密钥管理部分43,用于对产生伪随机数的加密密钥进行管理。这里,在以下说明中,如果需要指定单独的发送/接收设备,则使用符号42A、42B、42C和42D,而如果不需要,则使用符号42。
每个发送/接收部分42都被构造为提供:第二加密器10b,用于经由交换器41接收要从特定终端设备发送至各个终端设备50的输入数据(明文)并对其进行加密;以及第二密码解码器20b,用于对要从各个终端设备50发送至该特定终端设备的加密数据(密文)进行一次解码并将其输入给交换机41。
这里,第一加密器10a和第二加密器10b都按照与图1所示的加密器10相同的方式进行构造,并且第一密码解码器20a和第二密码解码器20b都按照与图2所示的密码解码器20相同的方式进行构造。于是,在图16所示的公共线路系统中,同样,第一加密器10a和第二密码解码器20b配对,并且设备10a和20b中的伪随机数产生器11和21被构造为根据相同的加密密钥同步地产生伪随机数,而第二加密器10b和第一密码解码器20a配对,并且设备10b和20a中的伪随机数产生器11和21被构造为根据相同的加密密钥同步地产生伪随机数。
然而,如上所述,在各个终端设备50中,在确保加密密钥的防篡改特性的状态下,并入了包括用于产生调制伪随机数或者解调伪随机数的加密密钥的伪随机数产生器11和21(参见图1和图2)。此外,在各个发送/接收部分42中,用于产生在第二加密器10b和第二密码解码器20b的伪随机数产生器11和21(参照图1和图2)中使用的伪随机数的加密密钥被构造为能够由加密密钥管理部分43根据对方的终端设备50来进行分配和设定。
应该注意,在图16所示的示例中,终端设备50A和50B经由交换局40进行相互通信,类似地,终端设备50C和50D经由交换局40进行相互通信。此外,终端设备50A、50B、50C和50D分别可通信地连接至交换局40中的发送/接收部分42A、42B、42C和42D。换句话说,终端设备50A和50B经由交换局40中的发送/接收部分42A、交换机41以及发送/接收部分42B彼此连接,而终端设备50C和50D经由交换局40中的发送/接收部分42C、交换机41以及发送/接收部分42D彼此连接。
另外,交换局40中的加密密钥管理部分43对在终端设备50和发送/接收设备42中的每一个中使用的加密密钥进行管理,例如,使用以下数据库来对加密密钥进行管理,在该数据库中,各个终端设各(移动电话)50的电话号码和各个终端设备50所拥有的加密密钥被彼此关联地存储。例如,加密密钥管理部分43被构造为,当终端设备50A向终端设备50B发起呼叫时,接收发起侧终端设备50A的电话号码和由终端设备50A指定的终端侧终端设备50B的电话号码,从数据库中读取与发起侧终端设备50A的电话号码相对应的加密密钥,并将该加密密钥分配并设定给与终端设备50A相连接的发送/接收部分42A的加密器10b(伪随机数产生器11)和密码解码器20b(伪随机数产生器21),同时,从该数据库中读取与终端侧终端设备50B的电话号码相对应的加密密钥,并将该加密密钥分配并设定给与终端设备50B相连接的发送/接收部分42B的加密器10b(伪随机数产生器11)和密码解码器20b(伪随机数产生器21)。当终端设备50C向终端设备50D发起呼叫时也是如此。
此时,在公共线路系统2中,在交换局40中执行对发送/接收部分42的加密密钥分配和设定,因此,使得交换局40本身要具有具备防篡改特性的结构,以通过防止加密密钥被进行访问的非法人员(拦截者)等读取来确保密文的安全性。作为提高防篡改特性的方法,例如,使用提高保密性以使得尝试从外部读取更加困难的方法、用于提供在尝试从外部读取的情况下使程序和数据销毁的机制的方法等。
在如此构造的公共线路系统2中,当在终端设备50A和终端设备50B之间进行通信时,首先,在交换局40中,将与终端设备50A使用的加密密钥相同的加密密钥分配并设定给与终端设备50A相连接的发送/接收部分42A,并将与终端设备50B使用的加密密钥相同的加密密钥分配并设定给与终端设备50B相连接的发送/接收部分42B。
然后,由终端设备50A的第一加密器10a通过上述加密过程对从终端设备50A到终端设备50B的发送数据(明文)进行加密,并将其作为密文发送至交换局40的发送/接收部分42A。在发送/接收部分42A中,由第二密码解码器20b通过上述解码过程将从终端设备50A接收的密文一次解码为明文。将解码明文输入交换机41并发送至经由交换机41与目的地终端设备50B相连的发送/接收部分42B。在发送/接收部分42B中,当接收到要从交换机41发送到终端设备50B的明文时,由第二加密器10b通过上述加密过程对该明文再次进行加密,并将其作为密文发送至终端设备50B。在终端设备50B中,由第一密码解码器20a通过上述密码解码过程将从发送/接收部分42B接收的密文解码为明文。也按照与上述相同的方式来进行从终端设备50B到终端设备50A的数据发送。
如上所述,根据图16所示的公共线路系统2,在确保防篡改特性的状态下,将包括预定加密密钥的伪随机数产生器11和12并入到每个终端设备50中,并且通过利用交换局40中的发送/接收部分42和加密密钥管理部分43的功能,在任意两个终端设备50和50之间实现了应用了上述本实施例的加密技术的加密通信,而无需改变各个终端设备50侧的加密密钥,并且可以获得与上述相同的功能和效果。
此外,在图16所示的公共线路系统2中,通过应用本实施例的加密技术并使得交换局40本身具有具备防篡改特性的结构,可以确保对于已知明文攻击的极高加密强度,而无需将伪随机数产生器11和21中使用的加密密钥通知给用户,因此省去了使用公共密钥加密来分配加密密钥。
[10]本实施例中的通信系统的第一示例
图20是表示采用了本发明的加密/密码解码技术的通信系统的第一示例(参照标号3)和第二示例(参照标号3A)的整体结构的框图,图20所示的第一示例中的通信系统3被构造为包括经由通信网络等彼此可通信地连接的两个通信设备3a和3b。对于稍后要描述的第一示例中的通信系统3和第二示例中的通信系统3A,描述其中两个通信设备3a和3b经由防篡改通信信道(信号线路)可通信地连接并且两个通信设备3a和3b经由该通信信道,通过开放通信来进行同步处理的情况。
通信设备3a和3b具有相同的结构,并且通信设备3a被构造为包括:加密器10c,用于通过上述方法对要发送至通信设备3b的输入数据(明文xi)进行加密;密码解码器20c,用于通过上述方法对从通信设备3b接收的加密数据(ci或si)进行解码;以及稍后要描述的发送/接收部分152和同步调节部分153,而通信设备3b被构造为包括:加密器10c,用于通过上述方法对要发送至通信设备3a的输入数据(明文xi)进行加密;密码解码器20c,用于通过上述方法对从通信设备3a接收的加密数据(密文ci或si)进行解码;以及稍后要描述的发送/接收部分152和同步调节部分153。顺便提及,下面将参照图21来说明加密器10c的结构,并且将参照图22来说明密码解码器20c的结构。
此外,在图20所示的通信系统3中,通信设备3a中的加密器10c和通信设备3b中的密码解码器20c配对,并且设备10c和20c中的伪随机数产生器11和21(参照图21和图22)被构造为同步并根据相同的加密密钥产生伪随机数ri。类似地,通信设备3b中的加密器10c和通信设备3a中的密码解码器20c配对,并且设备10c和20c中的伪随机数产生器11和21也被构造为同步并根据相同的加密密钥产生伪随机数ri。然而,作为上述在各对设备中使用的加密密钥,设定了不同的密钥。
利用这种结构,由加密器10c通过上述加密过程对要从通信设备3a到通信设备3b的发送数据进行加密,并将其作为密文发送至通信设备3b,而在通信设备3b侧,由密码解码器20c通过上述密码解码过程将从通信设备3a接收的密文解码为明文。类似地,由加密器10c通过上述加密过程对从通信设备3b到通信设备3a的发送数据进行加密,并将其作为密文发送至通信设备3a,而在通信设备3a侧,由密码解码器20c通过上述密码解码过程将从通信设备3b接收的密文解码为明文。
这里,当由于某种原因在伪随机数产生器11和21的伪随机数产生操作中出现了同步偏移,并且加密器10c和密码解码器20c之间无法再进行密码通信时,使用发送/接收部分152和同步调节部分153。
发送/接收部分152将从稍后要描述的非易失性存储器134(参照图21)或非易失性存储器144(参照图22)中读取的调制伪随机数或解调伪随机数的输出次数发送给通信设备3a或3b(通信中的对方)作为同步信息,同时,从通信设备3a或3b(通信中的对方)接收同步信息。使用进行开放通信的普通收发器等作为发送/接收部分152。
当由于某种原因在伪随机数产生器11和21的伪随机数产生操作中出现了同步偏移,并且加密器10c和密码解码器20c之间无法再进行密码通信时,使用分别提供给通信设备3a和3b的发送/接收部分152和152,经由通信网络等(此处为防篡改的通信信道)在通信设备3a和3b之间(发送/接收部分152和152之间)发送和接收上述输出次数作为同步信息。
同步调节部分153根据从非易失性存储器134或144中读取的输出次数,对来自伪随机数产生器11和21的伪随机数的输出次数进行调节,以使通信设备3a的调制伪随机数产生器11(参照图21)进行的伪随机数产生操作与通信设备3b的解调伪随机数产生器21(参照图22)进行的伪随机数产生操作同步,或者使通信设备3b的调制伪随机数产生器11(参照图21)进行的伪随机数产生操作与通信设备3a的解调伪随机数产生器21(参照图22)进行的伪随机数产生操作同步。
具体地,当在作为通信中的对方的通信设备3a或3b侧的解调伪随机数(或者调制伪随机数)(由发送/接收部分152解码)的输出次数大于从非易失性存储器134(或144)中读取的调制伪随机数(或解调伪随机数)的输出次数时,通信系统3中的同步调节部分153进行调节,以使来自加密器10c的伪随机数产生器11的调制伪随机数(或者来自密码解码器20c的伪随机数产生器21的解调伪随机数)的输出次数与作为通信中的对方的通信设备3a或3b侧的解调伪随机数(或调制伪随机数)的输出次数相匹配。
此时,如以下将参照图21或图22所描述的,通信系统3中的同步调节部分153通过针对加密器10c的非易失性存储器134或密码解码器20c的非易失性存储器144来设定输出次数,或者针对伪随机数产生器11或21执行时钟信号的虚拟输入,对来自伪随机数产生器11或21的输出次数进行调节。这里,时钟信号的虚拟输入是指下述操作:输入时钟信号,以使伪随机数产生器11或21执行仅用于调节伪随机数的输出次数而不对明文进行加密的伪随机数产生操作。
接下来,将参照图21说明加密器10c的结构。图21是表示图20所示的通信系统3中的加密器10c的结构的框图,图21所示的加密器10c被构造为包括与上述加密器10中相同的调制伪随机数产生器11、第一调制部分12、物理随机数产生器13和第二调制部分14,另外,还包括识别号ROM(只读存储器)131、加密密钥ROM(只读存储器)132、计数器133以及非易失性存储器134。
另外,本实施例中的加密器10c抑制了用于产生伪随机数的加密密钥或者来自伪随机数产生器11的伪随机数ri的泄露,并被设置在防篡改区域60中,以抑制由于物理随机数产生器13所产生的物理随机数fi的物理扰动而导致的概率分布变化。这里,其中设置有加密器10c的防篡改区域60提供了如以下项目(11)至(17)的结构。顺便提及,图21所示的加密器10c(防篡改区域60)例如被构造在单个芯片(未示出)上。
(11)即使芯片被分解也无法读取加密密钥ROM 132的加密密钥(即,伪随机数ri的“种子”)的结构。例如,如果试图读取ROM 132中的加密密钥而分解该芯片则ROM 132会破损(break)的布线结构。
(12)即使芯片被分解也无法分接(tap)伪随机数ri的信号线(伪随机数产生器11和第一调制部分12之间的信号线)的结构。例如,如果试图分接伪随机数ri的信号线而使该芯片破损则该芯片不能再工作的布线结构。
(13)即使从芯片的外部施加了物理扰动,来自物理随机数产生器13的物理随机数fi中也不会出现概率分布变化的结构。例如,一种物理随机数产生器的结构,其中即使整个芯片冷却或者被施加了异常输入电压,物理随机数fi的概率分布也不会改变。或者,一种通过检测温度或输入电压,在物理随机数fi的分布出现偏差之前停止芯片的操作的机制。
(14)可以从中读取识别号ROM 131的识别号但是不能篡改的结构。
(15)即使芯片被分解,也无法分接物理随机数fi的信号线(物理随机数产生器13和第二调制部分14之间的信号线)的结构。例如,如果试图分别物理随机数fi的信号线而使该芯片破损则该芯片不再工作的布线结构。
(16)无法篡改非易失性存储器134中保存的信息(例如,如稍后要描述的,计数器133所计数的输出次数)的结构。
(17)通过避免计数器133和伪随机数产生器11以任意次数的顺序产生伪随机数ri,来防止伪随机数产生器11被直接访问。例如,即使芯片被分解并且在试图分接信号线时使该芯片破损,而使得该芯片无法再工作,也无法分接计数器133和伪随机数产生器11之间的信号线的布线结构。
应当注意,在图21所示的加密器10c中,信道编码部分15(参照图1)并未示意性地示出。可以类似于图1所示的加密器10来提供信道编码部分15,或者可以不提供信道编码部分15。在提供了信道编码部分15的情况下,可以将信道编码部分15设置在防篡改区域60中或者防篡改区域60的外部。
此外,通信系统3中的调制伪随机数产生器11被构造为禁止对调制伪随机数ri的产生操作进行重置或重复。换句话说,在本实施例中,伪随机数产生器11被构造为使得“无论在何种情况下,都不能对伪随机数输出进行重置(重设(rewind))”。相反,在本实施例中,计数器133和非易失性存储器134被构造为在存在来自外部的请求的情况下,能够进行输出,“直到输出了多少数量的伪随机数为止”。
此外,通信系统3中的调制伪随机数产生器11能够通过执行时钟信号的虚拟输入,并通过在非易失性存储器134(稍后将描述)中设定所期望的输出次数(例如N)而在当前输出次数之前根据所期望的输出次数(第N次)产生并输出调制伪随机数ri,来逐个地推进(advance)调制伪随机数ri(即,输出次数)。然而,不能使调制伪随机数产生器11通过在当前输出次数(例如M)(N<M)之前设定一输出次数而根据该输出次数产生调制伪随机数ri。无论通过哪种方式,通信系统3中的调制伪随机数产生器11都具有“可以对要产生的伪随机数ri进行推进,但是不能倒退的规范”。
识别号ROM 131保存有加密器10c固有的识别号(ID号),并且在接收到来自外部的输出识别号的请求时将识别号从ROM 131输出到外部。识别号与保存在加密密钥ROM 132中的加密密钥(种子)没有数值关系,然而,其按照一对一的方式与加密密钥(种子)相对应,利用该识别号,使得可以识别要与加密器10c同步的密码解码器20c,即,保存有与保存在加密器10c的加密密钥ROM 132中的加密密钥(种子)相同的加密密钥(种子)的密码解码器20c。
加密密钥ROM 132保存有在调制伪随机数产生器11中使用的加密密钥(种子),并且通信系统3中的调制伪随机数产生器11根据保存在ROM 132中的加密密钥(种子)来产生调制伪随机数ri
计数器133对从外部输入的时钟信号输入的输入次数进行计数(即,来自调制伪随机数产生器11的调制伪随机数ri的输出次数),以使得调制伪随机数产生器11执行伪随机数产生操作。
非易失性存储器(第一保存部分)134保存有由计数器133所计数的输出次数(时钟信号的输入次数),并且还具有响应于来自外部(加密器10c的外部/防篡改区域60的外部)的输出命令将所保存的输出次数输出至外部(加密器10c的外部/防篡改区域60的外部)的功能。此外,非易失性存储器134被构造为使得从外部(加密器10c的外部/防篡改区域60的外部)设定所期望的输出次数,并且当在非易失性存储器134中设定输出次数时,将该输出次数进一步从非易失性存储器134设定给计数器133。于是,调制伪随机数产生器11被构造为基于保存在加密密钥ROM132中的加密密钥(种子),根据与设定给计数器133的输出次数相对应的第N个数来产生调制伪随机数ri
这里,如上所述,作为基于保存在加密密钥ROM 132中的加密密钥(种子),根据与设定给计数器133的输出次数相对应的第N个数来产生调制伪随机数ri的调制伪随机数产生器11,例如,使用BBS(Blum,Blum,和Shub)产生器(例如,参见L.Blum,M.Blum,and M.Shub,“A SimpleUnpredictable Pseudo-Random Number Generator”,SIAM Journal onComputing,v.15,n.2,1986,pp.364-383)。利用这种BBS产生器,可以直接根据“种子”(加密密钥)来计算第N调制伪随机数ri
因此,在通信系统3中,调制伪随机数产生器11能够在每次输入时钟信号时依次产生调制伪随机数ri,另外,能够仅通过将输出次数N设定给计数器133(非易失性存储器134)而直接根据保存在加密密钥ROM132中的加密密钥(种子)来产生第N调制伪随机数ri
此外,在通信系统3中,始终由计数器133对来自调制伪随机数产生器11的调制伪随机数ri的输出次数(时钟信号的输入次数)进行计数,并将其记录在非易失性存储器134中,因此,即使加密器10c的电源被切断,在下一次接通电源时,调制伪随机数产生器11也可以接着在电源被切断之前的最后输出的数开始伪随机数的输出。
注意,针对调制伪随机数产生器11的时钟信号的虚拟输入或者对非易失性存储器134中的输出次数的设定是在初始设定时根据用户的请求而执行的,另外,如上所述,它由同步调节部分153(参照图20)来执行,以调节加密器10c和密码解码器20c之间的同步(以消除在伪随机数产生器11和21之间的伪随机数产生操作中已出现的同步偏离)。
在如上所述构造的加密器10c中,作为防篡改区域60的内部和外部之间的接口,需要与以下项(21)至(28)相对应的接口。
(21)明文的输入(对第一调制部分12的输入xi)
(22)密文的输出(来自第二调制部分14的输出si)
(23)设备识别号的输出命令(对于识别号ROM 131的输出命令)的输入
(24)设备识别号的输出(根据(23)的输出命令的来自识别号ROM131的输出)
(25)时钟信号的输入(对计数器133/调制伪随机数产生器11的输入)
(26)伪随机数的输出次数的输出命令的输入(对非易失性存储器134的输出命令)
(27)伪随机数的输出次数的输出(根据(26)的输出命令的来自非易失性存储器134的输出)
(28)伪随机数的输出次数的设定的输入(对非易失性存储器134的输入)。
此时,如上所述,可以始终仅在递增的方向上设定通过项(28)的输入接口在非易失性存储器134(计数器133)中设定的输出次数,然而,也可以构造为省略项(28)的输入接口,而通过对计数器133/调制伪随机数产生器11执行时钟信号的虚拟输入来执行输出次数的设定。
接下来,将参照图22说明密码解码器20c的结构。图22是表示图20所示的通信系统3中的密码解码器20c的结构的框图,图22所示的密码解码器20c被构造为包括与上述密码解码器20中相同的解调伪随机数产生器21和解调部分22,另外,还包括识别号ROM(只读存储器)141、加密密钥ROM(只读存储器)142、计数器143以及非易失性存储器144。
另外,通信系统3中的密码解码器20c被设置在防篡改区域60中,以抑制用于产生伪随机数的加密密钥或者来自伪随机数产生器11的伪随机数ri的泄露。这里,其中设置有通信系统3中的密码解码器20c的防篡改区域60提供了如以下项(31)至(35)的结构。顺便提及,图22所示的密码解码器20c(防篡改区域60)例如被构造在单个芯片(未示出)上。
(31)即使芯片被分解也无法读取加密密钥ROM 142的加密密钥(即,伪随机数ri的“种子”)的结构。例如,如果试图读取ROM 142中的加密密钥而分解该芯片则ROM 142破损的布线结构。
(32)即使芯片被分解也无法分接伪随机数ri的信号线(伪随机数产生器21和解调部分22之间的信号线)的结构。例如,如果试图分接伪随机数ri的信号线而使芯片破损则该芯片不能再工作的布线结构。
(33)可以从中读取识别号ROM 141的识别号但是不能对其进行篡改的结构。
(34)无法篡改保存在非易失性存储器144中的信息(例如,如稍后要描述的,由计数器143所计数的输出次数)的结构。
(35)通过避免计数器143和伪随机数产生器21以任意次数的顺序产生伪随机数ri,来防止伪随机数产生器21被直接访问。例如,即使芯片被分解并且在试图分接信号线时使该芯片破损,而使得该芯片无法再工作,也无法分接计数器143和伪随机数产生器21之间的信号线的布线结构。
注意,在图22所示的密码解码器20c中,尽管信道解码部分23(参照图2)并未示意性地示出,但是,如果在加密器10c侧提供了信道解码部分15,则可以与图2所示的密码解码器20相似地提供信道解码部分23。在提供了信道解码部分23的情况下,可以将信道解码部分23设置在防篡改区域60中或者防篡改区域60的外部。
此外,通信系统3中的解调伪随机数产生器21还被构造为禁止对解调伪随机数ri的产生操作进行重置或重复,与上述通信系统3中的调制伪随机数产生器11相同。换句话说,在本实施例中,伪随机数产生器21被构造为使得“无论在何种情况下,都不能对伪随机数输出进行重置(重设)”。相反,在本实施例中,当存在来自外部的请求时,通过计数器143和非易失性存储器144(稍后将描述)的功能来输出“直到输出了多少数量的伪随机数为止”。
此外,通信系统3中的解调伪随机数产生器21也能够通过执行时钟信号的虚拟输入,来逐个地推进解调伪随机数ri(即,输出次数),并且能够通过在非易失性存储器144(稍后将描述)中设定所期望的输出次数(例如N)而在当前输出次数之前根据所期望的输出次数(第N次)产生并输出解调伪随机数ri。然而,其被设计为使得解调伪随机数产生器21不能通过在当前输出次数(例如M)(N<M)之前设定输出次数来根据该输出次数产生调制伪随机数ri。无论通过哪种方式,通信系统3中的解调伪随机数产生器21都具有“可以对要产生的解调伪随机数ri进行推进,但是根本不能倒退的规范”。
识别号ROM 141保存有密码解码器20c固有的识别号(ID号),并且在接收到来自外部的输出识别号的请求时将识别号从ROM 141输出到外部。识别号与保存在加密密钥ROM 142中的加密密钥(种子)之间没有数值关系,然而,利用该识别号,使得可以识别要与密码解码器20c同步的加密器10c,即,保存有与保存在密码解码器20c的加密密钥ROM142中的加密密钥(种子)相同的加密密钥(种子)的加密器10c。
加密密钥ROM 142保存有在解调伪随机数产生器21中使用的加密密钥(种子),并且通信系统3中的解调伪随机数产生器21根据保存在ROM 142中的加密密钥(种子)来产生解调伪随机数ri
计数器143对从外部输入的时钟信号的输入次数进行计数(即,来自解调伪随机数产生器21的解调伪随机数ri的输出次数),以使得解调伪随机数产生器21执行伪随机数产生操作。
非易失性存储器(第一保存部分)144保存有由计数器143所计数的输出次数(时钟信号的输入次数),并且还具有响应于来自外部(密码解码器20c的外部/防篡改区域60的外部)的输出命令将所保存的输出次数输出至外部(密码解码器20c的外部/防篡改区域60的外部)的功能。此外,非易失性存储器144被构造为使得从外部(密码解码器20c的外部/防篡改区域60的外部)设定所期望的输出次数(例如N),并且当在非易失性存储器144中设定了输出次数时,将该输出次数进一步从非易失性存储器144设定给计数器143。另外,解调伪随机数产生器21被构造为基于保存在加密密钥ROM 142中的加密密钥(种子),根据与设定给计数器143的输出次数相对应的第N个数来产生解调伪随机数ri。这里,作为解调伪随机数产生器21,例如,可以如上述通信系统3中的调制伪随机数产生器11一样,使用BBS产生器。
因此,在通信系统3中,解调伪随机数产生器21能够在每次输入时钟信号时依次产生解调伪随机数ri,另外,能够仅通过将输出次数N设定给计数器143(非易失性存储器144)而直接根据保存在加密密钥ROM
142中的加密密钥(种子)来产生第N调制伪随机数ri
此外,在通信系统3中,始终由计数器143对来自解调伪随机数产生器21的解调伪随机数ri的输出次数(时钟信号的输入次数)进行计数,并将其记录在非易失性存储器144中,因此,即使密码解码器20c的电源被切断,当下一次接通电源时,解调伪随机数产生器21也可以接着在电源被切断之前最后输出的数来开始伪随机数的输出。
注意,针对解调伪随机数产生器21的时钟信号的虚拟输入或者在非易失性存储器144中的输出次数的设定是在初始设定等时根据用户的请求而执行的,另外,如上所述,它由同步调节部分153(参照图20)来执行,以调节加密器10c和密码解码器20c之间的同步(以消除在伪随机数产生器11和21之间的伪随机数产生操作中已出现的同步偏离)。
在如上所述构造的密码解码器20c中,作为防篡改区域60的内部和外部之间的接口,需要与以下项(41)至(48)相对应的接口。
(41)密文的输入(对解调部分22的输入di;当信道解码部分23设置在防篡改区域中时,将ci输入到信道解码部分23)
(42)明文的输出(来自解调部分22的输出xi)
(43)设备识别号的输出命令(对识别号ROM 141的输出命令)的输入
(44)设备识别号的输出(根据(43)的输出命令的来自识别号ROM141的输出)
(45)时钟信号的输入(对计数器143/解调伪随机数产生器21的输入)
(46)伪随机数的输出次数的输出命令的输入(对非易失性存储器144的输出命令)
(47)伪随机数的输出次数的输出(根据(46)的输出命令的来自非易失性存储器144的输出)
(48)伪随机数的输出次数的设定的输入(对非易失性存储器144的输入)。
此时,如上所述,可以始终仅在递增的方向上设定通过项(48)的输入接口在非易失性存储器144(计数器143)中设定的输出次数,然而,也可以构造为省略项(48)的输入接口,而通过对计数器143/解调伪随机数产生器21执行时钟信号的虚拟输入来执行输出次数的设定。
根据如此构造的通信系统3(加密器10c和密码解码器20c),在通信设备3a和通信设备3b之间实现了应用了本发明的加密技术的密码通信,并且可以获得与上述实施例相同的功能和效果。
此外,对于通信系统3,如上所述,通过应用本实施例中的加密技术可以确保对于已知明文攻击的极高加密强度,因此,不再需要使用公共密钥加密来执行频繁的加密密钥的再分配,并且通过将固定的加密密钥分别嵌入到通信设备3a和3b中的加密器10c和密码解码器20c中,可以使用固定的加密密钥。此外,通过将加密密钥分别嵌入到通信设备3a和3b中的加密器10c和密码解码器20c中,可以在以下状态下对通信系统3进行操作直到达到其使用寿命:保持了加密密钥甚至对于用户也是保密的这种高度保密性。
此外,在通信系统3中,加密器10c和密码解码器20c分别设置在芯片上的防篡改区域60中,因此,保证了防篡改特性,并且防篡改区域60与外部之间的输入/输出被限制为上述项(21)至(28)和(41)至(48)所示的那些。
因此,绝对不可能通过上述项(21)至(28)和(41)至(48)中的接口来将由伪随机数产生器11和21产生的伪随机数ri或者保存在ROM 132和142中的加密密钥读取到防篡改区域60的外部。此外,通过采用提供了上述项(11)至(17)和上述项(31)至(35)中的结构的防篡改区域60,即使通过分解芯片,也绝对不可能读取保存在ROM 132和142中的加密密钥,或者分接伪随机数ri的信号线,或者分接物理随机数fi的信号线,此外,即使从芯片的外部施加了物理扰动(热或电压),来自物理随机数产生器13的物理随机数fi的概率分布也不会改变。
因此,必然可以防止拦截者等盗取伪随机数ri、加密密钥或者随机数表,从而利用它们来对密码进行解码。此外,即使拦截者等试图在通过盗取加密器10c本身并施加物理扰动而使物理随机数产生器13的输出偏移的状态下进行选定的明文攻击,来自物理随机数产生器13的物理随机数fi的概率分布也不会改变(或者当施加物理扰动时其操作停止),因此,即使进行了选定的明文攻击,由于物理随机数fi的波动(或者因为当操作停止时,不再能获得来自加密器10c的输出)也不可能对来自加密器10c的输出进行解码,并且不能进行加密密钥(种子)的逆计算,因此,也可以确保对于选定的明文攻击的极高加密强度。
此外,伪随机数产生器11和21被构造为禁止对伪随机数ri的产生操作进行重置或重复,并且“在任何情况下,都无法对伪随机数输出进行重置(重设)”,因此,即使拦截者等盗取了加密器10c或密码解码器20c,也不可能对伪随机数ri进行重置(重设),从而重复地产生并输出相同的伪随机数序列以进行重新使用。因此,不大可能将可以用于对加密密钥(种子)进行解码的额外信息提供给拦截者等,并且通过确定无疑地抑制拦截者对加密密钥进行解码或逆计算,可以确保对于针对加密器10c的选择明文攻击(chosen plain-cipher text attack)和针对密码解码器20c的选择密文攻击(chosen cipher-text attack)的极高加密强度。
顺便提及,此处,选择明文攻击是其中拦截者等盗取加密器10c并根据通过向加密器10c输入仅由“0”或“1”构成的明文(黑盒测试)而获得的密文来逆计算出加密密钥(种子)的攻击。选择密文攻击是其中拦截者等盗取密码解码器20c并通过对密码解码器20c进行黑盒测试而逆计算出加密密钥(种子)的攻击。
如果允许对由伪随机数产生器11和21进行的伪随机数ri的产生操作进行重置和重复,则可以通过例如下述方法,通过使用所盗取的加密器10c或密码解码器20c来预测伪随机数序列。
在加密器10c中,当在对伪随机数产生器11进行重置后伪随机数产生器11的第一次伪随机数输出的值进行预测时,重复“向加密器10c输入明文‘0’,并在对来自加密器10c的密文输出进行记录之后,重置伪随机数产生器11”的处理,并获取该密文输出的频率分布。由本实施例中的物理随机数产生的扰动为±2,因此,可以将波动±2的中心预测为对应的伪随机数值(第一随机数值)。通过执行类似的操作,可以预测出第n伪随机数的值。例如,在参照图1至图12所描述的本实施例中的加密器10中,对于明文“0”的输入,输出“0”、“1”、“3”和“4”之一作为密文输出,因此,可以将“2”预测为对应的伪随机数值(第一伪随机数值)。
此外,在密码解码器20c中,当在对伪随机数产生器21进行重置后伪随机数产生器21的第一次伪随机数输出的值进行预测时,如果执行了下述的处理:“(1)向密码解码器20c输入密文“0”,并在对来自密码解码器20c的明文输出进行记录之后,重置伪随机数产生器21;(2)向密码解码器20c输入密文“1”,并在对来自密码解码器20c的明文输出进行记录之后,重置伪随机数产生器21;...(省略)...;(9)向密码解码器20c输入密文“9”,并在对来自密码解码器20c的明文输出进行记录之后,重置伪随机数产生器21”,可以根据密文输入0至9与明文输出0和1之间的对应关系来预测第一伪随机数的值。通过执行类似的操作,可以预测出第n伪随机数的值。
例如,在参照图1至图12所描述的本实施例中的密码解码器20中,针对密文输入“0”的明文输出为“0”,针对密文输入“1”的明文输出为“0”,针对密文输入“2”的明文输出为“error”,针对密文输入“3”的明文输出为“0”,针对密文输入“4”的明文输出为“0”,针对密文输入“5”的明文输出为“1”,针对密文输入“6”的明文输出为“1”,针对密文输入“7”的明文输出为“error”,针对密文输入“8”的明文输出为“1”,而针对密文输入“9”的明文输出为“1”。根据这种对应关系,可以预测“2”为对应的伪随机数值(第一伪随机数值)。
与此相比,在通信系统3中,如上所述,禁止对加密器10c和密码解码器20c中的伪随机数产生器11和21的伪随机数ri的产生操作进行重置和重复,因此,即使拦截者盗取了加密器10c或密码解码器20c,该拦截者也绝对不可能对伪随机数ri进行重置并重复地产生和输出相同的伪随机数序列以进行重新使用。
另一方面,在通信系统3中,当需要使通信设备3a中的伪随机数产生操作与通信设备3b中的伪随机数产生操作同步时(例如,在由于电力故障等而导致的异常停止之后进行恢复时),通信设备3a中的发送/接收部分152和通信设备3b中的发送/接收部分152在彼此之间进行开放通信,并且作为同步信息,对调制伪随机数ri的输出次数和解调伪随机数ri的输出次数(分别从非易失性存储器134和144中读取)进行交换。
然后,在执行通信设备3a和3b中的伪随机数ri的同步处理时,通信设备3a和3b中的每一个中的同步调节部分153通过为加密器10c的非易失性存储器134或密码解码器20c的非易失性存储器144设定输出次数,或者通过对伪随机数产生器11或21执行时钟信号的虚拟输入,来使输出次数中的具有较小值的输出次数递增,并使加密器10c中的伪随机数产生器11的输出次数与密码解码器20c中的伪随机数产生器21的输出次数相匹配,从而使加密器10c中的伪随机数产生器11的伪随机数产生操作与密码解码器20c中的伪随机数产生器21的伪随机数产生操作相同步。
[11]本实施例中的通信系统的第二示例
如图20所示,与第一示例中的通信系统3一样,第二示例中的通信系统3A也被构造为包括经由通信网络等彼此可通信地连接的两个通信设备3a和3b。如上所述,在第二示例中的通信系统3A中,描述了其中两个通信设备3a和3b通过防篡改通信信道(信号线路)可通信地连接并且这两个通信设备3a和3b通过开放通信经由该通信信道进行同步处理。
通信系统3A中的通信设备3a和3b具有相同的结构,并且在通信系统3A中,通信设备3a被构造为包括:加密器10d,用于通过上述方法对要发送至通信设备3b的输入数据(明文xi)进行加密;密码解码器20d,用于通过上述方法对从通信设备3b接收的加密数据(ci或si)进行解码;以及上述的发送/接收部分152和同步调节部分153,而通信设备3b被构造为包括:加密器10d,用于通过上述方法对要发送至通信设备3a的输入数据(明文xi)进行加密;密码解码器20d,用于通过上述方法对从通信设备3a接收的加密数据(密文ci或si)进行解码;以及上述的发送/接收部分152和同步调节部分153。这里,稍后将参照图23来说明加密器10d的结构,并且稍后将参照图24来说明密码解码器20d的结构。
然而,如以下参照图23和图24所描述的,通信系统3A中的加密器10d被构造为将由第二调制部分14获得的加密数据(si)作为多个分组发送至目的地通信设备3a或3b,而通信系统3A中的密码解码器20d被构造为将从发送方通信设备3a或3b的加密器10d接收的各个分组中的加密数据(si)解调为输入数据(明文xi)。
具体地,通信系统3A(加密器10d和密码解码器20d)用于使用其中分组的到达顺序可以改变或者分组可能消失的通信信道进行通信,例如IP(互联网协议)网络和需要识别各个分组是否从合法发送器发送的系统(具体地,IP电话的通信系统)。
此外,在通信系统3A中,同样,通信设备3a中的加密器10d和通信设备3b中的密码解码器20d配对,并且设备10d和20d中的伪随机数产生器11和21(参照图23和图24)被构造为同步并根据相同的加密密钥产生伪随机数ri。类似地,通信设备3b中的加密器10d和通信设备3a中的密码解码器20d配对,并且设备10d和20d中的伪随机数产生器11和21也被构造为同步并根据相同的加密密钥产生伪随机数ri。然而,作为在上述各对设备中使用的加密密钥,设定了不同的密钥。
利用这种结构,由加密器10d通过上述加密过程对从通信设备3a到通信设备3b的发送数据进行加密,并将其作为密文发送至通信设备3b,而在通信设备3b侧,由密码解码器20d通过上述密码解码过程将从通信设备3a接收的密文解码为明文。类似地,由加密器10d通过上述加密过程对从通信设备3b到通信设备3a的发送数据进行加密,并将其作为密文发送至通信设备3a,而在通信设备3a侧,由密码解码器20d通过上述密码解码过程将从通信设备3b接收的密文解码为明文。顺便提及,在通信系统3A中,发送/接收部分152和同步调节部分153与通信系统3中所描述的相同,因此省略对其的说明。
接下来,将参照图23说明加密器10d的结构。图23是表示图20所示的通信系统3A中的加密器10d的结构的框图,与上述加密器10c相同,图23所示的加密器10d被构造为包括调制伪随机数产生器11、第一调制部分12、物理随机数产生器13、第二调制部分14、识别号ROM 131、加密密钥ROM 132、计数器133以及非易失性存储器134,另外,还包括并入(incorporation)部分135和分组(packet)部分136。
另外,与通信系统3中的加密器10c相同,本实施例中的加密器10d也被设置在芯片(未示出)上的防篡改区域60(其提供了与上述项(11)至(17)相同的结构)中。然而,分组部分136可以设置在防篡改区域60的外部。顺便提及,在图23中,与上述相同的符号表示相同或基本相同的部分,因此省略对其的说明。
此外,与通信系统3中的加密器10c一样,图23所示的加密器10d可以提供有信道编码部分15(参照图1)(尽管在此与图1所示的加密器10一样未示出),或者可以不提供有信道编码部分15。在提供有信道编码部分15的情况下,可以将信道编码部分15设置在防篡改区域60中或者防篡改区域60的外部。
并入部分135将输入数据xi分为多个分组单元[如图25(B)所示,要存储在分组的容器部分中的一定量的数据单元],以由分组部分136作为分组的容器部分进行处理(稍后描述),并且该并入部分135从伪随机数产生器11获得调制伪随机数ri的输出次数(该值表示伪随机数的数量),该调制伪随机数ri是在根据由计数器133(非易失性存储器134)针对每个分组单元所计数的当前计数值来对第一调制部分12中的分组单元中的第一数据xi进行调制时所使用的,并且该并入部分135将所获得的输出次数并入到分组单元中(一定量的输入数据内),同时,将来自伪随机数产生器11的预定伪随机数序列并入到分组单元中(一定量的输入数据内)作为分组单元固有的认证码。因此,使得要从加密器10d发送至密码解码器20d的各个分组的容器部分中的加密数据包括输出次数和认证码。
此时,并入部分135根据来自伪随机数产生器11的伪随机数来确定分组单元中的输出次数和认证码的存储位置(并入/嵌入位置,即,各个分组的容器部分中的存储位置),并且并入该输出次数和认证码,从而将输出次数和认证码设置在如图25(A)所示的所确定的位置上。换句话说,在本实施例中,利用来自伪随机数产生器11的伪随机数对输出次数和认证码的并入位置/嵌入位置进行加扰(scramble)。
如图25(B)所示,分组部分136将在并入部分135中进行了分割并在调制部分12和14中进行了调制的分组单元存储在容器部分中,并且通过创建未经调制或加密的头部部分并将其附加到容器部分上,来创建分组(执行调制结果的分组化)并将其发送给通信中的对方(目的地)的通信设备3a或3b。此时,如图25(B)所示,分组部分136如在头部部分中的每个分组单元中并入的输出次数那样来描述输出次数,而不进行调制。根据需要,分组部分136可以如在头部部分中那样来描述在加密器10d中使用的加密密钥的识别号(ID号;保存在ROM 131中的设备识别号),而不进行调制。
注意,图25(A)是表示由通信系统3A中的并入部分135执行的将认证码和输出次数并入到输入数据(明文)中的示例的图,而图25(B)是表示其中通过分组部分136(稍后描述)对图25(A)所示的输入数据(明文)进行分组化的示例的图。此外,可以将表示分组的发送顺序的序列号而不是输出次数并入在分组单元中。此外,加密器10d还可以设置有与上述项(21)至(28)中的相对应的接口,作为防篡改区域60的内部和外部之间的接口。
接下来,将参照图24说明密码解码器20d的结构。图24是表示图20所示的通信系统3A中的密码解码器20d的结构的框图,与上述密码解码器20d相同,图24所示的密码解码器20d被构造为包括解调伪随机数产生器21、解调部分22、识别号ROM 141、加密密钥ROM 142、计数器143以及非易失性存储器144,另外,还包括FIFO存储器145、排列(permutation)部分146、取出部分147、比较部分(第一比较部分、第二比较部分)148、分组消失判定部分149、分组丢弃部分150以及输出次数调节部分154。
另外,与通信系统3中的密码解码器20c相同,通信系统3A中的密码解码器20d也被设置在芯片(未示出)上的防篡改区域60(其提供了与上述项(31)至(35)中的相同的结构)中。这里,在图24中,与上述相同的符号表示相同或基本相同的部分,因此省略对其的说明。
此外,当加密器10d侧设置有信道编码部分15时,与通信系统3中的密码解码器20c相同,图24所示的密码解码器20d可以设置有信道解码部分23(参照图2),尽管这里与图2所示的密码解码器20一样未示出。在提供有信道解码部分23的情况下,可以将信道解码部分23设置在防篡改区域60中或者防篡改区域60的外部。
FIFO(先进先出)存储器145是足够长的接收存储器,并用作用于保存从通信中的对方(发送方)的通信设备3a或3b的加密器10d接收的多个分组的分组保存部分。
排列部分146根据FIFO存储器145中的各个分组的头部部分中描述的输出次数(或序列号),将保存在FIFO存储器145中的多个分组排列为序列,并根据输出次数按照该序列将来自FIFO存储器145的分组的容器部分中的加密数据输入到解调部分22中。
取出部分147根据由解调伪随机数产生器21产生的解调伪随机数(与在并入部分135进行并入时所使用的调制伪随机数相同)从解调部分22的解调结果中取出由并入部分135并入的输出次数和认证码,并将已从中取出了输出次数和认证码的解调结果作为正式解调结果输出至密码解码器20d的外部。
比较部分(第一比较部分、第二比较部分)148对各个分组的头部部分中所描述的输出次数和由取出部分147从解调部分22的解调结果中取出的输出次数进行比较,同时,对由取出部分147从解调部分22的解调结果中取出的认证码和与由解调伪随机数产生器21产生的认证码相对应的解调伪随机数序列进行比较。
在从加密器10d接收到该多个分组之一后,如果在预定时间内没有接收到根据该分组的头部部分中所描述的输出次数(或序列号)下一个要接收的分组,则分组消失判定部分149判定该分组已经消失。
当比较部分148的比较结果是输出次数(或序列号)不一致或者认证码不一致,则分组丢弃部分150丢弃该分组。
当分组丢弃部分150丢弃了该分组或者当分组消失判定部分149判定该分组已经消失,则输出次数调节部分154进行调节,以使得从解调伪随机数产生器21输出到解调部分22的解调伪随机数ri的输出次数与在对被丢弃的分组和被判定为已经消失的分组之后正常接收到的分组的输出次数(在对该分组的容器部分中所包括的分组单元中的第一数据xi进行调制时所使用的调制伪随机数ri的输出次数)相匹配。在这种情况下,与通信系统3中的同步调节部分153相同,输出次数调节部分154被设计为通过针对密码解码器20d的非易失性存储器144进行输出次数的设定或者对伪随机数产生器21进行时钟信号的虚拟输入,来调节来自伪随机数产生器21的输出次数。
注意,密码解码器20d还设置有与上述项(41)至(48)中的相对应的接口作为防篡改区域60的内部与外部之间的接口。
另外,在通信系统3A中,FIFO存储器145、排列部分146、分组消失判定部分149、分组丢弃部分150以及输出次数调节部分154设置在防篡改区域60中,然而,这些部分中的每一个都没有直接利用伪随机数,因此,可以将它们设置在防篡改区域60的外部。
根据如此构造的通信系统3A(加密器10d和密码解码器20d),在通信设备3a和通信设备3b之间实现了应用了本实施例中的加密技术的密码通信,因此,可以获得与上述实施例相同的功能和效果,另外,还可以获得与上述第一示例中的通信系统3(加密器10c和密码解码器20c)相同的功能和效果。
此外,在通信系统3A的通信设备3a和3b中,同样,加密器10d和密码解码器20d分别设置在防篡改区域60中,因此,不仅不能分接伪随机数产生器11和21与调制部分12或解调部分22之间的信号线,而且不能分接伪随机数产生器11和12与各个组件之间的信号线,并且与通信系统3的情况相同,即使芯片被分解,也绝对不可能读取保存在ROM132和142中的加密密钥、分接伪随机数ri的信号线,或者分接物理随机数fi的信号线,此外,即使从芯片的外部施加了物理扰动,来自物理随机数产生器12的物理随机数fi的概率分布也不再改变。因此,在第二示例的通信系统3A中,也可以获得与第一示例中的通信系统3相同的功能和效果。
顺便提及,当在通信设备3a和3b之间进行分组通信时,如果对分组的顺序进行了排列,则调制伪随机数与解调伪随机数之间不再对应,从而密码解码器20d无法对顺序经过排列的分组中的密文(加密数据)进行正确解码,并且可能出现混乱的字母等。
因此,在通信系统3A中,为了使密码解码器20d侧识别分组到达的顺序是否经过排列,在该分组的头部部分中描述了未经调制或加密的原始输出次数(或序列号)。
因此,即使在发送过程中对多个分组的顺序进行了排列,并且通信设备3a或3b接收时的顺序与发送时的顺序不同,排列部分146也可以通过参照FIFO存储器145中的各个分组的头部部分中所描述的输出次数(序列号)并对FIFO存储器145中的分组保存顺序进行排列,而在接收到分组之后将接收到的分组排列为正确的顺序。换句话说,在将各个分组发送到解调部分22之前,可以通过参照在各个分组的头部部分中描述的输出次数(序列号),来按照正确的顺序对分组进行排列。因此,在通信系统3A中,即使在通信设备3a和3b之间进行了分组通信并且如果在发送过程中对分组的顺序进行了排列时,接收方也可以将分组排列为正确的顺序,因此,使得可以对密文(加密数据)进行正确的解码,同时始终保持调制伪随机数与解调伪随机数之间的对应关系。
另外,在通信系统3A中,伪随机数ri的输出次数(或序列号)也被嵌入在各个分组的容器部分中所保存的加密数据(密文)中,并且在密码解码器20d侧,比较部分148对由取出部分147从容器部分中取出的输出次数与头部部分中描述的输出次数进行比较,如果输出次数不一致,则意味着某些位由于对分组的篡改或通信信道中的噪声而相反,因此,分组丢弃部分150丢弃该分组。
此外,在通信系统3A中,将认证码(调制伪随机数产生器11产生的伪随机数序列)嵌入在加密分组(容器部分中的密文)中,以使密码解码器20d侧识别该分组是否是从合法发送器发送来的,而在密码解码器20d侧,比较部分148对由取出部分147从容器部分中取出的认证码与和解调伪随机数产生器21产生的认证码相对应的解调伪随机数序列进行比较,如果认证码不一致,则同样意味着某些位由于对分组的篡改或通信信道中的噪声而相反,因此,分组丢弃部分150丢弃该分组。顺便提及,在丢弃分组之后,即使从合法发送器到达的分组的认证码与其相一致,该分组也会被分组丢弃部分150丢弃。
此外,在通信系统3A中,分组消失判定部分149对保存在FIFO存储器145中的分组的头部部分(输出次数/序列号)进行监测,如果在预定时间内没有接收到要接收的分组,则将该分组被判定为已经消失。
然后,如上所述,当分组丢弃部分150丢弃了该分组时或者当分组消失判定部分149判定该分组已经消失时,输出次数调节部分154通过针对密码解码器20d的非易失性存储器144进行输出次数的设定或者对伪随机数产生器21进行时钟信号的虚拟输入,将从解调伪随机数产生器21输出到解调部分22的解调伪随机数ri的输出次数调节为在被丢弃的分组和被判定为已经消失的分组之后正常接收到的分组的输出次数。因此,即使分组被丢弃或出现了分组的消失,也使得可以对密文(加密数据)进行正确的解码,同时始终保持调制伪随机数与解调伪随机数之间的对应关系。
在通信系统3A中,伪随机数的输出次数、认证码以及消息(输入数据)被存储在各个分组的容器部分中,如果存储位置是固定的,则拦截者可能能够预测出该存储位置、创建其中通过复制伪随机数的输出次数部分和认证码而更换了消息的伪造分组,并冒充合法。为了防止该问题,在通信系统3A中,并入部分135在使用如图25(A)和图25(B)所示的来自伪随机数产生器11的伪随机数来嵌入输出次数和认证码时对嵌入的位置进行加扰。因此使得拦截者等无法冒充合法。
注意,在通信系统3A中,使用伪随机数对输出次数和认证码进行加扰,并在由调制部分12进行调制之前将其嵌入到输入数据中,并且还通过并入部分135对输出次数和认证码本身进行调制,然而,也可以使用伪随机数对未经调制部分12和14调制的输出次数和认证码进行加扰,并在由调制部分12和14进行调制之后将其嵌入密文(分组单元)中。在这种情况下,在加密器10d中,并入部分135设置在调制部分14与分组部分136之间,并对其中嵌入有输出次数和认证码的密文进行分组化,而在密码解码器20d中,取出部分147设置在FIFO存储器145与解调部分22之间,并将分组内的已从中取出了输出次数和认证码的密文输入至解调部分22。利用这种结构,可以获得与上述实施例相同的功能和效果。
[12]本实施例中的通信系统的第三示例
图26是表示应用了本发明的加密/密码解码技术的通信系统的第三示例(参照符号3′)和第四示例(参照符号3A′)的整体结构的框图,图26所示的第三示例中的通信系统3′被构造为包括经由通信网络等彼此可通信地连接的两个通信设备3a′和3b′。对于稍后要描述的第三示例中的通信系统3′和第四示例中的通信系统3A′,描述其中两个通信设备3a′和3b′经由可能发生篡改的通信信道(信号线路)可通信地连接并且这两个通信设备3a′和3b′通过稍后描述的Vernam密码通信来进行同步处理的情况。
通信设备3a′和3b′具有相同的结构,并且通信设备3a′被构造为包括:加密器10c′,用于通过上述方法对要发送至通信设备3b′的输入数据(明文xi)进行加密;密码解码器20c′,用于通过上述方法对从通信设备3b′接收的加密数据(ci或si)进行解码;以及稍后要描述的非易失性存储器151、发送/接收部分152A和同步调节部分153,而通信设备3b′被构造为包括:加密器10c′,用于通过上述方法对要发送至通信设备3a′的输入数据(明文xi)进行加密;密码解码器20c′,用于通过上述方法对从通信设备3a′接收的加密数据(密文ci或si)进行解码;以及稍后要描述的非易失性存储器151、发送/接收部分152A和同步调节部分153。下面将参照图27来说明加密器10c′的结构,并且将参照图28来说明密码解码器20c′的结构。
此外,在图26所示的通信系统3′中,通信设备3a′中的加密器10c′和通信设备3b′中的密码解码器20c′配对,并且设备10c′和20c′(参照图27和图28)中的伪随机数产生器11和21被构造为同步并根据相同的加密密钥产生伪随机数ri。类似地,通信设备3b′中的加密器10c′和通信设备3a′中的密码解码器20c′配对,并且设备10c′和20c′中的伪随机数产生器11和21被构造为同步并根据相同的加密密钥产生伪随机数ri。然而,作为上述各对设备中使用的加密密钥,设定了不同的密钥。
利用这种结构,由加密器10c′通过上述加密过程对从通信设备3a′到通信设备3b′的发送数据进行加密,并将其作为密文发送至通信设备3b′,而在通信设备3b′侧,由密码解码器20c′通过上述密码解码过程将从通信设备3a′接收的密文解码为明文。类似地,由加密器10c′通过上述加密过程对从通信设备3b′到通信设备3a′的发送数据进行加密,并将其作为密文发送至通信设备3a′,而在通信设备3a′侧,由密码解码器20c′通过上述密码解码过程将从通信设备3b′接收的密文解码为明文。
这里,当由于某种原因而在伪随机数产生器11和21的伪随机数产生操作中出现了同步偏移,并且加密器10c′和密码解码器20c′之间无法再进行密码通信时,使用非易失性存储器151、发送/接收部分152A和同步调节部分153。
非易失性存储器(第二保存部分)151保存有发送/接收部分152A(稍后描述)进行加密/密码解码所使用的随机数表。在通信设备3a′和3b′的非易失性存储器151和151中,在加密器10c′和密码解码器20c′之间的正常密码通信期间,通过交换加密数据期间的密码通信来交换上述随机数表中的随机数序列,从而累积和保存相同的随机数表。
发送/接收部分(密码发送部分/解码和接收部分)152A根据保存在非易失性存储器151中的随机数表对从非易失性存储器134(参见图27)或非易失性存储器144(参见图28)中读取的调制伪随机数或解调伪随机数的输出次数进行加密,并将其作为加密同步信息发送至作为通信中的对方的通信设备3a′或3b′,同时,根据保存在非易失性存储器151中的随机数表,将从作为通信的另一方的通信设备3a′或3b′接收的加密同步信息解码为调制伪随机数或解调伪随机数的输出次数。作为发送/接收部分152A的加密方案,例如采用Vernam密码。Vernam密码是一种使用长度比明文(这里为输出次数)的长度更长的随机数作为加密密钥来计算该明文与加密密钥之间的异或(XOR)作为密文的密码方案。
当由于某种原因而在伪随机数产生器11和21的伪随机数产生操作中出现了同步偏移,并且加密器10c′和密码解码器20c′之间无法再进行密码通信时,使用分别设置在通信设备3a′和3b′中的发送/接收部分152A和152A,并且根据分别保存在非易失性存储器151和151中的相同随机数表同步地进行加密/密码解码操作,因此,经由通信设备3a′和3b′之间(发送/接收部分152A和152A之间)的通信网络等(其中不仅会出现拦截而且会出现篡改的信号线路)将上述输出次数作为为经加密的同步信息进行交换。
同步调节部分153与在通信系统3和3A中所描述的相同,因此这里不再详细说明。当出现上述同步偏移时,通信系统3′中的同步调节部分153也根据从非易失性存储器134或144读取的输出次数对来自伪随机数产生器11和21的伪随机数的输出次数进行调节,以使通信设备3a′的调制伪随机数产生器11(参照图27)进行的伪随机数产生操作与通信设备3b′的解调伪随机数产生器21(参照图28)进行的伪随机数产生操作同步,或者使通信设备3b′的调制伪随机数产生器11(参照图27)进行的伪随机数产生操作与通信设备3a′的解调伪随机数产生器21(参照图28)进行的伪随机数产生操作同步。
另外,在通信系统3′中的通信设备3a′和3b′中,上述加密器10c′、密码解码器20c′、非易失性存储器151和发送/接收部分152A抑制了用于产生伪随机数的加密密钥以及来自伪随机数产生器11和21的伪随机数ri的泄露,同时被设置在防篡改区域60中,以抑制由于物理扰动而导致的由物理随机数产生器13(参照图27)产生的物理随机数fi的概率分布变化。具体地,通信系统3′中的防篡改区域60提供了与以下项(51)至(59)中的相对应的结构。顺便提及,图26所示的通信系统3a′和3b′中的每一个例如被构造在单个芯片上,并且防篡改区域60设置在该芯片上。
(51)即使芯片被分解也无法读取加密密钥ROM 132和142(参照图27和图28)的加密密钥(即,伪随机数ri的“种子”)的结构。例如,如果试图读取ROM 132和142中的加密密钥而对芯片进行分解则ROM
132和142会破损的布线结构。
(52)即使芯片被分解也无法分接伪随机数ri的信号线(伪随机数产生器11和第一调制部分12之间的信号线或者伪随机数产生器21与解调部分22之间的信号线;参照图27和图28)的结构。例如,如果在尝试分接伪随机数ri的信号线时使芯片破损,而使得该芯片不能再工作的布线结构。
(53)即使从芯片的外部施加了物理扰动,来自物理随机数产生器13的物理随机数fi也不会出现概率分布变化的结构。例如,一种物理随机数产生器的结构,其中即使整个芯片被冷却或者施加了异常输入电压,物理随机数fi的概率分布也不会改变。或者,一种通过检测温度或输入电压,在物理随机数fi的分布出现偏差之前停止芯片的操作的机制。
(54)即使芯片被分解,也无法读取非易失性存储器151的随机数表的结构。例如,如果在尝试读取非易失性存储器151中的随机数表时对芯片进行分解则非易失性存储器151破损的布线结构。
(55)即使芯片被分解,也无法分接非易失性存储器151与发送/接收部分152A之间的信号线路的结构。例如,如果在尝试读取非易失性存储器151中的随机数表时对芯片进行了分解则非易失性存储器151破损的布线结构。
(56)可以读取但不能篡改识别号ROM 131和141(参照图27和图28)的识别号的结构。
(57)即使芯片被分解,也无法分接物理随机数fi的信号线(物理随机数产生器13与第二调制部分14之间的信号线;参见图27)的结构。例如,如果在尝试分接物理随机数fi的信号线时使芯片破损则芯片无法再进行工作的布线结构。
(58)不能篡改保存在非易失性存储器134和144(参照图27和图28)中的信息(例如,由计数器133和134(参照图27和图28)所计数的输出次数,如稍后所述)的结构。
(59)通过避免计数器133和143以及伪随机数产生器11和21以任意次数的顺序产生伪随机数ri,来防止伪随机数产生器11和21被直接访问的结构。例如,即使芯片被分解,也无法分接计数器133与伪随机数产生器11之间的信号线(参见图27)或者计数器143与伪随机数产生器21之间的信号线(参见图28)的结构,以及如果在尝试分接该信号线时使芯片破损则该芯片无法再工作的布线结构。
接下来,将参照图27说明加密器10c′的结构。图27是表示图26所示的通信系统3′中的加密器10c′的结构的框图,在图27中,与上述相同的符号表示相同或基本相同的部分。如图27所示,除了图21中所示的加密器10c被单独设置在防篡改区域60中以外,加密器10c′具有与加密器10c相同的结构,因此,省略对其的说明。与以上参照图26所述的相同,加密器10c′与通信设备3a′和3b′中的密码解码器20c′、非易失性存储器151以及发送/接收部分152A一起设置在防篡改区域60中。
注意,尽管在图27所示的加密器10c′中也未示意性地示出信道编码部分15(参照图1),但是与图1所示的加密器10c相同,可以提供信道编码部分15,或者可以不提供。当提供了信道编码部分15时,可以将信道编码部分15设置在防篡改区域60中或者防篡改区域60外部。此外,加密器10c′也需要与上述项(21)至(28)中的相对应的接口,作为防篡改区域60的内部与外部之间的接口。
接下来,将参照图28说明密码解码器20c′的结构。图28是表示图26所示的通信系统3′中的密码解码器20c′的结构的框图,在图28中,与上述相同的符号表示相同或基本相同的部分。如图28所示,除了密码解码器20c被单独设置在防篡改区域60中以外,密码解码器20c′具有与密码解码器20c相同的结构,因此,省略对其的说明。与以上参照图26所述的相同,密码解码器20c′与通信设备3a′和3b′中的加密器10c′、非易失性存储器151以及发送/接收部分152A一起设置在防篡改区域60中。
注意,尽管在图28所示的密码解码器20c′中也未示意性地示出信道解码部分23(参照图2),但是,与图2所示的密码解码器20c相同,当加密器10c′侧设置有信道编码部分15时,设置信道解码部分23。当设置有信道解码部分23时,可以将信道解码部分23设置在防篡改区域60中或者防篡改区域60外部。此外,密码解码器20c′也需要与上述项(41)至(48)中的相对应的接口,作为防篡改区域60的内部与外部之间的接口。
根据如此构造的通信系统3′(加密器10c′和密码解码器20c′),在通信设备3a′和通信设备3b′之间实现了应用了本实施例的加密技术的密码通信,并且可以获得与上述实施例相同的功能和效果,另外,也可以获得与第一示例中的通信系统3(加密器10c和密码解码器20e)相同的功能和效果。
另外,在通信系统3′中的通信设备3a′和3b′中的每一个中,将集成为一体的加密器10c′、密码解码器20c′、非易失性存储器151以及发送/接收部分152A全部设置在芯片上的提供了上述项(51)至(59)中的结构的防篡改区域60之一中,因此,确保了防篡改特性,并将防篡改区域60与其外部之间的输入/输出限制为上述项(21)至(28)以及(41)至(48)所示的那些。
因此,绝对不可能通过上述项(21)至(28)以及(41)至(48)中的接口将伪随机数产生器11和21所产生的伪随机数ri、保存在ROM132和142中的加密密钥、或者保存在非易失性存储器151中的随机数表读取到防篡改区域60的外部。此外,通过采用提供了上述项(51)至(59)中的结构的防篡改区域60,即使通过分解芯片,也绝对不可能读取保存在ROM 132和142中的加密密钥、或者分接伪随机数ri的信号线、分接物理随机数fi的信号线、读取保存在非易失性存储器151中的随机数表,或者分接该随机数表的随机数序列的信号线,并且,即使从该芯片的外部施加了物理扰动(热或电压),来自物理随机数产生器13的物理随机数fi的概率分布也不再改变。因此,在第三示例中的通信系统3′中,也可以获得与第一示例中的通信系统3相同的功能和效果。
另一方面,在通信系统3′中,彼此进行密码通信的通信设备3a′和3b′在密码通信期间共享相同的随机数表,并对通信设备3a′和3b′中的每一个的非易失性存储器151中的公共随机数表进行累积。于是,当需要使通信设备3a′中的伪随机数产生操作与通信设备3b′中的伪随机数产生操作同步时,例如,在由于电力故障等而导致的异常停止之后进行恢复时,通信设备3a′中的发送/接收部分152A和通信设备3b′中的发送/接收部分152A使用保存在非易失性存储器151中的随机数表通过Vernam密码在彼此之间进行密码通信,并且作为同步信息,对调制伪随机数ri的输出次数和解调伪随机数ri的输出次数(分别从非易失性存储器134和144中读取)进行交换。
另外,在执行通信设备3a′和3b′中的伪随机数ri的同步处理时,通信设备3a′和3b′中的每一个中的同步调节部分153通过为加密器10c′的非易失性存储器134或密码解码器20c′的非易失性存储器144设定输出次数,或者通过对伪随机数产生器11或21执行时钟信号的虚拟输入,来使输出次数中的具有较小值的输出次数递增,并使加密器10c′中的伪随机数产生器11的输出次数与密码解码器20c′中的伪随机数产生器21的输出次数相匹配,由此使加密器10c′中的伪随机数产生器11的伪随机数产生操作与密码解码器20c′中的伪随机数产生器21的伪随机数产生操作相同步。
注意,当同步调节部分153对伪随机数产生器11或21执行时钟信号的虚拟输入时,如果假定伪随机数ri的种子(加密密钥)是100位,则输出次数的信息也包括100位,然而,输出次数不大可能达到2100次的量级。换句话说,可以预料,同步信息(输出次数)会向100位的低数位偏移。优选地,消除这种偏移状态,从而不向拦截者等提供额外的信息。因此,在将同步信息(输出次数)输出为100位信息时,更优选地,根据由通信设备3a′和3b′共享的随机数表(非易失性存储器151)来对其中存储有输出次数的位段(bit slot)的位置进行排列。
顺便提及,当通信设备3a′和3b′经由其中不仅可能出现拦截而且可能出现篡改的通信信道(信号线路)彼此可通信地连接时,当如上所述通过“加密器10c′和密码解码器20c′使得其自身设备的伪随机数ri的输出次数彼此公开,并且输出次数值较小的一方使它自己与输出次数值较大的一方相匹配”的过程执行伪随机数ri的同步时,并且如果不经加密而通过上述信号线路发送和接收输出次数(同步信息),则输出次数有可能由于拦截者等进行的篡改而被篡改为很大的数(例如,2100等)。
如果进行了这种篡改,则在加密器10c′和密码解码器20c′中不停地连续进行用于同步调节的时钟信号的虚拟输入,并且有可能加密器10c′和密码解码器20c′不再能使用。为了解决该弱点,在通信系统3′中,在通过发送/接收部分152A加密为Vernam密码之后对输出次数(同步信息)进行发送和接收,因此,不再会受到拦截者等的篡改,从而可以消除上述易受篡改的弱点。
[13]本实施例中的通信系统的第四示例
与如图26所示的上述第三示例中的通信系统3′相同,第四示例中的通信系统3A′也被构造为包括经由通信网络等彼此可通信地连接的两个通信设备3a′和3b′。如上所述,对于第四示例中的通信系统3A′,描述其中两个通信设备3a′和3b′经由可能出现篡改的通信信道(信号线路)彼此可通信地连接并且这两个通信设备3a′和3b′通过稍后描述的Vernam密码通信来进行同步处理的情况。
通信系统3A′中的通信设备3a′和3b′具有相同的结构,并且在通信系统3A′中,通信设备3a′被构造为包括:加密器10d′,用于通过上述方法对要发送至通信设备3b′的输入数据(明文xi)进行加密;密码解码器20d′,用于通过上述过程对从通信设备3b′接收的加密数据(ci或si)进行解码;以及通信系统3′中的上述非易失性存储器151、发送/接收部分152A和同步调节部分153,而通信设备3b′被构造为包括:加密器10d′,用于通过上述方法对要发送至通信设备3a′的输入数据(明文xi)进行加密;密码解码器20d′,用于通过上述方法对从通信设备3a′接收的加密数据(密文ci或si)进行解码;以及通信系统3′中的上述非易失性存储器151、发送/接收部分152A和同步调节部分153。顺便提及,将参照图29来说明加密器10d′的结构,并且将参照图30来说明密码解码器20d′的结构。
然而,与第二示例中的通信系统3A相同,通信系统3A′中的加密器10d′被构造为将由第二调制部分14获得的加密数据(si)作为多个分组发送至目的地通信设备3a′或3b′,并且通信系统3A′中的加密器10d′被构造为将从发送方通信设备3a′或3b′的加密器10d′接收的各个分组中的加密数据(si)解码为输入数据(明文xi)。换句话说,与第二示例中的通信系统3A相同,通信系统3A′(加密器10d′和密码解码器20d′)也用于使用其中可以对分组的到达顺序进行排列或者分组可能消失的通信信道以及需要识别各个分组是否从合法发送器发送来的系统(具体地,IP电话的通信系统)进行的通信。
此外,在通信系统3A′中,同样,通信设备3a′中的加密器10d′和通信设备3b′中的密码解码器20d′配对,并且设备10d′和20d′中的伪随机数产生器11和21被构造为同步并根据相同的加密密钥产生伪随机数ri。类似地,通信设备3b′中的加密器10d′和通信设备3a′中的密码解码器20d′配对,并且设备10d′和20d′中的伪随机数产生器11和21也被构造为同步并根据相同的加密密钥产生伪随机数ri。然而,作为在上述各对设备中使用的加密密钥,设定了不同的密钥。
利用这种结构,由加密器10d′通过上述加密过程对从通信设备3a′到通信设备3b′的发送数据进行加密,并将其作为密文发送至通信设备3b′,而在通信设备3b′侧,由密码解码器20d′通过上述密码解码过程将从通信设备3a′接收的密文解码为明文。类似地,由加密器10d′通过上述加密过程对从通信设备3b′到通信设备3a′的发送数据进行加密,并将其作为密文发送至通信设备3a′,而在通信设备3a′侧,由密码解码器20d′通过上述密码解码过程将从通信设备3b′接收的密文解码为明文。
注意,在通信系统3A′中,非易失性存储器151、发送/接收部分152A和同步调节部分153与第三示例中的通信系统3′中所描述的相同,因此省略对其的说明。此外,与通信系统3′相同,在通信系统3A′的通信设备3a′和3b′中,上述加密器10d′、密码解码器20d′、非易失性存储器151以及发送/接收部分152A也设置在芯片上的防篡改区域60(其提供了与上述项(51)至(59)中的相对应的结构)中。
接下来,将参照图29说明加密器10d′的结构。图29是表示图26所示的通信系统3A′中的加密器10d′的结构的框图,在图29中,与上述相同的符号表示相同或基本相同的部分。如图29所示,除了图23所示的加密器10d被单独设置在防篡改区域60中以外,加密器10d′具有与加密器10d相同的结构,因此,省略对其的说明。与以上参照图26所说明的相同,加密器10d′与通信设备3a′和3b′中的密码解码器20d′、非易失性存储器151以及发送/接收部分152A一起设置在防篡改区域60中。
注意,尽管在图29所示的加密器10d′中也未示意性地示出信道编码部分15(参照图1),但是,与图1所示的加密器10相同,可以提供信道编码部分15,或者可以不提供。当提供了信道编码部分15时,可以将信道编码部分15设置在防篡改区域60中或者防篡改区域60外部。此外,加密器10d′也需要与上述项(21)至(28)中的相对应的接口,作为防篡改区域60的内部与外部之间的接口。
接下来,将参照图30说明密码解码器20d′的结构。图30是表示图26所示的通信系统3A′中的密码解码器20d′的结构的框图,在图30中,与上述相同的符号表示相同或基本相同的部分。如图31所示,除了图24所示的密码解码器20d被单独设置在防篡改区域60中以外,密码解码器20d′具有与密码解码器20d相同的结构,因此,省略对其的说明。与以上参照图26所说明的相同,密码解码器20d′与通信设备3a′和3b′中的加密器10d′、非易失性存储器151以及发送/接收部分152A一起设置在防篡改区域60中。
注意,尽管在图30所示的密码解码器20d′中也未示意性地示出信道解码部分23(参照图2),但是,与图2所示的密码解码器20相同,当加密器10d′侧设置有信道编码部分15时,设置信道解码部分23。当设置有信道解码部分23时,可以将信道解码部分23设置在防篡改区域60中或者防篡改区域60外部。此外,密码解码器20d′也需要与上述项(41)至(48)中的相对应的接口,作为防篡改区域60的内部与外部之间的接口。
根据如此构造的通信系统3A′(加密器10d′和密码解码器20d′),在通信设备3a′和通信设备3b′之间实现了应用了本实施例的加密技术的密码通信,并且可以获得与上述实施例相同的功能和效果,另外,也可以获得与第二示例中的通信系统3A(加密器10d和密码解码器20d)相同的功能和效果。
在通信系统3A′中的通信设备3a′和3b′中的每一个中,将集成为一体的加密器10d′、密码解码器20d′、非易失性存储器151以及发送/接收部分152A全部设置在芯片上的提供了与上述项(51)至(59)中的相对应的结构的防篡改区域60之一中,因此,确保了防篡改特性,并将防篡改区域60与其外部之间的输入/输出限制为上述项(21)至(28)以及(41)至(48)中所示的那些。因此,在第四示例中的通信系统3A′中,也可以获得与第三示例中的通信系统3′中相同的功能和效果。
[14]本实施例中的通信系统的第五示例
在上述第三示例和第四示例中的通信系统3′和3A′中,当执行伪随机数ri的同步处理时,通过Vernam密码通信作为同步信息而通知输出次数,并且同步调节部分153通过针对加密器10c′/10d′的非易失性存储器134或者密码解码器20c′/20d′的非易失性存储器144设定输出次数,或者对伪随机数产生器11或21执行时钟信号的虚拟输入,来使伪随机数ri同步,然而,稍后要描述的第五示例中的通信系统3″(参照图31)和第六示例中的通信系统3A″(参照图31)被构造为通过以下操作使伪随机数ri同步:使用发送/接收部分152A通过Vernam密码对伪随机数ri的种子(加密密钥)进行重新加密;将彼此重新分配加密密钥,以在加密密钥ROM 132和142中再次设定该新的加密密钥(新加密密钥);将计数器133和143(非易失性存储器134和144)中的伪随机数ri的输出次数重置为“0”,以使用由该新加密密钥产生的伪随机数序列。
第五示例和第六示例是与这种同步方法相对应的示例,图31是表示应用了本发明的加密/密码解码技术的通信系统的第五示例(参照符号3″)和第六示例(参照符号3A″)的整体结构的框图,图31所示的第五示例中的通信系统3″被构造为提供经由通信网络等彼此可通信地连接的两个通信设备3a″和3b″。对于稍后要描述的第五示例中的通信系统3″和第六示例中的通信系统3A″,描述其中两个通信设备3a″和3b″经由可能出现篡改的通信信道(信号线路)彼此可通信地连接并且这两个通信设备3a″和3b″使用上述方法通过稍后描述的Vernam密码通信来进行同步处理的情况。
通信设备3a″和3b″具有相同的结构,并且通信设备3a″被构造为包括:加密器10c″,用于通过上述方法对要发送至通信设备3b ″的输入数据(明文xi)进行加密;密码解码器20c″,用于通过上述方法对从通信设备3b″接收的加密数据(ci或si)进行解码;以及与上述相同的非易失性存储器151和发送/接收部分152A,而通信设备3b″被构造为包括:加密器10c″,用于通过上述方法对要发送至通信设备3a″的输入数据(明文xi)进行加密;密码解码器20c″,用于通过上述方法对从通信设备3a″接收的加密数据(密文ci或si)进行解码;以及与上述相同的非易失性存储器151和发送/接收部分152A。换句话说,第五示例中的通信系统3″具有其中省略了第三示例中的通信系统3′中的同步调节部分153的结构。顺便提及,下面将参照图32来说明加密器10c″的结构,并且下面将参照图33来说明密码解码器20c″的结构。
此外,在图31所示的通信系统3″中,通信设备3a″中的加密器10c″和通信设备3b″中的密码解码器20c″配对,并且设备10c″和20c″中的伪随机数产生器11和21被构造为同步并根据相同的加密密钥产生伪随机数ri。类似地,通信设备3b″中的加密器10c″和通信设备3a″中的密码解码器20c″配对,并且设备10c″和20c″中的伪随机数产生器11和21也被构造为同步并根据相同的加密密钥产生伪随机数ri。然而,作为在上述各对设备中使用的加密密钥,设定了不同的密钥。
利用这种结构,由加密器10c″通过上述加密过程对从通信设备3a ″到通信设备3b″的发送数据进行加密,并将其作为密文发送至通信设备3b″,而在通信设备3b″侧,由密码解码器20c″通过上述密码解码过程将从通信设备3a″接收的密文解码为明文。类似地,由加密器10c″通过上述加密过程对从通信设备3b″到通信设备3a″的发送数据进行加密,并将其作为密文发送至通信设备3a″,而在通信设备3a″侧,由密码解码器20c″通过上述密码解码过程将从通信设备3b″接收的密文解码为明文。
这里,当由于某种原因而在伪随机数产生器11和21的伪随机数产生操作中出现了同步偏移,并且加密器10c′和密码解码器20c′之间无法再进行密码通信时,使用非易失性存储器151和发送/接收部分152A,并且两者都执行与第三示例和第四示例中的通信系统3′和3A′中所描述的相同的功能。
然而,通信系统3″中的接收/发送部分152A根据保存在非易失性存储器151中的随机数表,通过Vernam密码对要在同步处理时在加密密钥ROM 132和142中再次设定的新加密密钥进行加密,并将其作为经加密的同步信息发送至作为通信中的对方的通信设备3a″或3b″,同时,根据保存在非易失性存储器151中的随机数表,将从作为通信中的对方的通信设备3a″或3b″接收的经加密的同步信息解码为新的加密密钥。
当由于某种原因而在伪随机数产生器11和21的伪随机数产生操作中出现了同步偏移,并且加密器10c″和密码解码器20c″之间无法再进行密码通信时,使用分别设置在通信设备3a″和3b″中的发送/接收部分152A和152A,并且根据分别保存在非易失性存储器151和151中的相同随机数表同步地进行加密/密码解码操作,因此,经由通信设备3a″和3b″之间(发送/接收部分152A和152A之间)的通信网络等(其中不仅会出现拦截而且会出现篡改的信号线路)将上述新加密密钥作为经加密的同步信息进行交换。
接收到该新加密密钥的发送/接收部分152A在加密密钥ROM 132和142中再次设定该新加密密钥,同时,按照通信设备3a″和3b″中的相同定时向加密器10c″或密码解码器20c″输出重置信号,并将计数器133和143(非易失性存储器134和144)中的伪随机数ri的输出次数重置为“0”。顺便提及,在通信系统3″中,省略了同步调节部分153,然而,可以构造为使得通信系统3′和3A′中的同步调节部分153如上所述再次设定该新加密密钥并输出重置信号。
另外,在通信系统3″中的通信设备3a″和3b″中,上述加密器10c″、密码解码器20c″、非易失性存储器151和发送/接收部分152A被设置在防篡改区域60中,除了与第三示例中的通信系统3′相同的上述项(51)至(59)相对应的结构以外,防篡改区域60还提供了与以下项(60)和(61)相对应的结构。
(60)即使芯片被分解也无法分接新加密密钥的信号线(发送/接收部分152A与加密密钥ROM 132之间的信号线)的结构。例如,如果在试图分接新加密密钥的信号线时使芯片破损则该芯片不再工作的布线结构。
(61)即使芯片被分解也无法分接重置信号的信号线(发送/接收部分152A与非易失性存储器134(计数器133)之间的信号线)的结构。例如,如果在试图分接重置信号的信号线时使芯片破损则该芯片不再工作的布线结构。
接下来,将参照图32说明加密器10c″的结构。图32是表示图31所示的通信系统3″中的加密器10c″的结构的框图,在图32中,与上述相同的符号表示相同或基本相同的部分。如图32所示,加密器10c″具有与图27所示的加密器10c′相同的结构。
然而,在通信系统3″中的加密器10c″中,加密密钥ROM 132具有下述的结构,通过该结构可以根据来自发送/接收部分152A的指令(direction)将加密密钥再次设定为新加密密钥,而计数器133(非易失性存储器134)具有下述的结构,通过该结构可以根据来自发送/接收部分152A的重置信号将伪随机数ri的输出次数重置为“0”。此外,调制伪随机数产生器11具有下述的结构,通过该结构,当通过重置信号对非易失性存储器134(即,计数器133)进行了重置时,输出次数可以返回(重置)为0。
注意,尽管在图32所示的加密器10c″中并未示意性地示出信道编码部分15(参照图1),但是可以与如图1所示的加密器10相同,提供信道编码部分15,或者可以不提供。在提供了信道编码部分15的情况下,可以将信道编码部分15设置在防篡改区域60中或者防篡改区域60的外部。
此外,在通信系统3″中,如上所述,在对伪随机数ri进行同步处理时,与第三示例中的通信系统3′的情况相同,不使用防篡改区域60外部的同步调节部分153(伪随机数ri的输出次数),而使用从同一防篡改区域60中的发送/接收部分152A通知的重置信号和新加密密钥作为同步信息,因此,对于本实施例中的加密器10″,作为防篡改区域60的内部与外部之间的接口,需要与上述项(21)至(25)中的相对应的接口,而不再需要与伪随机数ri的输出次数相对应的接口(与上述项(26)至(28)中的相对应的接口)。
接下来,将参照图33说明密码解码器20c″的结构。图33是表示图31所示的通信系统3″中的密码解码器20c″的结构的框图,在图33中,与上述相同的符号表示相同或基本相同的部分。如图33所示,密码解码器20c″具有与图28所示的密码解码器20c′相同的结构。
然而,在通信系统3″中的密码解码器20c″中,加密密钥ROM 142具有下述的结构,通过该结构可以根据来自发送/接收部分152A的指令将加密密钥再次设定为新加密密钥,而计数器143(非易失性存储器144)具有下述的结构,通过该结构可以根据来自发送/接收部分152A的重置信号将伪随机数ri的输出次数重置为“0”。此外,解调伪随机数产生器21具有下述的结构,通过该结构,当通过重置信号对非易失性存储器144(即,计数器143)进行了重置时,输出次数可以返回(重置)为0。
注意,尽管在图33所示的密码解码器20c″中也未示意性地示出信道解码部分23(参照图2),但是,与图2所示的密码解码器20相同,当加密器10c″侧提供有信道编码部分15时,提供信道解码部分23。当提供了信道解码部分23时,可以将信道解码部分23设置在防篡改区域60中或者防篡改区域60外部。
此外,在本实施例中,如上所述,在对伪随机数ri进行同步处理时,与第三示例中的通信系统3′的情况相同,不使用防篡改区域60外部的同步调节部分153(伪随机数ri的输出次数),而使用从同一防篡改区域60中的发送/接收部分152A通知的重置信号和新加密密钥作为同步信息,因此,对于通信系统3″中的密码解码器20c″,作为防篡改区域60的内部与外部之间的接口,需要与上述项(41)至(45)中的相对应的接口,而不再需要与伪随机数ri的输出次数相关的接口(与上述项(46)至(48)中的相对应的接口)。
根据如此构造的通信系统3″(加密器10c″和密码解码器20c″),在通信设备3a″和通信设备3b″之间实现了应用了本发明的加密技术的密码通信,并且可以获得与上述实施例相同的功能和效果,另外,也可以获得与第三示例中的通信系统3′(加密器10c′和密码解码器20c′)相同的功能和效果。
另外,在第五示例中的通信系统3″中的通信设备3a″和3b″中的每一个中,将集成为一体的加密器10c″、密码解码器20c″、非易失性存储器151以及发送/接收部分152A全部设置在芯片上的提供与上述项(51)至(61)中的相对应的结构的防篡改区域60之一中,因此,确保了防篡改特性,并将防篡改区域60与其外部之间的输入/输出限制为上述项(21)至(25)以及(41)至(45)中所示的那些。
因此,绝对不可能通过与上述项(21)至(25)以及(41)至(45)中的相对应的接口将由伪随机数产生器11和21产生的伪随机数ri、保存在ROM 132和142中的加密密钥、保存在非易失性存储器151中的随机数表、或者在此设置在ROM 132和142中的新加密密钥读取到防篡改区域60的外部。此外,通过采用提供了与上述项(51)至(61)中的相对应的结构的防篡改区域60,即使通过分解芯片,也绝对不可能读取保存在ROM 132和142中的加密密钥、分接伪随机数ri的信号线、分接物理随机数fi的信号线、读取保存在非易失性存储器151中的随机数表、分接该随机数表的随机数序列的信号线、或者分接新加密密钥或重置信号的信号线,此外,即使从芯片的外部施加了物理扰动(热或电压),来自物理随机数产生器13的物理随机数fi的概率分布也不再改变。因此,在第五示例中的通信系统3″中,也可以获得与第三示例中的通信系统3′相同的功能和效果。
另一方面,在第五示例中的通信系统3″中,与第三示例中的通信系统3′相同,彼此进行密码通信的通信设备3a″和3b″在密码通信期间共享相同的随机数表,并对通信设备3a″和3b″中的每一个的非易失性存储器151中的公共随机数表进行累积。于是,当例如在由于电力故障等而导致的异常停止之后进行恢复时需要使通信设备3a″中的伪随机数产生操作与通信设备3b″中的伪随机数产生操作同步时,通信设备3a″中的发送/接收部分152A和通信设备3b″中的发送/接收部分152A使用保存在非易失性存储器151中的随机数表通过Vernam密码在彼此之间进行密码通信,并且交换新加密密钥。
另外,在通信设备3a″和3b″中执行伪随机数ri的同步处理时,如上所述,接收到该新加密密钥的发送/接收部分152A在加密密钥ROM132和142中再次设定该新加密密钥,同时,按照通信设备3a″和3b″中的相同定时向加密器10c″或密码解码器20c″输出重置信号,由此将计数器133和143(非易失性存储器134和144)中的伪随机数ri的输出次数重置为“0”。因此,加密器10c″中的伪随机数产生器11和密码解码器20c″中的伪随机数产生器21使用相同的新加密密钥同时恢复了操作,因此,可以使加密器10c″中的伪随机数产生器11的伪随机数产生操作和密码解码器20c″中的伪随机数产生器21的伪随机数产生操作同步。
注意,在通信系统3″中,当存在用于确认伪随机数的同步出现偏移的其他装置,或者当可以忽略伪随机数的同步出现偏移的确认时,可以进行下述的变型:各个通信设备3a″和3b″中的各个非易失性存储器151和151中所保存的相同随机数表不用作用于Vernam密码通信的加密密钥,而是用作新加密密钥本身。在该变型中,不必进行Vernam密码通信,因此,可以省略发送/接收部分152A。
[15]本实施例中的通信系统的第六示例
与如图31所示的第五示例中的通信系统3″相同,第六示例中的通信系统3A″也被构造为包括经由通信网络等彼此可通信地连接的两个通信设备3a″和3b″。如上所述,对于第六示例中的通信系统3A″,描述其中两个通信设备3a″和3b″经由可能出现篡改的通信信道(信号线路)可通信地连接并且这两个通信设备3a″和3b″通过与第五示例中的通信系统3″中相同的同步方法来进行同步处理的情况。
通信系统3A″中的通信设备3a″和3b″具有相同的结构,并且在通信系统3A″中,通信设备3a″被构造为包括:加密器10d″,用于通过上述方法对要发送至通信设备3b″的输入数据(明文xi)进行加密;密码解码器20d″,用于通过上述方法对从通信设备3b″接收的加密数据(ci或si)进行解码;以及第五示例中的通信系统3″中所描述的非易失性存储器151和发送/接收部分152A,而通信设备3b″被构造为包括:加密器10d″,用于通过上述方法对要发送至通信设备3a″的输入数据(明文xi)进行加密;密码解码器20d″,用于通过上述方法对从通信设备3a″接收的加密数据(密文ci或si)进行解码;以及与上述相同的非易失性存储器151和发送/接收部分152A。换句话说,第六示例中的通信系统3A″具有其中省略了第四示例中的通信系统3A′中的同步调节部分153的结构。下面将参照图34来说明加密器10d″的结构,并且下面将参照图35来说明密码解码器20d″的结构。
然而,与第二示例和第四示例中的通信系统3A和3A′中的加密器10d和10d′相同,通信系统3A″中的加密器10d″被构造为将由第二调制部分14获得的加密数据(si)作为多个分组发送至目的地通信设备3a″或3b″,而通信系统3A″中的密码解码器20d″被构造为将从发送器通信设备3a″或3b″的加密器10d″接收的各个分组中的加密数据(si)解码为输入数据(明文xi)。换句话说,与第二示例和第四示例中的通信系统3A和3A′相同,第六示例中的通信系统3A″(加密器10d″和密码解码器20d″)的目的也在于使用其中可以对分组的到达顺序进行排列或者分组可能消失的通信信道和需要识别各个分组是否是从合法发送器发送来的系统(具体地,IP电话的通信系统)进行通信。
此外,在第六示例中的通信系统3A″中,同样,通信设备3a″中的加密器10d″和通信设备3b″中的密码解码器20d″配对,并且设备10d″和20d″中的伪随机数产生器11和21被构造为同步并根据相同的加密密钥产生伪随机数ri。类似地,通信设备3b″中的加密器10d″和通信设备3a″中的密码解码器20d″配对,并且设备10d″和20d″中的伪随机数产生器11和21也被构造为同步并根据相同的加密密钥产生伪随机数ri。然而,作为在上述各对设备中使用的加密密钥,设定了不同的密钥。
利用这种结构,由加密器10d″通过上述加密过程对从通信设备3a″到通信设备3b″的发送数据进行加密,并将其作为密文发送至通信设备3b″,而在通信设备3b″侧,由密码解码器20d″通过上述密码解码过程将从通信设备3a″接收的密文解码为明文。类似地,由加密器10d″通过上述加密过程对从通信设备3b″到通信设备3a″的发送数据进行加密,并将其作为密文发送至通信设备3a″,而在通信设备3a″侧,由密码解码器20d″通过上述密码解码过程将从通信设备3b″接收的密文解码为明文。
顺便提及,在第六示例中的通信系统3A″中,非易失性存储器151和发送/接收部分152A与第五示例中的通信系统3″中所描述的相同,因此省略对其的说明。此外,与第五示例中的通信系统3″相同,在通信系统3A″的通信设备3a″和3b″中,加密器10d″、密码解码器20d″、非易失性存储器151以及发送/接收部分152A也设置在芯片上的防篡改区域60(其提供了与上述项(51)至(61)中的相对应的结构)中。
接下来,将参照图34说明加密器10d″的结构。图34是表示图31所示的通信系统3A″中的加密器10d″的结构的框图,在图34中,与上述相同的符号表示相同或基本相同的部分。如图34所示,加密器10d″具有与图29所示的加密器10d′基本相同的结构。
然而,在加密器10d″中,与第五示例中的通信系统3″中的加密器10c″相同,加密密钥ROM 132具有下述的结构,通过该结构,可以根据来自发送/接收部分152A的指令将加密密钥再次设定为新加密密钥,而计数器133(非易失性存储器134)具有下述的结构,通过该结构可以根据来自发送/接收部分152A的重置信号将伪随机数ri的输出次数重置为“0”。此外,调制伪随机数产生器11具有下述的结构,通过该结构,当通过重置信号对非易失性存储器134(即,计数器133)进行了重置时,输出次数可以返回(重置)为0。
注意,尽管在图34所示的加密器10d″中也未示意性地示出信道编码部分15(参照图1),但是,与图1所示的加密器10相同,可以提供信道编码部分15,或者可以不提供。当提供了信道编码部分15时,可以将信道编码部分15设置在防篡改区域60中或者防篡改区域60外部。与第五示例中的通信系统3″中的加密器10c″相同,对于本实施例中的加密器10d″,作为防篡改区域60的内部与外部之间的接口,需要与上述项(21)至(25)中的相对应的接口,而不再需要与伪随机数ri的输出次数相关的接口(与上述项(26)至(28)中的相对应的接口)。
接下来,将参照图35说明密码解码器20d″的结构。图35是表示图31所示的通信系统3A″中的密码解码器20d″的结构的框图,在图35中,与上述相同的符号表示相同或基本相同的部分。如图35所示,密码解码器20d″具有与图30所示的密码解码器20d′基本相同的结构。
然而,在密码解码器20d″中,与第五示例中的通信系统3″中的密码解码器20c″相同,加密密钥ROM 142具有下述的结构,通过该结构,可以根据来自发送/接收部分152A的指令将加密密钥再次设定为新加密密钥,而计数器143(非易失性存储器144)具有下述的结构,通过该结构可以根据来自发送/接收部分152A的重置信号将伪随机数ri的输出次数重置为“0”。此外,解调伪随机数产生器21具有下述的结构,通过该结构,当通过重置信号对非易失性存储器144(即,计数器143)进行了重置时,输出次数可以返回(重置)为0。
注意,尽管在图35所示的密码解码器20d″中也未示意性地示出信道解码部分23(参照图2),但是,与图2所示的密码解码器20相同,当加密器10c″侧提供了信道编码部分15时,提供信道解码部分23。当提供了信道解码部分23时,可以将信道解码部分23设置在防篡改区域60中或者防篡改区域60外部。与第五示例中的通信系统3″中的密码解码器20c″相同,对于本实施例中的密码解码器20d″,作为防篡改区域60的内部与外部之间的接口,需要与上述项(41)至(45)中的相对应的接口,而不再需要与伪随机数ri的输出次数相关的接口(与上述项(46)至(48)中的相对应的接口)。
根据如此构造的通信系统3A″(加密器10d″和密码解码器20d″),在通信设备3a″和通信设备3b″之间相互实现了应用了本实施例中的加密技术的密码通信,并且可以获得与上述实施例相同的功能和效果,另外,也可以获得与第四示例中的通信系统3A′(加密器10d′和密码解码器20d′)相同的功能和效果。
另外,在第六示例中的通信系统3A″中的通信设备3a″和3b″中的每一个中,将集成为一体的加密器10d″、密码解码器20d″、非易失性存储器151以及发送/接收部分152A全部设置在芯片上的提供与上述项(51)至(61)中的相对应的结构的防篡改区域60之一中,因此,确保了防篡改特性,并将防篡改区域60与其外部之间的输入/输出限制为上述项(21)至(28)以及(41)至(48)中所示的那些。因此,在第六示例中的通信系统3A″中,也可以获得与第五示例中的通信系统3″中相同的功能和效果。
注意,在第六示例中的通信系统3A″中,当存在用于确认伪随机数的同步出现偏移的其他装置,或者当可以忽略对伪随机数的同步出现偏移的确认时,可以进行以下变型:各个通信设备3a″和3b″中的各个非易失性存储器151和151中所保存的相同随机数表不用作用于Vernam密码通信的加密密钥,而是用作新加密密钥本身。在该变型中,不必进行Vernam密码通信,因此,可以省略发送/接收部分152A。
[16]变型例
注意,本发明并不限于上述实施例,而是可以在不脱离本发明的主旨和范围的情况下进行各种修改。
例如,对于发送/接收系统1、公共线路系统2以及通信系统3、3A、3′、3A′、3″和3A″,对发送和接收两个方向都应用了本发明的加密技术,然而,本发明并不限于此,还可以仅对发送或接收的单个方向应用本发明的加密技术。
此外,在上述实施例中,使用了物理随机数产生器13,然而,也可以使用如图36所示的伪随机数产生器或随机数产生器16来代替该物理随机数产生器13。
在加密器10、10a至10d、10c′、10d′、10c″和10d″中,通过使用与伪随机数产生器11和21不同的伪随机数产生器(加密密钥是固定的;未示出)来代替物理随机数产生器13,而不再需要使用昂贵的物理随机数产生器,从而使得能够以低成本来构造加密器10、10a至10d、10c′、10d′、10c″和10d″,另外,还获得了仅通过软件就能够完美地实施的优点。
图36中的随机数产生器16被构造为包括物理随机数产生器13a和与伪随机数产生器11和21不同的伪随机数产生器11a。伪随机数产生器(第二伪随机数产生部分、调制伪随机数产生部分)11a根据加密密钥Kb产生并输出伪随机数(第二伪随机数)fi′而不是上述物理随机数fi,而物理随机数产生器(物理随机数产生部分)13a与上述物理随机数产生器13一样,根据物理现象来产生物理随机数fi。另外,伪随机数产生器11a的加密密钥Ka被构造为周期性或非周期性地改变为由物理随机数产生器13a产生的物理随机数fi所确定的值。此时,该结构可以使得通过物理随机数产生器的输出值来确定改变加密密钥Ka的定时。
在加密器10中,对于一位明文,需要通过物理随机数产生器13产生至少两位物理随机数fi,因此,需要使用能够进行高速运算的物理随机数产生器,然而,作为随机数产生器16中的物理随机数产生器13a,可以使用运算速度比物理随机数产生器13更低的物理随机数产生器。如上所述,能够进行高速运算的物理随机数产生器很昂贵,然而,低速运算的物理随机数产生器较为廉价,因此,当使用图36所示的伪随机数产生器16来代替物理随机数产生器13时,可以对本发明的加密器进行构造而不会明显牺牲安全性(加密强度)。
另外,例如,当通过利用个人计算机等来实现本发明的加密器时,如果使用了以诸如“屏幕上的使用鼠标指针在特定时间点进行了点击的位置”的数据作为加密密钥进行操作的伪随机数产生器来代替物理随机数产生器13,则可以实现下述的加密器,该加密器基本上确保了与使用物理随机数产生器时相同的加密强度(安全性)而无需安装昂贵的物理随机数产生器。
另一方面,通过使用上述第二示例中的通信系统3A,使得可以通过诸如光盘的记录介质来提供内容发布服务,这使得内容的复制次数与费用之间的关系变得明了。
例如,当内容发布商对用户收费并向用户提供记录在光盘中的内容时,内容发布商例如使用加密器10d作为针对光盘的内容记录装置,而用户例如使用密码解码器20d作为光盘再现装置(播放器)。顺便提及,此时,将第二示例中的通信系统3A中的分组作为与要记录在一张光盘中的内容相对应的分组来处理。
为了更具体地进行说明,内容供应商将通过由加密器10d对内容进行调制而获得的加密内容记录在光盘的加密区域中,同时,在光盘表面上的标签或光盘的非加密区域中写入识别号(与加密密钥一一对应的字符串,然而,通过它无法预测出加密密钥)和伪随机数的输出次数(或者表示光盘编号的信息),并将该光盘提供给用户。
此时,作为识别号,例如,读取保存在识别号ROM 131中的识别号(ID号),并将其写入上述非加密区域中。此外,作为伪随机数的输出次数,从计数器133(非易失性存储器134)中读取在由第一调制部分12对要提供的内容的第一数据xi进行调制时所使用的来自伪随机数产生器11的调制伪随机数ri的输出次数(表示伪随机数编号的数值),并将其写入上述非加密区域中。此外,除了上述加密内容以外,还将伪随机数的输出次数嵌入在光盘的加密区域中。优选地,与第二示例中的通信系统3A相同,使用由伪随机数产生器11产生的伪随机数对嵌入位置进行加扰。
然后,在从内容发布商接收到光盘时,用户通过密码解码器20d对光盘的内容进行解调并对其进行再现。在开始再现光盘时,密码解码器20d读取被写入到非加密区域中的伪随机数的输出次数,并且如果存在某些缺失的盘,例如,当以预定的顺序来再现多个光盘时,以及如果尝试通过跳过一个或更多个光盘而不按照该预定顺序来进行再现,则向用户发出“警告”。
如果用户根据该“警告”使用正确的光盘替换了该光盘,则密码解码器20d再次确认输出次数并开始再现。此外,如果用户参照该“警告”并同意跳过一个或更多个光盘而进行再现,则密码解码器20d例如通过针对非易失性存储器144设定输出次数,或者通过对伪随机数产生器21进行时钟信号的虚拟输入,使用输出次数调节部分154的功能,并将从伪随机数产生器21输出到解调部分22的解调伪随机数ri的输出次数调节为对于下一个要再现的光盘的输出次数。因此,可以对下一个光盘中的加密内容进行正确解调,同时保持调制伪随机数与解调伪随机数之间的对应关系。然而,密码解码器20d的伪随机数产生器21被构造为禁止对解调伪随机数ri的产生操作进行重置和重复,因此,无法再对所跳过的光盘的加密内容进行再现。
此时,如上所述,密码解码器20d的伪随机数产生器21被构造为禁止对解调伪随机数ri的产生操作进行重置和重复,因此,如果用户对光盘的内容进行了一次再现,则无法再对该内容进行再现。因此,如果用户想要再现该内容两次或更多次,则该用户要向内容供应商支付与再现次数相对应的费用,并且通过再现次数,对该内容进行重复调制并作为加密内容记录在光盘中。因此,内容供应商可以使内容的再现次数与费用之间的关系明了,并且可以根据再现次数来准确无误地对用户进行收费。
注意,密码解码器20d可以被构造为在开始光盘的再现时,对经调制并从加密区域中取出的输出次数与被写入到非加密区域中的输出次数进行比较,并且如果输出次数不一致,则认为对光盘的内容进行了某些篡改,并按照基本上与第二示例中的通信系统3A相同的方式禁止对光盘进行再现。
此外,如果用作内容再现装置的密码解码器20d的防篡改区域60中内部设置有用于将解码数字信号转换为模拟图像信号或语音信号的再现装置,则可以将从密码解码器20d的防篡改区域60输出的再现信号转换为模拟信号,因此,可以抑制对数字再现信号的复制,并且因此是有效的。
另一方面,密码解码器20c(密码解码器20d、20c′、20d′、20c″和20d″同样适用)可以被构造为还包括防篡改区域60中的物理随机数产生器24和切换部分25,如图37所示。这里,图37是表示应用了本发明的加密/解码技术的通信系统3中的密码解码器20c的变型例的结构的框图。
这里,物理随机数产生器24基本上与设置在加密器10c等中的物理随机数产生器13相同,切换部分25在解调部分22的输出(明文)与物理随机数产生器13的输出(物理随机数)之间选择性地进行切换,并输出其中之一。这里,图37示出了其中切换部分25选择了来自解调部分22的明文并输出该明文的状态。
当输入了要输入到密码解码器20c等的并且不能通过根据伪随机数与输出之间的对应关系进行逆计算而获得的密文(即,很明显,该密文不是从合法发送器发送来的)时,切换部分25进行切换操作,以使得作为明文,从明文输出接口输出来自物理随机数产生器13的物理随机数而不是来自解调部分22的明文。
通过在密码解码器20c等中采用这种结构,即使通过盗取密码解码器20c等、输入错误的密文以及预测伪随机数的值,也不能预测出伪随机数的值,因为输出了与密文无关的物理随机数。例如,在预测上述第一伪随机数值“2”的过程中,通过获得作为针对密文输入“2”或“7”的明文输出的“错误”来预测伪随机数的值,然而,由于切换部分25的切换而没有输出“错误”,因此,无法预测伪随机数的值。换句话说,通过采用这种结构,获得了对于选择密文攻击的安全性。顺便提及,由于通过使用以上参照图19所描述的认证方法可以获知通信中的对方是合法发送器,所以无需单独提供“当发送了原始不可能存在的密文时用来根据错误信息检测非法发送器的功能”。
[17]其他
可以通过执行预定应用程序(加密程序/密码解码程序)的计算机(包括CPU、信息处理设备和各种终端)的计算机,来实现以下功能:作为上述加密器10、10a至10d、10c′、10d′、10c″和10d″中的伪随机数产生器11、第一调制部分12、物理随机数产生器13、第二调制部分14、信道编码部分15、计数器133、并入部分135和分组部分136的功能(所有功能或其中的部分);或者作为上述密码解码器20、20a至20d、20c′、20d′、20c″和20d″中的信道解码部分23、伪随机数产生器21、解调部分22、物理随机数产生器24、切换部分25、计数器143、排列部分146、取出部分147、比较部分148、分组消失判定部分149、分组丢弃部分150和输出次数调节部分154的功能(所有功能或其中的部分);或者作为上述通信设备3a和3b中的发送/接收部分152和同步调节部分153的功能(所有功能或其中的部分)。
以记录在计算机可读记录介质(例如,软盘、CD(CD-ROM、CD-R、CD-RW等)和DVD(DVD-ROM、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD-RW等))等中的形式来提供该程序。在这种情况下,计算机从记录介质中读取该程序、将其传送至内部存储装置或外部存储装置,并对其进行存储以备后用。此外,该程序可以存储在存储装置(记录介质)(例如,磁盘、光盘和光磁盘)中,并经由通信线路将其从该存储装置提供给计算机。
这里,计算机是一种包括硬件和OS(操作系统)的概念,并且意味着在OS的控制下进行操作的硬件。此外,当硬件在没有OS的情况下仅通过应用程序进行操作时,该硬件本身相当于计算机。硬件配有至少一个微处理器(例如,CPU)和用于读取记录在记录介质中的程序的装置。作为上述加密程序或密码解码程序的应用程序包括用于使上述的这种计算机实现作为以下部分的功能(所有功能或其中的部分)的程序代码:伪随机数产生器11、第一调制部分12、物理随机数产生器13、第二调制部分14、信道编码部分15、计数器133、并入部分135、分组部分136、信道解码部分23、伪随机数产生器21、解调部分22、物理随机数产生器24、切换部分25、计数器143、排列部分146、取出部分147、比较部分148、分组消失判定部分149、分组丢弃部分150、输出次数调节部分154、发送/接收部分152以及同步调节部分153。另选地,也可以通过OS而不通过应用程序来实现这些功能中的一部分。
此外,作为本实施例中的记录介质,除了上述软盘、CD、DVD、磁盘、光盘和光磁盘以外,还可以使用各种计算机可读介质,例如IC卡、ROM盒、磁带、穿孔卡片、计算机的内部存储装置(作为RAM、ROM等的存储器)、外部存储装置,以及其上印刷有诸如条形码的编码的印刷品。
[工业适用性]
如上所述,根据本发明,通过使用物理随机数对经过伪随机数调制的调制输出进一步进行调制而获得加密数据,合法接收器侧可以仅通过伪随机数来对加密数据进行解码而无需使用物理随机数,同时通过利用物理随机数为加密数据赋予不规则关联,来确保对于已知明文攻击的高度安全性。此时,可以通过代码来实现本发明的加密技术,因此,可以提供这样一种加密技术,该加密技术可以在无线电波通信和电通信中使用,并且可以作为数据存储在电存储器和各种记录介质中,还能够使得对通信速度的影响最小化,而不受噪声的影响。因此,本发明适用于以加密的形式发送和接收信息的系统。

Claims (24)

1、一种加密方法,该加密方法包括:
第一调制步骤,用于通过使输入数据与通过伪随机数确定的特定状态对相关联,来对该输入数据进行多级调制;
第二调制步骤,用于通过使所述第一调制步骤的输出与通过物理随机数确定的离散值相关联,来对所述第一调制步骤的输出进行调制;以及
信道编码步骤,用于将所述第二调制步骤的输出信道编码为所期望的码字,并且作为加密数据输出该码字,
其中,通过对所述加密数据进行信道解码而获得的解码信号是下述的信号:通过使用所述伪随机数来辨别该信号与所述特定状态对中的哪个状态相对应,来将该信号解调为所述输入数据,并且通过使用所述特定状态对以外的一对状态进行的所述第一调制和使用与所述物理随机数不同的物理随机数进行的所述第二调制来输出该信号。
2、根据权利要求1所述的加密方法,其中,通过所述物理随机数选择的状态数等于或大于4,并且该状态数被设定为不超过所述状态对的组数。
3、根据权利要求1所述的加密方法,其中,在所述第二调制步骤中,通过向所述第一调制步骤的输出中添加所述物理随机数的输出值或从所述第一调制步骤的输出中减去所述物理随机数的输出值,来进行调制。
4、根据权利要求1至3中的任意一项所述的加密方法,其中,根据所期望的加密强度来确定通过所述物理随机数选择的状态数,根据所述状态数来确定所述状态对的数量,并且根据所述状态对的数量来确定所述伪随机数的状态数。
5、一种密码解码方法,该密码解码方法包括:
用于将加密数据信道解码为解码信号的步骤,所述加密数据是通过执行以下操作而获得的:第一调制,用于通过使输入数据与通过伪随机数确定的特定状态对相关联,来对该输入数据进行多级调制;将第二调制的输出信道编码为所期望的码字,所述第二调制用于通过使所述第一调制的输出与通过物理随机数确定的离散值相关联来对所述第一调制的输出进行调制;以及进行加密,以使得通过对所述加密数据进行信道解码而获得的解码信号是下述的信号:通过使用所述伪随机数来辨别该信号与所述特定状态对中的哪个状态相对应,来将该信号解调为所述输入数据,并且通过使用所述特定状态对以外的一对状态进行的所述第一调制和使用与所述物理随机数不同的物理随机数进行的所述第二调制来输出该信号,
其中,使用基于与产生了在所述第一调制中使用的所述伪随机数的加密密钥相同的加密密钥的伪随机数,来辨别出所述解码信号与所述特定状态对中的哪个状态相对应,来将所述解码信号解调为所述输入数据。
6、一种加密器,该加密器包括:
伪随机数产生部分,用于根据加密密钥来产生伪随机数;
第一调制部分,用于通过使输入数据与通过由所述伪随机数产生部分产生的伪随机数确定的特定状态对相关联,来对该输入数据进行多级调制;
物理随机数产生部分,用于根据物理现象来产生物理随机数;
第二调制部分,用于通过使所述第一调制部分的输出与通过由所述物理随机数产生部分产生的物理随机数确定的离散值相关联,来对所述第一调制部分的输出进行调制;以及
信道编码部分,用于将所述第二调制部分的输出信道编码为所期望的码字,并作为加密数据输出所述码字,
其中:
通过所述第一调制部分和所述第二调制部分来进行调制,以使得通过对所述加密数据进行信道解码而获得的解码信号是下述的信号:通过使用所述伪随机数来辨别该信号与所述特定状态对中的哪个状态相对应,来将该信号解调为所述输入数据,并且通过使用所述特定状态对以外的一对状态进行的所述第一调制和使用与所述物理随机数不同的物理随机数进行的所述第二调制来输出该信号。
7、根据权利要求6所述的加密器,其中,通过所述物理随机数选择的状态数等于或大于4,并且该状态数被设定为不超过所述状态对的组数。
8、根据权利要求6或7所述的加密器,其中,所述伪随机数产生部分、所述第一调制部分、所述物理随机数产生部分以及所述第二调制部分设置在防篡改区域中,该防篡改区域用于抑制由于由所述物理随机数产生部分产生的物理随机数的物理扰动而导致的概率分布变化,并抑制所述加密密钥和所述伪随机数的泄露。
9、根据权利要求8所述的加密器,其中,所述伪随机数产生部分被构造为禁止重置和重复伪随机数产生操作。
10、根据权利要求9所述的加密器,该加密器包括:
非易失性第一保存部分,用于:保存时钟信号的输入次数作为伪随机数的输出次数,所述时钟信号用于使所述伪随机数产生部分执行所述伪随机数产生操作;以及响应于来自所述防篡改区域外部的命令,将所述伪随机数的输出次数输出到所述防篡改区域的外部;以及
同步调节部分,用于根据从所述第一保存部分读取的所述伪随机数的输出次数,对来自所述伪随机数产生部分的伪随机数的输出次数进行调节,以使得由所述伪随机数产生部分进行的所述伪随机数产生操作与由所述加密数据的目的地通信设备中的密码解码器的解调伪随机数产生部分进行的解调伪随机数产生操作同步。
11、根据权利要求10所述的加密器,该加密器包括:
非易失性第二保存部分,用于保存与目的地通信设备的相同的随机数表;
密码发送部分,用于:根据保存在所述第二保存部分中的所述随机数表,将从所述第一保存部分读取的伪随机数的输出次数加密为加密同步信息;以及将所述加密同步信息发送至所述目的地通信设备;以及
解码接收部分,用于根据保存在所述第二保存部分中的所述随机数表,将从所述目的地通信设备接收的所述加密同步信息解码为解调伪随机数的输出次数,其中
当所述解码接收部分解码出的所述目的地通信设备侧的解调伪随机数的输出次数大于从所述第一保存部分读取的伪随机数的输出次数时,所述同步调节部分将来自所述伪随机数产生部分的伪随机数的输出次数调节为所述目的地通信设备侧的解调伪随机数的输出次数。
12、一种密码解码器,该密码解码器用于对加密数据进行解码,所述加密数据是通过执行以下操作而获得的:第一调制,用于通过使输入数据与通过伪随机数确定的特定状态对相关联,来对该输入数据进行多级调制;将第二调制的输出信道编码为所期望的码字,所述第二调制用于通过使所述第一调制的输出与通过物理随机数确定的离散值相关联来对所述第一调制的输出进行调制;以及进行加密,以使得通过对所述加密数据进行信道解码而获得的解码信号是下述的信号:通过使用所述伪随机数来辨别该信号与所述特定状态对中的哪个状态相对应,来将该信号解调为所述输入数据,并且通过使用所述特定状态对以外的一对状态进行的所述第一调制和使用与所述物理随机数不同的物理随机数进行的所述第二调制来输出该信号,所述密码解码器包括:
信道解码部分,用于将所述加密数据信道解码为解码信号;
解调伪随机数产生部分,用于根据与产生了在所述第一调制中使用的所述伪随机数的加密密钥相同的加密密钥来产生解调伪随机数;以及
解调部分,通过使用由所述解调伪随机数产生部分产生的解调伪随机数辨别出所述解码信号与所述特定状态对中的哪个状态相对应,来将所述解码信号解调为所述输入数据。
13、根据权利要求12所述的密码解码器,其中,所述解调伪随机数产生部分和所述解调部分设置在防篡改区域中,该防篡改区域用于抑制所述加密密钥和所述解调伪随机数的泄露。
14、根据权利要求13所述的密码解码器,其中,所述解调伪随机数产生部分被构造为禁止重置和重复解调伪随机数产生操作。
15、根据权利要求14所述的密码解码器,该密码解码器包括:
非易失性第一保存部分,用于:保存时钟信号的输入次数作为解调伪随机数的输出次数,所述时钟信号用于使所述解调伪随机数产生部分执行所述解调伪随机数产生操作;以及响应于来自所述防篡改区域外部的命令,将输出次数输出到所述防篡改区域的外部;以及
同步调节部分,用于根据从所述第一保存部分读取的输出次数对来自所述解调伪随机数产生部分的解调伪随机数的输出次数进行调节,以使得由所述解调伪随机数产生部分进行的所述解调伪随机数产生操作与由所述加密数据的发送方通信设备中的加密器的伪随机数产生部分进行的伪随机数产生操作同步。
16、根据权利要求15所述的密码解码器,该密码解码器包括:
非易失性第二保存部分,用于保存与所述发送方通信设备的相同的随机数表;
密码发送部分,用于:根据保存在所述第二保存部分中的所述随机数表,将从所述第一保存部分读取的解调伪随机数的输出次数加密为加密同步信息;以及将所述加密同步信息发送至所述发送方通信设备;以及
解码接收部分,用于根据保存在所述第二保存部分中的所述随机数表,将从所述发送方通信设备接收的所述加密同步信息解码为伪随机数的输出次数,其中
当所述解码接收部分解码出的所述发送方通信设备侧的伪随机数的输出次数大于从所述第一保存部分读取的解调伪随机数的输出次数时,所述同步调节部分将来自所述解调伪随机数产生部分的解调伪随机数的输出次数调节为所述发送方通信设备侧的伪随机数的输出次数。
17、一种发送/接收系统,该发送/接收系统包括彼此连接以使得进行通信的第一发送/接收设备和第二发送/接收设备,
其中:
所述第一发送/接收设备被构造为包括:第一加密器,用于对要发送至所述第二发送/接收设备的输入数据进行加密;以及第一密码解码器,用于对从所述第二发送/接收设备接收的加密数据进行解码;
所述第二发送/接收设备被构造为包括:第二加密器,用于对要发送至所述第一发送/接收设备的输入数据进行加密;以及第二密码解码器,用于对从所述第一发送/接收设备接收的加密数据进行解码;
所述第一加密器和所述第二加密器分别包括:
调制伪随机数产生部分,用于根据加密密钥来产生调制伪随机数;
第一调制部分,用于通过使输入数据与通过由所述调制伪随机数产生部分产生的调制伪随机数确定的特定状态对相关联,来对该输入数据进行多级调制;
物理随机数产生部分,用于根据物理现象来产生物理随机数;
第二调制部分,用于通过使所述第一调制部分的输出与通过由所述物理随机数产生部分产生的物理随机数确定的离散值相关联,来对所述第一调制部分的输出进行调制;以及
信道编码部分,用于将所述第二调制部分的输出信道编码为所期望的码字,并将所述码字作为加密数据输出;
所述第一调制部分和所述第二调制部分被构造为使得通过对所述加密数据进行信道解码而获得的解码信号是下述的信号:通过使用所述解调伪随机数来辨别该信号与所述特定状态对中的哪个状态相对应,来将该信号解调为所述输入数据,并且通过使用所述特定状态对以外的一对状态进行的所述第一调制和使用与所述物理随机数不同的物理随机数进行的所述第二调制来输出该信号;并且
所述第一密码解码器和所述第二密码解码器被构造为分别包括:
信道解码部分,用于将所述加密数据信道解码为解码信号;
解调伪随机数产生部分,用于根据与产生了所述调制伪随机数的加密密钥相同的加密密钥来产生解调伪随机数;以及
解调部分,用于通过使用由所述解调伪随机数产生部分产生的解调伪随机数辨别出所述解码信号与所述特定状态对中的哪个状态相对应,来将所述解码信号解调为所述输入数据。
18、根据权利要求17所述的发送/接收系统,所述发送/接收系统还包括用于执行以下操作的装置:
输入认证数值序列作为所述第一加密器的所述输入数据,该认证数值序列的长度等于或大于用于产生所述调制伪随机数和所述解调伪随机数的加密密钥的长度;
在将所述认证数值序列的加密数据从所述第一加密器发送至所述第二发送/接收设备之后,输入解码数值序列作为所述第二加密器的所述输入数据,该解码数值序列是通过由所述第二密码解码器对所述认证数值序列的加密数据进行解码而获得的;
将所述解码数值序列的加密数据从所述第二加密器发送至所述第一发送/接收设备;
当通过由所述第一密码解码器对所述解码数值序列的加密数据进行解码而获得的响应数值序列与所述认证数值序列相一致时,认证出所述第一发送/接收设备和所述第二发送/接收设备对于彼此是合法的通信方;并且
确认所述第一加密器的所述调制伪随机数与所述第二密码解码器的所述解调伪随机数彼此同步,并且所述第二加密器的所述调制伪随机数与所述第一密码解码器的所述解调伪随机数彼此同步。
19、一种公共线路系统,该公共线路系统被构造为提供交换局和经由所述交换局彼此进行通信的多个终端设备,
其中:
每个终端设备都被构造为包括:第一加密器,用于对要经由所述交换局发送至特定终端设备的输入数据进行加密;以及第一密码解码器,用于对经由所述交换局从所述特定终端设备接收的加密数据进行解码;
所述交换局被构造为包括:交换机,用于执行使各个终端设备与所述特定终端设备相连接的交换操作;以及发送/接收部分,其插设在各个终端设备与所述交换机之间;
所述发送/接收部分被构造为包括:第二加密器,用于接收要经由所述交换机从所述特定终端设备发送至各个终端设备的输入数据,并对该数据进行加密;以及第二密码解码器,用于对要从各个终端设备发送至所述特定终端设备的加密数据进行解码,并将该数据输入至所述交换机;
所述第一加密器和所述第二加密器分别包括:
调制伪随机数产生部分,用于根据加密密钥来产生调制伪随机数;
第一调制部分,用于通过使输入数据与通过由所述调制伪随机数产生部分产生的调制伪随机数确定的特定状态对相关联,来对该输入数据进行多级调制;
物理随机数产生部分,用于根据物理现象来产生物理随机数;
第二调制部分,用于通过使所述第一调制部分的输出与通过由所述物理随机数产生部分产生的物理随机数确定的离散值相关联,来对所述第一调制部分的输出进行调制;以及
信道编码部分,用于将所述第二调制部分的输出信道编码为所期望的码字,并将所述码字作为加密数据输出;
所述第一调制部分和所述第二调制部分被构造为使得通过对所述加密数据进行信道解码而获得的解码信号是下述的信号:通过使用所述解调伪随机数来辨别该信号与所述特定状态对中的哪个状态相对应,来将该信号解调为所述输入数据,并且通过使用所述特定状态对以外的一对状态进行的所述第一调制和使用与所述物理随机数不同的物理随机数进行的第二调制来输出该信号;并且
所述第一密码解码器和所述第二密码解码器被构造为分别包括:
信道解码部分,用于将所述加密数据信道解码为解码信号;
解调伪随机数产生部分,用于根据与产生了所述调制伪随机数的加密密钥相同的加密密钥来产生解调伪随机数;以及
解调部分,用于通过使用由所述解调伪随机数产生部分产生的解调伪随机数辨别出所述解码信号与所述特定状态对中的哪个状态相对应,来将所述解码信号解调为所述输入数据。
20、一种通信系统,该通信系统包括:
加密器,其设置在加密数据的发送方通信设备中,并且将所述加密数据作为多个分组发送至目的地通信设备;以及
密码解码器,其设置在所述加密数据的所述目的地通信设备中,并且将从所述发送方通信设备的所述加密器接收的各个分组中的所述加密数据解调为输入数据,
其中:
所述加密器被构造为包括:伪随机数产生部分,用于根据加密密钥来产生伪随机数;第一调制部分,用于通过使输入数据与由所述伪随机数产生部分产生的伪随机数确定的特定状态对相关联,来对该输入数据进行多级调制;物理随机数产生部分,用于根据物理现象来产生物理随机数;第二调制部分,用于通过使所述第一调制部分的输出与通过由所述物理随机数产生部分产生的物理随机数确定的离散值相关联,来对所述第一调制部分的输出进行调制;以及信道编码部分,用于将所述第二调制部分的输出信道编码为所期望的码字,并将所述码字作为加密数据输出,并且所述加密器通过所述第一调制部分和所述第二调制部分来进行调制,以使得通过对所述加密数据进行信道解码而获得的解码信号是下述的信号:通过使用所述伪随机数来辨别该信号与所述特定状态对中的哪个状态相对应,来将该信号解调为所述输入数据,并且通过使用所述特定状态对以外的一对状态进行的所述第一调制和使用与所述物理随机数不同的物理随机数进行的所述第二调制来输出该信号。
所述密码解码器被构造为包括:信道解码部分,用于将所述加密数据信道解码为解码信号;解调伪随机数产生部分,用于根据与产生了在所述第一调制中使用的所述伪随机数的加密密钥相同的加密密钥来产生解调伪随机数;以及解调部分,用于通过使用由所述解调伪随机数产生部分产生的解调伪随机数辨别出所述解码信号与所述特定状态对中的哪个状态相对应,来将所述解码信号解调为所述输入数据;
在要从所述加密器发送至所述密码解码器的各个分组的头部中,描述了与所述多个分组有关的序列号或者针对各个分组的容器部分中的所述加密数据的在所述第一调制部分中使用的伪随机数的输出次数;并且
所述密码解码器包括:分组保存部分,用于保存来自所述加密器的所述多个分组;以及排列部分,用于将保存在所述分组保存部分中的所述多个分组排列为根据各个分组的头部中描述的所述序列号或者所述输出次数的顺序,并将所述分组输入到所述解调部分。
21、根据权利要求20所述的通信系统,其中:
所述序列号或者所述输出次数包含在要从所述加密器发送至所述密码解码器的各个分组的容器部分中的所述加密数据中,并且
所述密码解码器包括:
第一比较部分,用于对各个分组的头部中描述的所述序列号或者所述输出次数与包含在由所述解调部分对所述加密数据的解调结果中的所述序列号或者所述输出次数进行比较;以及
分组丢弃部分,用于当所述第一比较部分的比较结果为所述序列号或者所述输出次数不一致时,丢弃所述分组。
22、根据权利要求20所述的通信系统,其中
由所述伪随机数产生部分产生的伪随机数序列包含在要从所述加密器发送至所述密码解码器的各个分组的容器部分中的所述加密数据中,作为用于所述分组的固有认证码;并且
所述密码解码器包括:
第二比较部分,用于对包含在所述解调部分对所述加密数据的解调结果中的所述认证码与和所述解调伪随机数产生器所产生的所述认证码相对应的解调伪随机数序列进行比较;以及
分组丢弃部分,用于当所述第二比较部分的比较结果为所述认证码不一致时,丢弃所述分组。
23、根据权利要求21或22所述的通信系统,其中,所述密码解码器包括:
分组消失判定部分,用于在接收到所述多个分组之一后,当在预定时间之内没有接收到根据所述序列号或者所述输出次数要接收的分组时,该分组消失判定部分判定所述分组已经消失;以及
输出次数调节部分,如果所述分组丢弃部分丢弃了所述分组或者如果所述分组消失判定部分判定所述分组已经消失,则该输出次数调节部分将来自所述解调伪随机数产生部分的解调伪随机数的所述输出次数调节为与在被丢弃的分组或者被判定为已经消失的分组之后正常接收的分组的所述序列号或者所述输出次数相符合的输出次数。
24、根据权利要求21或22所述的通信系统,其中:
所述加密器包括并入部分,该并入部分用于根据由所述伪随机数产生部分产生的所述伪随机数来确定包含在所述分组中的每一个中的所述序列号或所述输出次数或者所述认证码在各个分组的所述容器部分中的存储位置,并将所述序列号或所述输出次数或者所述认证码并入到所述输入数据中,以使得所述序列号或所述输出次数或者所述认证码被设置在确定的存储位置中;并且
所述密码解码器包括取出部分,该取出部分用于根据由所述解调伪随机数产生部分产生的所述解调伪随机数,从所述解调部分的解调结果中取出所述序列号或所述输出次数或者所述认证码。
CNB2006101393234A 2005-09-22 2006-09-22 加密方法、密码解码方法、加密器、密码解码器、发送/接收系统和通信系统 Active CN100555363C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005276117 2005-09-22
JP2005276117 2005-09-22
JP2006189313 2006-07-10

Publications (2)

Publication Number Publication Date
CN1937008A CN1937008A (zh) 2007-03-28
CN100555363C true CN100555363C (zh) 2009-10-28

Family

ID=37954495

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101393234A Active CN100555363C (zh) 2005-09-22 2006-09-22 加密方法、密码解码方法、加密器、密码解码器、发送/接收系统和通信系统

Country Status (1)

Country Link
CN (1) CN100555363C (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100485708C (zh) * 2007-08-07 2009-05-06 江雨 一种输入数据的安全处理方法及装置
CN102612027B (zh) * 2012-03-22 2014-08-13 李宗霖 一种无线通讯系统中数据的安全传输方法
CN104506504B (zh) * 2014-12-16 2017-12-26 成都驰通数码系统有限公司 一种无卡终端涉密信息的存储方法及安全装置
JP6973402B2 (ja) 2016-09-30 2021-11-24 ソニーグループ株式会社 送信装置、送信方法、受信装置および受信方法
CN107634827A (zh) * 2017-10-15 2018-01-26 天津飞眼无人机科技有限公司 无人机保密通信系统
CN108377182A (zh) * 2018-01-12 2018-08-07 电子科技大学 一种安全性强的rc4流密码生成装置及方法
CN108922567B (zh) * 2018-06-29 2020-08-21 北京同方光盘股份有限公司 光盘隐藏数据读取次数的限定的方法及装置
CN109347775B (zh) * 2018-10-22 2020-12-18 西南交通大学 一种联合强度波动与相位波动特征的调制格式识别方法
US11140139B2 (en) * 2018-11-21 2021-10-05 Microsoft Technology Licensing, Llc Adaptive decoder selection for cryptographic key generation
CN110446124B (zh) * 2019-08-19 2021-10-12 深圳市双翼科技股份有限公司 基于光网络终端的单元远程管理方法、存储介质以及装置
CN114221786B (zh) * 2021-11-17 2024-03-26 西安空间无线电技术研究所 一种基于脉冲压缩的新型通信硬件加密系统及方法

Also Published As

Publication number Publication date
CN1937008A (zh) 2007-03-28

Similar Documents

Publication Publication Date Title
CN100555363C (zh) 加密方法、密码解码方法、加密器、密码解码器、发送/接收系统和通信系统
EP1768299B1 (en) Encryption method, cryptogram decoding method, encryptor, cryptogram decoder, transmission/reception system, and communication system
CN1959770B (zh) 加密方法、密文解码方法、加密器、密文解码器和通信系统
US10728028B2 (en) Transmitter for encoding information with randomly flipped bits and transmitting that information through a communications channel
Van Assche Quantum cryptography and secret-key distillation
AU2008327506B2 (en) Method and system for encryption of data
CN101542431B (zh) 在给定种子时产生Feistel分块密码的方法和系统
WO2018085771A1 (en) Transmitter for encoding information with randomly flipped bits and transmitting that information through a communications channel
US20020159588A1 (en) Cryptography with unconditional security for the internet, commercial intranets, and data storage
JP4860708B2 (ja) ストリーム暗号方法および暗号システム
WO2006030447A1 (en) A method and system for computational transformation
Abdullah et al. A Realizable Quantum Three‐Pass Protocol Authentication Based on Hill‐Cipher Algorithm
CN117407920B (zh) 基于区块链的数据保护方法及系统
JP2005252384A (ja) 暗号化データ保管サーバシステム、暗号化データ保管方法及び再暗号化方法
Sloane Error-correcting codes and cryptography
KR100561845B1 (ko) 애드 혹 망에서 멀티 레벨 접근 제어를 위한 데이터암호화 및 복호화 방법
Cheltha An innovative encryption method for images using RSA, honey encryption and inaccuracy tolerant system using Hamming codes
Rajput et al. An improved cryptographic technique to encrypt images using extended hill cipher
JP2008079297A (ja) データ送信装置及びデータ受信装置
Shoushtari Securing Wireless Communication via Information-Theoretic Approaches: Innovative Schemes and Code Design Techniques
Kushwah et al. Web Application Based Text Encryption
Mikhalev et al. Selected Design and Analysis Techniques for Contemporary Symmetric Encryption
RU2141169C1 (ru) Способ передачи и приема с обеспечением подлинности сообщения
Brock Linear Feedback Shift Registers in SAGE
Ghosal et al. One time codes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant