JP7477486B2 - DESIGN APPARATUS, OPERATION CIRCUIT, DESIGN METHOD, AND DESIGN PROGRAM - Google Patents
DESIGN APPARATUS, OPERATION CIRCUIT, DESIGN METHOD, AND DESIGN PROGRAM Download PDFInfo
- Publication number
- JP7477486B2 JP7477486B2 JP2021142126A JP2021142126A JP7477486B2 JP 7477486 B2 JP7477486 B2 JP 7477486B2 JP 2021142126 A JP2021142126 A JP 2021142126A JP 2021142126 A JP2021142126 A JP 2021142126A JP 7477486 B2 JP7477486 B2 JP 7477486B2
- Authority
- JP
- Japan
- Prior art keywords
- critical path
- processes
- delay
- registers
- register
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/10—Buffer insertion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
本発明は、暗号処理の高速実行のためのハードウェア実装方法に関する。 The present invention relates to a hardware implementation method for high-speed execution of cryptographic processing.
従来、所定の処理手順を実行するための演算回路に実装された各演算は、入力及び出力にレジスタが設けられ、入力側のレジスタから受け取ったデータによる演算結果が出力側のレジスタに格納される。このようなレジスタ間で実行される演算(パス)に対して、演算回路のクロック周期が短いと、演算結果がレジスタに格納されることなく破棄されてしまう。
したがって、処理性能を向上させるために動作周波数を高くする場合、クリティカルパスの遅延(演算時間)を抑制する必要があった。
Conventionally, in each operation implemented in an arithmetic circuit for executing a predetermined processing procedure, registers are provided at the input and output, and the operation result based on the data received from the input register is stored in the output register. If the clock period of the arithmetic circuit is short for such an operation (path) executed between registers, the operation result is discarded without being stored in the register.
Therefore, when the operating frequency is increased to improve processing performance, it is necessary to suppress the delay (computation time) of the critical path.
そこで、例えば、特許文献1では、ハードウェア量を抑制してクリティカルパスの遅延を抑制する加減算器が提案されている。また、特許文献2では、2進数の複数のビットを順次X進数に変換していく処理において、クリティカルパスの遅延が小さい演算回路が提案されている。 For example, Patent Document 1 proposes an adder-subtractor that reduces the amount of hardware required to reduce delays in the critical path. Patent Document 2 proposes an arithmetic circuit that reduces delays in the critical path in a process of sequentially converting multiple bits of a binary number into an X-ary number.
しかしながら、従来技術は、加減算又は基数変換といった特定の処理におけるクリティカルパスの遅延を低減することを目的とし、例えば任意の暗号処理の性能向上に利用することはできなかった。 However, the conventional technology was intended to reduce delays in the critical path in specific processes such as addition/subtraction or base conversion, and could not be used to improve the performance of any cryptographic process, for example.
本発明は、任意の処理のハードウェア実装においてスループットを向上できる設計装置、演算回路、設計方法及び設計プログラムを提供することを目的とする。 The present invention aims to provide a design device, an arithmetic circuit, a design method, and a design program that can improve throughput in the hardware implementation of any process.
本発明に係る演算回路の設計装置は、順次実行される複数の処理のうち、遅延が最大の処理をクリティカルパスとして選択するクリティカルパス選択部と、前記複数の処理のいずれかの間にレジスタを挿入し、レジスタ間の処理の遅延を前記クリティカルパス以下に調整するレジスタ挿入部と、を備え、前記レジスタ挿入部は、レジスタ間の処理の遅延が全て前記クリティカルパス以下となる条件を満たす最小数のレジスタを挿入する。 The design device for an arithmetic circuit according to the present invention includes a critical path selection unit that selects, from among multiple processes executed in sequence, the process with the longest delay as the critical path, and a register insertion unit that inserts a register between any of the multiple processes and adjusts the delay of the process between the registers to be equal to or less than the critical path, and the register insertion unit inserts the minimum number of registers that satisfy the condition that all delays of the process between the registers are equal to or less than the critical path.
前記クリティカルパス選択部は、並列可能な処理手順が複数存在する場合、当該複数の処理手順に含まれる全ての処理のうち、遅延が最大の処理を前記クリティカルパスとして選択し、前記レジスタ挿入部は、前記複数の処理手順それぞれについて、レジスタ間の処理の遅延を前記クリティカルパス以下に調整してもよい。 When there are multiple processing procedures that can be performed in parallel, the critical path selection unit may select, as the critical path, the processing procedure with the longest delay among all the processing procedures included in the multiple processing procedures, and the register insertion unit may adjust the processing delay between registers for each of the multiple processing procedures to be equal to or less than the critical path.
前記レジスタ挿入部は、前記複数の処理のうち、実行順の先頭から遅延の合計がTを超えない最大数を選択し、直後にレジスタを挿入することを繰り返してもよい。 The register insertion unit may select the maximum number of processes from the beginning of the execution order whose total delay does not exceed T, and repeatedly insert a register immediately after the selection.
本発明に係る演算回路は、順次実行される複数の処理のいずれかの間にレジスタを備え、前記レジスタは、遅延が最大の処理をクリティカルパスとし、前記レジスタ間の処理の遅延が全て前記クリティカルパス以下となる条件を満たす最小数だけ設けられる。 The arithmetic circuit according to the present invention includes a register between any of a number of processes executed in sequence, and the registers are provided in the minimum number that satisfies the condition that the process with the greatest delay is the critical path, and all process delays between the registers are equal to or less than the critical path.
本発明に係る演算回路の設計方法は、順次実行される複数の処理のうち、遅延が最大の処理をクリティカルパスとして選択するクリティカルパス選択ステップと、前記複数の処理のいずれかの間にレジスタを挿入し、レジスタ間の処理の遅延を前記クリティカルパス以下に調整するレジスタ挿入ステップと、をコンピュータが実行し、前記レジスタ挿入ステップにおいて、レジスタ間の処理の遅延が全て前記クリティカルパス以下となる条件を満たす最小数のレジスタを挿入する。 The design method of the arithmetic circuit according to the present invention is carried out by a computer to execute a critical path selection step of selecting, from among a number of processes executed in sequence, the process with the longest delay as the critical path, and a register insertion step of inserting a register between any of the plurality of processes to adjust the delay of the process between the registers to be equal to or less than the critical path, and in the register insertion step, the minimum number of registers are inserted that satisfy the condition that all delays of the process between the registers are equal to or less than the critical path.
本発明に係る演算回路の設計プログラムは、前記設計装置としてコンピュータを機能させるためのものである。 The arithmetic circuit design program of the present invention is intended to cause a computer to function as the design device.
本発明によれば、任意の処理のハードウェア実装においてスループットを向上できる。 The present invention can improve throughput in hardware implementation of any process.
以下、本発明の実施形態の一例について説明する。
本実施形態の演算回路は、暗号処理等の任意の処理の性能向上を対象とし、スループットを向上させたハードウェア実装が実現されたものである。
An example of an embodiment of the present invention will now be described.
The arithmetic circuit of this embodiment is a hardware implementation that improves throughput, with the aim of improving the performance of any process such as cryptographic processing.
暗号処理をハードウェア実装する際に、スループットを向上させる方法としては、処理の途中にレジスタを挿入する方法がある。レジスタの挿入により、クリティカルパスが解消するため、動作周波数を高めることで、スループットが向上する。
一方で、レジスタを過剰に挿入すると、処理が完了するまでのクロック数が増加するため、スループットの低下につながる。そこで、本実施形態では、暗号処理のハードウェア実装に際し、クリティカルパスの遅延時間に基づきレジスタの挿入位置を決定し、スループットを最適化する手法を示す。
When implementing cryptographic processing in hardware, one method for improving throughput is to insert a register into the middle of the processing. Inserting a register eliminates the critical path, and therefore increases the operating frequency, thereby improving throughput.
On the other hand, inserting an excessive number of registers increases the number of clocks required to complete processing, leading to a decrease in throughput. Therefore, in this embodiment, a method is shown for optimizing throughput by determining the position to insert a register based on the delay time of the critical path when implementing cryptographic processing in hardware.
図1は、本実施形態における設計装置1の機能構成を示す図である。
設計装置1は、制御部10及び記憶部20の他、各種の入出力インタフェース等を備えた情報処理装置(コンピュータ)である。
FIG. 1 is a diagram showing the functional configuration of a design apparatus 1 according to this embodiment.
The design apparatus 1 is an information processing apparatus (computer) including a
制御部10は、設計装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
The
記憶部20は、ハードウェア群を設計装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。
具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(設計プログラム)等を記憶する。
The
Specifically, the
制御部10は、クリティカルパス選択部11と、レジスタ挿入部12とを備え、これらの機能部により、演算回路の適切な箇所にレジスタを適切な数だけ挿入し、スループットを最適化する。
The
クリティカルパス選択部11は、順次実行される複数の処理のうち、遅延が最大の処理をクリティカルパスとして選択する。
このとき、クリティカルパス選択部11は、並列可能な処理手順が複数存在する場合に、これら複数の処理手順に含まれる全ての処理のうち、遅延が最大の処理をクリティカルパスとして選択する。
The critical
At this time, when there are a plurality of processing procedures that can be executed in parallel, the critical
レジスタ挿入部12は、順次実行される複数の処理のいずれかの間にレジスタを挿入し、レジスタ間の処理による遅延をクリティカルパス以下に調整する。
このとき、レジスタ挿入部12は、1つ又は複数存在する処理手順のそれぞれについて、レジスタ間の処理の遅延が全てクリティカルパス以下となる条件を満たす最小数のレジスタを挿入する。
The
At this time, the
図2は、本実施形態における、暗号処理のハードウェア実装の設計手順を例示するフローチャートである。
暗号処理のハードウェア実装において、異なる回路により並列して実行できる処理をA,Bとする。なお、並列可能な処理が3つ以上存在する場合も同様であるため、ここでは、一般性を失わずに、並列化可能な処理は2つとして説明する。
FIG. 2 is a flowchart illustrating a design procedure for hardware implementation of cryptographic processing in this embodiment.
In hardware implementation of cryptographic processing, processes that can be executed in parallel by different circuits are designated as A and B. Note that the same applies when there are three or more processes that can be executed in parallel, so here, without loss of generality, the description will be given assuming that there are two processes that can be executed in parallel.
また、処理Aを順次実行される処理に分割したものを、a1,a2,…,amとする。例えば、AをAES(Advanced Encryption Standard)のラウンド関数とした場合、SubBytes,ShiftRows,MixColumns,AddRoundKeyの処理を、それぞれa1,a2,a3,a4とすることができる。あるいは、それぞれの処理をさらに細分化することも可能である。
処理Bについても同様に、順次実行されるb1,b2,…,bnに分割される。
Moreover, the process A is divided into processes that are executed sequentially, and these processes are designated as a1 , a2 , ..., am . For example, if A is the round function of AES (Advanced Encryption Standard), the processes of SubBytes, ShiftRows, MixColumns, and AddRoundKey can be designated as a1 , a2 , a3 , and a4 , respectively. Alternatively, each process can be further subdivided.
Similarly, process B is divided into b 1 , b 2 , . . . , b n which are executed in sequence.
ここで、設計装置1は、次のアルゴリズムに従い、レジスタの挿入位置を決定する。
なお、t(ai)は、処理aiにおける遅延(aiの処理時間)を意味する。
Here, the design device 1 determines the position to insert the register according to the following algorithm.
Here, t(a i ) means the delay in processing a i (the processing time of a i ).
ステップS1において、クリティカルパス選択部11は、処理a1,a2,…,am及び処理b1,b2,…,bnの中から、最も遅延の大きいものを選択する。処理amaxが選ばれたこととすると、T=t(amax)が暗号処理のハードウェア実装におけるクリティカルパスとなる。
In step S1, the critical
ステップS2において、レジスタ挿入部12は、t(a1)+t(a2)+…+t(am)がT以下か否かを判定する。この判定がYESの場合、処理Aに対するレジスタ挿入を完了して処理はステップS5に移る。一方、判定がNOの場合、処理はステップS3に移る。
In step S2, the
ステップS3において、レジスタ挿入部12は、t(a1)+t(a2)+…+t(ai)≦T、かつ、t(a1)+t(a2)+…+t(ai+1)>T、となるiを探索し、処理aiと処理ai+1との間にレジスタを挿入して、レジスタ間の処理a1~aiの遅延をクリティカルパスT以下とする。
In step S3, the
ステップS4において、レジスタ挿入部12は、ステップS3でレジスタを挿入した以降の処理ai+1~amをa1~amと読み替え、処理はステップS2に移る。
In step S4, the
ステップS5において、レジスタ挿入部12は、処理Bに対しても、処理Aと同様に、ステップS2~S4と同様の手順を実行し、処理Bに対するレジスタ挿入を完了する。
ここで、並列処理が3つ以上の場合、ステップS2~S4の手順が繰り返し実行される。
In step S5, the
If there are three or more parallel processes, steps S2 to S4 are repeatedly executed.
なお、このアルゴリズムは一例であり、レジスタ間の処理による遅延が全てクリティカルパス以下となる条件を満たす、最小数のレジスタを挿入するための手順であればよい。 Note that this algorithm is just one example, and any procedure can be used to insert the minimum number of registers that satisfies the condition that all delays due to processing between registers are below the critical path.
本実施形態によれば、設計装置1は、順次実行される複数の処理のうち、遅延が最大の処理をクリティカルパスとして選択し、これら複数の処理のいずれかの間にレジスタを挿入することで、レジスタ間の処理の遅延をクリティカルパス以下に調整する。このとき、設計装置1は、レジスタ間の処理の遅延が全てクリティカルパス以下となる条件を満たす最小数のレジスタを挿入する。
したがって、設計装置1は、クリティカルパスを解消し、かつ、レジスタ数の増加によるクロック数の増加を抑制できるので、演算回路の動作周波数を上げることでスループットを向上できる。
According to this embodiment, the design device 1 selects the process with the longest delay as the critical path from among multiple processes executed in sequence, and adjusts the delay of the process between the registers to be equal to or less than the critical path by inserting registers between any of the multiple processes. At this time, the design device 1 inserts the minimum number of registers that satisfy the condition that all delays of the processes between the registers are equal to or less than the critical path.
Therefore, the design apparatus 1 can eliminate the critical path and suppress an increase in the number of clocks due to an increase in the number of registers, thereby improving throughput by increasing the operating frequency of the arithmetic circuit.
これにより、本実施形態は、例えば、ストリーム暗号やFeistel型の共通鍵暗号など、様々な暗号処理のハードウェア実装に適用できる。特に、Beyond5G/6Gへの適用を目的としたストリーム暗号においては、ソフトウェア実装におけるスループットを向上するため、AESのラウンド関数とARX構造(AND,OR,XOR)とを組み合わせた状態更新関数が採用されている。状態更新関数の経路それぞれにおいて、複数の演算が順次実行される場合、最小限のレジスタの挿入により、ハードウェア実装のスループットも向上する。
なお、本実施形態の適用対象は暗号処理には限られない。
As a result, this embodiment can be applied to hardware implementation of various encryption processes, such as stream encryption and Feistel-type common key encryption. In particular, in stream encryption intended for application to Beyond 5G/6G, a state update function that combines the AES round function and an ARX structure (AND, OR, XOR) is adopted to improve the throughput in software implementation. When multiple operations are executed sequentially in each path of the state update function, the throughput of the hardware implementation is also improved by inserting a minimum number of registers.
The application of this embodiment is not limited to encryption processing.
また、設計装置1は、並列可能な処理手順が複数存在する場合、これら複数の処理手順に含まれる全ての処理のうち、遅延が最大の処理をクリティカルパスとして選択し、複数の処理手順それぞれについて、レジスタ間の処理の遅延をクリティカルパス以下に調整する。
したがって、設計装置1は、並列処理可能な複数の処理手順全てについて、遅延を最小限に抑え、スループットを向上できる。
In addition, when there are multiple processing procedures that can be performed in parallel, the design device 1 selects the processing procedure with the longest delay from all the processing procedures included in these multiple processing procedures as the critical path, and adjusts the processing delay between registers for each of the multiple processing procedures to be equal to or less than the critical path.
Therefore, the design apparatus 1 can minimize delays and improve throughput for all of a plurality of processing procedures that can be processed in parallel.
なお、前述の実施形態により、例えば、暗号処理のハードウェア実装においてスループットを向上できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。 The above-mentioned embodiment can improve throughput in hardware implementations of cryptographic processing, which can contribute to the achievement of Goal 9 of the United Nations-led Sustainable Development Goals (SDGs), which is to "build resilient infrastructure, promote sustainable industrialization and foster innovation."
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments. Furthermore, the effects described in the above-described embodiments are merely a list of the most favorable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the embodiments.
設計装置1による設計方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。 The design method using the design device 1 is realized by software. When realized by software, the programs that make up this software are installed in an information processing device (computer). These programs may be recorded on removable media such as CD-ROMs and distributed to users, or may be distributed by being downloaded to the user's computer via a network. Furthermore, these programs may be provided to the user's computer as a web service via a network without being downloaded.
1 設計装置
10 制御部
11 クリティカルパス選択部
12 レジスタ挿入部
20 記憶部
REFERENCE SIGNS LIST 1
Claims (6)
連続する処理と処理との間のいずれかにレジスタを挿入し、レジスタ間の一つ以上の処理による合計の遅延を前記クリティカルパスの遅延以下に調整するレジスタ挿入部と、を備え、
前記レジスタ挿入部は、全てのレジスタ間において前記合計の遅延が前記クリティカルパスの遅延以下となる条件を満たす最小数のレジスタを挿入する演算回路の設計装置。 a critical path selection unit that selects, from among a plurality of processes that are executed sequentially, one process having the maximum delay as a critical path;
a register insertion unit that inserts a register between successive processes and adjusts a total delay due to one or more processes between the registers to be equal to or less than a delay of the critical path,
The register insertion unit is an apparatus for designing an arithmetic circuit that inserts a minimum number of registers that satisfies a condition that the total delay between all registers is equal to or less than the delay of the critical path.
前記レジスタ挿入部は、前記複数の処理手順それぞれについて、レジスタ間の一つ以上の処理による合計の遅延を前記クリティカルパスの遅延以下に調整する請求項1に記載の設計装置。 the critical path selection unit, when there are a plurality of processing procedures that can be executed in parallel, selects, as the critical path , one processing procedure having a maximum delay among all processing procedures included in the plurality of processing procedures;
2 . The design device according to claim 1 , wherein the register insertion unit adjusts a total delay due to one or more processes between registers for each of the plurality of processing procedures to be equal to or less than a delay of the critical path.
前記レジスタは、順次実行される複数の処理のうち、遅延が最大である一つの処理をクリティカルパスとし、レジスタ間の一つ以上の処理による合計の遅延が全て前記クリティカルパスの遅延以下となる条件を満たす最小数だけ設けられた演算回路。 A register is provided between successive processes ,
The registers are provided in a minimum number of arithmetic circuits that satisfy the condition that the critical path is one of multiple processes that are executed sequentially and that the total delay due to one or more processes between the registers is all less than the delay of the critical path.
連続する処理と処理との間のいずれかにレジスタを挿入し、レジスタ間の一つ以上の処理による合計の遅延を前記クリティカルパスの遅延以下に調整するレジスタ挿入ステップと、をコンピュータが実行し、
前記レジスタ挿入ステップにおいて、全てのレジスタ間において前記合計の遅延が前記クリティカルパスの遅延以下となる条件を満たす最小数のレジスタを挿入する演算回路の設計方法。 a critical path selection step of selecting, as a critical path, one process having the maximum delay among a plurality of processes executed sequentially;
a register insertion step of inserting a register between successive processes and adjusting a total delay due to one or more processes between the registers to be equal to or less than the delay of the critical path,
A method for designing an arithmetic circuit, comprising inserting a minimum number of registers that satisfies a condition that the total delay between all registers is equal to or less than the delay of the critical path, in the register insertion step.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021142126A JP7477486B2 (en) | 2021-09-01 | 2021-09-01 | DESIGN APPARATUS, OPERATION CIRCUIT, DESIGN METHOD, AND DESIGN PROGRAM |
| PCT/JP2022/031506 WO2023032727A1 (en) | 2021-09-01 | 2022-08-22 | Design device, arithmetic circuit, design method, and design program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021142126A JP7477486B2 (en) | 2021-09-01 | 2021-09-01 | DESIGN APPARATUS, OPERATION CIRCUIT, DESIGN METHOD, AND DESIGN PROGRAM |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023035342A JP2023035342A (en) | 2023-03-13 |
| JP7477486B2 true JP7477486B2 (en) | 2024-05-01 |
Family
ID=85412520
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021142126A Active JP7477486B2 (en) | 2021-09-01 | 2021-09-01 | DESIGN APPARATUS, OPERATION CIRCUIT, DESIGN METHOD, AND DESIGN PROGRAM |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7477486B2 (en) |
| WO (1) | WO2023032727A1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000194738A (en) | 1998-12-28 | 2000-07-14 | Matsushita Electric Ind Co Ltd | Logic circuit timing analyzer |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2630258B2 (en) * | 1994-06-03 | 1997-07-16 | 日本電気株式会社 | Delay optimization method and logic synthesizer |
| JPH09102547A (en) * | 1995-10-06 | 1997-04-15 | Matsushita Electric Ind Co Ltd | Circuit division method |
-
2021
- 2021-09-01 JP JP2021142126A patent/JP7477486B2/en active Active
-
2022
- 2022-08-22 WO PCT/JP2022/031506 patent/WO2023032727A1/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000194738A (en) | 1998-12-28 | 2000-07-14 | Matsushita Electric Ind Co Ltd | Logic circuit timing analyzer |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023032727A1 (en) | 2023-03-09 |
| JP2023035342A (en) | 2023-03-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Dang et al. | Implementing and benchmarking three lattice-based post-quantum cryptography algorithms using software/hardware codesign | |
| EP2228941A1 (en) | Encryption processing apparatus | |
| WO2020219107A1 (en) | Optimizing hardware fifo instructions | |
| JP2006018413A (en) | Processor and pipeline reconfiguration control method | |
| KR20230131255A (en) | Computation system including test circuit, test method and test circuit | |
| Carril et al. | Hardware acceleration for high-volume operations of CRYSTALS-kyber and CRYSTALS-dilithium | |
| JP7477486B2 (en) | DESIGN APPARATUS, OPERATION CIRCUIT, DESIGN METHOD, AND DESIGN PROGRAM | |
| JP2005100085A (en) | Arithmetic device and encryption / decryption arithmetic device | |
| Michail et al. | Area-throughput trade-offs for SHA-1 and SHA-256 hash functions’ pipelined designs | |
| Lee et al. | Iteration bound analysis and throughput optimum architecture of SHA-256 (384,512) for hardware implementations | |
| Fritzmann et al. | Post-quantum key exchange mechanism for safety critical systems | |
| KR100730280B1 (en) | Apparatus and Method for Optimizing Loop Buffer in Reconstruction Processor | |
| JP2016122299A (en) | State machine dividing program, information processing apparatus, and state machine dividing method | |
| JP2015095786A (en) | Logic circuit, logic circuit design support apparatus, logic circuit design support method, and program | |
| Canright et al. | A more compact AES | |
| Bailey et al. | The certicom challenges ECC2-X | |
| JP4567753B2 (en) | Parity generation circuit, counting circuit, and counting method | |
| JP4853026B2 (en) | Information processing apparatus and program | |
| Sugier | Optimizing the pipelined DES cracker implemented in contemporary popular-grade FPGA devices | |
| KR102950380B1 (en) | Method for increasing hash rate and hash computing circuit adopting the same | |
| JP7572922B2 (en) | Encryption device, encryption method, and encryption program | |
| Mancillas-López et al. | Efficient implementations of some tweakable enciphering schemes in reconfigurable hardware | |
| WO2019239820A1 (en) | Parameter optimization device, method and program | |
| Lee et al. | Hardware design for Hash functions | |
| Bilgili et al. | System on Chip Design with Vivado High-Level Synthesis Tool |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230720 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240213 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240321 |
|
| 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: 20240402 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240418 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7477486 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |