CN1280755C - 系统大规模集成电路与电子设备 - Google Patents

系统大规模集成电路与电子设备 Download PDF

Info

Publication number
CN1280755C
CN1280755C CNB988023954A CN98802395A CN1280755C CN 1280755 C CN1280755 C CN 1280755C CN B988023954 A CNB988023954 A CN B988023954A CN 98802395 A CN98802395 A CN 98802395A CN 1280755 C CN1280755 C CN 1280755C
Authority
CN
China
Prior art keywords
remainder
computing
computing unit
cascade
signal
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.)
Expired - Fee Related
Application number
CNB988023954A
Other languages
English (en)
Other versions
CN1246940A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN1246940A publication Critical patent/CN1246940A/zh
Application granted granted Critical
Publication of CN1280755C publication Critical patent/CN1280755C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/3816Accepting numbers of variable word length
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5353Restoring division
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Optical Communication System (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

对于输入数据依处理步骤进行计算并将求得的结果输出的信息处理系统,此系统包括多个计算单元(7-1~7-x),依据处理步骤以2m(m:自然数)位计算精度执行计算,还包括多个用来级联计算单元的级联终端。当计算中所要求的最大计算精度是2n(n为自然数且是常数)位时,将x个计算单元级联成满足x≥2n/2m(x是自然数)。当计算中所要求的计算精度是2n1(n1≤n,且n1是可变的)位时,将x1个计算单元级联成满足x1≥2n1/2m(x1是自然数且是可变的)。这样,以所需精度执行计算的信息处理系统就易由硬件方式实现。此外,在这种硬件方式下易于提高计算精度。

Description

系统大规模集成电路与电子设备
技术领域
本发明涉及信息处理系统与加密/解密系统,特别涉及通过硬件结构进行任意精度计算的信息处理系统,以及通过硬件的结构进行任意精度计算而进行加密与解密的加密/解密系统。本发明尤其涉及以内部总线或外部总线为光传输方式的系统LSI(大规模集成电路)和电子设备。
背景技术
迄今,伴随着随机数发生、韦布勒特变换、纽拉尔网络、快速付里叶计算、数字滤波器等复杂而又是大规模的计算,从开发成本,发开时间等观点考虑,除特殊用途外,不是采用专用的硬件而是采用使用通用的计算设备由软件来实现的结构。
此外,随着因特网的普及,从电子商务以及保密等观点考虑,也需要提高信息加密技术,作为这方面的有效手段的加密技术受到重视。
加密方式大致分为保密键加密和公开密钥加密,这两者的代表方式作为保密键加密有DES(数据加密标准),作为公开密钥加密有RSA(修订的Shamir Adleman加密)。
从原理上说,DES是根据数据位列的排列变换或置换的方式,RSA是进行极其多位的余数计算方式,一般与保密键加密方式相比,公开密钥加密方式要慢数百倍。这是由于在公开密钥加密方式中通常要使模在数百位以上进行极其之多的高精度的余数计算。
为此通常又把加密方式的使用分为,对于大量数据列的加密采用快速的保密键加密方式,而对于数据量少的认证、签名和键的发送等则采用公开密钥加密方式。
此外,对公开密钥加密而言,由于能通过改变键的位长来选择加密强度,故可以采用向通信对方公开的各种各样位数的公开密钥来进行计算。
采用通用的计算装置,由软件来实现随机数发生、韦布勒特变换、纽拉尔网络、快速付里叶计算和数字滤波器等的技术,在超过通用计算装置的精度来进行计算时,由于需要在软件一方进行完全的对应,编制程序的劳力和处理时间都会增多,从现实上说,有时是无法实现的。
在DES情形,规定了必须采用硬件技术来实现,在只依靠软件的加密/解密系统中,事实上难以避免被第三者解密。若把加密算法的一部分硬件化,则可提高加密强度。
在公开密钥式的加密方式中也是同样的,例如提出了单片式公开密钥加密工艺(电子情报通信学会论文志D-I Vol.J80-D-I No.8 pp.725-735 1997-8)。
但在上述单片式公开密钥加密工艺中,虽可在硬件规定的精度内作任意精度的处理,但当要求有超过规定精度的精度时,就会产生不能处理而需设计新的硬件的问题。
再有,当把计算装置例如由TFT(薄膜晶体管)取单片结构时,就会出现由于不工作的晶体管存在致整个计算装置不能使用,而致合格率下降同时使制造成本加大的问题。
还存在着其他问题,例如近年来由于微机的发展,这一方面在各种领域内推进了机器的小型化和高附加值化,但微机的设计则变得极其困难。随着以单片化的形式构成微处理机(MPU)的微机的高集成化,另一方面布线宽度也成为亚微米级推进着高电阻化,由于多层结构化,浮动容量也增大,于是在布线部分上形成分布常数电路,致使电信号的传输延迟也增大。
这样,考虑到微机内的CPU(中央处理机)相对于其他功能单元传送数据、地址需要时间,等着从其他功能单元输入数据需要时间,故有必要确定CPU的指令周期,从而加大了因信号传输迟延造成的设计负担。
还存在这样一个方面的问题,即近年来,随着轻量薄型的小尺寸化和附加功能的增多,微机也集中向超LSI和高集成化的方向进展,使微机的设计更加困难。
布线电阻、容量的增大,不仅使信号传输延迟,而且产生作为信号的矩形波的变形。近年来,特别是携带式电子设备为中心的省功率化的进展,电压电平低的矩形波的变形程度加大,这就不能确保作为信号的功能,也成为错误工作的原因。
发明内容
于是,本发明的目的即在于提供易由硬件构成,能进行所需精度计算的系统的信息处理系统。
本发明的另一目的在于提供易由硬件构成,能进行所要求的任意精度(任意位数)计算的系统的加密/解密系统。
本发明的又一目的在于提供能提高单片构成时的有效合格率、提高系统可靠性的信息处理系统和加密/解密系统。
本发明的再一目的在于提供能将信号传输延迟和信号波形变形减少到可以忽视程度而且易于设计的信息处理系统和系统LSI以及利用它们的电子设备。
本发明的又另一目的在于提供能安装上其他公司开发的功能块,同时又能把上述的加密/解密系统等容易地用于有关这类功能块的知识产权的管理上的系统LSI以及应用它的电子设备。
本发明提供一种系统大规模集成电路,此系统大规模集成电路装载有不同开发厂家的多种功能块,其特征在于:此多种功能块中的至少一个具有被设定了加密键并用于执行加、减、乘、除运算的四则运算功能区;此四则运算功能区具有根据处理步骤各以计算精度2m位进行计算的多个计算单元;为了使这多个计算单元相互级联的多个级联端子,当计算处理中所需的最大计算精度为2n位时,使满足x≥2n/2m的x个前述计算单元进行级联,m、n和x为固定自然数,在经许可给予用户的预定的解密键被输入时执行依照RAS方式的解密计算,而在该解密成立后开始使前述四则运算功能区的前述解密以外的四则运算成为可能。
本发明的特征是,在相对于输入数据按照处理程序进行计算处理然后输出的信息处理系统中具有:
根据上述处理程序,各自以计算精度2m位(m:自然数)进行计算的多个计算单元;
将上述各计算单元相互进行级联的多个级联端子。
而在计算处理中设所需的最大计算精度为2n位(n为自然数)时,为使所述计算单元作x个级联,则需满足x≥2n/2m(x为自然数)。
由于本发明是由多个计算处理单元对计算处理进行分散处理,因而使硬件处理变得容易,而且即使对于随机数发生处理、韦布勒特变换处理、快速付里叶变换处理、数字滤波器处理等计算量多且精度要求高的情形,也容易建立系统来实现计算处理的高速化。此外,分散处理的结果,能抑制计算单元的门数,可以降低设备费用。
本发明中,当计算处理中必要的计算精度为2n1位时(n1≤n,n1为变量),为使所述计算单元作x1个级联,则需满足x1≥2n1/2m(x1为自然数,同时是变量)。这时,时钟脉冲发生电路在计算处理时发生2n1个前述的基准时钟信号。由此,x个之中的x1个计算单元能有效地级联。这样,x1个之外的计算单元就能节省消耗的功率,而且也使计算速度高速化。再有,当这多个计算单元之间是由光信号来传送信号时,计算速度能够更快。
这多个计算单元的每个分别具有y个(y为固定的自然数)能以计算精度2m/y进行计算的计算模块,并可由这y个计算模块级联构成。
在上述情形下,当计算处理中所需的计算精度为2n1位(n1≤n,n1为变量)时,为使y1个计算模块级联,需满足y1≥2n1/2m/y(y1为可变的自然数)。
或者,为了进行2n1位精度的计算,可由(x1-1)个级联的计算单元以计算精度2n2(n2<n1)进行计算,而使与前述(x1-1)个计算单元级联的另一个计算单元是满足y1≥(2n1-2n2)/2m/y(y1≤y而y1为变量)的y1个计算模块的级联结果。
若在这最大y个计算模块间以光信号来传送信号,则可使各计算单元内的计算高速化。
本发明还可具有存储处理程序的第一存储部,又还设有可根据此第一存储部中存储的处理程序来对这多个计算单元进行控制的计算控制装置。这时,多个计算单元和计算控制装置之间也可由光信号来传送信号。
此外,本发明还具有将多个计算单元的计算结果暂时存储的第二存储部,而在第二存储部与多个计算单元之间也可取由光信号来传递信号的结构。
作为多个计算单元的计算例,可举以X、N为输入数据而以Y为输出数据时,由于准随机数发生,进行Y=X2 Mod N的计算例。
这里,当多个计算单元的合格率为A时,准备的总的计算单元的个数为K,设x≥K/A,则能将其中的合格品的计算单元作最大为x个的级联。
或者,当计算模块的合格率为A’时,对前述这许多计算单元的各个准备总数为L个的计算模块,则当y≥L/A’时,可将其中的合格品的计算模块作最大为y个的级联。
根据本发明的另一形式,其特征在于,在相对于输入数据按照处理程序进行计算处理而输出的信息处理系统中,此系统具有;
根据前述处理程序,分别以计算精度2m1位(m1:固定的自然数)进行计算的多个内部计算单元;
以计算精度2m2位(m2:固定的自然数)进行计算的多个外部计算单元;以及
用来将前述多个内部计算单元和多个外部外部计算单元进行级联的级联端子,
当计算处理时的最大计算精度为2n位(n为可变自然数)时,为使前述外部计算单元作z个级联,应满足z≥(2n-2m1)/2m2(z为固定的自然数)。
这样,容易用硬件扩展计算精度,能确保系统的可靠性,信息处理系统的系统设计也变得容易。
根据本发明另一实施形式的加密/解密系统,其特征在于,此系统具有:
多个幂乘余数计算单元,以及
用来将这个多幂乘余数计算单元进行级联的多个级联端子,
而上述多个幂乘余数计算单元的每个具有:
以乘法精度2m位(m为固定的自然数)进行乘法运算的乘法单元;以及
以除法精度2m位进行除法运算的除法单元,
当由上述多个幂乘余数计算单元进行的幂乘余数计算的最大计算精度为2n(n为固定的自然数)时,为使这多个幂乘余数计算单元作x个连接来执行加密和解密,应满足
x≥2n/2m(x为固定的自然数)
这样,通过由多个计算处理单元对用于加密或解密的计算处理进行分散处理,硬件处理就变得容易,而且即使是在计算量多和精度要求高的情形,也容易建立系统来实现高速的计算处理。此外,分散处理的结果,能抑制计算单元的门数,有可能降低制造费用。
根据本发明又一形式的加密/解密系统,其特征在于,此系统具有:
以乘法精度2m1位(m1为固定的自然数)、除法精度22m1位进行幂乘余数计算的多个内部幂乘余数计算单元;
以乘法精度2m2位(m2为固定的自然数)、除法精度22m2位进行幂乘余数计算的多个外部幂乘余数计算单元;以及
用于将上述多个内部和外部幂乘余数计算单元进行级联的级联端子,
在以最大位精度2n(n为固定的自然数)进行加密和解密时,使前述外部幂乘余数计算单元按满足z≥(2n-2m1)/2m2(z为固定自然数)作z个连接。
这样,容易用硬件扩展幂乘余数计算中的计算精度,在键的精度方面能确保有充分的可靠性。
此外,由于能以更少的门数来构成外部幂乘余数计算单元,即使在个人计算机系统中也易形成加密/解密系统。
根据本发明的再一种形式,在具有依据多通道的电信号分别工作的多个功能单元和在这些单元间传送信号的总线的信息处理系统中,其特征在于:
上述多个功能单元的各个具有信号输出部和/或信号输入部;
上述信号输出部具有将多通道的电信号变换为波长不同的多通道的光信号而输出的电-光信号变换装置;
上述信号输入部具有将波长不同的多通道的上述光信号变换为多通道的上述光信号的光-电信号变换装置;
而上述总线则是由光传输介质形成。
在上述情形下,一个功能单元和另一功能单元间的信号传送是通过光传输介质的总线传送波分多路的多通道光信号。因此,各功能单元的信号输出部具有将多通道的电信号变换为多通道的光信号的电-光信号变换装置,而各功能单元的信号输入部则具有将多通道的光信号变换为多通道的电信号的光-电信号变换装置。
由于是在单片式微机的各功能单元间进行光通信,由光速进行的信号传输就可以基本上忽视信号传输延迟。结果就不会有因考虑这种信号传输延迟而有的设计上的约束,信息处理系统的设计也变得容易。
本发明中,多个功能单元之一是中央处理机(CPU),而上述总线可包括数据总数与地址总线。与CPU连接的数据与地址总线两者可以是光传输线路。
在此场合下,数据总线和地址总线也可共用一根光传输介质,因为数据与地址是可以不同时地进行时分传送。
本发明还最好在其总线上连接着用于同外围设备进行光通信的光输入输出部。这样就能将信息处理系统内的各功能单元的电-光信号变换装置变换成的光信号原样地送给外围设备,相反,来自外围设备的光信号则能原样地输入信号处理系统。此外,还具有不会有噪声重叠到光信号上或从光信号上释出噪声等优点。
用来同外围设备进行光通信的光输入输出部,最好能通过上述总线,根据来自上述CPU的芯片选择信号进行与外围设备之间的光通信。这时的光输入输出部是由根据芯片选择信号而工作的光闸构成。
根据本发明的又另一种形式,在具有第一内部总线的第一半导体装置和具有第二内部总线的第二半导体装置经外部总线连接成的系统LSI中,其特征在于:
上述第一半导体装置具有第一信号输出部和第一信号输入部,而根据多通道的电信号工作的CPU则与上述第一内部总线共同形成于第一基板上;
上述第二半导体装置具有第二信号输出部和第二信号输入部,而且是由来自上述CPU的信号控制,则根据多信号的电信号工作的受控单元则与上述第二内部总线共同形成在第二基板上;
上述第一、第二信号输出部分别具有将多通道的电信号变换为波长不同的多通道的光信号输出的电-光信号变换装置;
上述第一、第二信号输入部分别具有将波长不同的多通道的上述光信号变换为多通道的上述电信号的光-电信号变换装置;
而上述第一、第二内部总线和外部总线分别由光传输介质形成。
这样,例如将第一半导体装置作为前述单片式微机时,原本应设于微机内的功能块中的至少一个可设于第二半导体装置之内。这时,第一与第二半导体装置内的功能单元相互之间则可通过第一、第二的内部总线和外部总线由光进行信号的收发。于是,设置于在空间上不同基板上的功能单元相互之间,由于是以能按光的传输速度通信的总线连接,在性能上能同上述的在单个芯片内安装有由光进行信号收发的多个功能单元的微机等价。
这样,由于能本来应设在一个芯片内的功能单元的一部分取出到外部,就可以有不必高度集成化的优点。或者,在微机中增设计算功能和存储器等时,也不必如过去那样需修改单片式微机的设计,可以相对于作为基础的微机,通过光传输介质的外部总线将半导体装置设于外部,从而具有能提高微机通用性的优点。
特别是,当采用了本发明后,超高速缓冲存储器的容量就可自由地变更。
最好是,在本发明中构成为能把内部总线的内部时钟也供给于外部总线。这样,内部时钟就成为全部功能单元的标准时钟,而能在同步方式下进行数据处理。
设将上述本发明的信息处理系统或系统LSI设置于电子设备中,也能容易地对应于此电子设备的功能变动。
根据本发明的又再一形式,即能安装不同开发厂商的多种功能块的系统LSI,此系统的特征在于:
上述多个功能块的至少一个具有四则运算功能区;
上述四则运算功能区在预定的解密键输入时执行用于解密的计算,而在此解密成立后开始,能执行上述解密之外的四则运算功能。
在此系统LSI中,例如设包括有A公司开发的功能块。对于利用此系统LSI中A公司开发的功能块的终端用户。例如通过许可证示明RSA方式的解密键(私用密钥)。于是,本系统LSI的利用者之中,只是具有解密键的终端用户才能利用功能块。由此,为了利用A公司开发的功能块,必须根据许可证从A公司取得解密键,使有关知识产权的管理变得容易。
在该四则运算功能区中,如上所述,能够配备有根据处理程序分别以计算精度2m位(m为固定的自然数)计算的x个级联的计算单元。这多个计算单元的一部分能够包括级联的多个幂乘余数计算单元。
附图说明
图1A与图1B是示明本发明第一实施例的信息处理系统概要的框图。
图2是示明图1A和图1B中可编程的数字处理机概要结构的框图。
图3是示明将第一实施例用于准随机数发生电路中的具体例子的框图。
图4是本发明第二实施例的加密/解密系统的概要结构的框图。
图5是示明幂乘余数计算装置概要结构的框图。
图6是示明任意精度除法装置概要结构的框图。
图7A~7C分别是说明除法分散处理的困难性的说明图。
图8说明任意精度除法器的结构与操作。
图9是示明除法器概要结构的框图。
图10是除法器的工作时间图。
图11示明基于本发明第二实施例中RSA的公开密钥加密方式的加密和解密处理的处理程序。
图12说明幂乘余数计算装置中必要的门数。
图13A说明ab≡M mod C的计算方法。
图13B是执行图13A中计算的电路的框图。
图13C说明根据图13A的方法,对18619≡M mod C进行解密而求出M=17的计算例。
图14说明图13A必要的计算处理时间的计算。
图15是示明计算处理时间的例子的说明图。
图16表明既有的基于RSA的公开密钥加密方式的加密及解密处理的处理程序。
图17是示明本发明的第四实施例中微机一例的框图。
图18概示包含图17中所示微机的光传输部的区域。
图19是概示构成图18中所示发光部的3个通道部分发光元件的剖面图。
图20概略地说明图19所示发光层的制膜方法的一个例子。
图21是构成图18所示受光部的3通道部分的受光元件的概要剖面图。
图22是示明图18中所示发光部变形例的概略说明图。
图23是示明本发明第五实施例的系统LSI的概略说明图。
图24是示明将发光部、波导与受光部作三维配制的本发明的第六实施例的概略说明图。
图25是本发明的第七实施例的系统LSI的示意图。
具体实施方式
[用于实施本发明的最佳形式]
下面参考附图说明本发明的最佳实施例。
(第一实施例)
图1A是示明第一实施例的信息处理系统的框图。
信息处理系统10如图1A所示例如由两台通用的微处理机构成。在图1A中,信息处理系统10配备有用于控制系统总体的主微处理机1和通过总线2与主微处理机1连接的可编程的数字处理机3。可编程的数字处理机3具有代替主微处理机1按照设定的程序(处理程序)高速地进行所希望的计算精度的协处理机的功能。
总线2上直接或通过接口装置连接着图中省略了的,合乎此信息处理系统10所要求规格的键盘和鼠标等输入装置、打印机等输出装置、ROM和RAM等存储装置以及硬盘装置等外部装置。
图2示明图1中所示可编程的数字处理机3的结构。此可编程的数字处理机3具有图中未示明的系统ROM、系统RAM,而随机数发生处理、韦布勒特变换处理、快速付里叶处理以及数字滤波器处理等的处理程序是预先从主微处理机1一方装入而编定程序的。
该可编程数字处理机3包括:负责主体控制的控制单元5、存储计算过程中各种数据和处理程序等的RAM6和ROM8、分别以计算精度2m位(m为固定自然数)进行计算的x(x为固定的自然数)个计算单元7-1~7-x、用来传计算单元7-1~7-x相互间级联的开关SW、用来使送地址数据和命令数据等的内部系统总线4A以及用来传送各种数据的内部数据总线4B。内部系统总线4A和内部数据总线4B构成了内部总线4。开关SW只作了简单的图示以便从附图中能理解实施例的结构即可。实际上,级联的计算单元数是根据可编程数字处理机3内的例如由控制单元5发生的基准时钟信号数所决定,而并非是机械上的开关SW的开/关结构。有关这一问题将于以后说明。
在上述情形下,将全部的计算单元作x个级联时能求得的最大位精度设为2n(n为固定的自然数)时,进行级联的最大个数x需满足下面所示条件:
x≥2n/2m
当所需的计算精度为小于最大位精度2n的位精度2n1(n1是变量且n1≤n)时,将全部x个计算单元7-1~7-x置于可能工作状态虽也可能求得计算结果,但也可在最大x个的计算单元之中,使满足:
x≥x1≥2n1/2m(x1可变)的x1个计算单元7-1~7-x进行有实效地工作的级联。这样地来进行2n1位精度的计算时,不会消耗不必要的功率,能实现消耗功率的合理化还能使计算处理时间最佳化。
这样,计算单元7-1~7-x中的各个便成为能由分别可以以计算精度2m/y(y为大于2的整数)的y个计算模块9-1~9-y经开关SW级联而成。同样,开关SW也只作了简单的图示以便从附图中理解实施例的结构即可。实际上,有效的级联的计算模块数,如上所述,是根据可编程数字处理机3内例如控制单元5的基准时间信号数决定。而并非是机械上的SW的开/关结构。
在此,例如当计算单元7-1和计算单元7-2作有效地级联时,则等价于总数为2y个计算模块的级联。
于是,在本实施例中,能在一个计算单元的全体计算模块9-1~9-y2中将用于进行2n1位精度计算的、充分个数y1≥2n1/2m/y(y1≤y)的计算模块作有效的级联。这样就能使消耗的功率和计算处理时间进一步地最优化。
或者,为了进行2n1位精度的计算,也可采用(x1-1)个计算单元7--1~7-(x-1)和计算单元7-x1之中的y1个计算模块。这时,当由(x1-1)个计算单元7-1~7-(x-1)进行2n2位(n2<n1)精度的计算时,要满足y1≥(2n1-2n2)/2m/y(y1≤y)。
下面说明图1A和图2中所示装置的工作。
首先,主微处理机1通过总线2将计算指令、计算中所必须的数据以及对应于计算精度的计算精度数据输送给可编程数字处理机3。
这样,可编程数字处理机3的控制单元5便相对于计算单元7-1~7-x,根据主微处理机1和/或R4M6的处理程序(例如图13B所示的加密程序),控制对应于所要求计算精度2n1个数的计算单元或计算模块。计算单元7-1~7-x根据各个计算数据的精度信息,判断应级联的单元数和模块数。这种应级联的单元数和模块数是根据演算中必要的基准时钟信号数决定。此基准时钟信号是由图1A中所示信息处理系统10所具有的未于图中示明的基准时钟信号发生电路所产生。
这样,计算中所必要个数的计算单元和计算模块作有效地级联,控制单元5则根据予编程序的处理程序使计算单元进行计算。
然后将求得的精度为2n1的计算结果通过总线2输出到主微处理机1的一方。
在此第一实施例中,芯片间即图1A的微处理机1和可编程数字处理机3间的总线2上的信号可以是多通道的电信号,或也可以是例如波长不同的多通道光信号。芯片间光通信的技术已提出有许多种。
再有,在此第一实施例中,也可在构成为单片的可编程数字处理机3内的一部分或全部的单元之间传送光信号。具体地说,使图2所示可编程数字处理机3的内部系统总线4A和内部数据总线4B作为光传输线路。这样,在控制单元105、RAM6、ROM8和x个计算单元7-1~7-x的各个之间,就可通过系统总线4A和内部数据总线4B传送光信号。这时,作为构成RAM6的存储元件如果存储的是电信号以外的信息例如由强介电存储器之类磁化了的信息时,则不必要将光信号变换为电信号。例如,采用了强介电存储器时,可以存储根据光信号而磁化了的信息。此外,由于在X个计算单元7-1~7-x间实质上是由总线连接,同时,构成计算单元的y个计算模块也是由总线连接,因而把这类总线作为光传输线路,在计算单元之间以及计算模块之间也能通过光信号进行传送。
至于将单块芯片的内部总线作为光传输线路的具体例子将于后述。
在以上的说明中是就装入最大x个计算单元的情形进行说明,但以后,在配备有功能扩展情形等的条件下,也可将用于级联外部计算单元的端子设于可编程数字处理机3中。这样,当把外部计算单元构成为能进行级联的形式时,则可以确保能实现高于只由内部计算单元作级联时所得到的计算精度的精度。
更详细地说,即使是在把可编程数字处理机取单片结构的情形,如图2虚线所示,也能将一或多个可编程数字处理机3’通过内部数据总线和未图示的级联端子进行级联。这样能等价于将可编程数字处理机3’内的计算单元与可编程数字处理机3’内的计算单元进行级联的结果。这就是说,相对于可编程数字处理机3内的内部计算单元7-1~7-x,可把一或多个可编程的数字处理机3’的计算单元作为外部计算单元来发挥作用。在本实施例中,此内部计算单元和外部计算单元之间也可通过光信号进行传送。
再有,以多个外部计算单元为例,当由TFT(薄膜晶体管)构成时,会产生起因于缺陷等的不合格的晶体管,恐怕此时不能完全利用到最大为Z个所有外部计算单元。
因此,当计算单元的合格率为A时,最好至少预先准备K(Z≥K/A)个计算单元。这样,能在K个计算单元之中将合格品的计算单元作最大为Z个的连接。
由于上述事实不仅是对于计算单元是如此,即使对于构成外部计算单元的计算模块也同样如此,因而对于外部计算模块的合格率为A’时,在各外部计算单元之中最好预先准备至少L(y≥L/A’)个计算模块。这样就能在L个计算模块之中将合格产品的计算模件作y个连接。于是,即使计算模块中有不合格品时,通过进行冗余的计算模块的连接替换,就能把这种计算单元作为合格品对待。
此外,将可编程数字处理机3内以计算精度2m1位(m1:自然数)进行计算的内部计算单元,同可编程数字处理机3”内以计算精度2m2位(m2:自然数)进行计算的外部计算单元级联,在实施最大计算精度2n的计算时,此外部计算单元的连接数Z可设定为满足下式:
Z≥(2n-2m1)/2m2
对于依要求的位精度2n1(n1为自然数,且n1≤n)进行计算时,则可在Z个外部计算单元之中,使满足
Z≥Z1≥(2n1-2m1)/2m2(Z1为自然数)的Z1个外部计算单元进行级联,这样就能使仅仅是计算中必要的外部计算单元工作。结果就可让消耗的功率合理化和计算处理时间合理化。
在构成信息处理系统10时,按图1A所示的实施例,主微处理机1成为必要的结构条件。但是,若构成使可编程数字处理机3具备主处理机1的功能,同时通过总线2从存储装置或外部存储装置装入程序时,则可以如图1B所示信息处理系统10’那样,不需要主微处理机1。
另外,在以上的说明中仅仅是就可编程数字处理3装入程序的情形进行说明,但并非限定如此,例如可予先将处理步骤的程序存储于ROM、PROM、EEPROM等非易失性存储器中,而能以此为基础根据处理步骤操作,或也可由硬件来实现此固定化的处理步骤。
下面,作为比第一实施例更为具体的例子,采用将本发明用于准随机数发生装置为例进行说明。
当H为大素数之积时,能够用非线性算子Y=X2 mod N来形成计算量安全的准随机数。在此情形下,所谓“计算量安全”是指,当安全性散乱(也就是从生成的随机数列的一部分即部分随机数列中,能推测生成的随机数列其他部分的部分随机数列)时,可对N作因数分解而在计算量方面是同等的。
换言之,在数字的漫长历史中,对于因数分解并未发现简单的计算方法,而这多半是由于随机数不能预测。采用
Y=X2 mod N时,用于发生计算量安全的准随机数的框图如图3所示。在此情形下,
N=P·Q
P和Q都是大的素数。
如图3所示,当相对于输入数据(X,N)进行
Y=X2 mod N的计算处理时,通过采用第一实施例的可编程数字处理机3,能够以任意精度发生准随机数。
如上所述,根据本实施例,能够由硬件容易地实现用于进行所需精度计算的信息处理系统,同时,即使对于计算精度的扩展,也易从硬件上作出相应的解决方法。
在此第一实施例的说明中,是取在可编程数字处理机中设置控制单元5和RAM 6的结构,但也可构成于主处理机一方来执行上述功能的信息处理系统,当把计算单元仅仅由一块芯片构成时,也可采用任意精度的通用计算处理机。
(第二实施例)
下面描述本发明所适用的进行加密处理和解密处理的加密/解密系统的第二实施例。
[1]RSA方式的原理说明
首先在说明具体的实施例之前,说明有代表性的公开密钥方式加密RSA方式。
作为网络加密的利用形式,是发送者用加密键将普通文件加密发送出,而接收者则用解密键解密从而返回到普通文件的处理。
在保密键加密方式中,加密键与解密键相同,与此相反,在公开密钥加密方式中这两个键则不相同,是将加密键公开而将解密键保密的方式。下面说明有代表性的公开密钥加密方式的RSA方式的原理。
将普通文件分成适当的块,设与之相当的数值为M。确定素数p、q,作为解密键(保密键)保密,以具有下述关系的n和e为公开密钥(公用键)。
n=pq                                       (1)
gcd(e,(p-1,q-1))=1                       (2)
上式中e与(p-1)(q-1)最大公约数为1,即可适当地决定与(p-1)(q-1)互质的正整数e。
然后如下面的(3)式所示,发送者用公开密钥,进行以n为模的普通文件M的e次方的余数计算(以n去除Me求出余数c,发送加密文件c)。
Me≡C mod n                                  (3)
据此,收到加密文本C的接收者,首先用公开密钥由下式(4)求出以(p-1)(q-1)为模的e的倒数d:
ed≡1 mod(p-1)(q-1)                          (4)
根据所求得的d,由下式(5)将加密文本解密:
Cd≡M mod n                                  (5)
但式(4)与式(5)当采用(p-1)和(q-1)的最小公倍数1cm(p-1)(q-1)时,可以将d取定得较小,如下式(6)和(7)所示,能减少计算量。
gcd(e,1cm(p-1,q-1))=1                     (6)
ed≡1 mod 1cm(p-1,q-1)                      (7)
此时,由于公开密钥n是私用密钥p与q之积,为使其不容易进行素数因数分解,通常选定512位以上。
如上所述,RSA方式是要进行素数因数分解这样一个数字上的必要条件和许多高精度的余数计算,是周知的加密强度高的方式。
[2]余数计算列
为使式(3)与式(5)的幂乘余数计算结果成为加密/解密文本,必须采用不使用舍入操作或浮点运算的整数运算。幂乘余数计算是把指数部分于此系统中分成可进行除法运算的部分,而能反复去求更小余数计算的积。为便于说明,以极小的数值举例。
设公共键为n=55,e=7,私用密钥为p=5,q=11,
设普通文本M=3,加密文本C在加密中应用公开密钥的n和e,由式(3)有
37≡C mod 55
从而求得
C=42。
在解密时,根据私用密钥的p和q,可按下述方式选定d。
由式(4):
7d≡1 mod(5-1)(11-1)
即7d≡1 mod 40
由此得
d=23。
从4223≡M mod 55
可得
M=3。
在余数计算中,
X≡Z1 mod n
Y=Z2 mod n
时,以n为模的下式(8)的乘法运算成立:
X·Y≡r1·r2 mod n                             (8)
根据上式,将指数部分分成能运算的部分。
例如
4223=425+5+5+5+3
    =425·425·425·425·423
在此,首先去求425和423这两类的余数。
425≡12 mod 55
423≡3 mod 55
由式(8),得到
4223≡12·12·12·12·3≡r·mod 55
      ↑  ↑  ↑  ↑ ↑
      r1  r2  r3  r4  r5
然后由r1·r2求其余数。由
r1·r2≡12·12≡r1-2 mod 55
得到
r1-2=34
以下同样地,由
r1-2·r3≡34·12=r1-3 mod 55
得到
r1-3=23
又由
r1-3·r4≡23·12≡r1-4 mod 55
得到
r1-4=1
再由
r1-4·r5≡1·3≡r mod 55
求出
r=3。
以上余数计算过程中各余数乘法运算的最大精度为模n的工2倍以下即可。这样,反复进行置换小数值的余数计算,就能算出目标余数。
[3]加密和解密处理的一般方法
下面参看图16说明基于RSA的加密和解密处理的一般方法。
首先在Am=R mod n的余数计算中输入A、m、n各值(步骤S1)。
同余式Am≡R mod n在加密中以普通文件M为A,公开密钥e为m,通过以公开密钥n为模的余数计算求得的R成为加密文件C。在解密时,设加密文件C为A而从加密键e与私用密钥p、q中选定的d为m,通过以n为模的余数计算求得的R即为普通文件M。
首先求A的位数K1(步骤S2)。根据A的位数K1求余数计算系统中AN的最大指数N(步骤S3)。
其次判别最大指数N是否为1(步骤S4),若是最大值数N=1,由于在A2时精度溢出,求
A≡r mod n
(步骤S5),求余数r的位数K(步骤S6),根据位数K判断A的数据块大小(步骤S7)。
当A的数据块大小在精度之内(步骤S7;否),则相对于m个A进行以n为模的乘法运算,根据此结果求得余数R(步骤S8)。
当A的数据块大小在精度之外(步骤S7,是),由于数据过多引起溢出(步骤S9),应减小A的数据块大小,结束计算处理(步骤S10)。
另一方面,当N大于2时(步骤S4,否),将m分解为qN+a(步骤S11),当a不是0时(步骤S12;是),求Aa(步骤S13),求出以n除Aa的余数r1(步骤S14)。
再来判别是否有q=0(步骤S15),要是q=0(步骤S15;是),由r1求余数R(步骤S16)。
在步骤S15的判别中,若q≠0(步骤S15;否),求AN(步骤S17),求以n除AN的余数r(步骤S18)。
然后将余数r代入r00(步骤S19),进行q个AN的以n为模的乘法运算(步骤S20),当a≠0时(步骤21;否),则去求以n除所得的相乘结果r和r1之积得到的余数(步骤S22),把求得的余数r作为应求的余数R(步骤S23),将此余数R作为余数数据输出(步骤S24)。
这种基于RSA的公开密钥加密方式的加密及解密处理(余数计算处理)很复杂,特别是在加密/解密系统中时,如前所述,为使n为512位以上的高精度,若是除法分散处理不可能,像第一实施例那样的硬件化就有困难,当把上述处理借助软件进行时,由于对其编程序并不简单,可以想像需要许多计算时间的。
[4]公开密钥加密/解密系统的结构
图4是第二实施例的公开密钥加密/解密系统的框图。
公开密钥加密/解密系统11大致包括个人计算机系统12和通过此系统12的输入输出接口17相连接的幂乘余数计算装置13。
个人计算机系统包括:用于输入各种数据的键盘15、用于进行各种显示的显示装置16、内设有输入/输出接口17及图中未示的硬盘等的外存储装置的个人计算机主体18、进行各种打印输出的打印机19。
幂乘余数计算装置13如图5所示大致包括:在预定精度范围内进行任意精度除法运算的任意精度除法装置20、在预定精度范围内进行任意精度的乘法运算的任意精度乘法装置21,它们由总线22连接。
[5]任意精度除法装置和任意精度乘法装置的结构。
任意精度除法装置20如图6所示包括:能分别输入被除数据和除数数据的8位精度的第一除法器25-1~第H个除法器25-H(H为2以上的整数)共H个除法器;根据精度信息数据用来将相应的8位精度的除法器进行级联的第一开关SW1~第(H-1)开关SW(H-1)共(H-1)个开关;此第一开关~第(H-1)开关SW1~SW(H-1)根据精度信息数据将必要个数的除法器进行级联。
上述开关SW1~SW(H-1)也与图2的情形相同只是为便于说明而图示的。此外,也可构成为在各8位除法器之间和使各8位除法器的输入输出完全由光信号传送。
更具体地说,在执行8位精度的除法运算时,使所有的开关SW1~SW(H-1)处于断开状态,在只有第一除法器25-1工作,进行16位精度的除法运算时,只让第一开关SW1处于接通状态,使第一除法器25-1和第二除法器25-2工作;进行(8×J)精度的除法运算时(J为大于2上,(H-1)的整数),使第一开关SW1~第(J-1)开关SW(J-1)完全成接通状态,而使第一除法器25-1~第J除法器25-J工作。
被除数数据和除数数据由低的8位起以8位为单位从第一除法器25-1开始顺次给予第J除法器。
同样,若把多个除法器构成以乘法精度为2m位(m为固定的整数)和除法精度为2m位进行幂乘余数计算的外部幂乘余数计算单元,而在各幂乘余数计算单元中设有用来将被除数数据、除数数据和精度信息数据的输入信号线路以及高数据和余数数据的输出信号线路进行级联的端子,通过使满足:
x=2n/2m(n与x都是自然数)的x个幂乘余数计算单元进行连接,可以构成用于进行最大2n位精度的加密和解密的任意精度的幂乘余数计算装置。
任意精度乘法装置21同把任意精度除法装置20的8位除法器变换为8位乘法器的结构有大致相同的结构,故略去其说明。此外,若使图4所示的总线22作为光传输线路,则能在这些任意精度乘法装置21和任意精度除法装置20之间由光信号进行传送。
[6]除法器的结构
下面说明构成任意精度除法装置的除法器的结构。
[6.1]除法算器的法
首先在除法器的说明之前说明除法器的算法。
除法运算与乘法运算不同,已设计出各种各样的算法。在信号处理中是没有理由像乘法那样频繁地使用除法的。
但是,对于信号规一化、计算机通信和信息网络中作为保密技术的加密/解密,例如在声音识别的特征提取之中,在以频谱为基础的线性预测系数的计算(积和70次,除法12次)、容错系统中等所见,在需要进行除法运算的情形,它的实现不如乘法运算那样容易,缺乏用于高精度地高速求得结果的有效手段。
作为实现除法运算的方法,已知有以下四种。
(1)在ROM内预先备有表明变量x和1/x的关系的查阅表(变换表),执行将y/x式的除法运算变换为y(1/x)的乘法运算的“倒数ROM方式”。
(2)代替直接进行y/x式的除法运算,由对数ROM从x和y求出logx和log y,据此进行z=log x-log y的减法运算,最后由指数ROM来求出exp z的“对数计算方式”。
(3)相对于被除数试错式地反复进行移位与减法运算的“减法运算移位方式”。
(4)一面反复地进行乘法运算,一面使所求得的结果收敛到商值的“收敛形式的除法计算方式”。
其中以倒数ROM方式最为快速,但它的缺点是,当要求高精度时,应存储查阅表的ROM的容量呈指数式增大,因而限用于允许要求不太高精度的情形。
其次是对数计算方式,由于对数ROM容量的制约带来的对精度的影响,在采用这种方式时也需作充分的探讨,在这个意义上,这两种ROM方式不能说是可用于任何情形下的通用方式。
在以上所述四种方式之中,不论是怎样的精度都可进行除法运算的方式可以说是减法移位方式和收敛型除法运算方式。
收敛型除法方式将被除数和除数视作分子和分母,到分母接近1时,给分子分母乘以相同的收敛系数,这样求得的最终的分子值便是商。或者由收敛算法求除数的倒数而从此倒数与被除数的积来求商。
但是,考虑到由多块芯片(模块)连接导致除法运算能力扩展的功能时,由近似计算收敛所进行的收敛型除法运算方式会使部分余数在传输中进一步近似化,而会产生误差增大的问题。
在此,减法移位方式则不存在上述这类问题,能以任意精度进行除法运算,在把因多块芯片(模块)连接致除法能力扩展的功能也考虑在内的情形下,这可以说是最适当的方式。
下面考察除法能力的扩展功能。
例如进行
567890/1234的除法运算时,如图7A所示,可反复进行被除数和除数的减法运算。
这里采用除数为2位的除法器(或除法模块),考察把除数扩展到4位使用的情形,如图7B与图7C所示,将除数1234分成除数12和除数34,将被除数567890分成被除数567和890,但是不能用乘法器那样的使用的方法(在乘法中是可以的),由以12和13的除数作分散处理的结果来求出除法运算能力扩展了的解(相当于图7A)。
因而除法运算只在能使用位数的范围内有效,即使是在超过除法运算能力1位的情形下使用,例如就是利用存储器和外部电路等,也是不容易解决的。
此外,在除法运算中虽然进行通常的化整处理,但在加密/解密系统中不能这样地使用。
由于上述理由,过去硬件化的除法器是由少数的处理速度慢的软件进行处理。
但本除法器的算法是以相对于被除数试错式地反复进行移位和减法的“减法移位方式”为基础的,它的一般基本式可表示为以下述的递推式。
R ( 0 ) / D = Σ j - 1 n 2 - 1 q i + ( 2 - n R ( n ) ) / D , Σ j - 1 n 2 - 1 q i
是所求的商,最终余数R是2-nR(n)
各计算步骤中商的数字qj+1根据2R和D的大小关系,确定如下。
2R(j)<D时,qj+1=0
2R(j)≥D时,qj+1=1
这就是说,先求假的部分余数R(j+1)(=2R(j)-D),要是部分余数R(j+1)为正或“0”,则可求得qj+1=1,作为真的部分余数。若是部分余数R(j+1)为负,则由qj+1=0,取消假的部分余数的减法运算。
所述递推式意味着,上述的操作是通过右移n数字位来求得R(n)的。
但是,所述递推式仅仅是相对于n数字位的商的。在把除法运算数据分散到各模块时,必需在各模块的被除数和除数分别处于连接状态下进行。
一般由于被除数的位数相对于除数来说多,因此连接分散的除数进行同被除数的减法运算时,是不容易通过除数的连接和随之减法器与锁存电路的连接等来实现。
与上述相反,本实施例的除法器能够使分散的除数和减法器固定于各模块内,连接被除数,为进行移位和减法运算而使模块分散化。
这时,与笔算相反,由于是对除数作固定的减法运算,被除数向左移。
例如,为简单起见,图8中示明了1模块相对于4位除法器扩展到个2模块时各步骤的操作。
分散到2模块中的除数伴随减法器和锁存电路由借位用端子BO与BN连接。除数部分固定于各模块中,被除数则左移必要的位数反复进行减法运算直至结束计算。
商q和部分余数通过各减法处理的减法运算结果决定。此外,在8位减法器时,计算在7个步骤后结束,在第8步骤只存储商qo。结果,在后述的被除数的锁存-移位电路32(参看图9)中得到商数据Q,而在后述的部分余数的移位电路34(参看图9)中获得余数数据。
[.2]除法器的主要构成
下面以图9中的除法器25-1为例说明除法器的主要构成。
第一除法器包括:将输入的8位除数数据进行锁存的除数锁存电路31,锁存被除数数据,进行移位操作的被除数锁存一移位电路32,从与被除数数据相对应的被除数中减去与除数数据相对应的除数的并列减法电路33,存储部分余数数据进行移位操作的余数移位电路34生成除法运算中所需的移位脉冲的控制电路35。
[6.3]除法器的操作
下面参看图说明除法器的操作。
在时刻t1,除法运算开始脉冲/STAT(这里的“1”表示低有效,以下同此)下降沿,到除法运算开始脉冲/STAT的下一次上升沿(时刻t2)时的期间,第一除法器25-1初始化。
接着,在时刻t2以后,在基准时钟信号CK最初下降的时刻t3,被除数数据(8位)为被除数锁存-移位电路32锁存,除数数据(8位)为除数锁存-移位电路31锁存。
然后,在时刻t4,基准时钟信号CK上升,在并行减法电路33中,进行被除数和除数的减法运算,当减法运算结果为正或“0”时,切换开关36接通并行减法电路33,当并行减法电路33的减法结果为负,切换开关36接通部分余数移位电路34。
结果,在时刻t5,部分余数移位电路34的部分余数数据即移位,与此同时,并行减法电路33的减法结果的部分余数数据或是减法运算前保持于部分余数移位电路34中的减法运算前的部分余数数据即为部分余数移位电路34锁存。
同样,在时间t5~时间t6之间,被除数反复进行必要次数的,即对应于整个8位所余留的7位共7次被除数和除数的减法处理以及部分余数移位电路的移位处理和锁存处理。
然后在时刻t6,基准时钟信号CK上升,除法运算结束信号/DEND成为“L”电平,而上位位的减法器(在此为第二减法器25-2)按同样方式开始工作。
接着,再上位位减法器25-3~25-J进行同样的除法操作,最后的减法器25-J将除法运算结束信号/DEND输出给第一减法器25-1,结束减法处理。
上述结果,对各减法器25-1~25-J的被除数锁存-移位电路32可求出商数据(8位),对部分余数移位电路34可求出余数数据。
由于以上操作全部与控制电路35输出的移位脉冲SLA同步地进行,因而即使把多个减法器级联来扩展除法运算能力时也不会由于传输延迟产生定时的错误操作。
[7]加密处理与解密处理(余数计算处理)
现参考图11说明基于RSA的公开密钥加密方式和解密处理(余数计算处理)。对于
AN=A mod n的余数计算,可在本加密/解密系统中输入A、N、n各值(步骤S31)。
然后将A代入A1代换A(步骤S32),置计算用变量K的初始值为1(步骤S33)。
当计算用变量K不到N时,即满足下式
K<N时(步骤S39),反复进行以下步骤S34~步骤S38的处理。
首先判别是否N=1(步骤S34)。
在步骤S34的判别中,当N=1时,以A0置A1(步骤S35)。
当N≠1时,进行A1与A的乘法运算,以A0置换相乘结果(步骤S36)。
然后求
A0≡A mod n
(步骤S37),将计算用变量K设为K+1(步骤S38)。
当计算用变量K达到N以上时,求得的余数A即为所求余数。这时,乘法运算的最大精度是A的位数的2倍。
这样,当采用本第一实施例的幂乘余数计算装置,与图16所示先有的处理过程相比,能够使处理极其简化。
[8]幂乘余数计算装置的门数。
现在说明构成幂乘余数计算装置时所需的门数。
如所周知,加密/解密系统中的余数计算要求极高的精度,设1个模块的乘法器的乘法精度为16位,1个模块的除法器的除法精度为32位,在每个单元内内设有4个模块(乘法16~64位,除法32~128位的可变精度)时的门数示明如图12中。
如图12所示,为了构成1个模块内的32位精度的除法器,需要1700个门,而幂乘余数计算装置1个单元中的任意精度除法装置需要。
1700×4=6800[门]
此外,如图12所示,为了构成1个模块的16位精度乘法器,需要1032个门,而幂乘余数计算装置1个单元中的任意精度乘法装置需要
1032×4=4128[门]
从而幂乘数余数计算装置中必要的门数为
6800+4128=10928
能使包含控制电路及动态的连接电路的一个幂乘余数计算装置按12000门左右单片化。
此外,512位精度需要8个单元,1024位精度需要16个单元
[9]计算时间
下面参考图13A~13C、图14与图15来说明应用上述余数计算装置对
ab≡M mod c
进行运算时所需要的时间。
指数b为n位时幂乘余数计算所需的计算处理如图13A所示,可以分成(1)~(4)四个阶段的乘法处理及除法处理。这时,(1)与(3)的乘法运算由图13B的i位乘法器21实施,(2)与(4)的除法运算由图13B的2i位除法器20实施。(1)和(3)的乘法处理中的乘法精度最大为c的位数i之下,其积最大为c的位数i的2倍精度。在(2)和(4)的除法运算(余数计算)处理中的除法精度最大为c的位数i的2倍的精度。此i位乘法器21和2i位除法器20的结构分别与图5中任意精度乘法装置21和任意精度除法装置20的相同。
在图13B之中,输入的值是a、b、c,在存储M的寄存器中,最初的M初始化为1。然后在M←Mx a mod c的运算(b=0)中,M输入i位乘法器21,把以c除其结果的余数作为M存储。然后,在a←a2 modc的计算(b=1)中,通过将2个a输入i位乘法器21中可求出a2
图13A中的(1)由i位乘法器21执行r12、r22、r32的计算,图13A中的(2)以c分别除r12、r22、…所得的余数r2、r3…作为(计算过程中的)M,可由2i位除法器20求得。图13A中的(3)由i位乘法器21执行K1=r1×r2、K2=R0×r3、K3=R1×r4…的乘法。在图13A中的(4),以c除K1、K2、…所得的余数分别作为R0、R1、…(计算过程中的M),可由2i位除法器20求得,在最后阶段,以c除Kn-2的余数Rn-3便成为应求的幂值M。
这一计算例的实例示明于图13。图13示明了对18619≡M mod 377解密,求得M=17的计算程序。
图13C中,(2)的余数值“289”、“204”、“146”、“204”分别是由377除1862、2892、2042、1462时得到的余数。(3)中积的值求得为53754=186×289,44880=220×204。此外,(4)中M=17,是以377去除44880所得的余数。
图13A的a、b、c都是以必要的基准时钟数所表示的1024位时的最大计算时间,如图14所示,(1)的乘法计算时间、(2)的余数计算时间、(3)的乘法计算时间、(4)的余数计算时间分别需要1047552[时钟]、2095104[时钟]、1047552[时钟]、2095104[时钟],总计6285312[时钟]。
结果在以66[MHz]作为基准时间频率进行计算时间为95.2[msec]。
同样,对于a和c为1024位,指数b的位数为512位和9位时的计算时间如图15所示分别为47.6[msec]和0.7[msec]。但这些计算时间由于是把每次的积和余数作为最大精度时的计算结果,实际上这些值会成为较小的值。
如上所述,根据第二实施例,按乘法精度2m位(m为自然数)、除法精度22m位构成幂乘余数计算的幂乘余数计算单元,通过将满足
x=2n/2m(n与m为自然数)的x个余数计算单元连接,就能进行2n位精度的加密和解密。因此,能够容易地实现系统的硬件扩展。
此外,上述的x的关系式当幂乘余数计算单元的最大计算精度和所要求的计算精度相等时,即使将满足
x>2n/2m(n与x为自然数)的x个余数计算单元连接,但只是计算能力有余裕,效果则相同。
再有,当要求的精度是比幂乘余数计算单元计算可能的位数精度2n低的精度2n1(n1为自然数且n1≤n)时,则在所连接的x个幂乘余数计算单元之中,使满足
x≥x1≥2n1/2m(x1为自然数)的x1个幂乘余数计算单元取级联结构,则由于不需给计算中不必要的幂乘余数供给功率,可使耗费功率合理化,同时能使处理时间合理化。
能够由可级联的y个乘法运算精度2m/y,y个除法运算精度22·(m/y)的,进行幂乘余数计算的幂乘余数计算模块来构成幂乘余数计算单元。这时,在所连接的幂乘余数计算模块之中,为了进行2n1位精度的加密和解密而将充分个数的y1≥(2n1/2m/y)个幂乘余数计算模块级联时,就能进一步实现消耗功率和计算处理时间二者的合理化。
又,根据第二实施例,设实现除法分散处理的任意精度除法器为128位精度而任意精度乘法器为64位精度时,即使是单片化也可以适合12000个门的规模,通过将此乘除运算单元(芯片)按8~16个单元级联,相应地容易有512~1024位精度。同样,还容易实现更高的高精度化。
计算是按与精度成正比的时钟数(例如512位精度即512时钟)进行,由于能在板上完全以硬件形成,故可高速化。
并且容易在各个个人计算机系统中构成加密/解密系统,而从信息保密意义上也可以实现加密/解密系统。
在上面所作的说明中,再就设置有最大为x个幂乘余数计算单元的情形加以描述,例如在由TFT构成幂乘余数计算单元时,由于损坏等不合格晶体管的发生而只是1个幂乘余数计算单元不能使用时,会使所有的幂乘余数计算单元不能工作,实际的合格率的降低会导致制造成本上升。
为此,最好对于幂乘余数计算单元的合格率A,至少准备K(X≥K/A)个幂乘余数计算单元,而从K个幂乘余数计算单元之中采用将x个幂乘余数计算单元连接的冗余结构。这样,即使幂乘余数计算模块中有不合格品时,也能通过在冗余的幂乘余数计算模块中进行连接替换而将此幂乘此数计算单元作为合格品来对待。
这不仅对于幂乘余数计算单元如此,就是对于构成幂乘余数计算单元的幂乘余数计算单元的模块也同样如此。具体地说,设幂乘余数计算模块的合格率为A’,在各个幂乘余数计算单元中至少准备L(y≥L/A’)个幂乘余数计算模块,采用在L个幂乘余数计算模块中合格品幂乘余数计算模块y个连接的冗余结构。这样,即使幂乘余数计算模块中有不合格品时,通过在冗余幂乘余数计算模块中进行连接替换,也能将此幂乘余数计算单元作为合格品对待。
在以上说明中是就公开密钥加密方式的RSA加密情形进行说明,但同样也能适用于椭圆曲线加密。
(第三实施例)
在上述第二实施例中是把所有的幂乘余数计算装置设于个人计算机系统之外,但在此第三实施例中则是把幂乘余数计算装置的一部分预先设于个人计算机系统内部,把用于精度扩展的幂乘余数计算单元用的扩展槽预先设于个人计算机系统中,与由存储器扩展槽来进行存储器扩展时相同,通过将幂乘余数计算单元装入扩展槽内便是能用来容易地进行扩展计算精度的实施例。
更详细地说,在图4所示的个人计算机系统11的主板上,预先设有用来将以乘法精度2m1位(m1为固定自然数)和以除法精度22m1位进行幂乘余数计算的内部幂乘余数计算单元同以乘法精度2m2位(m2为固定自然数)和除法精度22m2位进行幂乘余数计算的外部幂乘余数计算单元这两者进行级联的,作为级联端子的幂乘余数计算单元用扩展槽。这样,为满足
Z≥(2n-2m1)/2m2(n,z为固定的自然数)可将外部幂乘余数计算单元连接到幂乘余数计算单元用扩展槽中。结果就能容易地进行2n位精度的加密和解密。即使对于此外部幂乘余数计算单元,也能够作第二实施例中所述的种种变更。
在以上实施例中,是相对由个人计算机来实施本发明的情形进行说明的,但这同样也适用于组装到工作站或是各种计测装置、家电制品等设备中的内部计算机。
(第四实施例)
下面说明第一~第三实施例中所述的在1个芯片内进行光传输的问题。
(微机概要)
图17是示明作为适用本发明的信息处理系统的微机100的一个例子。
在图17中,微机100内包括有下述各种功能单元:CPU(中央处理器)102、ROM(只读存储器)104、作为超高速缓冲存储器的RAM(随机存取存储器)106、高频振荡电路108、低频振荡电路110、复位电路112、预换算装置114、16位可编程定时器116和8位可编程定时器118和时钟定时器120等定时电路、智能DMAC(直接存储器存取控制装置)122和高速DMAC124等的数据控制电路、中断控制器126、串行接口128、BCU(总线控制器)130、A/D(模/数)变换器132和D/A(数/模变换器)134等模拟接口电路、输入口136和输出口138和I/O(输入/输出)口140等I/O电路。此外,微机100还包括在CPU102和其他功能单元104~140之间进行连接的数据总线142和地址总线144等总线146以及各种端子148。它们都是形成在一块半导体基板上。再有,图17中的数据总线142和地址总线144是分开的,但要是将数据与地址按时分传送,则也可将一条线路兼用作数据/地址总线来传送数据和地址。另外,在图17所示的总线146中连接着图2所示内部总线4,上述各种结构也都与微程序控制的处理器3相连。
(各种功能单元间用来收发光信号的结构)
本实施例的特征是把沿数据总线142、地址总线144、内部总线4传送的信号作为光信号。这就是说,多通道的数据例如32位的数据,分别作为波长不同的光信号,沿光传输介质形成的数据总线142同时由光传输。地址信号也与此相同,作为波长不同的多通道的光信号,同时沿地址总线144由光传送。此外,数据总线142和地址总线144共用1根光传输介质线路时,可以用时分方式传送光信号的数据和地址。
在此,上述功能单元102~104完全与过去的情形相同,由多通道的电信号来实现各种功能,由半导体元件等形成。为此,各个功能单元102~104具有把经由总线146(数据总线142和/或地址总线144)输入的多通道电信号变换为光信号的信号输入部,和/或把多通道的电信号变换为多通道的光信号而沿总线146输出的信号输出部。
图18概示形成微机100的基板200的一部分。图18中示明有从基板200上形成的第一功能单元210(功能单元102~140中之一)向第二功能单元220(功能单元102~140中之另一),经由总线146输出信号的结构。
第一功能单元210具有:电路区域212、将此电路区域212的输出信号(多通道的电信号)传送的配线部214、作为根据此多通道的电信号将波长不同的各个多通道的光信号进行功率辐射输出的信号输出部的发光部216。
第二功能单元220具有:作为将多通道的光信号变换为多通道的电信号的信号输入部的受光部222、使多通道的电信号放大的放大电路224、传送这种电信号的配线部226以及电路区域228。此外,放大电路224必要时可设置有电平移动器,用来将受光部222的电信号的电压电平变换到第二功能单元220所需的电压电平。
形成在发光部216和受光部222之间的总线146是作为光传输介质的波导230构成的,同时地传送多通道的光信号。
图18所示的发光部216是用来将多通道的电信号变换为多通道的光信号,具有与多通道数相等个数的发光元件。同样,受光部222也具有多通道数相对应的受光元件。
此外,第一与第二功能单元210、220之间还能进行传送双向信号。这时,第一功能单元210具有和图18所示的作为光传输介质的波导230光学连接的受光部以及使来自此受光部的电信号放大的放大器。另一方面,第二功能单元220具有和波导230光学连接的发光部222。
图19是剖面图,例示图18所示发光部216之中一部分的三个发光元件216A~216C以及波导230。图19中示明了在共用波导230上3通道部分的发光元件216A~216C的形成状态。
图19中,波导230例如取这样的结构:在下层SiO2层240和上层SiO2层242之间设有成为芯子的透明电极如ITO(铟-锡-氧化物)层244。此外,作为芯子的ITO层244的整个外表面是由SiO2层240和SiO2层242覆盖用以防止光漏泄。
发光元件216A~216C如后所述,除一部分层组成和材料等不同外,具有同一结构,为此下面只就发光元件216A进行说明。发光元件216A在上层SiO2层242之上具有用来将各通道发光部位分开的隔离(bank)250。隔离250内顺次叠层着ITO层252、发光层254,覆盖着发光层254和隔离250的一部分形成了金属电极(例如AL-Li)256。此外,在ITO层252之下层也可形成通过窄带宽波长的滤光片。这样,在波导230上形成了由隔离250作光学绝缘的多个发光元件216A~216C。
发光元件216A的发光层254例如由有机EL(电致发光物质)形成。这种有机EL例如图20所示例如是由喷嘴258喷出到ITO层252上形成的,形成例如约0.1μm的膜厚。通过有机EL的选择,可使某个通道的发光元件216A的发光层254所发出的光的波长与其他所有的通道的发光元件216B、216C等发光层254的发光波长不同。
当把有机EL用作发光层254时,发光波长的选择自由度大,事实上,通过选择特定的材料和使材料复合,有可能选择所有的波长。
作为有机发光材料,选择发光材料中激子的能量对应于有机物质禁带宽度的HOMO(最高被占能级)-LUMO(最低空能级)间的能量差所相当的物质。例如选择低分子的、高分子的、特别是主链上具有发达的共轭效应的共轭高分子的、导电分子的以及发色分子的。
作为有机发光材料当采用低分子有机材料时,例如为使发生蓝光,可以采用蒽、PPCP、Zn(OxZ)2、联十六烷基苯(DSB)以及它的衍生物(PESB)等。为了发生红光,可采用BPPC、缬草、DCM等。
作为有机发光材料当采用高分子有机材料时,例如为使发生红光可采用PAT等,为发生橙黄色光可采用MEH-PPV等,为发生蓝光可采用PDAF、FP-PPP、RO-PPP、PPP等,为发生紫光可采用PMPS等。
此外,作为有机发光材料还可采用PPV、RO-PPV、CN-PPV、Pdph Qx、PQx、PVK(聚(N-乙烯基咔唑))、PPS、PNPS、PBPS等。
特别是PVK,通过控制Eu络合物等载体输送能力差的发色分子等掺杂混合浓度和排出次数,可以改变振荡波长(发光颜色)。例如在PVK组成的有机发光材料中掺杂荧光色素就可调整发光颜色。
在取能于PVK中掺差若丹明或DCM的结构时,可以使发光色任意地从绿色变到红色。
此外,光的波长(峰值波长和波长带宽等)可以通过在图19的ITO层252的下层上加设滤光片作某种程度的调整。
在发出白光之类的波长带宽宽的光时,为了调整其波长,可以把通常吸收型的颜色滤光片用作上述的滤光片,由此能只通过所希望颜色的光(波长)来作为光信号。
此外,作为增设于ITO层252下层上的滤光片可以采用分布反射型多层膜反射镜(DBR反射镜)。此DBR反射镜是折射率不同的一批薄膜叠层的结果,特别是具有一批由两种折射率不同的薄膜取成对结构的形式的。构成这种薄膜的成分例如有半导体材料和介质材料,但其中以介质材料最好。它们一般可用真空成膜法或液相成膜法形成。作为介质材料可以把能溶于有机溶媒中的有机化合物作为初始原料,这时可以采用图20中由喷墨方式形成的构型。
发光元件216A~216C可以是垂直振荡器型的面发光激光器。这种面发光激光器可以取这样的结构:在反射率不同的两面发射镜例如分布反射型多层膜(DBR)反射镜(在图19的例子中,下层反射镜的反射镜率低)之间,交互地叠置成包覆层和激活层(最好取量子阱结构),而在上下各层的反射镜和上下各层的电极(在图19的例子中,下部电极为ITO等的透明电极)之间分别设有接触层。
有关这种面发光激光器的细节已在本申请人过去的申请文件(特愿平10-2012415、特愿平10-201244、特开平7-198203等)中公开,这里略去其详细说明。
各通道的面发光激光器的发光波长也有可能通过选择外延生长材料例如GaAlAs的组成来变更,借助图20的喷墨方式所形成的构型,可将组成不同的一批面发光激光器实际安装到波导230上。
作为发光元件216A的另一种实施例,也可采用图22所示的端面发光激光器270。由此端面发光激光器270的端面272发出的光274,沿270等光传输介质形成的波导276内传输。各通道的端面发光激光器的发光波长也能通过选择其构成材料的组成变动。
图21例示在图19所示波导230延长线上设有3个通道份额的受光元件222A~222C。此受光元件222A~222C如后所述,除一部分层的组成、材料等不同外具有共同的结构,因而下面只就受光元件222A进行说明。此受光元件222A在除去了波导230上层的SiO2层242的区域ITO层244上,设有滤光片262、作为透明电极的ITO层263、第一导电型半导体层例如n型GaAlAs层264、第二导电型半导体层例如P型GaAlAs层266以及金属电极268。
上述第一、第二导电型半导体层264、266构成PIN光电二极管。构成此PIN光电二极管的其他例子也可以是具有P型a-SiC(P型半导体)、i型a-Si层和n型a-Si层的。这时可把Al-Si-Cu层用作金属电极268。
滤光片262例如具有透过X1nm波长的光的第一滤光片和透过X2(X2>X1)nm波长的光这样至少两层的结构,使其能用作透过X1~X2nm波长的光的窄带滤光片。此光学滤光片262的结构也适用于增设到图19ITO层252下层上的滤光片。反过来,作为能增设到图19的ITO层252下层的滤光片而说明过的材料,也能用于光学滤光片262。
根据上述结构,沿波导230传输,通过光学滤光片262的特定波长的光,由在第一、第二导电型半导体264、266之间界面上形成的耗尽层实现光-电流变换,通过电极263、268将此电信号取出。
光学滤光片262在对其结构材料进行选择后可以改变能通过的波长。由第一、第二导电型半导体层264、268等构成的光电二极管,也能通过选择结构材料例如GaAlAs的组成来改变所能探测的光的波长。这样就可使由某个通道受光元件222A探测出的光的波长不同于由所有其他通道受光元件222B、222C等探测出的波长。此外,光学滤光片262、第一、第二导电型半导体层264、268,可以由图20所示喷墨嘴258的层形成方法形成。或者也可把探测不同波长的受光元件222A、222B、222C实际安装到波导230上。
(微机操作说明)
图17所示CPU 102例如通过超高速缓冲存储器RAM 106读入数据时,由CPU 102选择RAM 106的芯片启动成芯片选择信号,进而是所读出的地址信号等,分别作为多通道的电信号输出。
现在,设以图18所示第一功能电路210作为CPU 102,上述多通道的电信号便从图18的电路区域212输出。此多通道的电信号通过配线部214输入发光部216。构成发光部216的各个发光元件输入图19所示金属电极256上各通道的电信号之一,据此由振荡(发光)控制的发光层254发出各通道固有波长的光信号。于是,在各通道中发光控制的光信号由各通道的发光层254发光,通过ITO层,入射到波导230中。在波导230中,如图19所示,光沿着成为芯子的ITO层传播。
以图18的第二功能单元220作为RAM 106,沿波导230传输的光信号入射到其受光部222中。这里,如图21所示,构成受光部的各个受光元件222A~222C,由于具有能通过不同波长的光的各个滤光片262,在按多通道部分数设置的各受光元件222A~222C中,只分别入射与各通道对应的波长的光。再由于各受光元件222A~222C构成为能探测出通过各滤光片262的波长的光,能相对于各通道输出电信号。
然后,与既有的LSI等相同,由电力驱动RAM 106,从RAM 106读出所需的数据。由RAM 106读出的电信号为图18中省略的第二功能单元220一方的发光部变换为光信号,通过图18所示的波导230传输。此光信号为图18中第一功能单元210方面的受光部变换为电信号,通过放大器后供给CPU 102。
这样,作为信息处理系统的微机100内各功能单元间信号的收发由于是通过光进行,可以基本忽视传输速度的损耗。因而即使进一步高度集成化,设计中也不必考虑传输延迟,得以显著地简化电路的构制设计。此外,由于微机100内各功能单元间信号的收发是由光进行,也能减少微机100的发热。
再有,也可使用图17所示的微机100同其外围设备之间形成光通信的结构。这类外围设备例如有LCD和CRT等显示部以及打印机等。
这时,作为图17所示的输入口136、输出口138、I/O口140,可以构成相对于总线146输入/输出多通道光信号的结构。同时,也可在各个口中设有在无光信号输入/输出时遮断通路的光闸,而构成为只当根据芯片选择信号等指定了外围设备时才打开此光闸。
(第五实施例)
本发明的第五实施例涉及到,将先前例如作为LSI集成于1块芯片内的许多功能单元分配到不同半导体装置中收容的系统LSI。
图23概示将图17所示微机100的一部分结构设于第一半导体装置300中,而将其余的全部或一部分设于第二半导体装置302中,再将由外部总线304连接起的第一、二半导体装置300、302的系统LSI形成于基板306上。外部总线304除图18所示的波导230之外,例如可以由光纤形成,在第一、二半导体装置300、302之间由光进行信号的收发。对于此第一、二半导体装置内设有多个功能单元时,于此各半导体装置内的功能单元之间可与第一实施例相同地由光进行信号的收发。
在图23所示的第二半导体装置302内,图17所示的作为超高速缓冲寄存器的RAM 106、ROM 104以及由光传输介质形成的内部总线310至少是设在第二基板312上的。另一方面,图23所示的第二半导体装置300之内,则于第一基板308上除设有图17所示CPU 102和内部总线146之外,还设有未设置在第二半导体装置302中的功能单元108~140。
在上述结构下,于第一半导体装置300内,可使CPU 102通过内部总线146同设于第一半导体装置300内的其他功能单元108~140之间,由光信号进行数据、地址的信号的收发。另一方面,在第一半导体装置内的CPU 102和第二半导体装置302内的ROM 104以及RAM 106之间,可通过第一半导体装置300内的内部总线146、外部总线304以及第二半导体装置302内的内部总线310,用光信号来进行数据、地址的信号的收发。
在上述结构下,可把先前需与CPU 102共同收纳于1块芯片内的功能单元中至少一个装取到外部,而且装取到外部的功能单元104、106和CPU 102之间的传输延迟可以忽视。于是,可以降低单片化的第一半导体装置300的集成度,除能提高合格率之外,还可以将通过CPU进行直接存取的功能单元例如ROM 104、RAM 106设于外部。这样,除能保持单片式的基本设计思想外,还可进行自由的设计由外设元件来增补功能。此外,作为与第二半导体装置有等同功能的单元并不限于所述的存储器。
(第六实施例)
图24概示本发明的第六实施例。如图24所示,本实施例中按三维形式设有发光部、受光部和波导。在图24中,于基板400上形成了第一层~第五层410a~410e。第五层410e中发光部413和受光部427的关系与图18所示的由水平波导230所连接的发光部216和受光部222的关系相同。此外,在不同层之间的发光部413和受光部424的关系,发光部414和受光部422、425、426的关系,在发光部412和受光部421的关系,发光部423和受光部411的关系,除波导具有垂直部分这点不同之外,基本上与图18所示发光部216和受光部222的关系相同。
为了制造此第六实施例的装置,最好按下述步骤进行。首先将第一层~第五层410a~410e分别形成于不同的第一~第五基板上。随后,形成有第一层410a的第一基板虽可作为图24的基板400,但若是不如此时,也可将第一层410a从第一基板上剥离下来,复制到图24的基板400之上。然后,同样地将第二层410b~410e分别从第二基板~第五基板上剥离,一面对位一面按图24所示顺序复制并叠层到基板400上。这种剥离、复制方法已公开于本申请人的特愿平8-225643号等之中,这里予以省略。
根据上述装置,可以取得与第四实施例相同的效果,同时可实现更高度的集成化。
此外,本发明不限于上述实施例的形式而是可以在其主旨范围内能实施种种变形。例如在前述实施例中作为发光元件例举了有机EL、半导体激光器等,但不限于此,也可以由无机EL、发光二极管等构成。此外,作为受光元件也不限于PIN光电二极管,而是可以采用PN光电二极管、雪崩光电二极管等各种二极管、光电晶体管、光致发光器件等。
本发明的信息处理系统的微机不限于具有图17的功能单元的,而是可以根据用途设置种种规模和种类的功能单元。特别是把第五实施例的那种系统LSI之一作为微机单片化时,有可能省除先前微机中所必须功能单元的一部分。从单片内省除的功能单元可以设置到通过外部总线与此单片相连的其他半导体装置上。
又,作为安装有本发明的微机或系统LSI的电子设备可以举出有先前已微机化的一切电子设备,特别是要求功率消耗低的携带式电子设备,此外也可以良好地应用于信息通信设备、家电、办公用电子设备、工作机械、汽车部件等之中。
(第七实施例)
下面参考图25说明,利用第二或第四实施例的结构所实现的本发明的第七实施例的系统LSI。
图25所示的系统LSI 500是装设有不同开发厂家的许多功能块501、502、503…的系统LSI。图25所示的三种功能块501、502、503分别是根据A公司、B公司、C公司独自开发的程序库所设计成的。假定此系统LSI 500是由C公司制造的。C公司从A公司和B公司获得允许利用有关功能块501、502印相的知识产权,制造了该系统LSI。
在此,A公司和B公司根据C公司制造的系统LSI的个数来计算特许费用时,需要从C公司接受正确制造数的报告,此特许费用的管理对所有的A~C公司都是烦杂的。
此第七实施例便是用来改进这种有关知识产权特许费用的管理而不给开发厂家和制造厂家增加负担的。
例如对于利用A公司开发的功能块501的终端用户,可凭特许证公开前述RSA方式的解密键(私用密钥)。这样,按照此第七实施例,在系统LSI 500的利用者之中,只是具有解密键的终端用户才能利用功能块501。
下面说明功能块501的结构与操作。
功能块501具有四则运算功能,此四则运算功能区在输入给予终端用户预定的解密键时,首先进行加密和解密的至少一方的计算。功能块501自上述计算成立时以后,便开始具有加密和解密以外一般的四则运算功能。
具体地说,功能块501具有将图2所示x个计算单元7-1~7-x用作四则运算功能单元的功能。这些单元中的一部分则可共用作图5或图13B所示幂乘余数计算单元。
在此,例如为了使功能块501能执行一般四则运算的功能,把能解读第二实施例中[1]RSA方式原理说明部分中(3)式的加密文件Me≡Cmod n设定为充分必要条件。这样,终端用户输入凭特许证预先取得的解密键,应用功能块501内多个幂乘余数计算单元进行第二实施例中[1]RSA方式原理说明部分中(4)与(5)两式的计算,将加密文件解密。解密的结果使得应用功能块501内所设的图2所示x个设计单元7-1~7-x的一般四则运算功能成为可能,而得以利用功能块501。
此外,要是每次利用功能块501时输入解密键很是烦杂时,则亦可设置用来存储凭特许证所取得的解密键的存储部。
这样,功能块501中可设有第一实施例的图2的结构,以将其一部分能用于由第二实施例所说明的加密文件的解密。
在构成系统LSI 1500的各功能块之间以及各功能块之内的信号传送,显然可以利用第四~第六实施例中的技术由光进行传送。

Claims (7)

1.一种系统大规模集成电路,此系统大规模集成电路装载有不同开发厂家的多种功能块,其特征在于:
设定了加密键,
此多种功能块中的至少一个具有用于执行加、减、乘、除运算的四则运算功能区;
此四则运算功能区具有,
根据处理步骤各以计算精度2m位进行计算的多个计算单元;
为了使这多个计算单元相互级联的多个级联端子,
当计算处理中所需的最大计算精度为2n位时,使满足x≥2n/2m的x个前述计算单元进行级联,m、n和x为固定自然数,
在经许可给予用户的预定的解密键被输入时,前述多个计算单元执行依照RAS方式的解密计算,而在该解密成立后开始使前述四则运算功能区的前述解密以外的四则运算成为可能。
2.权利要求1所述的系统大规模集成电路,其特征在于:当计算处理中所需的计算精度为2n1位时,使满足x1≥2n1/2m的x1个前述计算单元进行级联,n1≤n,n1和x1是可变自然数。
3.权利要求2所述的系统大规模集成电路,其特征在于:所述多个计算单元之间是由光信号的形式来传送信号。
4.权利要求2所述的系统大规模集成电路,其特征在于:所述多个计算单元的一部分包括级联的多个幂乘余数计算单元;此多个幂乘余数计算单元中的每一个具有以乘法计算精度2m位进行乘法运算的乘法单元和以除法计算精度22m位进行除法运算的除法单元;而当由所述多个幂乘余数计算单元所进行的幂乘余数计算的最大计算精度为2n时,使满足x≥2n/2m的x个前述幂乘余数计算单元相连接进行解密,其中m、n和x为固定的自然数。
5.权利要求4所述的系统大规模集成电路,其特征在于:当计算处理中所需的计算精度为2n1位,使满足x1≥2n1/2m的x1个前述幂乘余数计算单元进行级联,n1≤n,n1为可变自然数,x1≤x,x1是可变自然数。
6.权利要求4或5所述的系统大规模集成电路,其特征在于:在前述多个幂乘余数计算单元间由光信号的形式传送信号。
7.一种电子设备,其特征在于:此电子设备具有权利要求1~7中任一项所述的系统大规模集成电路。
CNB988023954A 1997-12-10 1998-12-10 系统大规模集成电路与电子设备 Expired - Fee Related CN1280755C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP34043997 1997-12-10
JP340439/1997 1997-12-10
JP259283/1998 1998-08-28
JP25928398 1998-08-28

Publications (2)

Publication Number Publication Date
CN1246940A CN1246940A (zh) 2000-03-08
CN1280755C true CN1280755C (zh) 2006-10-18

Family

ID=26544050

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB988023954A Expired - Fee Related CN1280755C (zh) 1997-12-10 1998-12-10 系统大规模集成电路与电子设备

Country Status (7)

Country Link
US (2) US6557020B1 (zh)
EP (1) EP0974913B1 (zh)
JP (1) JP4092735B2 (zh)
CN (1) CN1280755C (zh)
DE (1) DE69841305D1 (zh)
TW (1) TW407251B (zh)
WO (1) WO1999030250A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715077B1 (en) * 1999-03-23 2004-03-30 International Business Machines Corporation System and method to support varying maximum cryptographic strength for common data security architecture (CDSA) applications
US7089173B1 (en) 2000-04-26 2006-08-08 Altera Corporation Hardware opencore evaluation
FR2811093A1 (fr) * 2000-06-30 2002-01-04 St Microelectronics Sa Dispositif et procede d'evaluation d'algorithmes
JP2002286959A (ja) 2000-12-28 2002-10-03 Canon Inc 半導体装置、光電融合基板、及びそれらの製造方法
US6836784B2 (en) * 2001-01-17 2004-12-28 Matsushita Electric Industrial Co., Ltd. Efficient greatest common divisor algorithm using multiprecision arithmetic
JP3532860B2 (ja) * 2001-01-22 2004-05-31 株式会社東芝 剰余系表現を利用した演算装置及び方法及びプログラム
TWI266999B (en) * 2001-10-10 2006-11-21 Semiconductor Energy Lab Production system and production method
KR100448897B1 (ko) * 2002-05-20 2004-09-16 삼성전자주식회사 기능 라이브러리를 내재한 칩 개발 시스템
US7187770B1 (en) * 2002-07-16 2007-03-06 Cisco Technology, Inc. Method and apparatus for accelerating preliminary operations for cryptographic processing
US20040024802A1 (en) * 2002-08-05 2004-02-05 Khan Raheel Ahmed High-performance programmable processing element for GF (2N)
US8612772B1 (en) 2004-09-10 2013-12-17 Altera Corporation Security core using soft key
US8566616B1 (en) 2004-09-10 2013-10-22 Altera Corporation Method and apparatus for protecting designs in SRAM-based programmable logic devices and the like
US8020142B2 (en) * 2006-12-14 2011-09-13 Intel Corporation Hardware accelerator
TWI386845B (zh) * 2008-09-12 2013-02-21 Altek Corp Error calculation of the integer division operation circuit
US8095767B2 (en) * 2008-12-30 2012-01-10 Microsoft Corporation Arbitrary precision floating number processing
TWI403952B (zh) * 2009-05-15 2013-08-01 Chunghwa Telecom Co Ltd A large integer modulus index chip structure for signature cryptography
US8694573B2 (en) * 2009-10-26 2014-04-08 Jadavpur University Method and system for determining a quotient value
CN102223631B (zh) * 2010-04-16 2014-06-04 华为技术有限公司 M2m中数据加密传输的方法、设备及系统
CN106528975B (zh) * 2016-11-01 2019-10-01 电子科技大学 一种应用于电路与系统的故障预测与健康管理方法
JP7226562B2 (ja) * 2019-08-14 2023-02-21 日本電信電話株式会社 秘密ソフトマックス関数計算システム、秘密ソフトマックス関数計算装置、秘密ソフトマックス関数計算方法、秘密ニューラルネットワーク計算システム、秘密ニューラルネットワーク学習システム、プログラム
JP7452692B2 (ja) * 2020-10-16 2024-03-19 日本電信電話株式会社 秘密指数部統一システム、秘密指数部統一装置、秘密指数部統一方法、秘密和計算システム、秘密積和計算システム、プログラム
CN112491544A (zh) * 2020-11-26 2021-03-12 森得(广州)信息科技服务有限公司 一种平台数据动态加密的方法及系统

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4224676A (en) * 1978-06-30 1980-09-23 Texas Instruments Incorporated Arithmetic logic unit bit-slice with internal distributed iterative control
US4785393A (en) * 1984-07-09 1988-11-15 Advanced Micro Devices, Inc. 32-Bit extended function arithmetic-logic unit on a single chip
JPS61239327A (ja) * 1985-04-16 1986-10-24 Nec Corp オ−バフロ−検出方式
JPS639951A (ja) * 1986-06-30 1988-01-16 Toshiba Corp 大規模集積回路
JPS6328277A (ja) 1986-07-21 1988-02-05 Matsushita Seiko Co Ltd Pwm信号発生回路
US4891781A (en) 1987-03-04 1990-01-02 Cylink Corporation Modulo arithmetic processor chip
EP0281303A3 (en) 1987-03-04 1990-08-29 Cylink Corporation Modulo arithmetic processor chip
JPS63282777A (ja) * 1987-03-04 1988-11-18 株式会社リコー モジュロ演算プロセッサチップ
JP2643324B2 (ja) * 1988-07-01 1997-08-20 日本電気株式会社 マイクロプロセッサ多重化システム
US5289397A (en) * 1991-07-22 1994-02-22 Itt Corporation High-speed modulo exponentiator device
JP3413839B2 (ja) * 1991-09-06 2003-06-09 ソニー株式会社 光電子集積回路装置
JPH0567769A (ja) * 1991-09-05 1993-03-19 Sony Corp 3次元光電子集積回路装置
US5357122A (en) 1991-09-05 1994-10-18 Sony Corporation Three-dimensional optical-electronic integrated circuit device with raised sections
EP0541288B1 (en) 1991-11-05 1998-07-08 Fu-Chieh Hsu Circuit module redundacy architecture
US5576554A (en) 1991-11-05 1996-11-19 Monolithic System Technology, Inc. Wafer-scale integrated circuit interconnect structure architecture
JPH0697486A (ja) * 1992-09-14 1994-04-08 Nippon Steel Corp 光結合回路素子
US5285078A (en) 1992-01-24 1994-02-08 Nippon Steel Corporation Light emitting element with employment of porous silicon and optical device utilizing light emitting element
TW223688B (zh) * 1992-04-08 1994-05-11 Fu Chieh Hsu
JPH06175583A (ja) * 1992-12-09 1994-06-24 Nec Corp べき乗剰余演算回路
JPH0713945A (ja) * 1993-06-16 1995-01-17 Nippon Sheet Glass Co Ltd 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造
SE501105C2 (sv) * 1993-11-17 1994-11-14 Telub Teknik Ab System för läsning av krypterad information samt en enhet för användning i ett sådant system
US5448509A (en) 1993-12-08 1995-09-05 Hewlett-Packard Company Efficient hardware handling of positive and negative overflow resulting from arithmetic operations
JPH07264165A (ja) * 1994-03-18 1995-10-13 Nippon Telegr & Teleph Corp <Ntt> 波長多重光結線装置
JP3522028B2 (ja) 1994-12-19 2004-04-26 旭化成ケミカルズ株式会社 ガイドを有する芳香族ポリカーボネートの製造法
JPH0951087A (ja) * 1995-08-04 1997-02-18 Nippon Telegr & Teleph Corp <Ntt> 光接続集積回路
JP3525209B2 (ja) * 1996-04-05 2004-05-10 株式会社 沖マイクロデザイン べき乗剰余演算回路及びべき乗剰余演算システム及びべき乗剰余演算のための演算方法
JPH09312099A (ja) * 1996-05-21 1997-12-02 Toshiba Microelectron Corp 半導体記憶装置及びそのアクセス方法
TW449991B (en) * 1999-01-12 2001-08-11 Ibm Method and system for securely handling information between two information processing devices
JP3673234B2 (ja) * 2002-03-20 2005-07-20 株式会社東芝 暗号処理を行う情報記録再生装置と情報記録再生方法

Also Published As

Publication number Publication date
JP4092735B2 (ja) 2008-05-28
WO1999030250A1 (fr) 1999-06-17
EP0974913B1 (en) 2009-11-25
EP0974913A4 (en) 2003-06-18
US6557020B1 (en) 2003-04-29
DE69841305D1 (de) 2010-01-07
TW407251B (en) 2000-10-01
EP0974913A1 (en) 2000-01-26
US7117237B2 (en) 2006-10-03
CN1246940A (zh) 2000-03-08
US20030147530A1 (en) 2003-08-07

Similar Documents

Publication Publication Date Title
CN1280755C (zh) 系统大规模集成电路与电子设备
CN1148643C (zh) 模幂运算装置
CN1205538C (zh) 用于多精度整数算术运算的装置
CN1186714C (zh) 高基除法器及方法
CN1831754A (zh) 一种椭圆曲线密码系统及实现方法
CN1023282C (zh) 数据的传递方法和系统
CN1265280C (zh) 扩展整数的计算域的范围
CN1242587C (zh) 高速、灵活的加密系统的方法及设备
CN1922624A (zh) 终端装置、服务器装置、终端确认方法、终端程序及存储媒体
CN1839581A (zh) 装置认证信息安装系统
CN1151459C (zh) 便携式卡单元处理装置
CN1841443A (zh) 计算方法、计算设备以及计算机程序
CN86108178A (zh) 使用动态可重构向量位片的单指令多数据单元阵列处理机
CN1531241A (zh) 密码重构方法、分散密码重构装置及密码重构系统
CN1276364C (zh) 数据管理设备,数据管理方法以及计算机程序
CN1921382A (zh) 一种基于aes算法的加解密方法及加解密器
CN86107558A (zh) 具有带式随机存取存储器和地址发生器装置的单指令多数据单元阵列处理机
CN1300402A (zh) 信息处理设备、信息处理方法和提供介质
CN1585936A (zh) 认证系统、认证装置、终端装置以及认证方法
CN1734527A (zh) 数据变换装置和数据变换方法
CN1139777A (zh) 处理器及其运算方法以及数据处理器
CN1345495A (zh) 实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法
CN101034426A (zh) 信息处理装置、系统和方法
CN1280726A (zh) 优化椭圆曲线密码计算的变换方法
CN1267816C (zh) 信息安全装置,质数生成装置,和质数生成方法

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20061018

Termination date: 20131210