CN102780559B - 加密、解密电路 - Google Patents

加密、解密电路 Download PDF

Info

Publication number
CN102780559B
CN102780559B CN201210224098.XA CN201210224098A CN102780559B CN 102780559 B CN102780559 B CN 102780559B CN 201210224098 A CN201210224098 A CN 201210224098A CN 102780559 B CN102780559 B CN 102780559B
Authority
CN
China
Prior art keywords
secret key
encrypting
decrypting
circuit
data
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
CN201210224098.XA
Other languages
English (en)
Other versions
CN102780559A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of CN102780559A publication Critical patent/CN102780559A/zh
Application granted granted Critical
Publication of CN102780559B publication Critical patent/CN102780559B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实现一种加密解密电路,可以控制用于向数据存储部发送秘钥数据内容的引线数量的增加,并且不会导致电路设计复杂化。实现一种加密解密电路,加密解密运算部包含加密解密运算电路和避开该加密解密运算电路的回避路径,对于输入的数据,可以选择或者在加密解密运算电路进行加密或解密,或者避开加密解密运算电路而直接输出。从选择器到秘钥存储部和初始值存储部只需设置1根引线即可,可以控制用于向秘钥存储部和初始值存储部发送秘钥数据内容的引线数量的增加,并且不会导致电路设计复杂化。

Description

加密、解密电路
本申请涉及母案为如下申请的分案申请:
申请日:2006年7月5日
申请号:201010545579.1
发明名称:加密、解密电路
技术领域
本发明涉及可保障保密数据的安全性的加密、解密电路。
背景技术
在下述专利文献1中,公开了一种能够对并列输入的流数据避免秘钥选择的麻烦的加密、解密电路。根据该电路,向多个输入接口并列输入TV广播的流数据、记录在DVD的流数据或CATV线路的流数据等(参照第0015段),与输入路径相对应的解密秘钥和输入数据利用其调停部向加密解密运算部输出(参照第0038段)。而且,加密解密运算部使用从调停部输入的解密秘钥,对输入的加密数据进行解密运算处理,再输出解密数据(参照第0039段)。
【专利文献1】特开2004-88505号公报
上述专利文献1涉及在该图1的寄存器131~134内设定秘钥数据内容的结构,但是,只记述了“秘钥131~134由寄存器构成,通过TV接收装置的控制部分别设定与听众选择的频道相对应的节目的解密秘钥”(第0025段),关于具体采用什么样的电路构成去设定秘钥数据的内容,没有具体的描述。因此,若借鉴该描述的方法,可以考虑设置多根引线,单纯地从输入接口或输入流处理部向各寄存器131~134供给秘钥数据。但是,像这样设置从输入接口或输入流处理部到各寄存器131~134的引线将使引线增加并导致电路设计复杂化。
此外,在上述专利文献1中,该图1的秘钥存储部对每个加密或解密数据的信道只设有一个寄存器(分别是131~134)。当使用存储在寄存器中的秘钥从流数据中生成新的秘钥时,必须使用存储在寄存器中的第1秘钥去解密第2秘钥,并将第2秘钥重写到存储器。然后,当使用第1秘钥去解密第2秘钥之外的秘钥时,必须再次将第1秘钥重写到寄存器上。但是,这样的加密解密运算会降低数据处理的能力。
进而,上述专利文献1存在容易通过输出接口从外部非法取得需要保密的秘钥的信息或需要保密的输出流数据、容易进行非法篡改的问题。
例如,当采用CBC(CipherBlockChaining:加密块链)方式或CFB(CipherFeedBack:加密反馈)方式等块加密解密方式时,必须给出第1秘钥生成用的IV(InitializationVector:初始化矢量)。根据该IV生成的秘钥可以存储在形成加密解密电路的芯片内或存储在设于其外部的非易失性存储器等中。
但是,为了降低成本,当采用微细工艺时,将保存秘钥或加密解密程序的非易失性存储器在形成了加密解密电路的芯片内制作成一个芯片很困难。这是因为,非易失性存储器微细化很困难,当采用栅极长度为90nm水平的前端工艺时,可以形成加密解密电路,但另一方面,若利用同一工艺,要想在1个芯片内形成非易失性存储器很困难。
当然,将非易失性存储器放在形成了加密解密电路的芯片内,可以提高秘钥的安全性。若将非易失性存储器做成外挂的结构,使通用的非易失性存储器可以自由装卸,则当卸下非易失性存储器时,很容易改变所存储的秘钥的内容。
即,上述专利文献1记载的现有的加密解密电路没有考虑保障需要保密的秘钥的信息的安全性。
发明内容
本发明是鉴于上述问题而提出的,其目的在于实现一种加密解密电路,可以控制用于向数据存储部发送秘钥数据的内容的引线数量的增加,不会导致电路设计复杂化,此外,可以提高加密解密运算的能力,进而可以保障需要保密的数据的安全性。
本发明的第1方面涉及一种加密解密电路,具有输入部、加密解密运算部、输出部和数据存储部,上述加密解密运算部包括:对经上述输入部输入的数据进行加密或解密的加密解密运算电路、使经上述输入部输入的数据避开上述加密解密运算电路的回避路径、和选择输出上述加密解密运算电路的输出和上述回避路径的输出中某一个输出的选择器,上述选择器的输出施加给上述输出部和上述数据存储部,上述数据存储部将存储的数据施加给上述加密解密运算部。
本发明的第3方面涉及一种加密解密电路,具有加密解密运算部和秘钥存储部,上述秘钥存储部对经上述加密解密运算部加密或解密后的输入数据的1信道设置多个存储部,上述多个存储部中的1个中存储用于进行上述加密或解密的第1秘钥,上述加密解密运算部是使用存储在上述多个存储部的上述1个中的上述第1秘钥,从上述输入数据中解密用于进行上述加密或解密的第2秘钥,并将上述第2秘钥存储在上述多个存储部的另外1个存储部中。
本发明的第5方面涉及一种加密解密电路,具有加密解密运算部和秘钥存储部,上述秘钥存储部包含:第1存储部、和分别与利用上述加密解密运算部加密或解密的输入数据的多个信道分别对应的多个第2存储部,上述第1存储部存储上述多个信道公共的、用于进行上述加密或解密的第1秘钥,上述加密解密运算部是使用存储在上述第1存储部中的上述第1秘钥,从上述输入数据中解密用于进行上述加密或解密的第2秘钥,并将上述第2秘钥存储在上述多个第2存储部中。
本发明的第7方面涉及一种加密解密电路,具有:秘钥存储部;使用所给的第1秘钥从解密后的输入数据中解密用于进行上述解密的第2秘钥,并将该第2秘钥存储在上述秘钥存储部中的解密运算部;和秘钥有效判定电路,上述秘钥有效判定电路在上述解密运算部中使用上述第1秘钥解密了上述第2秘钥时,使表示上述第2秘钥有效的秘钥有效信号激活,在使用上述第1秘钥之外的秘钥解密上述第2秘钥时,不激活上述秘钥有效信号。
本发明的第9方面涉及一种加密解密电路,具有:秘钥存储部;使用所给的加密秘钥生成用于对利用上述加密秘钥加密后的输入数据进行解密的解密秘钥,并将上述解密秘钥存储在上述秘钥存储部中的加密解密运算部;和解密秘钥有效判定电路,上述解密秘钥有效判定电路在上述加密解密运算部使用上述加密秘钥生成了上述解密秘钥时,使表示上述解密秘钥有效的解密秘钥有效信号激活,在使用上述加密秘钥之外的秘钥生成了上述解密秘钥时,不激活上述解密秘钥有效信号。
本发明的第11方面涉及一种加密解密电路,具有:存储第1代加密秘钥的秘钥存储部、加密解密运算部和加密解密秘钥代一致判定电路,上述加密解密运算部使用上述第1代加密秘钥生成用于输入数据的加密的第2代加密秘钥,并更新上述第1代加密秘钥并将上述第2代加密秘钥存储在上述秘钥存储部中,依次使用第n代加密秘钥(n:自然数)生成用于上述输入数据的加密的第n+1代加密秘钥,并更新上述第n代加密秘钥将上述第n+1代加密秘钥存储在上述秘钥存储部中,使用上述第1代加密秘钥生成用于利用上述第1代加密秘钥加密的上述输入数据的解密的第1代解密秘钥,并将上述第1代解密秘钥存储在上述秘钥存储部中,依次分别使用上述第n+1代之前的加密秘钥分别生成用于上述输入数据的解密的第n+1代之前的解密秘钥,并更新上述第n代解密秘钥将上述第n+1代解密秘钥存储在上述秘钥存储部中,上述加密解密秘钥代一致判定电路在上述加密解密运算部使用对应的上述第n代加密秘钥生成了上述第n代解密秘钥时,激活表示上述第n代解密秘钥有效的加密解密秘钥代一致信号,在使用对应的上述第n代加密秘钥之外的秘钥生成了上述第n代解密秘钥时,不激活上述加密解密秘钥代一致信号。
本发明的第13方面涉及一种加密解密电路,具有:存储第1代加密秘钥的秘钥存储部、加密解密运算部、和加密解密秘钥代许可电路,上述加密解密运算部使用上述第1代加密秘钥生成用于输入数据的加密的第2代加密秘钥,并更新上述第1代加密秘钥将上述第2代加密秘钥存储在上述秘钥存储部中,依次使用第n代加密秘钥(n:自然数)生成用于上述输入数据的加密的第n+1代加密秘钥,并更新上述第n代加密秘钥后将上述第n+1代加密秘钥存储在上述秘钥存储部中,使用上述第1代加密秘钥生成用于利用上述第1代加密秘钥加密的上述输入数据的解密的第1代解密秘钥,并将上述第1代解密秘钥存储在上述秘钥存储部中,依次分别使用上述第n+1代之前的加密秘钥分别生成用于上述输入数据的解密的第n+1代之前的解密秘钥,并更新上述第n代解密秘钥后将上述第n+1代解密秘钥存储在上述秘钥存储部中,上述加密解密秘钥代许可电路在上述加密解密运算部使用对应的上述第n代加密秘钥有效地生成了上述第n代解密秘钥时,每当生成上述第n代解密秘钥时,便生成表示已生成上述第n代之前的解密秘钥的加密解密秘钥第n代许可信号。
本发明的第14方面涉及一种加密解密电路,具有:加密解密运算部;秘钥存储部;以及包含多个逻辑门电路的组合并利用上述组合生成规定的信号,再将上述规定的信号作为开始秘钥输出的开始秘钥输出电路,上述加密解密运算部使用上述开始秘钥对给定的用于进行输入数据的加密或解密的第1秘钥进行加密,并将上述第1秘钥存储在上述秘钥存储部中。
若按照本发明的第1方面,加密解密运算部包含加密解密运算电路、回避路径和选择器,选择器的输出与输出部和数据存储部连接,数据存储部将存储的数据提供给加密解密运算部。因此,可以在加密解密运算电路中对经输入部输入的数据进行加密或解密后,再输出给输出部和数据存储部,也可以绕开加密解密运算电路直接向输出部和数据存储部输出。若像现有技术那样,当采用设置从输入部到数据存储部的引线的构成时,且加密解密电路采用CBC或CFB等块加密解密方式时,则还需要从加密解密运算电路到数据存储部的引线,到数据存储部需要2根连接线。另一方面,若按照本发明,从选择器到数据存储部只需要设置1根引线,可以控制用于向数据存储部发送秘钥数据的内容的引线数量的增加,可以实现不会使电路设计变得复杂的加密解密电路。
若按照本发明的第3方面,秘钥存储部对经上述加密解密运算部加密或解密后的输入数据的1个信道包含多个存储部,加密解密运算部使用存储在多个存储部之一的、用于进行加密或解密第1秘钥,从输入数据中解密用于进行加密或解密的第2秘钥,并将第2秘钥存储在多个存储部的另外1个存储部中。若像现有技术那样,当秘钥存储部对加密或解密的输入数据的信道只包含1个存储部时,使用1个存储部中存储的第1秘钥解密第2秘钥,必须将第2秘钥重写到该存储部。然后,当使用第1秘钥解密第2秘钥之外的秘钥时,必须再次将第1秘钥重写到该存储部中。另一方面,若按照本发明,秘钥存储部按输入数据的信道包含多个存储部,可以持续保存第1秘钥而无需对多个存储部之一进行重写。因此,可以提高加密解密运算的能力。
若按照本发明的第5方面,秘钥存储部包含:存储用于进行加密或解密的多信道共用的第1秘钥的第1存储部、和分别与利用加密解密运算部进行加密或解密的输入数据的多信道相对应的多个第2存储部,加密解密运算部使用存储在第1存储部中的第1秘钥,从输入数据中解密用于进行加密或解密的第2秘钥,并将第2秘钥存储在多个存储部的另一个中。若像现有技术那样,当秘钥存储部对加密或解密的输入数据的1个信道只包含1个存储部时,使用1个存储部中存储的第1秘钥解密第2秘钥,必须将第2秘钥重写到该存储部。然后,当使用第1秘钥解密第2秘钥之外的秘钥时,必须再次将第1秘钥重写到该存储部中。另一方面,若按照本发明,秘钥存储部包含与分别和多个信道对应的多个第2存储部不同的第1存储部,并可以持续保存第1秘钥而不必对多个第2存储部进行重写。因此,可以提高加密解密运算的能力。
若按照本发明的第7方面,秘钥有效判定电路在上述解密运算部使用第1秘钥解密了第2秘钥时,使表示第2秘钥有效的秘钥有效信号激活,在使用第1秘钥之外的秘钥解密了第2秘钥时,不激活秘钥有效信号。因此,根据秘钥有效信号的激活或不激活,解密运算部可以判定从输入数据解密的第2秘钥是使用合法的第1秘钥生成的,还是使用除此之外的非法的秘钥生成的。由此,可以防止秘钥的非法使用,从而可以保障需要保密的数据的安全性。
若按照本发明的第9方面,上述解密秘钥有效判定电路在加密解密运算部使用加密秘钥生成了解密秘钥时,使表示解密秘钥有效的解密秘钥有效信号激活,在使用加密秘钥之外的秘钥生成解密秘钥时,不激活解密秘钥有效信号。因此,根据解密秘钥有效信号的激活或不激活,加密解密运算部可以判定根据加密秘钥生成的解密秘钥是使用合法的加密秘钥生成的,还是使用除此之外的非法的秘钥生成的。由此,可以防止秘钥的非法使用,可以保障需要保密的数据的安全性。
若按照本发明的第11方面,可实现如下的加密解密电路:加密解密秘钥代一致判定电路在上述加密解密运算部使用对应的第n代加密秘钥生成了上述第n代解密秘钥时,激活表示第n代解密秘钥有效的加密解密秘钥代一致信号,在使用对应的第n代加密秘钥之外的秘钥生成了第n代解密秘钥时,不激活上述加密解密秘钥代一致信号。因此,根据加密解密秘钥代一致信号的激活或不激活,加密解密运算部可以判定根据加密秘钥生成的解密秘钥是使用合法的加密秘钥生成的,还是使用除此之外的非法的秘钥生成的。可以防止秘钥的非法使用,并可以保障需要保密的数据的安全性。
若按照本发明的第13方面,可实现如下的加密解密电路:加密解密秘钥代许可电路在加密解密运算部使用对应的第n代加密秘钥有效地生成了第n代解密秘钥时,每当生成第n代解密秘钥时,便生成表示已生成第n代之前的解密秘钥的加密解密秘钥第n代许可信号。因此,可以利用加密解密运算部与代的级别对应地进行应许可的运算处理,由此可以防止秘钥的非法使用,可以保障需要保密的数据的安全性。
若按照本发明的第14方面,可实现如下的加密解密电路,具有:包含多个逻辑门电路的组合并利用上述组合生成规定的信号,再将上述规定的信号作为开始秘钥输出的开始秘钥输出电路,加密解密运算部使用开始秘钥对给定的用于进行输入数据的加密或解密的第1秘钥进行加密,并将第1秘钥存储在秘钥存储部中。由于利用多个逻辑门电路的组合生成开始秘钥,故不可能从外部改变开始秘钥。因此,利用该开始秘钥加密的第1秘钥的安全性得到提高,可以防止秘钥的非法使用,从而可以保障需要保密的数据的安全性。
附图说明
图1是表示本发明的加密解密电路的结构例的图。
图2是表示本发明的加密解密运算装置内的详细结构的图。
图3是实施方式1的控制各信道的优先顺序的信道优先处理判定部的方框图。
图4是信道优先处理判定部可取的各个状态的状态迁移图的例子。
图5是表示各信道的状态寄存器的迁移的图。
图6是表示实施方式2的秘钥存储部(CKey1)的具体结构例的图。
图7是表示实施方式2的秘钥存储部(CKey1)的另一结构例的图。
图8是表示实施方式3的秘钥存储部(CKey1、CKey2、CKey3)的具体结构例的图。
图9是表示实施方式4的秘钥有效判定电路的图。
图10是表示实施方式5的解密秘钥有效判定电路的图。
图11是表示实施方式6的加密解密秘钥代一致判定电路的图。
图12是表示实施方式7的加密解密秘钥代许可电路的图。
图13是表示实施方式8的信道3的秘钥存储部周边结构的图。
图14是表示实施方式8的解密处理的流程图。
图15是表示实施方式9的信道3的秘钥存储部周边结构的图。
图16是表示实施方式9的非易失性存储器的存储内容的图。
图17是表示实施方式9的合法性评价电路的具体结构例的图。
图18是表示实施方式10的信道3的秘钥存储部周边的结构的图。
图19是表示实施方式10的合法性评价电路的具体结构例的图。
图20是表示实施方式11的合法性评价电路的具体结构例的图。
图21是表示实施方式12的加密解密电路的图。
具体实施方式
<实施方式1>
本实施方式涉及一种加密解密电路,其加密解密运算部包含加密解密运算电路和避开该电路的回避路径,可以选择在加密解密运算电路中对输入的数据进行加密或解密,或者避开加密解密运算电路而直接将输入的数据输出,该加密解密电路可以控制用于向数据存储部发送秘钥数据内容的引线数量的增加。
图1示出本发明的加密解密电路的结构例。该加密解密电路由内置在微机中的IC(IntegratedCircuit:集成电路)芯片1构成,将图1中的符号1的方框内的电路集成在1块芯片中。IC芯片1具有用于控制加密解密电路的动作的CPU(CentralProcessingUnit:中央处理单元)3、用于数据交换的总线4、用于存储运算数据或临时存储数据的RAM(RamdomAccessMemory:随机存取存储器)6和进行加密解密的加密解密运算装置5,CPU3、RAM6和加密解密运算装置5的各部分都与总线4连接。
再有,在IC芯片1的外部,设置了非易失性存储器2,用于存储CPU3的动作程序和加密解密运算装置5进行运算所必须的秘钥数据,非易失性存储器2与延伸到IC芯片1外部的总线4连接。再有,非易失性存储器2可以是能够与总线4进行拆装的通用元件,也可以是和IC芯片1制作成1块芯片的内置存储器。
加密解密运算装置5具有用于根据来自CPU3的指示控制加密解密运算装置5内各部分的控制部51、用于临时存储实施运算处理的输入数据的输入缓冲器53、进行输入数据的加密解密处理时保存必要的秘钥数据的秘钥存储部54、保存在采用CBC(CipherBlockChaining:加密块链)方式等块加密解密方式时所必需的IV(InitializationVector:初始化矢量)的初始值存储部55、对输入的数据进行加密解密运算的加密解密运算部52、和用于暂时保存运算结果的输出缓冲器56。
这里,以采用CBC方式进行数据的加密为例,说明数据的大致流程。首先,CPU3通过总线4将保存在非易失性存储器2的秘钥数据复制到秘钥存储部54中。其次,CPU3对初始值存储部55设定IV。IV因不必隐蔽,故可以从IC芯片1和非易失性存储器2的外部提供,或者也可以从非易失性存储器2的内部传送过去。
其次,通过CPU3向控制部51发出运算内容的指示。这里,设定进行CBC方式的数据加密的指示。最后,向输入缓冲器53输入要加密的数据。控制部51使加密解密运算部52进行输入缓冲器53所保存的数据和IV的异或(EXOR)运算,然后,指示加密解密运算部52进行加密,并将运算结果存储在输出缓冲器56中。CBC方式时,来自加密解密运算部52的输出数据作为下次输入的数据的IV使用,因此,该输出数据的内容重写并保存在初始值存储部55中。
图2是表示图1的加密解密运算装置5内的详细结构的图。如图2所示,输入缓冲器53具有选择器53a~53c、53g、和输入缓冲器(InputBuffer:InBuf1~3)53d~53f。秘钥存储部54具有选择器54a、54e、54i、数据加密用秘钥存储部(秘钥(CipherKey):CKey1~3)54b~54d、以及数据解密用秘钥存储部(解密秘钥(InverseCipherKey):IKey1~3)54f~54h。初始值存储部55具有选择器55a、55e和初始值存储部(InitializationVector(初始化向量):IV1~3)55b~55d。
加密解密运算部52具有:将输入缓冲器53的选择器53g的输出、和初始值存储部55的选择器55e的输出进行异或(EXOR)运算的异或电路52a;对异或电路52a的输出进行加密解密的加密解密运算电路52b;使输入缓冲器53的选择器53g的输出避开加密解密运算电路52b的回避路径52d;和从加密解密运算电路52b的输出和回避路径52d的输出中选择某一个输出的选择器52c。输出缓冲器56具有选择器56a、56e和输出缓冲器(OutputBuffer:OutBuf1~3)56b~56d。
在本实施方式中,设想进行3个并列信道的数据流处理。InBuf1、2、3等数字部分与所输入的数据流的信道相对应。这里,用信道表示处理各数据流的路径。例如,使用向信道1输入数据等表现。信道1~3中可以输入各种各样的数据,例如,信道1配送TV广播的流数据,向信道2配送来自DVD的流数据,向信道3配送CATV线路的流数据等。再有,输入信道1的数据的运算使用附加有下标1的符号IV1、InBuf1、CKey1、IKey1、OutBuf1。其余的信道也一样,使用带有标注了相同下标的符号的电路进行处理。加密解密运算部52由所有信道共同使用。
在本实施方式中,因不仅能与总线4相连接,还能与多个输入源(图中的“数据输入总线1、2、3”)连接,故在输入缓冲器53的初级设置了选择器53a~53c。作为多个输入源,例如是来自RAM6的直接输入等。因此,数据传送的效率与单独用总线4传送所有信道的数据相比,可更高效率地进行数据传送。但是,当多个信道的数据同时输入时,因发生竞争,故控制部51需要有控制由加密解密运算部52处理哪一个信道数据的电路。输出缓冲器56的结构也是基于同样的考虑。数据输入输出是使用总线4还是使用专用的数据输入总线1、2、3,可以预先从CPU3向加密解密运算部52内的控制部51发出指示。
这里,说明本实施方式的使用了加密解密电路的多个信道的数据传送顺序。3个数据流经由选择器53a~53c分别输入到输入缓冲器53d~53f(InBuf1、2、3)。接着,信道1的加密秘钥或解密秘钥从输入缓冲器53d(InBuf1)经选择器53g,再通过回避路径52d,并经由选择器52c和选择器54a或54e保存在秘钥存储部54b(CKey1)或秘钥存储部54f(IKey1)中。此外,信道1的IV同样经选择器53a输入到输入缓冲器53d(InBuf1),从输入缓冲器53d(InBuf1)经选择器53g,再通过回避路径52d,并经由选择器52c、55a保存在初始值存储部55b(IV1)中。
这些数据可以通过选择器52c、56a,在加密解密运算电路52b不进行向输出缓冲器56输出数据的期间随时进行保存。这是因为选择器52c的数据传送没有竞争。当想要加密解密的明码数据(以后称作‘文本数据’)输入并保存到输入缓冲器53d(InBuf1)中时,控制部51在确认出不会与其他信道的处理发生竞争的基础上,加密解密运算部52使用输入缓冲器53d(InBuf1)、秘钥存储部54b(CKey1)或秘钥存储部54f(IKey1)、和初始值存储部55b(IV1)中保存的数据进行运算。其运算结果保存在输出缓冲器56b(OutBuf1)中。竞争的判定使用下面所示的信道优先处理判定部。
图3是对多个信道的每一个判定其在加密解密运算电路52b中进行加密或解密的优先顺序的信道优先处理判定部51a的方框图。信道优先处理判定部51a设在控制部51内。再有,图4是在信道优先处理判定部51a中各信道可取的各个状态(00)、(01)、(1x)的状态迁移图的例子。
优先处理判定部51a在控制部51a内部接收来自信道1、2、3的各信道处理请求信号。信道优先处理判定部51a包含信道1、2、3优先顺序判定电路SJ1~SJ3和信道1、2、3次状态运算电路SO1~SO3,信道1、2、3优先顺序判定电路SJ1~SJ3根据保存当前各信道状态的信道1、2、3状态寄存器SR1~SR3、信道1、2、3处理请求信号和信道1、2、3的状态寄存器的值判定各信道的数据处理的优先顺序,并根据判定结果分别输出信道1、2、3处理许可信号,信道1、2、3下次状态运算电路SO1~SO3根据信道1、2、3处理许可信号确定下次的状态。
信道1、2、3处理请求信号在控制部51接收到表示输入缓冲器53中已存储了可进行运算的大小的数据这一信息之后,向信道优先处理判定部51a输出。优先顺序与状态寄存器SR1~SR3内的各值对应确定。在图4的例子中,(00)表示最优先状态,(01)表示次优先状态,(1x)表示低优先级的状态。各信道必须取(00)、(01)、(1x)中的某一个状态。当然,当信道数增加时,可以通过增加状态进行对应。
最优先状态(00)表示即使和其他信道竞争处理请求时也必须处理的情况。次优先状态(01)表示最优先状态的信道没有数据处理请求时进行处理的情况。低优先级状态(1x)表示最优先和次优先状态的信道都没有数据处理请求时进行处理的情况。电源接通后的初始值可以是使信道1的状态置为(00),信道2的状态置为(01),信道3的状态置为(1x)。
在图4中,若开始处理处于最优先状态(00)的信道,则迁移到低优先级状态(1x)(箭头a),随之,处于次优先状态(01)的信道迁移到最优先状态(00)(箭头e),处于低优先级状态(1x)的信道迁移到次优先状态(01)(箭头d)。当处于最优先状态(00)的信道没有处理请求而处于次优先状态(01)的信道有处理请求时,处理处于次优先状态(01)的信道。接着,已处理的信道迁移到低优先级状态(1x)(箭头b),而处于低优先级状态(1x)的信道则迁移到次优先状态(01)(箭头d)。当处于最优先状态(00)的信道和处于次优先状态(01)的信道都没有处理请求而处于低优先级状态(1x)的信道有处理请求时,处理处于低优先级状态(1x)的信道。这时,已处理的信道仍然维持低优先级状态(1x)。
图5是表示当信道1接受了数据处理请求,继而分别是信道1、信道3,信道1和2同时接受了数据处理请求时的、各信道的状态寄存器SR1~SR3的迁移的图。要说明图5中的状态迁移,则首先,因处于最优先状态(00)的信道1有处理请求,故处理信道1。处理后的信道1迁移到低优先级状态(1x)(箭头a)。与之相伴,处于次优先状态(01)的信道2迁移到最优先状态(00)(箭头e),处于低优先级状态(1x)的信道3迁移到次优先状态(01)(箭头d)。
其次,因信道1有处理请求,故处理处于低优先级状态(1x)的信道1。这时,已处理的信道1仍然维持低优先级状态(1x)(箭头c)。其余的信道2和3都维持相同的状态。其次,因处于次优先状态(01)的信道3有处理请求,故处理处于次优先状态(01)的信道3。接着,处理后的信道3迁移到低优先级状态(1x)(箭头b)。而处于低优先级状态(1x)的信道1迁移到次优先状态(01)(箭头d)。其次,因处于次优先状态(01)的信道1和处于最优先状态(00)的信道2都有处理请求,故处理处于最优先状态(00)的信道2,信道2迁移到低优先级状态(1x)(箭头a)。与之相伴,处于次优先状态(01)的信道1迁移到最优先状态(00)(箭头e),处于低优先级状态(1x)的信道3迁移到次优先状态(01)(箭头d)。
这样,优先处理判定部51a向各信道分配优先顺序已定的各规定的状态,根据对各信道的加密解密处理请求,使多个信道的每一个发生状态迁移,由此,判定优先顺序。
再有,控制部51根据由优先处理判定部51a判定的信号处理许可信号控制图2的加密解密运算装置5中的各选择器53g、54a、54e、54i、55a、55e、52c、56a,由此,可以恰当地及时处理信道的数据,而不依赖于数据的输入状况。当处理多个数据流时,在本发明的加密解密运算装置5中,因没有伴随数据流切换的开销,故可以算出各信道的最大处理能力=运算电路的最大处理能力/(信道数)。
若按照本实施方式的加密解密电路,加密解密运算部52包含加密解密运算电路52b和回避路径52d及选择器52c,选择器52c的输出与输出缓冲器56、秘钥存储部54和初始值存储部55连接,秘钥存储部54和初始值存储部55向加密解密运算部52给出所存储的数据。因此,加密解密运算电路52b可以对经输入缓冲器53输入的数据进行加密或解密,再向输出缓冲器56、秘钥存储部54和初始值存储部55输出,也可以避开加密解密运算电路52b而直接向输出缓冲器56、秘钥存储部54和初始值存储部55输出。在像现有技术那样采用从输入缓冲器53向秘钥存储部54和初始值存储部55设置了引线的结构时,若加密解密运算电路52b采用CBC或CFB等块加密解密方式,则必须还要有从加密解密运算电路52b到秘钥存储部54和初始值存储部55的引线,到秘钥存储部54和初始值存储部55等的数据存储部的连接线必须是双重连接线。另一方面,若按照本发明,只设置1条从选择器52c到秘钥存储部54和初始值存储部55的引线即可,可以控制用于向秘钥存储部54和初始值存储部55发送秘钥数据内容的引线数量的增加,可以实现不会导致电路设计变得复杂的加密解密电路。
进而,若按照本实施方式的加密解密电路,进而具有优先处理判定部51a,对各信道判定其在加密解密电路52b中进行加密解密的优先顺序。因此,在加密解密电路52b中可以恰当地对多个信道中的处理优先级高的数据进行加密解密。
<实施方式2>
本实施方式是实施方式1的加密解密电路的变形例,在实施方式1的秘钥存储部54中,对输入数据的1个信道设置多个存储部(寄存器),将用于进行输入数据的加密或解密的第1秘钥存储在多个存储部的1个中,使用第1秘钥,从输入数据中解密第2秘钥,并将第2秘钥存储在多个存储部的另一个中。
本实施方式也采用了图1~图5所示的各电路结构。本实施方式示出秘钥存储部54内的各秘钥存储部54b~54d的详细结构。
作为秘钥存储部54b(CKey1)的具体结构例子,图6和图7示出秘钥存储部54b1、54b2。图6示出可以对由加密解密运算部52加密或解密的输入数据的1个信道进行存储的秘钥为1个的情况,图7示出可存储的秘钥是2个的情况。再有,在图6和图7中,虽然只表述了秘钥存储部54b1、54b2(CKey1),但秘钥存储部54c(CKey2)、秘钥存储部54d(CKey3)也是同样的结构。下面,为了简化说明,作为秘钥存储部54b~54d的代表,只说明秘钥存储部54b1、54b2(CKey1)的结构。
在图6和图7中,虚线包围的部分表示秘钥存储部54b1、54b2(CKey1)。秘钥存储部54b1、54b2(CKey1)包含由对应于秘钥长度的位构成的、作为存储部的寄存器R10(CKey1_0)和数据选择电路S10。选择电路S10在来自控制部51的写入请求信号(在图6和图7中记作“CKey1_0写入请求信号”)激活时,对寄存器R10的输入端,选择秘钥数据(在图6和图7中记作“数据输入”)进行输出。在来自控制部51的写入请求信号未被激活时,选择电路S10使寄存器R10的输出向输入端反馈(保持当前的值)。
在图7中,除了寄存器R10和选择电路S10之外,又增加了1个寄存器R11(CKey1_1)和选择电路S11。寄存器R10和选择电路S10的信号输入和图6的情况一样。此外,还设置了AND门A20、A10、A11、OR门O10、反相器I20。
向AND门A20输入来自控制部51的写入请求信号(记作“CKey1_1写入请求信号”)、以及表示已选择存储在寄存器R10(CKey1_0)的秘钥作为向加密解密运算部52的输出的、使来自控制部51的CKey1_0选择信号(记作“CKey1_0”)通过反相器I20的信号。此外,向AND门A10输入CKey1_0选择信号和寄存器R10(CKey1_0)的输出,向AND门A11输入表示已选择存储在寄存器R11(CKey1_1)的秘钥作为对加密解密运算部52的输出的、来自控制部51的CKey1_1选择信号(记作“CKey1_1”)和寄存器R11(CKey1_1)的输出。AND门A10和A11的各输出被输入到OR门O10,OR门O10的输出变成秘钥存储部54b2(CKey1)的输出。
AND门A20的输出施加给选择电路S11,选择电路S11在来自控制部51的CKey1_1写入请求信号激活且存储在寄存器R10(CKey1_0)中的秘钥未向加密解密运算部52输出(CKey1_0没有被选中)时,选择和加给选择电路S10的秘钥数据相同的秘钥数据(数据输入),向寄存器R11的输入端输出。在来自控制部51的CKey1_1写入请求信号未被激活或存储在寄存器R10(CKey1_0)中的秘钥已输出到加密解密运算部52(CKey1_0已被选中)时,选择电路S11使寄存器R11的输出向输入端反馈(保持当前的值)。
通过这样的结构,在CKey1_0写入请求信号激活时,寄存器R10(CKey1_0)的内容被改写成经选择电路S10的秘钥数据(数据输入)。此外,在有CKey1_1写入请求信号且来自寄存器R10(CKey1_0)的数据加密解密运算结果不是数据输入时,经选择电路S11的秘钥数据(数据输入)可以向寄存器R11(CKey1_1)存储。
这意味着只能按照特定的顺序生成秘钥。这样构成是为了提高秘钥的安全性。在该例子中,当选择利用加密解密运算部52对寄存器R11(CKey1_1)内的秘钥数据进行加密解密后再返回秘钥存储部542b时,其运算结果可以保存在寄存器R10(CKey1_0)和寄存器R11(CKey1_1)中,而当选择利用加密解密运算部52对寄存器R10(CKey1_0)内的秘钥数据进行加密解密后再返回秘钥存储部542b时,其运算结果只能保存在寄存器R10(CKey1_0)中。
对于需要加密解密的数据,也有只使用1个秘钥的应用(application)(这时可以是图6的结构),但是,从安全方面考虑,很少使用同一秘钥进行所有数据的传送,大多是加密解密运算部52使用某个原始的开始秘钥生成临时秘钥,并使用该临时秘钥进行数据的加密解密。
临时秘钥的生成有时也可以进行多次。在使用保存在非易失性存储器2中的开始秘钥和为数据流准备的临时秘钥对1个数据流进行加密运算的情况下,通过使用图7所示结构的秘钥寄存器,将非易失性存储器2内的开始秘钥保存在寄存器R11(CKey1_1)中,使用该开始秘钥解密由数据流给出的临时秘钥,并将该临时秘钥保存在寄存器R10(CKey1_0)中。在图6的结构中,当对每一个某数据长度都进行需要更新临时秘钥的某数据的处理时,每当生成临时秘钥时都必须对寄存器R10(CKey1_0)重新设定开始秘钥。像图7所示的结构那样,通过具有像一个秘钥能对另一个秘钥进行解密那样的电路结构,可以消除数据切换时发生的因临时秘钥的切换而引起的处理能力下降的现象。
即,在本实施方式中,秘钥存储部54相对于利用加密解密运算部52加密后的输入数据的1个信道包含多个寄存器R10、R11。而且,寄存器R11存储用于加密的第1秘钥(开始秘钥),加密解密运算部52使用存储在1个寄存器R11中的第1秘钥(开始秘钥),从输入数据中解密用于进行加密或解密的第2秘钥(临时秘钥)。接着,将该第2秘钥(临时秘钥)存储在寄存器R10中。
当像现有技术那样,秘钥存储部相对于加密或解密的输入数据的信道只包含1个寄存器时,必须使用1个寄存器中存储的第1秘钥(开始秘钥)去解密第2秘钥,并将第2秘钥重写到该寄存器中。然后,当使用第1秘钥(开始秘钥)解密第2秘钥之外的秘钥时,必须再次将第1秘钥(开始秘钥)重写到该寄存器中。另一方面,若按照本发明,秘钥存储部54按各输入数据的信道包含多个寄存器R10、R11,可以使其中的一个持续保存第1秘钥(开始秘钥)而不用重写。因此,可以提高加密解密运算的能力。
此外,若按照本实施方式的加密解密电路,当加密解密运算部52使用存储在寄存器R10中的第2秘钥(临时秘钥),从输入数据中解密用于进行加密或解密的第3秘钥(又一个临时秘钥)时,将第3秘钥(又一个临时秘钥)存储在寄存器R11之外的寄存器(即寄存器R10)中。因此,存储在寄存器R11中的第1秘钥(开始秘钥)无需利用使用第2秘钥(临时秘钥)解密后的第3秘钥(又一个临时秘钥)进行重写,在寄存器R10、R11之间、仅仅在特定的方向上保存解密后的第3秘钥(又一个临时秘钥)。由此,包含非法秘钥在内重写存储在寄存器R11上的第1秘钥(开始秘钥)很困难,并且可以防止秘钥的非法使用,实现能够保障需要加密数据的安全性的加密解密电路。
再有,上面示出了秘钥存储部54内的加密秘钥的各秘钥存储部54b~54d的结构,但对于秘钥存储部54内的解密秘钥的各秘钥存储部54f~54h,也可以采用同样的结构。
<实施方式3>
本实施方式是实施方式2的加密解密电路的变形例,像实施方式2那样,对输入数据的1个信道设置多个存储部(寄存器),而且,使用存储在某个信道的存储部中的第1秘钥,从输入数据中解密用于进行加密或解密的第2秘钥,并将该第2秘钥存储在不同信道的存储部之一。
本实施方式中也采用了图1~图5所示的各电路结构。在本实施方式中,示出秘钥存储部54内的各秘钥存储部54b~54d的详细结构。
当信道1、2所使用的数据流是公共的、且进行加密解密运算的数据位置不同时,例如,当一边记录图像数据一边在记录结束后再生数据时,信道1、2的运算所使用的秘钥的一部分变成信道1、2的公共秘钥。例如,考虑开始秘钥作为整个数据流是公共秘钥,根据开始秘钥生成由数据流内的特定的数据长度单位使用的秘钥,并从通过以更短的单位特定的数据长度单位进行使用的秘钥来解密临时秘钥后再进行运算的情形。在上述图6所示结构的情况下,因必须进行对寄存器R10(CKey1_0)设定对整个数据公共的开始秘钥,根据寄存器R10(CKey1_0)的公共开始秘钥来解密数据长度单位的秘钥,再重写并保存到寄存器R10(CKey1_0)中,然后,使用寄存器R10(CKey1_0)的秘钥解密以更短的数据单位使用的临时秘钥,并保存在寄存器R10(CKey1_0)中的作业,故每当生成临时秘钥时都必须进行该操作,可以预想其数据传送的能力将大大下降。
图8是表示本实施方式的秘钥存储部54b(CKey1)、54c(CKey2)、54d(CKey3)的具体结构例的图。在图8中,上述各部分作为秘钥存储部54b3(CKey1)、54c1(CKey2)、54d1(CKey3)示出。这里,变成能在秘钥存储部54b3(CKey1)、54c1(CKey2)中选择已在秘钥存储部54d1(CKey3)的寄存器R31(CKey3_1)中设定的秘钥的结构。再有,因信道1和信道2的功能没有差别,故省略信道2的结构和信号的说明。
信道1的秘钥存储部54b3(CKey1)的结构除了省去了AND门A20和反相器I20,直接对选择电路S11给出了CKey1_0写入请求信号这一点以及增加AND门A12,取代OR门O10而采用接收AND门A10~A12的各输出的OR门O11这一点之外,和图7的秘钥存储部54b2(CKey1)的结构相同。至于输入到秘钥存储部54b3(CKey1)的信号的意义也和图7的秘钥存储部54b2(CKey1)的情况相同,“CKey1_0选择”是指在信道1的加密运算时存储在寄存器R10(CKey1_0)中的秘钥在使用于加密解密运算部52时激活的信号,“数据输入”是指从选择器52c输出的数据的输入。此外,“CKey1_0写入请求”是指在信道1中对寄存器R10(CKey1_0)进行秘钥写入时激活的信号,“CKey1_1写入请求”是指在信道1中对寄存器R11(CKey1_1)进行秘钥写入时激活的信号。而且,“CKey1_1选择”是指在信道1的加密运算时存储在寄存器R11(CKey1_1)中的秘钥使用于加密解密运算部52时激活的信号。
此外,秘钥存储部54d1(CKey3)包含由和秘钥长度对应的位构成的、作为存储部的寄存器R30(CKey3_0)和数据选择电路S30。选择电路S30在来自控制部51的CKey3_0写入请求信号激活时,向寄存器R30的输入端选择秘钥数据(“数据输入”)并输出。在来自控制部51的CKey3_0写入请求信号未被激活时,选择电路S30使寄存器R30的输出向输入端反馈(保持当前的值)。
秘钥存储部54d1(CKey3)除了寄存器R30和选择电路S30之外,还具有1个寄存器R31(CKey3_1)和选择电路S31。此外,还设置了AND门A30、A31、OR门O31。
向AND门A30中输入寄存器R30(CKey3_0)的输出、和表示已选择存储在寄存器R30(CKey3_0)的秘钥作为对加密解密运算部52的输出的、来自控制部51的CKey3_0选择信号(记作“CKey3_0选择”)。此外,向AND门A31输入表示已选择存储在寄存器R31(CKey3_1)中的秘钥作为对加密解密运算部52的输出的、来自控制部51的CKey3_1选择信号和寄存器R31(CKey3_1)的输出。AND门A30和A31的各输出被输入到OR门O31,OR门O31的输出变成秘钥存储部54d1(CKey3)的输出。
再有,信道3的寄存器R31(CKey3_1)的输出被输入到信道1的AND门A12的一端。向AND门A12的另一端输入“用CKey1选择CKey3_1”信号。该“用CKey1选择CKey3_1”信号是指存储在寄存器R31(CKey3_1)中的秘钥在被加密解密运算部52用于进行信道1的加密运算时激活的信号。再有,“CKey3_0写入请求”、“CKey3_1写入请求”、“数据输入”、““CKey3_1选择””的各信号和上述“CKey1_0写入请求”、“CKey1_1写入请求”、“数据输入”、““CKey1_1选择””的各信号是同样的信号,只在不是信道1的寄存器R10、R11而是信道3的寄存器R30、R31这一点上有所不同。
在本实施方式中,对信道3的寄存器R31(CKey3_1)设定对整个数据公共的开始秘钥,从寄存器R31(CKey3_1)的公共秘钥解密数据长度单位的秘钥,再保存在信道1的寄存器R11(CKey1_1)(若是信道2则是寄存器R21(CKey2_1)中,然后,使用寄存器R11(CKey1_1)(若是信道2则是寄存器R21(CKey2_1))的秘钥解密以更短的数据单位进行使用的临时秘钥,并保存在寄存器R10(CKey1_0)(若是信道2则是寄存器R20(CKey2_0))中。
即,若按照本实施方式的加密解密电路,秘钥存储部54包含用于进行加密或解密的、存储信道1和2公共的第1秘钥的寄存器R30、R31和分别与利用加密解密运算部52加密或解密后的输入数据的信道1和2对应的寄存器R10、R11、R20、R21。加密解密运算部52使用寄存器R31中存储的第1秘钥,从输入数据中解密用于进行加密或解密的第2秘钥,并将第2秘钥存储在寄存器R10、R11、R20、R21中的一个。
当像现有技术那样,秘钥存储部对加密或解密的输入数据的一个信道只包含1个寄存器时,必须使用1个寄存器中存储的第1秘钥(公共秘钥)去解密第2秘钥(数据长度单位的秘钥),并将第2秘钥(数据长度单位的秘钥)重写到该寄存器中。然后,当使用第1秘钥(公共秘钥)解密第2秘钥(数据长度单位的秘钥)之外的秘钥(临时秘钥)时,必须再次将第1秘钥(公共秘钥)重写到该存储部中。另一方面,若按照本发明,秘钥存储部54包含和分别对应于信道1、2的寄存器R10、R11、R20、R21不同的信道3的寄存器R30、R31,并可以持续保存第1秘钥(公共秘钥)而不用将其重写到寄存器R10、R11、R20、R21中。因此,可以提高加密解密运算的能力。
此外,若按照本实施方式的加密解密电路,当加密解密运算部52使用存储在寄存器R11、R21中的第2秘钥(数据长度单位秘钥),从输入数据中解密用于进行加密或解密的第3秘钥(临时秘钥)时,将第3秘钥(临时秘钥)存储在寄存器R30、R31之外的寄存器R10、R20中。因此,存储在寄存器R30、R31中的第1秘钥(公共秘钥)无需通过使用第2秘钥(数据长度单位秘钥)解密后的第3秘钥(临时秘钥)进行重写,而在寄存器R30、R31和寄存器R10、R11、R20、R21之间、仅在特定的方向上保存解密后的第3秘钥(临时秘钥)。因此,重写包含非法秘钥的、存储在寄存器R30、R31上的第1秘钥(公共秘钥)很困难,可以防止秘钥的非法使用,实现能够保障需要加密的数据的安全性的加密解密电路。
再有,上面示出了秘钥存储部54内的加密秘钥的各秘钥存储部54b~54d的结构,但对于秘钥存储部54内的解密秘钥的各秘钥存储部54f~54h,也可以采用同样的结构。
<实施方式4>
本实施方式是实施方式1的加密解密电路的变形例,在实施方式1的控制部51内设置秘钥有效判定电路,根据秘钥有效判定电路输出的秘钥有效信号是否激活,判定从输入数据解密的第2秘钥是使用第1秘钥生成的,还是使用除此之外的非法秘钥生成的。
本实施方式也采用了图1~图5所示的各电路结构。在本实施方式中,示出图2所示的控制部51内的秘钥有效判定电路51b的详细结构。
为了保障秘钥的安全性(合法性),控制部51需要用于判定解密时是不是根据规定的秘钥计算的秘钥的判定电路。图9是这样的秘钥有效判定电路51b。秘钥有效判定电路51b具有反相器I50、AND门A50、OR门O50和寄存器R50。
向反相器I50的输入端施加无效秘钥输入信号。无效秘钥输入信号例如在所使用的秘钥不是指定的秘钥而是从CPU3提供的已知的秘钥时,或在秘钥的生成顺序之外请求生成秘钥时,由控制部51激活。反相器I50的输出施加给AND门A50的一个输入端。向AND门A50的另一输入端施加寄存器R50的输出。
向OR门O50的一个输入端施加有效秘钥输入信号。有效秘钥输入信号在按照规定的步骤更新了秘钥时,由控制部51激活。接着,OR门O50的输出被输入到寄存器R50。寄存器R50的输出变成秘钥有效信号。
即,在本实施方式中,加密解密运算部52使用给定的第1秘钥,从解密的输入数据中解密用于解密的第2秘钥,并将该第2秘钥存储在秘钥存储部54中,在这样的结构中,秘钥有效判定电路51b在加密解密运算部52中使用第1秘钥解密了第2秘钥时,从寄存器R50输出的表示第2秘钥有效的秘钥有效信号被激活,另一方面,当使用第1秘钥之外的秘钥来解密第2秘钥时,采用不激活秘钥有效信号的结构。
因此,若按照本实施方式的加密解密电路,若对加密解密运算部52施加秘钥有效信号,则加密解密运算部52可以根据秘钥有效信号是否激活来判定从输入数据中解密的第2秘钥是使用合法的第1秘钥生成的,还是使用除此之外的非法秘钥生成的。因此,可以防止秘钥的非法使用,实现能够保障需要加密的数据的安全性的加密解密电路。
此外,在加密解密运算部52中,当所施加的秘钥有效信号未激活时,停止输入数据的解密。或者,可以废除解密的计算结果。这样,可以防止秘钥的非法使用,实现能够保障需要加密的数据的安全性的加密解密电路。
<实施方式5>
本实施方式是实施方式4的加密解密电路的变形例,实施方式4的秘钥有效判定电路51b作为解密秘钥有效判定电路,并使其具有如下功能:当加密解密运算部52使用加密秘钥生成解密秘钥时,使表示解密秘钥有效的解密秘钥有效信号激活,当使用加密秘钥之外的秘钥生成解密秘钥时,不激活解密秘钥有效信号。
秘钥存储部54的寄存器R10(CKey1_0)等大多由不需要复位功能、寄存器的数量多、从减少面积的观点来看也不需要复位的触发器或锁存器结构。但是,当根据所施加的加密秘钥CKey生成并保存解密数据时所使用的解密秘钥IKey时,在利用正规的步骤生成解密秘钥之后输入非法的加密秘钥,但不生成解密秘钥,由此,可以产生虽然加密秘钥是非法秘钥但解密秘钥却是正规秘钥的状态。这意味着可以使用和加密秘钥完全无关的解密秘钥进行运算。
当加密秘钥不是有效秘钥时,停止加密解密运算部52的运算功能,这样的结构虽然没有大的问题,但是,当在除规定的步骤之外,从外部输入了与规定的步骤无关的已知的秘钥时允许处理已知的文本数据那样的条件下,构成加密解密电路时,会降低数据的安全性。在设想这种情形后,图10示出本实施方式的用于对加密秘钥判定解密秘钥是否有效的解密秘钥有效判定电路。
如图10所示,该解密秘钥有效判定电路51c具有和图9的秘钥有效判定电路51b大致相同的结构,包括反相器I51、AND门A51、OR门O51和寄存器R51。再有,解密秘钥有效判定电路51c还具有图9的秘钥有效判定电路51b所不具有的AND门A52。
向反相器I51的输入端施加无效秘钥输入信号。无效秘钥输入信号是和图9的秘钥有效判定电路51b所示的信号相同的信号。反相器I51的输出施加给AND门A51的一个输入端。向AND门A51的另一输入端施加寄存器R51的输出。
向AND门A52的一个输入端施加有效秘钥输入信号。向AND门A52的另一个输入端施加表示利用有效的加密秘钥生成了解密秘钥的信号(记作“利用有效秘钥生成解密秘钥”)。接着,向OR门O51的一个输入端施加AND门A52的输出。有效秘钥输入信号也是和图9的秘钥有效判定电路51b所示的信号相同的信号。接着,OR门O51的输出被输入到寄存器R51。寄存器R51的输出变成秘钥有效信号。
即,在本实施方式中,加密解密运算部52使用给定的加密秘钥,生成用于利用该加密秘钥加密的输入数据的解密的解密秘钥,并将该解密秘钥存储在秘钥存储部54中,在这样的结构中,秘钥有效判定电路51c在加密解密运算部52使用对应的加密秘钥解密了解密秘钥时,从寄存器R51输出的、表示解密秘钥有效的解密秘钥有效信号被激活,另一方面,当使用对应的加密秘钥之外的秘钥解密了解密秘钥时,采用不激活解密秘钥有效信号的结构。
此外,在该电路中,只有当输入了有效秘钥输入信号且已利用有效秘钥进行了解密秘钥的生成时,才设定解密秘钥有效信号。再有,当发生复位时,解密秘钥有效信号被初始化(无效)。
若按照本实施方式的加密解密电路,解密秘钥有效判定电路51c在加密解密运算部52使用对应的加密秘钥解密了解密秘钥时,激活表示解密秘钥有效的解密秘钥有效信号,在使用对应的加密秘钥之外的秘钥解密了解密秘钥时,不激活解密秘钥有效信号。因此,若对加密解密运算部52施加解密秘钥有效信号,则加密解密运算部52可以根据解密秘钥有效信号是否激活来判定根据加密秘钥生成的解密秘钥是使用合法的加密秘钥生成的,还是使用除此之外的非法秘钥生成的。因此,可实现防止秘钥的非法使用,并能够保障需要加密的数据的安全性的加密解密电路。
此外,向加密解密运算部20施加解密秘钥有效信号,在加密解密运算部52中,当施加的秘钥有效信号未激活时,停止输入数据的解密。或者,可以废除解密的计算结果。这样,可以实现防止秘钥的非法使用,并能够保障需要加密的数据的安全性的加密解密电路。
<实施方式6>
本实施方式是实施方式5的加密解密电路的变形例,将实施方式5的解密秘钥有效判定电路51c作为加密解密秘钥代一致判定电路,并使其进而具有检测加密秘钥的代和解密秘钥的代是否一致的功能。
即使是利用有效步骤进行的秘钥生成,也有可能将运算开始时原始的秘钥(第1代)、从原始秘钥解密的数据公共的秘钥(第2代)、从数据公共的秘钥生成的临时秘钥(第3代)和持续进行秘钥生成及与之相伴的解密秘钥的生成时,不同代的组合的秘钥保存在秘钥组(set)(例如CKey1_1的寄存器和IKey1_1的寄存器等)中。为了禁止这样的状态,图11示出本实施方式的判定加密秘钥和解密秘钥组是不是同一代的加密解密秘钥代一致判定电路。
如图11所示,该加密解密秘钥代一致判定电路51d具有反相器I52、AND门A53、选择电路S50和寄存器R52。
向反相器I52的输入端施加无效秘钥输入信号。无效秘钥输入信号是和图9的秘钥有效判定电路51b所示的信号相同的信号。反相器I52的输出施加给AND门A53的一个输入端。向AND门A53的另一输入端施加寄存器R52的输出。
AND门A53的输出和表示利用有效的加密秘钥生成了解密秘钥的信号(记作“利用有效秘钥生成解密秘钥”)施加给选择电路S50。此外,还对选择电路S50施加有效秘钥输入信号(有效秘钥输入信号是和图9的秘钥有效判定电路51b所示的信号相同的信号),与有效秘钥输入信号的值相对应,确定从选择电路S50输出AND门A53的输出,还是表示利用有效的加密秘钥生成了解密秘钥的信号。具体地说,当有效秘钥输入信号激活时,选择表示利用有效的加密秘钥生成了解密秘钥的信号,当有效秘钥输入信号未激活时,选择AND门A53的输出。接着,选择电路S50的输出被输入到寄存器R52中。寄存器R52的输出变成加密解密秘钥代一致信号。
当选择了有效秘钥输入信号时,且当利用有效秘钥进行解密秘钥生成时,设定加密解密秘钥代一致信号。在无效秘钥输入信号设定之前,在没有选择解密秘钥生成的情况下,即使例如输入了已知的秘钥或进行规定的秘钥更新并设定了有效秘钥输入信号时,加密解密秘钥代一致信号也被清除。
即,在本实施方式中,加密解密运算部52使用存储在秘钥存储部54中的第1代加密秘钥,生成用于输入数据的解密的第2代加密秘钥,并更新第1代加密秘钥,将第2代加密秘钥存储在秘钥存储部54中,依次使用第n代加密秘钥(n:自然数)生成用于输入数据的加密的第n+1代加密秘钥,并更新第n代加密秘钥,将第n+1代加密秘钥存储在秘钥存储部54中,使用第1代加密秘钥生成用于通过第1代加密秘钥加密的输入数据的解密的第1代解密秘钥,并将第1代解密秘钥存储在上述秘钥存储部54中,依次分别使用第n+1代之前的加密秘钥,分别生成用于输入数据的解密的第n+1代之前的解密秘钥,并更新第n代解密秘钥,将第n+1代解密秘钥存储在上述秘钥存储部54中,在这样的结构中,加密解密秘钥代一致判定电路51d在加密解密运算部52中使用对应的第n代加密秘钥生成了第n代解密秘钥时,激活表示第n代解密秘钥有效的加密解密秘钥代一致信号,另一方面,在使用对应的第n代加密秘钥之外的秘钥生成了第n代解密秘钥时,采用不激活加密解密秘钥代一致信号的结构。
因此,若按照本实施方式的加密解密电路,通过对加密解密运算部52施加加密解密秘钥代一致信号,从而加密解密运算部52可以根据加密解密秘钥代一致信号是否激活来判定根据加密秘钥生成的解密秘钥是使用合法的加密秘钥生成的,还是使用除此之外的非法的秘钥生成的。因此,可以实现防止秘钥的非法使用,并能够保障需要加密的数据的安全性的加密解密电路。
此外,在加密解密运算部52中,当所提供的加密解密秘钥代一致信号未激活时,停止输入数据的解密,或者,可以废除解密的计算结果。由此,可以实现防止秘钥的非法使用,并能够保障需要加密的数据的安全性的加密解密电路。
<实施方式7>
本实施方式是实施方式6的加密解密电路的变形例,涉及如下加密解密电路:当加密解密运算部25使用对应的第n代加密秘钥有效地生成了第n代解密秘钥时,每当生成第n代解密秘钥时,便生成表示生成了第n代之前的解密秘钥的加密解密秘钥第n代许可信号。
不仅对所处理的加密解密秘钥是不是同一代,还对利用秘钥的更新在现状下已解密到哪一代的秘钥进行管理,从而能够以代为单位对已生成的秘钥进行存取控制。例如,禁止参考第1代的秘钥从信道1、2传送到寄存器R31(CKey3_1),如此等等。
图12示出一例用于实现上述功能的加密解密秘钥代许可电路51e的电路例。在本实施方式中,以能管理第3代之前的生成秘钥的电路为例进行说明。
加密解密秘钥代许可电路51e具有反相器I53、代1条件判定电路J51、代1寄存器R53、代2条件判定电路J52、代2寄存器R54、代3条件判定电路J53和代3寄存器R55。再有,代1条件判定电路J51、代2条件判定电路J52和代3条件判定电路J53都是多输入的AND电路。无效秘钥输入信号(无效秘钥输入信号是与图9的秘钥有效判定电路51b所示的信号相同的信号)经反相器I53施加给代1条件判定电路J51、代2条件判定电路J52和代3条件判定电路J53的各部分。
对代1条件判定电路J51施加开始秘钥输入信号。代1条件判定电路J51的输出施加给代1寄存器R53。代1寄存器R53的输出(代1许可信号)施加给代2条件判定电路J52,同时,还反馈给代1条件判定电路J51。对代2条件判定电路J52施加有效秘钥更新信号。代2条件判定电路J52的输出施加给代2寄存器R54。代2寄存器R54的输出(代2许可信号)施加给代3条件判定电路J53,同时,还反馈给代2条件判定电路J52。对代3条件判定电路J53也施加有效秘钥更新信号。代3条件判定电路J53的输出施加给代3寄存器R55。代3寄存器R55的输出(代3许可信号)反馈给代3条件判定电路J53。
代1许可信号在作为有效秘钥输入了初次运算使用的秘钥(记作开始秘钥)时被激活。代2许可信号在设定了代1许可信号的状态下且当进行有效秘钥的更新时被激活。代3许可信号在代1许可信号和代2许可信号被激活的状态下,且当进行有效秘钥的更新时被激活。当输入了被判断为无效的秘钥时,清除各代的许可信号。
即,在本实施方式中,加密解密运算部52使用第1代加密秘钥(开始秘钥),生成用于输入数据的加密的第2代加密秘钥,并更新第1代加密秘钥,将第2代加密秘钥存储在秘钥存储部54中,依次使用第n代加密秘钥(n:自然数)生成用于输入数据的加密的第n+1代加密秘钥,并更新第n代加密秘钥,并将第n+1代加密秘钥存储在秘钥存储部54中,使用第1代加密秘钥生成用于利用第1代加密秘钥加密的输入数据的解密的第1代解密秘钥,并将第1代解密秘钥存储在秘钥存储部54中,依次分别使用第n+1代之前的加密秘钥分别生成用于输入数据的解密的第n+1代之前的解密秘钥,并更新第n代解密秘钥,将第n+1代解密秘钥存储在秘钥存储部54中,在这样的结构中,加密解密秘钥代许可电路51e在加密解密运算部52使用对应的第n代加密秘钥有效地生成了第n代解密秘钥时,采用如下结构:每当生成第n代解密秘钥时,便生成表示已生成了第n代之前的解密秘钥的加密解密秘钥第n代许可信号。
因此,加密解密运算部52可以与代的等级对应地进行应许可的运算处理,因此,可以实现防止秘钥的非法使用,并能够保障需要加密的数据的安全性的加密解密电路。
<实施方式8>
本实施方式是实施方式1的加密解密电路的变形例,设有包含多个逻辑电路的组合,并利用该组合生成规定的信号,将该规定的信号作为开始秘钥输出的开始秘钥输出电路,加密解密运算部使用该开始秘钥进行输入数据的加密或解密。
在供给加密后的数据的系统中,存在由要处理的所有的加密数据公共使用的原始秘钥。该秘钥装在进行解密的装置一侧。当将该加密数据公共使用的原始秘钥保存在非易失性存储器2内时,从非易失性存储器2经总线4对加密解密运算装置5进行秘钥的设定,所以,通过使用调试器对总线4进行观测,可以简单地特定某个秘钥。作为防止出现这一现象的方法,在使用设在加密解密运算装置5内的秘钥(称作开始秘钥)加密原始秘钥的基础上,将其保存在非易失性存储器2中,通过采用不可能将开始秘钥读出到加密解密运算装置5外部的电路结构,可以防止原始秘钥的泄露。图13示出本实施方式的秘钥存储部54周边的结构。
在图13中,开始秘钥输出电路K1连接在秘钥存储部54内的信道3的秘钥存储部54d2上。开始秘钥输出电路K1是用于输出固定的开始秘钥的电路,设在加密解密运算装置5内。开始秘钥输出电路K1包含AND门或OR门等多级逻辑门电路的组合,利用该组合生成规定的信号,将该规定的信号作为开始秘钥输出。因开始秘钥输出电路K1由逻辑门电路组合构成,故不可能从外部改变开始秘钥。
与图8的秘钥存储部54d1进行比较,在秘钥存储部54d2中,数据输入不直接施加给选择电路S31,而是接收数据输入和来自开始秘钥输出电路K1的开始秘钥信号的另一选择电路S32的输出施加给选择电路S31。再有,作为另一选择电路S32的选择信号,施加开始秘钥选择信号。
在秘钥存储部54d2中,当开始秘钥选择信号激活时,选择电路S32施加给选择电路S31的不是数据输入,而是开始秘钥的信号。接着,开始秘钥存储在寄存器R31(CKey3_1)中。接着,加密解密运算部52使用开始秘钥对给定的用于对输入数据进行加密或解密的第1秘钥(该秘钥从非易失性存储器2中读出)进行加密,并将加密后的第1秘钥重写并存储在秘钥存储部54的寄存器R31(CKey3_1)中。
由于开始秘钥采用最初只能从寄存器R31(CKey3_1)读出的结构,故不可能通过输出缓冲器56d(OutBuf3)将开始秘钥向外部读出。再有,开始秘钥根据从CPU3到控制部51的开始秘钥选择请求,通过设定开始选择信号,由此可以保存在寄存器R31(CKey3_1)中。
即,若按照本实施方式的加密解密电路,具有:包含多个逻辑门电路的组合,并利用该组合生成规定的信号,将该规定的信号作为开始秘钥输出的开始秘钥输出电路K1,加密解密运算部52使用开始秘钥加密给定的用于对输入数据进行加密或解密的第1秘钥,并将第1秘钥存储在秘钥存储部54中。因利用多个逻辑门电路的组合生成开始秘钥,故不可能从外部改变开始秘钥。因此,由该开始秘钥加密后的第1秘钥的安全性得到提高,可以实现防止秘钥的非法使用,并能够保障需要加密的数据的安全性的加密解密电路。
再有,假定数据流是具有该数据流固有的秘钥的数据流,是使用数据公共的原始秘钥加密后的数据流。是具有在数据流内部以数据流固有的秘钥并以某一特定的单位进行了加密的数据秘钥的数据流。此外,是具有在数据内部以数据秘钥并以比数据秘钥的单位小的单位进行了加密的临时秘钥的数据流。
在图14的流程图中示出秘钥的解密顺序。首先,将装置固有的秘钥作为开始秘钥保存在寄存器R31(CKey3_1)中(步骤ST1)。其次,使用寄存器R31(CKey3_1)内的开始秘钥解密保存在非易失性存储器2中的加密后的数据公共的原始秘钥,并将解密后的秘钥重写并保存在寄存器R31(CKey3_1)中(步骤ST2)。再有,设数据公共的原始秘钥是在非易失性存储器内使用开始秘钥加密后保存的秘钥。
其次,使用保存在寄存器R31(CKey3_1)中的原始秘钥解密包含在输入数据中的数据固有的秘钥,再将解密后的秘钥重写并保存在寄存器R31(CKey3_1)中(步骤ST3)。其次,使用寄存器R31(CKey3_1)中保存的数据固有的秘钥来解密包含在输入数据中的按特定的数据长度保存的数据秘钥,并将解密后的秘钥保存在寄存器R11(CKey1_1)或寄存器R21(CKey2_1)中(步骤ST4)。
其次,使用寄存器R11(CKey1_1)或寄存器R21(CKey2_1)中保存的数据秘钥解密包含在每一个更小的数据中的加密后的临时秘钥,并将解密后的秘钥保存在寄存器R10(CKey1_0)或寄存器R20(CKey2_0)中(步骤ST5)。
接着,使用寄存器R10(CKey1_0)或寄存器R20(CKey2_0)中保存的临时秘钥进行输入数据的加密或解密(步骤ST6)。
<实施方式9>
本实施方式是实施方式8的加密解密电路的变形例,进而设置输出作为规定的信号的合法性评价秘钥的合法性评价秘钥输出电路,使用合法性评价秘钥求出保存在非易失性存储器2中的秘钥的散列值,根据该散列值评价非易失性存储器2内的秘钥是否被篡改。
即使像实施方式8那样使用了开始秘钥,也不是不可能篡改非易失性存储器2内存在的加密后的数据公共的原始秘钥或进行秘钥解密的程序,不能完全防止非法使用。本实施方式使上述状态下的安全性进一步提高。
图15示出本实施方式的秘钥存储部54周边的结构。在图15中,除了图13的结构之外,进而使ROM合法性评价秘钥输出电路Q1连接在秘钥存储部54内的信道3的秘钥存储部54d2上。ROM合法性评价秘钥输出电路Q1是输出用于评价作为规定信号的ROM(非易失性存储器2)的合法性的秘钥的、和开始秘钥输出电路K1一样由多个逻辑门电路构成的电路。
ROM合法性评价秘钥输出电路Q1可以向选择电路S32施加合法性评价秘钥的信号以代替来自开始秘钥输出电路K1的开始秘钥。由此,可以将合法性评价秘钥存储在寄存器R31(CKey3_1)中。
加密解密运算部52在将加密秘钥存储到非易失性存储器2中时,使用合法性评价秘钥求出该秘钥的散列值,并将该散列值作为MAC(MessageAuthenticationCode:信息证明码)存储在非易失性存储器2中。图16示出此时的非易失性存储器2中所存储的内容。在图16中,加密后的秘钥数据是ROM程序20,散列值是MAC21。再有,对于加密解密运算部52,散列函数可以是单向函数。
而且,在利用加密解密运算部52进行运算时,必须利用加密解密运算部52内的合法性评价电路ES进行ROM程序20的合法性评价。在该评价中,首先,从寄存器R31(CKey3_1)读出ROM合法性评价秘钥。接着,使用ROM合法性评价秘钥进行外部输入的给定秘钥的解密。该解密后的秘钥重写并保存到寄存器R31(CKey3_1)。使用该解密后的秘钥从信道3中读出全部ROM程序20,并计算MAC。计算结果重写并保存到寄存器R31(CKey3_1)。再有,可以利用实施方式7的代管理去禁止从寄存器R31(CKey3_1)向输出缓冲器56d(OutBuf3)输出MAC计算结果。在MAC的计算结束的时刻,将计算结果和非易失性存储器2内保存的MAC21输入到合法性评价电路ES中。
图17是将合法性评价电路ES的具体结构例作为合法性评价电路ES1示出的图。本实施方式中的合法性评价电路ES1具有比较电路CP1和寄存器R60。比较电路CP1将根据读入的ROM程序20计算出来的MAC值和经输入缓冲器53f(InBuf3)读出的、保存在非易失性存储器2中的MAC21的值进行比较。若两者一致,则比较电路CP1的输出被激活,寄存器R60保存比较电路CP1的输出。若两者不一致,则比较电路CP1的输出不被激活。寄存器R60的输出变成ROM合法性评价结果信号。再有,ROM合法性评价结果信号可以重写并保存在寄存器R31(CKey3_1)中。
即,加密解密运算部52内的合法性评价电路ES1在将加密后的秘钥存储到非易失性存储器2中时,使用合法性评价秘钥求出秘钥的散列值,并将该散列值作为MAC21存储在非易失性存储器2中,当使用非易失性存储器2中存储的秘钥进行加密或解密时,使用合法性评价秘钥求出从非易失性存储器2读出的秘钥的散列值,将该散列值和存储在非易失性存储器2中的MAC21的散列值进行比较。
因此,若非易失性存储器2中存储的秘钥被篡改,则从非易失性存储器2读出的秘钥的散列值和非易失性存储器2中存储的MAC21的散列值不同,所以,加密解密运算部52可以停止使用从非易失性存储器2读出的秘钥进行加密或解密。因此,可以实现防止秘钥的非法使用,并能够保障需要加密的数据的安全性的加密解密电路。
<实施方式10>
本实施方式是实施方式9的加密解密电路的变形例,进而设置输出作为规定信号的调试器验证秘钥的调试器验证秘钥输出电路,防止使用调试器去非法取得数据。
调试器是在芯片开发时为了有效地调试固件而使用的装置。当使用调试器时,可以简单地变更程序计数器,所以,例如在加密解密电路中,可以对加密步骤的程序执行跳转。因此,如果没有禁止使用调试器的装置,就不能保障数据的安全性。本实施方式就是在上述状况下来提高安全性。
图18示出本实施方式的秘钥存储部54周边的结构。在图18中,除了图15的结构之外,进而使调试器验证秘钥输出电路B1连接在秘钥存储部54内的信道3的秘钥存储部54d2上。调试器验证秘钥输出电路B1是输出作为规定信号的调试器验证秘钥的、和开始秘钥输出电路K1同样由多个逻辑门电路构成的电路。
调试器验证秘钥输出电路B1可以向选择电路S32给出调试器验证秘钥的信号以代替来自开始秘钥输出电路K1的开始秘钥。由此,可以将调试器验证秘钥存储在寄存器R31(CKey3_1)中。
加密解密运算部52使用调试器验证秘钥进行规定的验证用数据的加密或解密。此外,加密解密运算部52接收表示正在使用调试器的调试器使用信号,检测出是否使用调试器。当检测出正在使用调试器时,只要没有输入和加密或解密后的验证用数据一致的密码,便停止输入数据的加密或解密。
图19是将合法性评价电路ES的具体结构例作为合法性评价电路ES2示出的图。本实施方式中的合法性评价电路ES2具有实施方式9所示的比较电路CP1和寄存器R60。比较电路CP1将使用调试器验证秘钥加密或解密后的规定的验证用数据和经由输入缓冲器53f(InBuf3)读入的、用户给出的密码进行比较。若两者一致,则比较电路CP1的输出被激活,寄存器R60保存比较电路CP1的输出。若两者不一致,则比较电路CP1的输出不被激活。寄存器R60的输出变成调试程序使用许可信号。再有,调试器使用许可信号可以重写并保存在寄存器R31(CKey3_1)。调试器使用许可信号的输出和ROM合法性评价结果信号的输出相当,比较电路CP1和寄存器R60公用,因ROM合法性评价结果信号和调试程序使用许可信号都可以重写并保存在寄存器R31(CKey3_1)中,故可以公用比较电路CP1和寄存器R60。
本实施方式的合法性评价电路ES2进而具有OR门O60、O61和寄存器R61。向OR门O60的一个输入端施加调试程序使用信号,向另一输入端施加寄存器R61的正输出。OR门O60的输出被输入到寄存器R61。寄存器R61的反相输出施加给OR门O61的一个输入端,向OR门O61的另一个输入端施加寄存器R62的输出(调试程序使用许可信号)。OR门O61的输出变成数据输出许可信号。
因OR门O60的另一个输入端被施加寄存器R61的正输出,故一次接收的调试程序使用信号可以由寄存器R61保持。这是因为在使用调试器跳转程序之后,与断开调试器的情况相对应。
若调试器使用信号激活,则因寄存器R61的反相输出不激活,故只要调试器使用许可信号不激活,数据输出许可信号就不会激活。
即,若按照本实施方式的加密加密电路,加密解密运算部52使用调试器验证秘钥加密或解密规定的验证用数据,当检测出正在使用调试程序时,只要没有输入和加密或解密后的验证用数据相一致的密码,便停止输入数据的加密或解密。因此,可以防止使用调试程序非法取得秘钥和秘钥的非法使用,实现能够保障需要加密的数据的安全性的加密解密电路。
<实施方式11>
本实施方式是实施方式10的加密解密电路的变形例,即使输入了和加密或解密后的验证用数据一致的密码,当由非易失性存储器2读出的秘钥的散列值和非易失性存储器2中存储的MAC21的散列值不同时,也停止输入数据的加密或解密。
图20是将本实施方式的合法性评价电路ES的具体结构例作为合法性评价电路ES3示出的图。本实施方式中的合法性评价电路ES3除了图19的合法性评价电路ES2的结构(比较电路CP2、寄存器R61、R62、OR门O60、O61)之外,进而具有进行ROM合法性评价秘钥输出电路Q1的输出和调试程序使用信号的运算,并将运算结果作为ROM合法性评价秘钥输出的运算电路OP、和对图17的从寄存器R60输出的ROM合法性评价结果和OR门O61的输出进行与运算的AND门A60。
运算电路OP在调试程序使用信号处于未激活的状态时,直接输出来自ROM合法性评价秘钥输出电路Q1的ROM合法性评价秘钥,但是当调试程序使用信号处于激活状态时,将来自ROM合法性评价秘钥输出电路Q1的ROM合法性评价秘钥改变后再输出。此外,AND门A60只要调试程序使用许可信号和ROM合法性评价结果都没有激活,就不激活数据输出许可信号。
即,即使输入了和加密或解密后的验证用数据一致的密码,当由非易失性存储器2读出的秘钥的散列值和非易失性存储器2中存储的MAC21的散列值不同时,加密解密运算部52停止输入数据的加密或解密。
因此,可以防止使用调试程序非法取得秘钥和秘钥的非法使用,实现能够保障需要加密的数据的安全性的加密解密电路。
<实施方式12>
本实施方式是实施方式11的加密解密电路的变形例,即使IC芯片1可以使输入数据不通过加密解密运算部52传送,在由非易失性存储器2读出的秘钥的散列值和非易失性存储器2中存储的MAC21的散列值不同的情况、以及检测出正在使用调试程序且没有输入密码的情况中的至少一种情况下,也停止输入数据的传送。
图21是表示本实施方式的加密解密电路的图。在图21中,由实施方式11生成的ROM合法性评价结果和调试程序使用许可信号输入到设在加密解密运算装置5之外的AND门A70中,当AND门A70的两个输入端都不处于激活状态时,设在芯片1内的数据传送用总线上的数据不能向芯片外面输出。具体地说,设置AND门A71,AND门A70的输出和数据传送用总线输入到AND门A71。当AND门A70的输出未激活时,AND门A71不能将数据传送用总线上的数据输出到芯片的外面。
即,在本实施方式中,可以不通过加密解密运算部52传送输入数据,在由非易失性存储器2读出的秘钥的散列值和非易失性存储器2中存储的MAC21的散列值不同的情况、以及检测出正在使用调试程序且没有输入密码的情况中的至少一种情况下,停止输入数据的传送。
因此,可以禁止不通过加密解密运算部52而传送输入数据,实现能够保障需要加密的数据的安全性的加密解密电路。
再有,在本发明中,虽然没有特别描述加密解密运算部52,但加密解密运算部52并不限于这一种。例如,当处理数据流时使用的加密种类有多种时,图2的加密解密运算部52可以搭载多个加密解密运算部。此外,当1个加密解密运算部52的处理能力不够时,也可以搭载2个同一类型的加密解密运算部。
<其他>
在上述说明中,对于实施方式9~11所示的合法性评价电路和实施方式1、2所示的加密解密电路,都以实施方式1的公共秘钥加密方式的加密解密电路为例进行了说明。但是,上述实施方式9~12的思想也可以适用于公共秘钥加密方式之外的加密解密电路。

Claims (4)

1.一种加密解密电路,其特征在于:具有密钥存储部、使用所给的第1密钥从输入数据中解密第2密钥,并将所述第2密钥存储在所述密钥存储部中的解密运算部、以及密钥有效判定电路,
所述密钥有效判定电路在所述解密运算部使用所述第1密钥解密了所述第2密钥时,使表示所述第2密钥有效的密钥有效信号激活,
在使用所述第1密钥之外的密钥解密了所述第2密钥时,不激活所述密钥有效信号。
2.权利要求1记载的加密解密电路,其特征在于:所述密钥有效信号施加给所述解密运算部,
当所述密钥有效信号不激活时,所述解密运算部停止所述输入数据的解密,或者废除所述输入数据的解密的运算结果。
3.一种加密解密电路,其特征在于:具有密钥存储部;使用所给的加密密钥生成用于对利用所述加密密钥加密后的输入数据进行解密的解密密钥,并将所述解密密钥存储在所述密钥存储部中的加密解密运算部;以及解密密钥有效判定电路,
所述解密密钥有效判定电路在所述加密解密运算部使用所述加密密钥生成了所述解密密钥时,使表示所述解密密钥有效的解密密钥有效信号激活,
在使用所述加密密钥之外的密钥生成了所述解密密钥时,不激活所述解密密钥有效信号。
4.权利要求3记载的加密解密电路,其特征在于:所述解密密钥有效信号施加给所述加密解密运算部,
当所述解密密钥有效信号不激活时,所述加密解密运算部停止所述解密,或者废除所述解密的运算结果。
CN201210224098.XA 2005-07-13 2006-07-05 加密、解密电路 Expired - Fee Related CN102780559B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005-204061 2005-07-13
JP2005204061A JP4818651B2 (ja) 2005-07-13 2005-07-13 暗号化・復号化回路
CN200610103127.1A CN1897517B (zh) 2005-07-13 2006-07-05 加密、解密电路

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN200610103127.1A Division CN1897517B (zh) 2005-07-13 2006-07-05 加密、解密电路

Publications (2)

Publication Number Publication Date
CN102780559A CN102780559A (zh) 2012-11-14
CN102780559B true CN102780559B (zh) 2016-01-06

Family

ID=37609906

Family Applications (5)

Application Number Title Priority Date Filing Date
CN201210224098.XA Expired - Fee Related CN102780559B (zh) 2005-07-13 2006-07-05 加密、解密电路
CN201710504287.5A Pending CN107181594A (zh) 2005-07-13 2006-07-05 加密、解密电路
CN201410768257.1A Expired - Fee Related CN104393990B (zh) 2005-07-13 2006-07-05 加密、解密电路
CN200610103127.1A Expired - Fee Related CN1897517B (zh) 2005-07-13 2006-07-05 加密、解密电路
CN201010545579.1A Expired - Fee Related CN102123030B (zh) 2005-07-13 2006-07-05 加密、解密电路

Family Applications After (4)

Application Number Title Priority Date Filing Date
CN201710504287.5A Pending CN107181594A (zh) 2005-07-13 2006-07-05 加密、解密电路
CN201410768257.1A Expired - Fee Related CN104393990B (zh) 2005-07-13 2006-07-05 加密、解密电路
CN200610103127.1A Expired - Fee Related CN1897517B (zh) 2005-07-13 2006-07-05 加密、解密电路
CN201010545579.1A Expired - Fee Related CN102123030B (zh) 2005-07-13 2006-07-05 加密、解密电路

Country Status (3)

Country Link
US (3) US20070014396A1 (zh)
JP (1) JP4818651B2 (zh)
CN (5) CN102780559B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4466641B2 (ja) * 2006-12-15 2010-05-26 コニカミノルタビジネステクノロジーズ株式会社 暗号処理装置
DE102007021256A1 (de) * 2007-05-07 2008-11-13 Giesecke & Devrient Gmbh Verfahren zum Speichern von Anwendungsdaten in einen Datenträger mit einem verschlüsselnden Speicher-Controller
EP2242032B1 (en) * 2008-01-21 2013-10-02 Nippon Telegraph and Telephone Corporation Secure computing system, secure computing method, secure computing apparatus and program therefor
JP5141606B2 (ja) * 2008-03-26 2013-02-13 セイコーエプソン株式会社 印刷装置
US8995654B2 (en) 2009-05-28 2015-03-31 Emulex Corporation Method for verifying correct encryption key utilization
JP5121974B2 (ja) * 2011-05-24 2013-01-16 株式会社東芝 データ記憶装置、記憶制御装置及び方法
US20120300960A1 (en) * 2011-05-27 2012-11-29 Graeme Gordon Mackay Digital signal routing circuit
US10490459B2 (en) * 2017-08-25 2019-11-26 Taiwan Semiconductor Manufacturing Co., Ltd. Method for source/drain contact formation in semiconductor devices
AU2012308278A1 (en) * 2011-09-15 2014-03-20 Cubic Corporation Secure key self-generation
US9954925B2 (en) * 2012-05-10 2018-04-24 Saturn Licensing Llc Transmission device, transmission method, reception device, reception method, program, stream transmission and reception system, and electronic apparatus
US8797668B1 (en) * 2013-03-13 2014-08-05 Lsi Corporation Systems and methods for penalty based multi-variant encoding
JP6270101B2 (ja) * 2013-08-14 2018-01-31 株式会社エルイーテック 暗号回路のための切替手段を有するコンピュータチップ
US9705501B2 (en) * 2014-10-01 2017-07-11 Maxim Integrated Products, Inc. Systems and methods for enhancing confidentiality via logic gate encryption
CA2951618A1 (en) * 2015-12-16 2017-06-16 Accenture Global Solutions Limited Data pipeline architecture for cloud processing of structured and unstructured data
DE102019112583A1 (de) * 2019-05-14 2020-11-19 Infineon Technologies Ag Integrierte elektronische schaltung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336053A (zh) * 1999-11-01 2002-02-13 索尼公司 信息传输系统及方法、发送配置及接收装置、数据处理装置及数据处理方法以及记录媒体
US20040107167A1 (en) * 1997-03-26 2004-06-03 Sony Corporation Method of controlling digital content distribution, a method of reproducing digital content, and an apparatus using the same

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3441854A (en) * 1966-03-31 1969-04-29 Motorola Inc Encoder-decoder circuit including diode switching of a stage from an amplifier to an oscillator
JPS6363232A (ja) * 1986-09-04 1988-03-19 Oki Electric Ind Co Ltd 暗号化通信方式
JPH0646344B2 (ja) * 1988-05-23 1994-06-15 日本電信電話株式会社 暗号回路
JP3535183B2 (ja) * 1991-10-30 2004-06-07 富士通株式会社 スクランブル可能なコードレス電話システム及び該システムに用いられるコードレス電話機
US5392354A (en) * 1991-10-30 1995-02-21 Fujitsu Limited Cordless phone system capable of scrambling communication signals
JPH05244153A (ja) * 1992-03-02 1993-09-21 Nippon Telegr & Teleph Corp <Ntt> ディジタル通信装置
JPH05327690A (ja) * 1992-05-21 1993-12-10 Hitachi Ltd 通信方法および装置
US5619196A (en) * 1995-12-28 1997-04-08 Universal Electronics Inc. Single wire keyboard encode and decode circuit
JP3621512B2 (ja) * 1996-06-19 2005-02-16 株式会社ルネサステクノロジ ディジタル情報符号化装置、ディジタル情報復号化装置、ディジタル情報符号化・復号化装置、ディジタル情報符号化方法、及びディジタル情報復号化方法
JP2000151427A (ja) * 1998-09-08 2000-05-30 Sony Corp 符号化装置および方法、復号装置および方法、提供媒体、並びにデ―タ置換位置情報を生成するための方法
ATE522039T1 (de) * 2000-01-21 2011-09-15 Sony Computer Entertainment Inc Vorrichtung und verfahren zur verarbeitung von verschlüsselten daten
JP2002057662A (ja) * 2000-08-07 2002-02-22 Sony Corp 情報処理装置、情報処理方法、並びに記録媒体
CN100428751C (zh) * 2000-12-25 2008-10-22 松下电器产业株式会社 安全通信包处理装置及其方法
JP4673972B2 (ja) * 2000-12-26 2011-04-20 富士通東芝モバイルコミュニケーションズ株式会社 移動通信システム及び通信装置
CN101526982B (zh) * 2001-02-16 2012-05-30 索尼株式会社 数据处理方法及其设备
KR100413682B1 (ko) * 2001-03-26 2003-12-31 삼성전자주식회사 암호화된 데이터를 포함한 데이터의 전송 및 수신 제어 방법
JP4491706B2 (ja) * 2002-04-19 2010-06-30 ソニー株式会社 暗号化復号化装置およびデータ受信装置
JP2003316263A (ja) * 2002-04-19 2003-11-07 Sony Corp 演算装置および演算方法
JP2004088505A (ja) 2002-08-27 2004-03-18 Matsushita Electric Ind Co Ltd 並列ストリーム暗復号装置及びその方法並びに並列ストリーム暗復号プログラム
JP3881942B2 (ja) * 2002-09-04 2007-02-14 松下電器産業株式会社 暗号化部を有する半導体装置
JP2004186814A (ja) * 2002-11-29 2004-07-02 Fujitsu Ltd 共通鍵暗号化通信システム
CN2609286Y (zh) * 2002-12-16 2004-03-31 中国电子科技集团公司第三十研究所 一种快速换钥的密码芯片
US7774593B2 (en) * 2003-04-24 2010-08-10 Panasonic Corporation Encrypted packet, processing device, method, program, and program recording medium
JP4551112B2 (ja) * 2003-04-24 2010-09-22 パナソニック株式会社 暗号化パケット処理装置、方法、プログラム及びプログラム記録媒体
JP2004350007A (ja) * 2003-05-22 2004-12-09 Matsushita Electric Ind Co Ltd 暗号方式
EP1673898A1 (en) * 2003-09-22 2006-06-28 Impsys Digital Security AB Data communication security arrangement and method
CN1234081C (zh) * 2003-09-25 2005-12-28 联想(北京)有限公司 利用bios通过身份认证实现安全访问硬盘的方法
CN1617484A (zh) * 2003-11-14 2005-05-18 大世界有限公司 使用密钥的双向通信方法
JP2005157930A (ja) * 2003-11-28 2005-06-16 Matsushita Electric Ind Co Ltd 機密情報処理システムおよびlsi

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040107167A1 (en) * 1997-03-26 2004-06-03 Sony Corporation Method of controlling digital content distribution, a method of reproducing digital content, and an apparatus using the same
CN1336053A (zh) * 1999-11-01 2002-02-13 索尼公司 信息传输系统及方法、发送配置及接收装置、数据处理装置及数据处理方法以及记录媒体

Also Published As

Publication number Publication date
CN1897517B (zh) 2011-04-06
US20110255694A1 (en) 2011-10-20
US8559634B2 (en) 2013-10-15
US8619991B2 (en) 2013-12-31
CN102123030B (zh) 2013-01-02
US20070014396A1 (en) 2007-01-18
CN1897517A (zh) 2007-01-17
CN102123030A (zh) 2011-07-13
CN104393990A (zh) 2015-03-04
CN102780559A (zh) 2012-11-14
JP4818651B2 (ja) 2011-11-16
CN107181594A (zh) 2017-09-19
US20120314858A1 (en) 2012-12-13
JP2007027937A (ja) 2007-02-01
CN104393990B (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
CN102780559B (zh) 加密、解密电路
US6061449A (en) Secure processor with external memory using block chaining and block re-ordering
CN100379194C (zh) 存储器加密
US7039816B2 (en) Using smartcards or other cryptographic modules for enabling connected devices to access encrypted audio and visual content
KR101546204B1 (ko) 호스트 디바이스, 반도체 메모리 디바이스, 및 인증 방법
US8819409B2 (en) Distribution system and method for distributing digital information
US6907127B1 (en) Hierarchical key management encoding and decoding
US7668313B2 (en) Recipient-encrypted session key cryptography
CN101996154B (zh) 支持可重组安全设计的通用处理器
US20050177741A1 (en) System and method for security key transmission with strong pairing to destination client
CA2919106A1 (en) Media client device authentication using hardware root of trust
JP2006295916A (ja) プログラマブルロジックデバイス
CN102411694B (zh) 加密装置及存储器系统
US8245307B1 (en) Providing secure access to a secret
TWI517653B (zh) 電子裝置及密碼材料供應之方法
EP1800430A1 (en) Method and apparatus for generating cryptographic sets of instructions automatically and code generation
KR20110054067A (ko) 관리 센터에 의한 방송 상품 접근 규칙 강화 방법
JP2012084071A (ja) デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置
US20090202077A1 (en) Apparatus and method for secure data processing
WO2021044465A1 (ja) 暗号化装置、復号装置、コンピュータプログラム、暗号化方法、復号方法及びデータ構造
KR101054075B1 (ko) 보호키 사용 제한 방법 및 장치
US20090307503A1 (en) Digital content management systems and methods
MXPA98008403A (en) Security processor with external memory that uses blocking and block reordering

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Tokyo, Japan, Japan

Applicant after: Renesas Electronics Corporation

Address before: Kawasaki, Kanagawa, Japan

Applicant before: Renesas Electronics Corporation

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160106

Termination date: 20190705

CF01 Termination of patent right due to non-payment of annual fee