JP7402191B2 - 乗算装置、乗算方法及び乗算プログラム - Google Patents

乗算装置、乗算方法及び乗算プログラム Download PDF

Info

Publication number
JP7402191B2
JP7402191B2 JP2021033600A JP2021033600A JP7402191B2 JP 7402191 B2 JP7402191 B2 JP 7402191B2 JP 2021033600 A JP2021033600 A JP 2021033600A JP 2021033600 A JP2021033600 A JP 2021033600A JP 7402191 B2 JP7402191 B2 JP 7402191B2
Authority
JP
Japan
Prior art keywords
multiplication
value
mask
integers
values
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
JP2021033600A
Other languages
English (en)
Other versions
JP2022134466A (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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2021033600A priority Critical patent/JP7402191B2/ja
Publication of JP2022134466A publication Critical patent/JP2022134466A/ja
Application granted granted Critical
Publication of JP7402191B2 publication Critical patent/JP7402191B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、サイドチャネル攻撃への対策を施した演算装置に関する。
従来、多倍長乗算において、乗算の回数を4分の3にするアルゴリズムとして、Karatsuba法が知られている(例えば、非特許文献1参照)。Karatsuba法を再帰的に適用することで、従来はO(n)であった乗算の計算量をO(n^log3)に削減できる。
また、Karatsuba法を一般化したToom-Cook法も知られている(例えば、非特許文献2参照)。Toom-Cook法は、Karatsuba法の計算量をさらに削減し、乗算の計算量をO(n^log5)とできる。Toom-Cook法を活用することで、耐量子公開鍵暗号方式及び現行の公開鍵暗号方式の暗号化及び復号化処理において大部分を占める乗算処理が高速化される。
現行の公開鍵暗号方式及び耐量子公開鍵暗号方式のアルゴリズムにおいては、鍵値と既知の値との乗算が行われる。このため、暗号方式のハードウェア実装において、乗算処理の消費電力を測定して乗算結果を推定するサイドチャネル攻撃により、鍵値が漏洩する可能性がある。この対策として、Karatsuba法に対しては、乱数によるマスキングを行い、サイドチャネル攻撃を防止する手法が提案されている(例えば、非特許文献3参照)。
A. Karatsuba and Y. Ofman, "Multiplication of many-digital numbers by automatic computers," Doklady Akad. Nauk SSSR, vol. 145, pp. 293-294, 1962. Translation in Physics-Doklady, no. 7, pp. 595-596, 1963. M. Bodrato, and A. Zanoni, "Integer and Polynomial Multiplication: Towards Optimal Toom-Cook Matrices," Proceedings of the ISSAC 2007 Conference. ACM press, New York (2007). C. Rebeiro and D. Mukhopadhyay, "Hybrid Masked Karatsuba Multiplier for GF(2233)," Proceedings of the 11th IEEE VLSI Design And Test Symposium, pp 379-387, August 8-11, 2007.
しかしながら、Karatsuba法を一般化した、より高速な乗算アルゴリズムであるToom-Cook法に対しては、従来のマスキングによる対策手法は適用できず、サイドチャネル攻撃への有効な対策手法がなかった。
本発明は、サイドチャネル攻撃を防ぎつつ、高速に乗算を実行できる乗算装置、乗算方法及び乗算プログラムを提供することを目的とする。
本発明に係る乗算装置は、2つの整数を、それぞれ所定の法で分割して多項式で表現する多項式化部と、前記多項式それぞれに対して、複数の標本点の値を算出する標本点算出部と、前記標本点のそれぞれに対して、ランダムなマスク値を生成するマスク値生成部と、前記マスク値を加算することによりマスクされた標本点を用いて、前記2つの整数の乗算値を表現する多項式の係数を決定し、前記法を代入することにより、マスクされた乗算値を算出する乗算処理部と、前記標本点の値及び前記マスク値に基づいて、前記乗算処理部による演算結果に含まれる前記マスク値の累積値を算出する累積マスク演算部と、前記乗算処理部による演算結果から前記累積値を減算することでマスクを解除し、前記2つの整数の乗算値を算出するマスク解除部と、を備える。
前記多項式化部は、前記2つの整数を、それぞれ変数xの1次式で表現し、前記標本点算出部は、前記変数xが-1,0,1の場合の標本点の値をそれぞれ算出してもよい。
前記乗算処理部は、処理途中の演算において、乗算対象の整数を1次式に分割するToom-Cook法を再帰的に繰り返してもよい。
本発明に係る乗算方法は、2つの整数を、それぞれ所定の法で分割して多項式で表現する多項式化ステップと、前記多項式それぞれに対して、複数の標本点の値を算出する標本点算出ステップと、前記標本点のそれぞれに対して、ランダムなマスク値を生成するマスク値生成ステップと、前記マスク値を加算することによりマスクされた標本点を用いて、前記2つの整数の乗算値を表現する多項式の係数を決定し、前記法を代入することにより、マスクされた乗算値を算出する乗算処理ステップと、前記標本点の値及び前記マスク値に基づいて、前記乗算処理ステップにおける演算結果に含まれる前記マスク値の累積値を算出する累積マスク演算ステップと、前記乗算処理ステップにおける演算結果から前記累積値を減算することでマスクを解除し、前記2つの整数の乗算値を算出するマスク解除ステップと、をコンピュータが実行する。
本発明に係る乗算プログラムは、前記乗算装置としてコンピュータを機能させるためのものである。
本発明によれば、サイドチャネル攻撃を防ぎつつ、高速に乗算を実行できる。
実施形態における乗算装置の機能構成を示す図である。 通常のToom-Cook法のアルゴリズムを示す図である。 実施形態における乗算装置により改良されたToom-Cook法のアルゴリズムを示す図である。
以下、本発明の実施形態の一例について説明する。
本実施形態の乗算方法では、Toom-Cook法において、乱数によるマスキングを適用した値の乗算を行うことで、サイドチャネル攻撃による乗算結果の推定を防ぐ。また、演算結果に対するマスク値を並行して計算し減算することで、正しい乗算結果が復元される。
図1は、本実施形態における乗算装置1の機能構成を示す図である。
乗算装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
制御部10は、乗算装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
記憶部20は、ハードウェア群を乗算装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(乗算プログラム)の他、処理途中の各種データ等を記憶する。
制御部10は、多項式化部11と、標本点算出部12と、マスク値生成部13と、乗算処理部14と、累積マスク演算部15と、マスク解除部16とを備える。
多項式化部11は、乗算対象の2つの整数を、それぞれ所定の法で分割して多項式(例えば、1次式)で表現する。
例えば、法Q=100とすると、整数1234は、「12Q+34」と変形でき、多項式表現は、「12x+34」となる。
標本点算出部12は、2つの整数を表す多項式それぞれに対して、複数の標本点の値を算出する。
例えば、多項式a(x)=12x+34に対して、x=-1,0,1の標本点の値は、それぞれ、a(-1)=-12+34=22,a(0)=34,a(1)=12+34=46となる。
なお、標本点の取り方は任意であるが、変数xの値として、絶対値の小さい整数が選択されることが好ましい。1次式に対しては、例えば、x=-1,0,1の3点が用いられる。
マスク値生成部13は、標本点のそれぞれに対して、ランダムなマスク値を生成する。
例えば、標本値a(-1)=22に対して、マスク値生成部13は、マスク値として乱数(例えば、12)を生成し、マスクされた標本値a’(-1)=22+12=34を提供する。
乗算処理部14は、マスク値を加算することによりマスクされた標本点を用いて、2つの整数の乗算値を表現する多項式R(例えば、2次式)の係数を、連立方程式の求解により決定し、法Qを代入することにより、マスクされた乗算値を算出する。
累積マスク演算部15は、標本点の値及びマスク値に基づいて、乗算処理部14による演算結果に含まれるマスク値の累積値を算出する。
つまり、累積マスク演算部15は、2つの整数による本来の正しい乗算結果に対して、マスク値に起因して累積される余剰な値のみを、前述の連立方程式から求まる理論式に基づいて算出する。
マスク解除部16は、乗算処理部14による演算結果からマスク値の累積値を減算することでマスクを解除し、2つの整数による本来の正しい乗算値を算出する。
次に、本実施形態における乗算方法の詳細な手順を示す。ここでは、法をQとし、次の2つの整数a,bの乗算を行う場合の例を示す。
a=aQ+a
b=bQ+b
2つの整数の多項式表現は、それぞれ、
a(x)=ax+a
b(x)=bx+b
となり、乗算結果Rの多項式表現は、
R(x)=a(x)b(x)=R+Rx+R
となる。
ここで、例えば、x=-1,0,1に対する標本点の値(標本値)を計算すると、
a(-1)=-a+a
a(0)=a
a(1)=a+a
b(-1)=-b+b
b(0)=b
b(1)=b+b
である。
例えば、Q=100とすると、整数1234は、「12Q+34」と変形でき、多項式表現は、「12x+34」となる。この場合、標本値として、a(-1)=-a+a=-12+34=22,a(0)=a=34,a(1)=a+a=46が得られる。
これら6つの標本値に対し、それぞれマスク値として、
a(-1),ma(0),ma(1),ma(-1),ma(0),ma(1)
をランダムに生成して加算すると、マスクされた標本値として、
a’(-1)=a(-1)+ma(-1)
a’(0)=a(0)+ma(0)
a’(1)=a(1)+ma(1)
b’(-1)=b(-1)+mb(-1)
b’(0)=b(0)+mb(0)
b’(1)=b(1)+mb(1)
が得られる。
乗算装置1は、これらのマスクされた標本値a’(),b’()と、乗算結果を表す多項式の値R’()とを用いて、通常のToom-Cook法と同様に、次の連立方程式を解き、係数R’,R’,R’を求める。
R’(-1)=R’-R’+R’=a’(-1)b’(-1)
R’(0)=R’=a’(0)b’(0)
R’(1)=R’+R’+R’=a’(1)b’(1)
これにより、マスクされた乗算結果R’(Q)=R’+R’Q+R’が得られる。
一方で、乗算結果に対するマスク値M=R’(Q)-R(Q)は、上記の標本値及びマスク値に基づいて、
Figure 0007402191000001
と計算できる。ただし、
Figure 0007402191000002
である。
乗算装置1は、Toom-Cook法の出力R’(Q)からマスク値Mを減算することにより、乗算結果R(Q)=(aQ+a)(bQ+b)を得る。
図2は、通常のToom-Cook法のアルゴリズムを示す図である。
ステップS1において、乗算の入力である2つの整数a,bは、分割多項式化され、多項式a(x),b(x)が求められる。
ステップS2において、多項式a(x),b(x)は、それぞれ複数の標本点で評価され、標本値が取得される。
ステップS3において、標本値毎の乗算により、乗算結果を表す多項式の値が算出される。
ステップS4において、乗算結果を表す多項式の係数が、ステップS3の計算結果を用いた連立方程式により決定される。
ステップS5において、ステップS4の多項式は、ステップS1における分割時の法を代入することにより評価され、2つの整数の乗算結果が出力される。
図3は、本実施形態における乗算装置1により改良されたToom-Cook法のアルゴリズムを示す図である。
なお、破線枠内が従来のアルゴリズム(図2)に対して新たに追加された部分であり、サイドチャネル攻撃へのマスキングによる対策が適用されている。
ステップS1において、多項式化部11は、従来と同様に、乗算の入力である2つの整数a,bを分割多項式化し、多項式a(x),b(x)を求める。
ステップS2において、標本点算出部12は、従来と同様に、多項式a(x),b(x)を、それぞれ複数の標本点で評価し、標本値を取得する。
ステップS11において、マスク値生成部13は、標本値毎に、マスク値としての乱数を生成する。
ステップS12において、乗算処理部14は、標本値それぞれにマスク値を加算することによりマスキングを行い、マスクされた標本値を得る。
ステップS3において、乗算処理部14は、従来と同様に、標本値毎の乗算により、乗算結果を表す多項式の値を算出する。標本値がマスクされていることにより、算出された多項式の値もマスクされている。
ステップS4において、乗算処理部14は、従来と同様に、乗算結果を表す多項式の係数を、ステップS3の計算結果を用いた連立方程式により決定する。これにより、マスクされた乗算結果が多項式表現される。
ステップS5において、乗算処理部14は、従来と同様に、ステップS4の多項式を、ステップS1における分割時の法を代入することにより評価し、マスクされた乗算結果を得る。
ステップS13において、累積マスク演算部15は、標本値及びマスク値を用いて、乗算結果に対する累積マスク値を算出する。
ステップS14において、マスク解除部16は、ステップS5の乗算結果から累積マスク値を減算してアンマスキングを行い、2つの整数a,bの乗算結果を出力する。
本実施形態によれば、乗算装置1は、2つの整数値の乗算を行うにあたり、Toom-Cook法における乗算処理の対象となる標本値に対し、乱数によるマスク値を加算することでマスキングを行うとともに、標本値及びマスク値から乗算結果に対する累積マスク値を計算する。そして、乗算装置1は、Toom-Cook法による計算結果に含まれている累積マスク値を減算することで、本来の正しい乗算結果を復元する。
したがって、乗算装置1は、Toom-Cook法を用いた乗算処理において、マスキングによりサイドチャネル攻撃を防ぎつつ、高速に乗算を実行できる。
この結果、現行の公開鍵暗号、さらには耐量公開鍵暗号のハードウェア実装において、消費電力等の測定を行うことで鍵値を推測するサイドチャネル攻撃を防止することができる。
乗算装置1は、2つの整数を、それぞれ変数xの1次式で表現し、変数xが-1,0,1の場合の標本点の値をそれぞれ算出する。
これにより、乗算装置1は、演算式を簡潔にして処理負荷を低減できる。
なお、これにより、例えば、より安全な公開鍵暗号を用いたインターネット通信を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
例えば、公開鍵暗号方式において、鍵長が長いことによる処理負荷を低減するために、乗算装置1は、分割多項式化を再帰的に実行してもよい。すなわち、乗算処理部14は、処理途中の演算において、乗算対象の整数を1次式に分割するToom-Cook法を再帰的に繰り返してもよい。
また、整数の多項式表現は、1次式には限られず、2次以上であってもよい。この場合、乗算結果を表す多項式の次数も増加し、例えば、2次式×2次式の場合、乗算結果を表す多項式は4次式となり、5個の係数を決定するために標本点が10個選択される。
乗算装置1による乗算方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
1 乗算装置
10 制御部
11 多項式化部
12 標本点算出部
13 マスク値生成部
14 乗算処理部
15 累積マスク演算部
16 マスク解除部
20 記憶部

Claims (5)

  1. 2つの整数を、それぞれ所定の法で分割して多項式で表現する多項式化部と、
    前記多項式それぞれに対して、複数の標本点の値を算出する標本点算出部と、
    前記標本点のそれぞれに対して、ランダムなマスク値を生成するマスク値生成部と、
    前記マスク値を加算することによりマスクされた標本点を用いて、前記2つの整数の乗算値を表現する多項式の係数を決定し、前記法を代入することにより、マスクされた乗算値を算出する乗算処理部と、
    前記標本点の値及び前記マスク値に基づいて、前記乗算処理部による演算結果に含まれる前記マスク値の累積値を算出する累積マスク演算部と、
    前記乗算処理部による演算結果から前記累積値を減算することでマスクを解除し、前記2つの整数の乗算値を算出するマスク解除部と、を備える乗算装置。
  2. 前記多項式化部は、前記2つの整数を、それぞれ変数xの1次式で表現し、
    前記標本点算出部は、前記変数xが-1,0,1の場合の標本点の値をそれぞれ算出する請求項1に記載の乗算装置。
  3. 前記乗算処理部は、処理途中の演算において、乗算対象の整数を1次式に分割するToom-Cook法を再帰的に繰り返す請求項1又は請求項2に記載の乗算装置。
  4. 2つの整数を、それぞれ所定の法で分割して多項式で表現する多項式化ステップと、
    前記多項式それぞれに対して、複数の標本点の値を算出する標本点算出ステップと、
    前記標本点のそれぞれに対して、ランダムなマスク値を生成するマスク値生成ステップと、
    前記マスク値を加算することによりマスクされた標本点を用いて、前記2つの整数の乗算値を表現する多項式の係数を決定し、前記法を代入することにより、マスクされた乗算値を算出する乗算処理ステップと、
    前記標本点の値及び前記マスク値に基づいて、前記乗算処理ステップにおける演算結果に含まれる前記マスク値の累積値を算出する累積マスク演算ステップと、
    前記乗算処理ステップにおける演算結果から前記累積値を減算することでマスクを解除し、前記2つの整数の乗算値を算出するマスク解除ステップと、をコンピュータが実行する乗算方法。
  5. 請求項1から請求項3のいずれかに記載の乗算装置としてコンピュータを機能させるための乗算プログラム。
JP2021033600A 2021-03-03 2021-03-03 乗算装置、乗算方法及び乗算プログラム Active JP7402191B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021033600A JP7402191B2 (ja) 2021-03-03 2021-03-03 乗算装置、乗算方法及び乗算プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021033600A JP7402191B2 (ja) 2021-03-03 2021-03-03 乗算装置、乗算方法及び乗算プログラム

Publications (2)

Publication Number Publication Date
JP2022134466A JP2022134466A (ja) 2022-09-15
JP7402191B2 true JP7402191B2 (ja) 2023-12-20

Family

ID=83231438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021033600A Active JP7402191B2 (ja) 2021-03-03 2021-03-03 乗算装置、乗算方法及び乗算プログラム

Country Status (1)

Country Link
JP (1) JP7402191B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006201641A (ja) 2005-01-24 2006-08-03 Mitsubishi Electric Corp 非線形演算装置及び暗号処理装置及び非線形演算方法及び非線形演算プログラム
JP2006309068A (ja) 2005-05-02 2006-11-09 Nippon Telegr & Teleph Corp <Ntt> ペアリング演算装置、ペアリング演算方法、およびペアリング演算プログラム
JP2010091913A (ja) 2008-10-10 2010-04-22 Renesas Technology Corp データ処理装置
US20140169553A1 (en) 2012-12-14 2014-06-19 Microsoft Corporation Masking with shared random bits
JP2016510914A (ja) 2013-03-15 2016-04-11 クリプトグラフィ リサーチ, インコーポレイテッド 非対称マスク済み乗算
US20180294950A1 (en) 2017-04-11 2018-10-11 The Governing Council Of The University Of Toronto Homomorphic Processing Unit (HPU) for Accelerating Secure Computations under Homomorphic Encryption
JP2020537191A (ja) 2017-10-17 2020-12-17 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 更新可能な共有マトリクスを備える暗号装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006201641A (ja) 2005-01-24 2006-08-03 Mitsubishi Electric Corp 非線形演算装置及び暗号処理装置及び非線形演算方法及び非線形演算プログラム
JP2006309068A (ja) 2005-05-02 2006-11-09 Nippon Telegr & Teleph Corp <Ntt> ペアリング演算装置、ペアリング演算方法、およびペアリング演算プログラム
JP2010091913A (ja) 2008-10-10 2010-04-22 Renesas Technology Corp データ処理装置
US20140169553A1 (en) 2012-12-14 2014-06-19 Microsoft Corporation Masking with shared random bits
JP2016510914A (ja) 2013-03-15 2016-04-11 クリプトグラフィ リサーチ, インコーポレイテッド 非対称マスク済み乗算
US20180294950A1 (en) 2017-04-11 2018-10-11 The Governing Council Of The University Of Toronto Homomorphic Processing Unit (HPU) for Accelerating Secure Computations under Homomorphic Encryption
JP2020537191A (ja) 2017-10-17 2020-12-17 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 更新可能な共有マトリクスを備える暗号装置

Also Published As

Publication number Publication date
JP2022134466A (ja) 2022-09-15

Similar Documents

Publication Publication Date Title
Bernstein et al. Fast constant-time gcd computation and modular inversion
Bernstein et al. On the correct use of the negation map in the Pollard rho method
Bauer et al. Horizontal collision correlation attack on elliptic curves: –Extended Version–
Van Oorschot et al. Parallel collision search with cryptanalytic applications
Strenzke et al. Side channels in the McEliece PKC
Acıiçmez et al. New branch prediction vulnerabilities in OpenSSL and necessary software countermeasures
KR100891323B1 (ko) 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치
KR101089121B1 (ko) 빠른 집합 검증 방법 및 그 장치
Szepieniec et al. Extension field cancellation: a new central trapdoor for multivariate quadratic systems
JP6629466B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、プログラム
US20070064930A1 (en) Modular exponentiation with randomized exponent
JP5182364B2 (ja) サイドチャネル攻撃に対する耐タンパ性を有する暗号処理方法
Ambrose et al. Differential attacks on deterministic signatures
JP2019515353A (ja) 暗号化べき乗アルゴリズムへのセーフ−エラーフォールトインジェクション攻撃に対する対策
Oliveira et al. Fast point multiplication algorithms for binary elliptic curves with and without precomputation
Schindler Exclusive exponent blinding may not suffice to prevent timing attacks on RSA
De Micheli et al. A tale of three signatures: practical attack of ECDSA with wNAF
JP6916770B2 (ja) 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム
JP2007189692A (ja) Dfaに対抗する方法を含むモンゴメリ電力ラダーアルゴリズム
JP7402191B2 (ja) 乗算装置、乗算方法及び乗算プログラム
Aono et al. On the optimality of lattices for the Coppersmith technique
US7697683B2 (en) Cryptography-processing method, cryptography-processing apparatus and computer program
Reyes et al. A performance comparison of elliptic curve scalar multiplication algorithms on smartphones
EP3707593B1 (en) A computation device and method
Cao et al. Generalized attack on ECDSA: known bits in arbitrary positions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230306

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231208

R150 Certificate of patent or registration of utility model

Ref document number: 7402191

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150