JP7680941B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP7680941B2
JP7680941B2 JP2021186709A JP2021186709A JP7680941B2 JP 7680941 B2 JP7680941 B2 JP 7680941B2 JP 2021186709 A JP2021186709 A JP 2021186709A JP 2021186709 A JP2021186709 A JP 2021186709A JP 7680941 B2 JP7680941 B2 JP 7680941B2
Authority
JP
Japan
Prior art keywords
circuit
rounds
flip
flop
input terminal
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
JP2021186709A
Other languages
English (en)
Other versions
JP2023073928A (ja
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
Priority to JP2021186709A priority Critical patent/JP7680941B2/ja
Priority to KR1020220150203A priority patent/KR20230071738A/ko
Priority to US18/054,978 priority patent/US12095461B2/en
Priority to CN202211428015.9A priority patent/CN116136914A/zh
Publication of JP2023073928A publication Critical patent/JP2023073928A/ja
Application granted granted Critical
Publication of JP7680941B2 publication Critical patent/JP7680941B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17768Structural details of configuration resources for security
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/0185Coupling arrangements; Interface arrangements using field effect transistors only
    • H03K19/018557Coupling arrangements; Impedance matching circuits
    • H03K19/018564Coupling arrangements; Impedance matching circuits with at least one differential stage
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本開示は半導体装置に関し、例えば、暗号処理回路を備える半導体装置に適用可能である。
暗号アルゴリズムには、例えば、AES(Advanced Encryption Standard)がある。AESは、鍵長やブロック長が可変の共通鍵方式のブロック暗号である。パラメーターとしては、鍵長は3種類あり、128ビット、192ビット、256ビットのいずれかで、ブロック長は1種類、128ビットのみである。そのため、鍵長によって「AES-128」、「AES-192」、「AES-256」という3種類の表記がある。
暗号アルゴリズムに規定されている処理において、既定のループ数を下回っている場合にどの程度安全性が低下するかは、広く研究が行われている。例えば、最新の研究成果では、以下の報告が行われている。AES-128においては、通常のループ数は11ラウンドであるが、これが5ラウンドに削減されたならば、222程度の計算量で鍵復元攻撃が可能である。また、SHA-256(Secure Hash Algorithm 256-bits)においては、通常のループ数は64ラウンドであるが、これが31ラウンドに削減されたならば、265.5程度の計算量で衝突が発見される。研究レベルではどのようなことが起きた場合に規定のループ数(ラウンド数)を下回る動作になるかについては議論の対象とされていない。
特開2016-58777号公報
特許文献1に記載されるように、レーザ等によるフォルトインジェクション(Fault Injection)を行う装置を利用することで、特定のビットを反転するなどの攻撃を行うことができる。したがって、暗号アルゴリズムの仕様をそのまま実装すると、フォルトインジェクション攻撃によりラウンド数を下回る挙動が実現されてしまう。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本開示のうち代表的なものの概要を簡単に説明すれば次の通りである。すなわち、半導体装置は、暗号処理に関する演算を所定ラウンド数繰り返す演算回路と、演算回路の演算のラウンド数に関するデータを保持する保持回路と、ラウンド数が所定ラウンド数かどうかを判定する判定回路と、ラウンド数が所定ラウンド数であると判定回路が判定したとき、演算回路の演算結果データを出力する出力バッファ回路と、を備える。保持回路を二重化し、二重化された保持回路の二つの出力が一致しないとき、演算結果データを出力しないよう構成される。
上記半導体装置によれば、フォルトインジェクション攻撃によりラウンド数を下回る挙動を低減することができる。
図1は比較例における暗号IPコアの構成を示すブロック図である。 図2は第一実施例における暗号IPコアの構成を示すブロック図である。 図3は第二実施例における暗号IPコアの構成を示すブロック図である。 図4は第三実施例における暗号IPコアの構成を示すブロック図である。 図5は第四実施例における暗号IPコアの構成を示すブロック図である。 図6は第五実施例における暗号IPコアの構成を示すブロック図である。
以下、比較例および実施例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
まず、本実施形態をより明確にするため、暗号化処理の流れの概要についてAESを例に説明する。暗号化は下記の処理から構成される。
(a)入力データの分割し、分割されたデータの置き換え(サブバイト(SubBytes))
(b)データ位置のバイト単位での入れ替え(シフトロウズ(ShiftRows)
(c)演算処理(ミックスコラムス(MixColumns))によるデータ変換
(d)演算処理(アッドラウンドキー(AddRoundKey))
上記(a)~(d)の処理を1ラウンドとして、鍵長に応じた所定ラウンド数を繰り返して暗号化が行われる。復号は上記(a)~(d)の処理の逆変換を逆順序で行われる。
次に、上述の暗号化処理を実現する暗号IPコア(Intellectual Property Core)の構成について図1を用いて説明する。図1は比較例における暗号IPコアの構成を示すブロック図である。
暗号IPコア10はマイクロコントローラ等の半導体装置に内蔵される。暗号IPコア10は第一のフリップフロップ11と、第二のフリップフロップ12と、第三のフリップフロップ13と、ラウンド関数回路(RNF)14と、判定回路(JDG)15と、を備える。
第一のフリップフロップ11は第一のデータ入力端子(D1)11aと第二のデータ入力端子(D2)11bと第一のイネーブル入力端子(EN1)11cと第二のイネーブル入力端子(EN2)11dとクロック入力端子(CK)11eとデータ出力端子(DO)11fとを有する。第一のデータ入力端子(D1)11aにはラウンド関数回路14の出力データ(Dr)が入力される。第二のデータ入力端子(D2)11bには初期データ(Di)が入力される。第一のイネーブル入力端子(EN1)11cには演算中を示す信号(S1)が入力される。第二のイネーブル入力端子(EN2)11dには演算開始を示す信号(S0)が入力される。クロック入力端子(CK)11eにはクロック信号(CLK)が入力される。
第一のフリップフロップ11は、クロック信号(CLK)の立上りまたは立下りにおいて、演算中を示す信号(S1)が活性化されている(例えば、ハイレベルである)とき、第一のデータ入力端子(D1)11aからラウンド関数回路14の出力データを取り込む。また、第一のフリップフロップ11は、クロック信号(CLK)の立上りまたは立下りにおいて、演算開始を示す信号(S0)が活性化されている(例えば、ハイレベルである)とき、第二のデータ入力端子(D2)11bから初期データ(Di)を取り込む。第一のフリップフロップ11は、暗号化処理の中間データまたは最終データを保持し、データ出力端子(DO)11fから中間データまたは最終データを出力データ(Dm)として出力する。
第二のフリップフロップ12はインクリメントイネーブル入力端子(+1)12aとクロック入力端子(CK)12bとデータ出力端子(DO)12cとを有する。インクリメントイネーブル入力端子(+1)12aには演算開始を示す信号(S0)と演算中を示す信号(S1)とが論理和された入力信号(S01)が入力される。クロック入力端子(CK)12bにはクロック信号(CLK)が入力される。
第二のフリップフロップ12は、クロック信号(CLK)の立上りまたは立下りにおいて、入力信号(S01)を取り込む。入力信号(S01)が活性化されている(例えば、ハイレベルである)とき、インクリメントする。第二のフリップフロップ12は、ラウンド数を保持し、データ出力端子(DO)12cからラウンド数(RN)を出力する。
第三のフリップフロップ13はデータ入力端子(D)13aとイネーブル入力端子(EN)13bとクロック入力端子(CK)13cとデータ出力端子(DO)13dとを有する。データ入力端子(D)13aには第一のフリップフロップ11の出力データ(Dm)が入力される。イネーブル入力端子(EN)13bには判定回路15の出力信号である演算終了信号(S3)が入力される。クロック入力端子(CK)13cにはクロック信号(CLK)が入力される。
第三のフリップフロップ13は、クロック信号(CLK)の立上りまたは立下りにおいて、演算終了信号(S3)が活性化されている(例えば、ハイレベルである)とき、データ入力端子(D)13aから第一のフリップフロップ11の出力データ(Dm)を取り込む。第三のフリップフロップ13は、出力バッファを構成し、データ出力端子(DO)13dからデータ(Dout)を出力する。
ラウンド関数回路14は初期データ(Di)および中間データとしての出力データ(Dm)に対して上記(a)~(d)の処理を行う演算回路である。
判定回路15は鍵長に対応したラウンド数の最大値(RNmax)が格納される回路15aと比較回路15bとを備え、ラウンド数が所定値(最大値)に達したかどうかを判定する回路である。判定回路15は、ラウンド数が所定値に達した場合、演算終了信号(S3)を活性化する。
第二のフリップフロップ12にフォルトインジェクション攻撃が実行されると、例えば、4ビットの二進数のデータにおいて下記の異常動作ように最上位ビット(最も左側のビット)にビット反転が発生し得る。
正常動作:0000→0001→0010→0011
異常動作:0000→0001→1010→1011
そうなると、8ラウンド分処理が短い出力が観測され、ラウンド削減(Reduced Round)攻撃が可能になる。
そこで、本実施形態では、比較例における暗号IPコアのうち下記(A)の回路、下記(A)および下記(B)の回路、または下記(A)から下記(C)の回路を二重化する。すなわち、本実施形態における暗号IPコアは全ての回路を二重化するものではない。
(A)ラウンド数を管理する回路(第二のフリップフロップ12)
(B)仕様に規定されているラウンド数が演算されたかを比較する回路(判定回路15)
(C)出力バッファを構成する回路(第三のフリップフロップ)
本実施形態では、暗号IPコアの一部の回路を二重化するので、面積増加は1~2%程度であるが、フォルトインジェクション攻撃によるセキュリティリスクを低減することができる。そのため、面積増加に伴うコストをほとんど増やすことなく、サイドチャネル対策の1つを防ぐことができるセキュリティの高い暗号IPコアを提供することができる。
第一実施例における暗号IPコアについて図2を用いて説明する。図2は第一実施例における暗号IPコアの構成を示すブロック図である。
第一実施例における暗号IPコア10は、上記(A)の回路である第二のフリップフロップ12を二重化する構成である。第一実施例における暗号IPコア10は、比較例における暗号IPコアに対して、さらに、もう一つの第二のフリップフロップ12と、比較回路(CMP)16と、を備える。比較回路16は、二つの第二のフリップフロップ12の出力を比較し、二つの出力が一致する場合は、第二のフリップフロップ12の出力(RN)を判定回路15に出力する。二つの出力が一致しない場合、比較回路16は、判定回路15が演算終了信号(S3)を活性化しないようにする。
フォルトインジェクション攻撃により第二のフリップフロップ12の出力が変化した場合、二つの第二のフリップフロップ12の出力は一致しない可能性が高くなる。二つの出力が一致しないことを検出することにより、第三のフリップフロップ13から演算結果が出力させれず、ラウンド削減を抑制し得る。
第二実施例における暗号IPコアについて図3を用いて説明する。図3は第二実施例における暗号IPコアの構成を示すブロック図である。
第二実施例における暗号IPコア10は、上記(A)の回路である第二のフリップフロップ12と上記(B)の回路である判定回路15を二重化する構成である。第二実施例における暗号コアIP10は、比較例における暗号IPコアに対して、さらに、もう一つの第二のフリップフロップ12と、もう一つの判定回路15と、比較回路(CMP)26と、を備える。比較回路26は、二つの判定回路15の出力を比較し、二つの出力が一致する場合は、判定回路15の出力である演算終了信号(S3)を第三のフリップフロップ13に出力する。二つの出力が一致しない場合、比較回路26は、演算終了信号(S3)を不活性化して出力する。
フォルトインジェクション攻撃により第二のフリップフロップ12または判定回路15の出力が変化した場合、二つの判定回路15の出力は一致しない可能性がより高くなる。二つの出力が一致しないことを検出することにより、第三のフリップフロップ13から演算結果が出力させれず、ラウンド削減を抑制し得る。
第三実施例における暗号IPコアについて図4を用いて説明する。図4は第三実施例における暗号IPコアの構成を示すブロック図である。
第三実施例における暗号IPコア10は、上記(A)の回路である第二のフリップフロップ12と上記(B)の回路である判定回路15と上記(C)の回路である第三のフリップフロップ13を二重化する構成である。第三実施例における暗号コアIP10は、比較例における暗号IPコアに対して、さらに、もう一つの第二のフリップフロップ12と、もう一つの判定回路15と、もう一つの第三のフリップフロップ13と、比較回路(CMP)36と、を備える。比較回路36は、二つの第三のフリップフロップ13の出力を比較し、二つの出力が一致する場合は、第三のフリップフロップ13の出力であるデータ(Dout)を出力する。二つの出力が一致しない場合、比較回路36は、データ(Dout)の出力を止める。
フォルトインジェクション攻撃により第二のフリップフロップ12または判定回路15または第三のフリップフロップ13の出力が変化した場合、二つの第三のフリップフロップ13の出力は一致しない可能性がより高くなる。二つの出力が一致しないことを検出することにより、第三のフリップフロップ13から演算結果が出力させれず、ラウンド削減を抑制し得る。
第四実施例における暗号IPコアについて図5を用いて説明する。図5は第四実施例における暗号IPコアの構成を示すブロック図である。
第四実施例における暗号IPコア10は、第二実施例と同様に、上記(A)と上記(B)の回路を二重化する構成である。ただし、第四実施例における暗号コアIP10は、第二実施例における暗号IPコアの第二のフリップフロップ12を第二のフリップフロップ22に代え、判定回路15を判定回路25に代え、比較回路26を削除し、第三のフリップフロップ13を第三のフリップフロップ23に代えるものである。
第二のフリップフロップ12はデクリメントイネーブル入力端子(-1)22aとクロック入力端子(CK)22bとデータ出力端子(DO)22cとデータ入力端子(D)22dを有する。デクリメントイネーブル入力端子(-1)22aには演算開始を示す信号(S0)と演算中を示す信号(S1)とが論理和された入力信号(S01)が入力される。クロック入力端子(CK)22bにはクロック信号(CLK)が入力される。データ入力端子(D)22dには初期値(RNi)が入力される。ここで、初期値(RNi)は鍵長に対応したラウンド数の最大値(RNmax)である。
第二のフリップフロップ22は、クロック信号(CLK)の立上りまたは立下りにおいて、入力信号(S01)が非活性化されている(例えば、ローレベルである)とき、データ入力端子(D)22dから初期値(RNi)を取り込む。また、第二のフリップフロップ22は、クロック信号(CLK)の立上りまたは立下りにおいて、入力信号(S01)を取り込む。入力信号(S01)が活性化されている(例えば、ハイレベルである)とき、デクリメントする。第二のフリップフロップ22は、ラウンド数に関する値(RM=RNmax-RN)を保持し、データ出力端子(DO)22cからラウンド数に関する値(RM)を出力する。
第三のフリップフロップ23はデータ入力端子(D)23aと第一のイネーブル入力端子(EN1)23bと第二のイネーブル入力端子(EN2)23eとクロック入力端子(CK)23cとデータ出力端子(DO)23dとを有する。データ入力端子(D)23aには第一のフリップフロップ11の出力データ(Dm)が入力される。第一のイネーブル入力端子(EN1)23bには一つの判定回路25の出力信号である演算終了信号(S3)が入力される。第二のイネーブル入力端子(EN2)23eにはもう一つの判定回路25の出力信号である演算終了信号(S3)が入力される。クロック入力端子(CK)13cにはクロック信号(CLK)が入力される。
第三のフリップフロップ23は、クロック信号(CLK)の立上りまたは立下りにおいて、二つの演算終了信号(S3)の両方が活性化されている(例えば、ハイレベルである)とき、データ入力端子(D)23aから第一のフリップフロップ11の出力データ(Dm)を取り込む。第三のフリップフロップ13は、出力バッファを構成し、データ出力端子(DO)23dからデータ(Dout)を出力する。
判定回路25は第二のフリップフロップ22の出力(RM)と「0」とを比較する比較回路を備え、ラウンド数が所定値(最大値)に達したかどうかを判定する回路である。判定回路25は、ラウンド数が所定値に達した場合、演算終了信号(S3)を活性化する。
第三のフリップフロップ23は、二つの判定回路15の出力である演算終了信号(S3)が一致する場合は、演算結果(Dm)を取り込む。二つの演算終了信号(S3)が一致しない場合、第三のフリップフロップ23は、演算結果(Dm)を取り込まない。これにより、第二実施例における比較回路26は不要になる。
フォルトインジェクション攻撃により第二のフリップフロップ22または判定回路25の出力が変化した場合、二つの判定回路25の出力は一致しない可能性がより高くなる。二つの出力が一致しないことを検出することにより、第三のフリップフロップ13から演算結果が出力させれず、ラウンド削減を抑制し得る。
第五実施例における暗号IPコアについて図6を用いて説明する。図6は第五実施例における暗号IPコアの構成を示すブロック図である。
第五実施例における暗号IPコア10は、第三実施例と同様に、上記(A)と上記(B)と上記(C)の回路を二重化する構成である。ただし、第五実施例における暗号コアIP10は、第三実施例における暗号IPコアの第二のフリップフロップ12を第四実施例の第二のフリップフロップ22に代え、判定回路15を第四実施例の判定回路25に代えるものである。
フォルトインジェクション攻撃により第二のフリップフロップ22または判定回路25または第三のフリップフロップ13の出力が変化した場合、二つの第三のフリップフロップ13の出力は一致しない可能性がより高くなる。二つの出力が一致しないことを検出することにより、第三のフリップフロップ13から演算結果が出力させれず、ラウンド削減を抑制し得る。
なお、第一実施例における暗号IPコア10において、第二のフリップフロップ12を第四実施例の第二のフリップフロップ22に代える構成の暗号IPコアであってもよい。また、第二実施例における暗号IPコア10において、第二のフリップフロップ12を第四実施例の第二のフリップフロップ22に代え、判定回路15を第四実施例の判定回路25に代える構成の暗号IPコアであってもよい。また、第三実施例における暗号IPコア10において、第二のフリップフロップ12を第四実施例の第二のフリップフロップ22に代え、判定回路15を第四実施例の判定回路25に代える構成の暗号IPコアであってもよい。また、第四実施例における暗号IPコア10において、第二のフリップフロップ22を第二実施例の第二のフリップフロップ12に代え、判定回路25を第二実施例の判定回路15に代える構成の暗号IPコアであってもよい。
以上、本開示者によってなされた開示を実施形態および実施例に基づき具体的に説明したが、本開示は上記実施形態および実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、実施形態および実施例ではAESを例に説明したが、所定ループ繰り返す演算を行う暗号アルゴリズム、例えば、SHAにも適用できる。
12 第二のフリップフロップ(保持回路)
13 第三のフリップフロップ(出力バッファ回路)
14 ラウンド関数回路(演算回路)
15 判定回路

Claims (7)

  1. 暗号処理に関する演算を所定ラウンド数繰り返す演算回路と、
    前記演算回路の演算のラウンド数に関するデータを保持する保持回路と、
    前記ラウンド数が前記所定ラウンド数かどうかを判定する判定回路と、
    前記ラウンド数が前記所定ラウンド数であると前記判定回路が判定したとき、前記演算回路の演算結果データを出力する出力バッファ回路と、
    を備え、
    前記保持回路および前記判定回路を二重化し、
    二重化された前記判定回路の二つの出力が一致しないとき、前記演算結果データを出力しないよう構成される半導体装置。
  2. 暗号処理に関する演算を所定ラウンド数繰り返す演算回路と、
    前記演算回路の演算のラウンド数に関するデータを保持する保持回路と、
    前記ラウンド数が前記所定ラウンド数かどうかを判定する判定回路と、
    前記ラウンド数が前記所定ラウンド数であると前記判定回路が判定したとき、前記演算回路の演算結果データを出力する出力バッファ回路と、
    を備え、
    前記保持回路、前記判定回路および前記出力バッファ回路を二重化し、
    二重化された前記出力バッファ回路の二つの出力が一致しないとき、前記演算結果データを出力しないよう構成される半導体装置。
  3. 請求項の半導体装置において、
    前記出力バッファ回路は、第一のイネーブル入力端子と第二のイネーブル入力端子とを有するフリップフロップ回路で構成され、
    二重化された前記判定回路の一つの出力は前記第一のイネーブル入力端子に入力され、二重化された前記判定回路のもう一つの出力は前記第二のイネーブル入力端子に入力され、
    前記出力バッファ回路は、前記第一のイネーブル入力端子および前記第一のイネーブル入力端子のイネーブル条件が成立したとき、前記演算結果データを取り込むよう構成される半導体装置。
  4. 請求項1からの何れか1項の半導体装置において、
    前記保持回路はインクリメント回路またはデクリメント回路を有する半導体装置。
  5. 請求項の半導体装置において、
    二重化された前記判定回路の二つの出力を比較する比較回路を備える半導体装置。
  6. 請求項の半導体装置において、
    二重化された前記出力バッファ回路の二つの出力を比較する比較回路を備える半導体装置。
  7. 請求項1または2の半導体装置において、
    さらに、前記演算回路の中間演算結果を保持する中間値保持回路を備え、
    前記中間値保持回路は前記演算結果データを出力するよう構成される半導体装置。
JP2021186709A 2021-11-16 2021-11-16 半導体装置 Active JP7680941B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021186709A JP7680941B2 (ja) 2021-11-16 2021-11-16 半導体装置
KR1020220150203A KR20230071738A (ko) 2021-11-16 2022-11-11 반도체 장치
US18/054,978 US12095461B2 (en) 2021-11-16 2022-11-14 Semiconductor device
CN202211428015.9A CN116136914A (zh) 2021-11-16 2022-11-15 半导体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021186709A JP7680941B2 (ja) 2021-11-16 2021-11-16 半導体装置

Publications (2)

Publication Number Publication Date
JP2023073928A JP2023073928A (ja) 2023-05-26
JP7680941B2 true JP7680941B2 (ja) 2025-05-21

Family

ID=86323090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021186709A Active JP7680941B2 (ja) 2021-11-16 2021-11-16 半導体装置

Country Status (4)

Country Link
US (1) US12095461B2 (ja)
JP (1) JP7680941B2 (ja)
KR (1) KR20230071738A (ja)
CN (1) CN116136914A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN121241470A (zh) 2023-06-02 2025-12-30 株式会社Lg新能源 用于防止腐蚀的印刷方法和使用该方法制造的电池电芯
JP2025050390A (ja) 2023-09-22 2025-04-04 ルネサスエレクトロニクス株式会社 故障検出回路、半導体装置、及び、故障検出方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012060615A (ja) 2010-09-13 2012-03-22 Toshiba Corp 携帯可能電子装置、及び携帯可能電子装置の制御方法
US20200112425A1 (en) 2018-10-09 2020-04-09 Maxim Integrated Products, Inc. Fault attack resistant cryptographic systems and methods

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69626596T2 (de) * 1995-10-20 2003-12-18 Kabushiki Kaisha Toshiba, Kawasaki Logische Schaltung, die nach dem Carry select Prinzip arbeitet
JP6373690B2 (ja) * 2014-09-05 2018-08-15 ルネサスエレクトロニクス株式会社 半導体装置
GB2537942B (en) * 2015-05-01 2017-06-14 Imagination Tech Ltd Fault tolerant processor for real-time systems
JP5981006B1 (ja) 2015-09-14 2016-08-31 株式会社コロプラ 視線誘導のためのコンピュータ・プログラム
US20210141697A1 (en) * 2018-03-06 2021-05-13 DinoplusAI Holdings Limited Mission-Critical AI Processor with Multi-Layer Fault Tolerance Support
JP6729825B1 (ja) * 2020-02-04 2020-07-22 オムロン株式会社 情報処理装置、制御方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012060615A (ja) 2010-09-13 2012-03-22 Toshiba Corp 携帯可能電子装置、及び携帯可能電子装置の制御方法
US20200112425A1 (en) 2018-10-09 2020-04-09 Maxim Integrated Products, Inc. Fault attack resistant cryptographic systems and methods

Also Published As

Publication number Publication date
CN116136914A (zh) 2023-05-19
US12095461B2 (en) 2024-09-17
KR20230071738A (ko) 2023-05-23
US20230155592A1 (en) 2023-05-18
JP2023073928A (ja) 2023-05-26

Similar Documents

Publication Publication Date Title
JP7680941B2 (ja) 半導体装置
Yoshida et al. Analysis of a SHA-256 variant
JP4961909B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US8848917B2 (en) Verification of the integrity of a ciphering key
US20130129088A1 (en) Method and system for generating unpredictable pseudo-random numbers
US9722805B2 (en) Integrated security device and signal processing method used for an integrated security device
ES2409458B1 (es) Método y sistema para mejorar la sincronización de cifrados de flujo
US9680637B2 (en) Secure hashing device using multiple different SHA variants and related methods
EP1553490A2 (en) Cryptographic apparatus, cryptographic method, and storage medium thereof
Paar et al. Stream ciphers
CN1592190B (zh) 硬件加密引擎和加密方法
WO2009142190A1 (ja) 誤り検出機能を備える符号化又は復号処理のための回路構成
CN101944991B (zh) 一种使用对称密钥进行数据加密的加密方法
KR19990053174A (ko) 해쉬함수를 이용한 정보의 무결성 확인방법
Courtois On multiple symmetric fixed points in GOST
US8750497B2 (en) Cryptographic device for implementing S-box
Swayamprakash et al. Design of Advanced Encryption Standard using Verilog HDL
Oishi et al. Short paper: enhancing Wi-Fi security using a hybrid algorithm of blowfish and RC6
KR101373576B1 (ko) Des 암호화 시스템
Joux et al. Loosening the KNOT
Sudharshan et al. Enhancing AES Security and Performance: A Novel 8-bit Architecture with Unique Key Expansion for IoT Applications
Zigiotto et al. A low-cost FPGA implementation of the Advanced Encryption Standard algorithm
Courtois Cryptanalysis of gost in the multiple-key scenario
Park et al. On the security of reduced versions of 3-pass HAVAL
US11177936B2 (en) Message authenticator generation apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250415

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250509

R150 Certificate of patent or registration of utility model

Ref document number: 7680941

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150