JP2011520404A - プログラム可能なプロセッサにおける随意選択的なガロア域計算の実行 - Google Patents

プログラム可能なプロセッサにおける随意選択的なガロア域計算の実行 Download PDF

Info

Publication number
JP2011520404A
JP2011520404A JP2011509567A JP2011509567A JP2011520404A JP 2011520404 A JP2011520404 A JP 2011520404A JP 2011509567 A JP2011509567 A JP 2011509567A JP 2011509567 A JP2011509567 A JP 2011509567A JP 2011520404 A JP2011520404 A JP 2011520404A
Authority
JP
Japan
Prior art keywords
command
input
product
logic
bit
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.)
Granted
Application number
JP2011509567A
Other languages
English (en)
Other versions
JP5456766B2 (ja
Inventor
モウドギル、マヤン
Original Assignee
アスペン・アクイジション・コーポレーション
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 アスペン・アクイジション・コーポレーション filed Critical アスペン・アクイジション・コーポレーション
Publication of JP2011520404A publication Critical patent/JP2011520404A/ja
Application granted granted Critical
Publication of JP5456766B2 publication Critical patent/JP5456766B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/722Modular multiplication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

ガロア域乗算のための方法は第1及び第2の指令の実行を含んでいる。第1の指令は、第1の変数のような第1の入力を受信し、第2の変数のような第2の入力を受信し、第1及び第2の入力を使用してGF(2)により多項式乗算を行い、積を生成することを含んでいる。第2の指令は、第1の指令からの積である第3の入力を受信し、積において演算するための予め定められた生成多項式である第4の入力を受信し、積における予め定められた生成多項式の演算を限定するため予め定められた生成多項式の長さである第5の入力を受信し、長さにより限定された予め定められた生成多項式を介して除数に関して積の係数を計算することを含んでいる。ハードワイヤブロックも説明されている。
【選択図】図5

Description

本発明はCF(2)におけるガロア域計算の実行に関し、ここで長さmと生成多項式p(x)の両者はユーザにより特定されることができる。これを実現するため、2つの指令、即ち(1)gfmul指令と、(2)gfnorm指令が導入され、それらは共にガロア域の乗算を実行する。
このPCT特許出願は2008年5月12日提出の米国暫定特許出願第61/052,482号明細書の優先権を有しており、その内容はここで参考文献とされている。
ガロア域計算はコード化理論及び暗号を含む多くの応用での使用が発見されている。
当業者により認識されることができるように、コード化理論のドメイン内の例にはよく知られたリード−ソロモン(“RS”)エラー補正コードが含まれている。
RSエラー補正コードは典型的にRS(n,k)として示される。
1例では、RSコードはmビット符合で動作できる。このようなコードでは、符合器はk*mビットをkデータ符合のデータワードにグループ化し、ここで各符合はmビットを有する。符合器はその後ここでは「n符合」と呼ばれるn*mビットのコードワードを形成するために(同様にmビットの)n−kの付加的なパリティ符合を計算する。nの最大のサイズは2−1である。
通常、RSコードは任意の(n−k)/2の誤った符合を補正することができる。
RSコードの有名な例はRS(255,223)である。RS(255,223)は8ビット符合を使用し、32のパリティバイトを233バイトのデータブロックに付加し、結果的な255バイトコードワードの任意の誤った16バイトを補正する。この特定のRSコードは当業者によく知られているので、さらに詳細はここでは説明しない。
パリティ符合は以下の3つの部分からなる方法を使用して計算され、これについては以下の段落で説明する。
第1に、kのmビット符合はガロア域GF(2)にわたって次数k−1の多項式の係数であるように採用されている。ここでの目的では、関数は“d(x)”と呼ばれる。したがって、送信される符合がd…dk−1であるならば、多項式は次式(1)にしたがって書かれることができる。
d(x)=d+dx+…dk−1k−1 式(1)
第2に、所定のRSコードに対しては、生成多項式が選択される。生成多項式は次数2m−1を有する“g(x)”により表されることができる。それ故生成多項式は式(2)により表されることができる。
g(x)=(x+a)(x+a)…(x+an−k) 式(2)
式(2)では、“a”は当業者により認識されているように「基礎エレメント」と呼ばれるGF(2)による特別値である。
第3に、パリティ符合は式(3)で表されることができるパリティ式を解くことにより計算される。
p(x)=d(x)*xn−kmod g(x) 式(3)
この式(3)では、全ての演算は域GF(2)で実行される。
前述の説明から認識されることができるように、種々のサイズのガロア域の加算及び乗算はリード−ソロモン符合化に基づいて形成される。加算及び乗算はバールカンプのアルゴリズム(E. Berlecamp, “Bounded distance+1 soft decision Reed-Solomon decoding”,IEEE Trans. Inform. Theory., 42巻、704-720頁、1996年5月)のような種々のRS復号アルゴリズムと、フォーニィアルゴリズム(D. Forney, “Generalized Minimum Distance Decoding”,IEEE Trans. Inform. Theory., IT-12巻、125-131頁、1996年4月)に基づいて形成する。
加算および乗算はガロア域の式の実行に対しては基本的であるので、ガロア域の加算と乗算の実行における迅速さは処理時間の改良と処理効率の増加を助ける。
当業者により認識されることができるように、ガロア域の加算は簡単で、典型的には2つのアーギュメントのXORである。ガロア域の乗算はしかしながらより複雑であり、特殊化されたハードウェア、または検索表を使用する方法を必要とする。
先に強調して述べたように、処理時間と効率の増加はガロア域処理の分野では望ましい有用な手段である。
それ故、本発明は処理効率を増加し処理時間を減少する方法を提供する。
本発明は従来技術に関して説明された幾つかの欠点を解決する方法を提供する。
特に、本発明の1特徴は、第2の指令が後続する第1の指令を実行するガロア域乗算の方法を提供することである。第1の指令はgmful指令であってもよく、第2の指令はgfnorm指令であってもよい。
本発明の別の特徴は、第1の指令に含まれるための3つの動作と、第2の指令で与えられるための4つの動作を提供する。第1の指令に含まれる3つの動作は第1の変数を含む第1の入力を受信し、第2の変数を含む第2の指令を受信し、第1及び第2の入力を使用してGF(2)にわたって多項式乗算を行う動作を含んでいる。第2の指令に与えられる4つの動作は、第1の指令からの積である第3の入力を受信し、積において演算する予め定められた生成多項式である第4の入力を受信し、積における予め定められた生成多項式の演算を限定するために予め定められた生成多項式の長さである第5の入力を受信し、長さにより限定された予め定められた生成多項式を介して除数に関して積の係数を計算する処理を含んでいる。
本発明のさらに別の特徴はgmful論理とgfnorm論理を含むハードウェアブロックを提供する。gmful論理は第1の入力及び第2の入力を含んでいる。gmful論理はGF(2)にわたって第1と第2の入力を乗算し積を生成するように構成された多項乗算論理も含んでいる。gfnorm論理はgmful論理から積を受信する第3の入力と、多項乗算論理からの積において演算する予め定められた発生多項式を受信するための第4の入力と、積における予め定められた生成多項式の演算を限定する予め定められた生成多項式の長さを受けるための第5の入力と、長さにより限定される予め定められた生成多項式を介して除数に関する積の係数を計算するための計算論理とを含んでいる。
当業者により認識されるように、本発明の他の特徴は説明及び図面から明白になるであろう。
本発明により意図される1方法の第1の部分を示すフロー図である。 図1に示されている方法の第2の部分を示すフロー図である。 gmful指令の1つの意図された論理を行うブロック図である。 gfnorm指令の1つの意図された論理を行うブロック図である。 計算段論理の1つの意図された構成を与えるブロック図である。
添付図面は本発明の1以上の実施形態を示している。
本発明を1以上の実施形態と共に説明する。しかしながら本発明はここで説明された実施形態に限定されることは意図しない。反対に、以下の説明で明白になるように、本発明の技術的範囲を逸脱せずに使用されることができる本発明の多数の変形および等価物が存在する。これらの変形および実施形態は本発明の技術的範囲に含まれることを意図している。
本発明に関して、ガロア域乗算(ここでは乗算とも呼ばれる)を実行する目的で、情報の4ピース、即ち(1)「被乗数1」と呼ばれる変数値、(2)「被乗数2」と呼ばれる変数値、(3)生成多項式p(x)、(4)多項式の長さmが典型的に必要とされる。
これらの4つの変数のうち、最初の3つは典型的にはソースレジスタであるレジスタから入手できる。第4の変数である多項式mの長さは指令の一部として符号化されることができ、或いはレジスタ、典型的に中間レジスタから読み取られることができる。
当業者に明白であるように、ほとんどの指令セットアーキテクチャは3つのソースレジスタ指令と1つの中間レジスタ指令を提供することができない。さらに、当業者により認識されているように、ほとんどの指令セットアーキテクチャは4つのソースレジスタ指令を提供できない。代わりに従来技術の指令セットアーキテクチャは必要とされる情報の少なくとも幾らかを提供するために専用の特別目的のレジスタに依存している。
本発明はガロア域アルゴリズム用に操作される変数の複雑なセットに対する簡単な方法に依存する。特に本発明では、ガロア域乗算は2つの別々の指令、即ち(1)gfmul指令と、(2)gfnorm指令に分割される。gfmul指令はGF(2)にわたってmビットの多項式乗算を行い、2m−1ビットの積を生成する。一般的な別の変形では、gfmul指令はGF(2)にわたってmビットの多項式乗算を行う。したがってGF(2)の例ではm=1である。gfnorm指令はm+1ビットの除数に関して2m−1ビット数の係数を計算する。この分割により、gfmul指令は2つの入力、即ち(1)被乗数1と、(2)被乗数2を有する。gfnorm指令は3つの入力、即ち(1)積、(2)多項式p(x)、(3)長さmを有することは明白である。
直ちに明らかになるように、この分割は指令セットに対するポート/符号化要求を減少す。しかしながら、GF乗算毎に2つの指令をプロセッサに発生させる傾向もある。
理論的展望から、GF乗算毎に2つの指令をプロセッサに発生させることは従来技術よりも優れた顕著な利点を与えるようには思われない。しかしながら実際に、gfnorm指令はgfmul指令の発生頻度より非常に少ない。その結果、この分割は従来技術よりも優れた利点を与える。特に、GF乗算は通常、より大きな減少の一部として行われることが観察される。次式はこの観察を要約している。
Figure 2011520404
この式は次式にしたがって書き直されることができる。
Figure 2011520404
したがって、nのgfmul指令の2m−1ビット積を共にXORし、最後に最終的な係数を実行することが可能である。この設計にしたがって指令を実行することにより、係数は各ステップで実行される必要はない。このことはある場合には、処理時間と電力消費の両者に関して大きな処理の節約を与える。
[論理の共有]
当業者により認識されるように、(他の計算のように)ガロア域アルゴリズムでは、剰余が計算される必要がある可能性がある。本発明はこの計算の簡単化を許容する剰余計算におけるあるパターンを考慮する。本発明はさらに以下説明するように他の数学的パターンも利用する。
(剰余多項式と呼ばれる)剰余を計算するために、現在の剰余の先行ビットが1であるか否かに基づいて、除数の一連の減算(即ちXOR)が行われる。積を計算するために他の乗数の対応するビットが1であるか否かに基づいて、被乗数のうちの1つの一連の加算(即ちXOR)が行われる。
1例として、101100と011011の乗算を考慮する。乗算が長い形態で書かれるならば、乗算は以下のように現れる。
Figure 2011520404
この乗算は正規順序とは反対の順序で書かれていることに注意する。この例では、乗算は右ではなく左から開始して書かれている。
この例を念頭に置くと、11001101110×1001001の係数の計算例が与えられる。ここでは、除算は以下のように書かれる。
Figure 2011520404
これらの2つの計算はマトリックスの類似性を指摘するためにこの方法で提示されている。直ぐに明らかになるように、右への数は部分和である。
前述の2つの計算を参照すると、1つの違いは除算XORがm+1ビット数を生成し、乗算XORがmビット数を生成するという事実に存在する。しかしながら、この違いを補償することが可能である。生成多項式は先行ビットが常に「1」である特性を有している。それ故生成多項式の特性を利用することができる。例えば(1)部分和が1であるならば、剰余多項式の最低のmビットを有する剰余ビットをXORし、(2)先行ビットをゼロにするアルゴリズムによりm−ビットのXORを使用することが考えられる。
2つの計算の主な違いはXORを実行するか否かの選択である。乗算の場合、被乗数のi番目の最も左側のビットが使用される。剰余の場合、現在の剰余の最も左側のビットが使用される。
[左調節/ゼロ充填]
本発明は計算の簡潔化を考慮する。簡単にする目的で、被乗数、積、剰余多項式を含めた全ての関与される数がレジスタの上位桁ビット(“MSB”)に記憶されると仮定する。さらに、レジスタ中の全ての未使用のビットはゼロにされると仮定する。結果として、数101101が16ビットレジスタに記憶されるならば、レジスタ内容は1011_0100_0000_000になる。これは厳格に必要なことではないが、先行ディジットを識別するために任意の付加的な指令を実行(または任意の付加的な作業を実行)することが必要にならないために、剰余を計算するのに必要な論理を簡単にする。
全ての数にはゼロが埋め込まれているので、mはgfmul演算への入力として必要とされない。gmful演算はXORステップの最大数を行い、多項式の真の長さとハードウェアによりサポートされる最大の多項式の長さとの間の任意のビットはゼロであるので、付加的なXORステップはその結果に0を与える。
gfnorm演算では、2m−1ビットの多項式をmビットの多項式に減少するためにm−1のXORステップを行う必要がある。
[擬似コード]
コードセグメント#1は以下、最大8の統合されたgfnorm/gfmul指令を実行するように意図された擬似コードの1実施形態を提示する。gfmul指令への入力はaとbであり、結果がtであり、gfnorm指令への入力がa、b、Nであり、結果がtであると仮定する。係数は左が最初である(即ち0はレジスタのMSBである)。
Figure 2011520404
基礎とする論理は同一であり、制御のみが異なることが明白であろう。
[拡張]
前述の基本演算は幾つかの異なる方法で変更されることができる。例えば基本的な例に付加されることができ演算は(1)gfmac指令、(2)ベクトル、(3)ベクトル減算を含んでいる。gfmac指令は3つの入力による演算である。gfmac指令はその入力のうちの2つの積を計算し、第3の入力との積をXOR処理し、それによって結果を生成する。ベクトルはベクトル/SIMDプロセッサである。ベクトルに対しては、gfmul/gfnorm/gfmac指令のベクトル/SIMD等価を加算し、多数のこれらの指令を並列に行うことは容易である。ベクトル減算は減算装置を備えたベクトル/SIMDプロセッサで実行される。ここで、多数のgfmul演算を並列に行い、その結果を累算器のようなスカラターゲットへ書込む前に全ての結果を共にXORすることが意図される。
本発明を方法の実施形態およびハードウェアブロックの実施形態と共に説明し、この両者はここに含まれている。この説明と共に、図1−5を参照する。
本発明の方法の1実施形態はガロア域乗算を意図している。参照符合10が与えられている方法は図1、2に示されている。
方法10は12で開始する。その後、方法は14で第1の指令を実行する。第1の指令の実行14は3つの動作を含んでおり、その第1の動作は16で第1の入力を受信する。第1の入力は第1の変数を含んでいる、第1の指令の実行14は18で第2の入力の受信も含んでいる。第2の入力は第2の変数を含むことができる。第1の指令の実行は付加的に20で、第1及び第2の入力を使用してGF(2)にわたって多項式乗算を行うことを含んでいる。多項式の実行20の結果として、第1の指令の実行14は積を生成する。この積は図2によって説明される24での第2の指令の実行のための入力の1つ(即ち第3の入力)になる。図1は転移ブロック22を含んでおり、これは方法10が図2で継続することを示している。
図2は方法10の残りを詳細に示している。方法10は24で第2の指令の実行に継続する。図2で詳細に示されているように、第2の指令を構成する4つの動作が存在する。4つの動作の最初の動作は26であり、ここでは方法10は第1の指令からの積である第3の入力を受信する。方法10は28で、第4の入力を受信し、それは積において演算するための予め定められた生成多項式である。30で、方法10は積において予め定められた生成多項式の演算を限定するために予め定められた生成多項式の長さである第5の入力を受信する。32で、方法10はその長さにより限定された予め定められた生成多項式を介して除数に関する積の係数を計算する。方法10は34で終了する。
方法10における1つの意図された変形では、第1の指令はgfmul指令を含み、第2の指令はgfnorm指令を含んでいる。
方法10における別の意図された変形では、第1の変数は被乗数1を含み、第2の変数は被乗数2を含んでいる。
方法10は長さが整数mであり、積が長さにおいて2m−1ビットであるように実行されることができるとも考えられる。この方法と一致して、多項式の乗算はmビットの乗算であってもよい。このようにして、除数は長さにおいてm+1ビットであることができる。1つの別の実施形態では、長さは整数m−1である。
前述したように、方法10は14で第1の指令を実行し、第2の指令が第1の指令よりも頻度が少なく実行されるように、24で第2の指令を実行する。これはステップ14の多数の実行結果が第3の入力としてステップ24へ送られる前に共にXORされるときに生じる。
本発明のさらに別の意図される実施形態では、方法10は合計が第1の指令の予め定められた数nの積からなる演算を含んでいる。この意図される実施形態では、最終的な係数は第1の指令の予め定められた数の積を合計した後に実行されることができる。nはこの実施形態では整数であることは明白である。
前述したように、方法10は第1及び第2の入力の値が対応するレジスタに上位桁ビットで記憶されることが意図される。
さらに、第2の指令24は現在の剰余の先行ビットが1に等しいか否かを評価することにより変更されることができる。現在の剰余の先行ビットが1に等しいならば、第2の指令24は除数の少なくとも1つの減算を実行する。結果として、第2の指令24は剰余を生成できる。剰余の値は対応するレジスタに上位桁ビットで記憶されることができる。
代わりに、方法10は第1の入力と第2の入力との比較を含んでいてもよい。比較後、方法10は第1又は第2の入力の一方の予め定められた対応するビットが1に等しいか否かを評価できる。第1又は第2の入力の一方の予め定められた対応するビットが1に等しいならば、方法10は第1又は第2の入力の少なくとも1つで少なくとも1つの加算を行うことができる。その結果として、方法10は結果的な積を生成する。結果的な積の値は対応するレジスタに上位桁ビットで記憶されることができる。
1つの意図された変形では、対応するレジスタの全ての未使用のビットがゼロにされることができる。別の意図される変形では、第1の変数、第2の変数、長さ、積、除数の少なくとも1つは左シフトされたデータを含むことができる。
予め定められた生成多項式の先行ビットが第4の入力から実行され、それによってmビットの長さを有する第4の変数を生成するように方法10を変更することも考えられる。
図3と図4を参照すると、本発明はまたハードウェアブロック36と38も含んでいる。ハードウェアブロック36はgfmul論理の1つの意図された実施形態を示している。ハードウェアブロック38はgfnorm論理の1つの意図された実施形態を提供する。これらの2つの実施形態はこの明細書の技術的範囲内に入るように意図された多くのハードウェアブロックのうちの2つ36、38だけを示しているものである。
図3に示されているように、ハードウェアブロック36はN個の計算段ブロック48、50、52を含んでいる。これらの各計算段ブロック48、50、52は先の計算段ブロックにより生成された中間値を読取り、次の計算段ブロックにより消費されるための中間値を書込む。計算段ブロックにより消費される値は図面では46、54、56、58により示されている。値58はハードウェアブロック36の出力である。各計算段ブロック48、50、52は加算された値40と長さ値44を読取る。ハードウェアブロック36は付加的なソフトウェア指令をもつかもたずに特別な指令を実行するように構成されている半導体コンポーネントのようなプロセッサであると考えられる。当業者に認識されるように、これは広範囲の装置を含むことができる。
図3の参照を続けると、この図面はブロックがどのようにgmful論理を実行するように接続されているかを示している。これは第1の入力40と第2の入力42を含んでいる。第1の入力40は被乗数1の変数であってもよい第1の変数を含む信号を受信するコンポーネントまたは接続である。第2の入力42は被乗数2の変数のような第2の変数を受信するコンポーネントまたは接続であることができる。
図3に示されているように、加算された値44はN個のゼロが先頭に付されている第1の入力値に設定される。加算された値44は第1の計算段ブロック48と第2の計算段ブロック50と第3の計算段ブロック52に与えられる。さらに、中間値46は第1の計算段ブロック48に与えられる。中間値46はこの図では0に設定されている。中間値46はハードウェアブロック36により必要とされるとき0以外の値に設定されることができることに注意すべきである。
図3から明らかなように、各計算段48、50、52は第2の入力38の少なくとも1ビットを読取る。換言すると、第2の入力38はデータを各計算段48、50、52へ提供する。長さ値44はNに設定され、これは計算段の数に等しい。図3に示されているように計算段は0…N−1に符合付けされている。i番目の段は上位桁ビットで開始するi番目のビットを読取る。したがって計算段#0 48はMSBビット60を読取り、計算段#1 50は次のMSBビット62を読取り、最後の段52はN番目の上位桁ビット64を読取る。
gfnorm論理用のハードウェアブロック38を図解している図4を参照する。直ぐに明らかになるように、このハードウェアブロック38と図3に示されているハードウェアブロック36には幾つかの類似性が存在する。
図4では、計算段は66、68、70と符合を付されている。gfnorm論理ブロック38は、被除数(通常はgfmulの積)を保持する第3の入力72と、除数(通常は生成多項式)である第4の入力74と、生成多項式の長さよりも少ない通常は2のステップ数である第5の入力76とを含んでいる。加算された値78は第4の入力74からコピーされる。初期中間値80は第3の入力からコピーされる。長さ値82は第5の入力76からコピーされる。また示されているように、中間値84は計算段#1 68へ入力される。同様に、中間値86は計算段#N−1 70に入力される。出力は参照符合88で示されている。
図5は計算段ブロック48、50、52、66、68、70の1つの意図された実施形態の詳細を与えている、図3および4に示されているように、各計算段ブロック48、50、52、66、68、70は加数90、中間値92、長さ94を読取る。さらにgfmul用に構成されるとき、計算段ブロックは加算ビット96を読取る。中間値はハードウェアブロック98で1だけ左シフトされ、値がシフトされた値100を生じる。この値はその後XORブロック102へ与えられ、シフトされた値102を加数90とXORする。先行指標論理装置104は第1の選択値106を生成する。gfnorm指令用に構成されるとき、第1の選択値106は中間入力92のMSB107である。gfmul指令用に構成されるとき、第1の選択値106は加算ビット96である。第1の選択値106が1であるならば、第1のマルチプレクサ108はXORのXOR処理の結果110を選択する。
そうでなければ、第1のマルチプレクサ108はシフトされた値100を選択し、第1の多重化された結果112を生成する。長さ比較論理114は第2の選択値116を生成する。iが与えられた長さ94よりも小さいならば、第2の選択値116はi番目の計算段では1である。第2の選択mux118は第2の選択値116が1であるならば、第1のmux結果112を選択し、そうでなければ中間値92を選択し、出力中間値120を生成する。当業者により認識されるように、その他の変形も考えられる。
前述の説明から明らかなように、図3、4、5に記載されているハードウェアブロックは並列処理のために複製されることができる。その場合には、これらの複製は相互に並列に動作される。この実施形態に関して、任意の1つのハードウェアブロックは合計された結果を生成するために並列のgfmul論理の個々の1つからの結果を合計するための合計論理手段を含むことができる。スカラーレジスタは合計された結果を記憶するために使用されることができる。スカラーレジスタは累算器であってもよい。並列処理はSIMDプロセッサを介して行われることができる。
前述したように、本発明は前述の特定の実施形態だけに限定されることを意図していない。反対に、当業者は本発明の技術的範囲を逸脱せずに使用される実施形態に対して多くの等価物及び変形が存在することを容易に認識するであろう。これらの変形および等価物は本発明の技術的範囲内に含まれることを意図されている。

Claims (29)

  1. 第1の指令を実行し、それにおいては、
    第1の変数を含む第1の入力を受信し、
    第2の変数を含む第2の指令を受信し、
    前記第1及び第2の入力を使用してGF(2)にわたって多項式乗算を行い、
    積を生成することを含んでおり、
    前記第1の指令からの積である第3の入力を受信し、
    前記積において演算するための予め定められた生成多項式である第4の入力を受信し、
    前記積における前記予め定められた生成多項式の演算を限定するために前記予め定められた生成多項式の長さである第5の入力を受信し、
    前記長さにより限定された前記予め定められた生成多項式を使用して除数に関して前記積の係数を計算するステップを含んでいる第2の指令を実行するステップを含むガロア域乗算方法。
  2. 前記第1の指令はgmful指令を含み、
    前記第2の指令はgfnorm指令を含んでいる請求項1記載の方法。
  3. 第1の変数は被乗数1を含み、
    第2の変数は被乗数2を含んでいる請求項1記載の方法。
  4. 長さは整数mであり、
    積は2m−1ビットを含み、
    多項式の乗算はmビット乗算を含み、
    除数はm+1ビットを含んでいる請求項1記載の方法。
  5. 長さは整数m−1である請求項1記載の方法。
  6. 前記第2の指令は前記第1の指令よりも頻度が少なく実行される請求項1記載の方法。
  7. さらに、前記第1の指令の予め定められた数の積を加算し、
    前記第1の指令の前記予め定められた数の積を合計した後に最終的な係数を実行するステップを含み、
    ここでnは整数である請求項1記載の方法。
  8. 前記第1及び第2の入力は対応するレジスタ中に上位桁ビットで記憶される請求項1記載の方法。
  9. さらに、現在の剰余の先行ビットが1に等しいか否かを評価し、
    前記現在の剰余の前記先行ビットが1に等しいならば、前記除数の少なくとも1つの減算を実行し、
    剰余を生成するステップを含み、前記剰余値は対応するレジスタ中に上位桁ビットで記憶される請求項1記載の方法。
  10. さらに、前記第1の入力と前記第2の入力とを比較し、
    前記第1または第2の入力の一方における予め定められた対応するビットが1に等しいか否かを評価し、
    前記第1または第2の入力の一方における予め定められた対応するビットが1に等しいならば、前記第1または第2の入力の一方における少なくとも1つの加算を実行し、
    結果的な積を生成するステップを含み、前記結果的な積の値は対応するレジスタ中に上位桁ビットで記憶される請求項1記載の方法。
  11. 前記対応するレジスタ中の全ての未使用のビットはゼロにされる請求項8記載の方法。
  12. 前記対応するレジスタの全ての未使用のビットはゼロにされる請求項9記載の方法。
  13. 前記対応するレジスタの全ての未使用のビットはゼロにされる請求項10記載の方法。
  14. 前記第1の変数、前記第2の変数、前記長さ、前記積および前記除数の少なくとも1つは左にシフトされているデータを含んでいる請求項1記載の方法。
  15. 前記予め定められた生成多項式の先行ビットは、前記第4の入力から実行され、それによってmビットを有する第4の変数を生成する請求項14記載の方法。
  16. gmful指令を実行するためのgmful論理装置と、
    gfnorm指令を実行するためのgfnorm論理とを具備するハードウェアブロックにおいて、
    前記gmful論理装置は、
    第1の変数を受信するための第1の入力と、
    第2の変数を受信するための第2の入力と、
    GF(2)にわたって前記第1及び第2の入力を乗算して積を生成するための多項式乗算論理とを具備しており、
    前記gfnorm論理装置は、
    前記第3の値を受信するための第3の入力と、
    前記積において演算する予め定められた生成多項式を受信するための第4の入力と、
    前記積において前記予め定められた生成多項式の演算を限定する前記予め定められた生成多項式の長さを受取るための第5の入力と、
    前記長さにより限定される前記予め定められた生成多項式を介して除数に関して前記積の係数を計算するための計算論理とを具備しているハードウェアブロック。
  17. さらに、除数およびGF(2)にわたって乗算するための多項式乗算論理装置に関して積の係数を計算するN段を有する計算論理装置を具備し、それにおいて、
    中間値が入力として設けられ、
    前記中間値は加数値とXORされてXOR結果を生成し、
    前記XORの結果は出力中間値を生成するために左シフトされ、
    ここで出力中間値はN段から次の段への入力として与えられる請求項16記載のハードウェアブロック。
  18. さらに、gfmul指令を実行する場合には、第1の段の中間入力値を0に設定し、gfnorm指令を実行するならば前記第3の入力に0を設定する選択論理装置を具備している請求項17記載のハードウェアブロック。
  19. さらに、gfmul指令を実行する場合には、前記加数の値を先頭にN個の0が付加された第1の入力に設定し、gfnorm指令を実行する場合には、生成多項式に設定する選択論理装置を具備している請求項17記載のハードウェアブロック。
  20. さらに、前記段の現在の中間入力の先行ビットが1に等しいか否かを評価するための各段の数Nにおける先行ビット論理装置を具備し、
    前記段数Nが第5の入力よりも小さいならば、および前記ハードウェアがgfnorm指令を実行するならば、段数Nは前記加数および中間値をXOR処理する請求項17記載のハードウェアブロック。
  21. さらに、先行ビットから数えて第2の入力のN番目のビットが1であるか否か、およびハードウェアブロックがgfmul指令を実行しているか否かを評価するそれぞれ段数Nの乗算ビット論理装置を具備し、段数Nは加数及び中間値をXOR処理する請求項18記載のハードウェアブロック。
  22. さらに、段数Nが第5の入力よりも小さいか否か、およびハードウェアブロックがgfnorm指令を実行しているか否かを評価するそれぞれ段数Nのシフト論理装置を具備し、段数NはXOR処理の結果をシフトする請求項17記載のハードウェアブロック。
  23. さらに、ハードウェアがgfmul指令を実行しているか否かを査定するため各段数Nの乗算シフト論理を具備し、段数NはXOR結果をシフトする請求項17記載のハードウェアブロック。
  24. gfmul論理装置とgfnorm論理装置は並列処理のために複製され、並列に実行される請求項16記載の方法。
  25. さらに、合計された結果を生成するために並列のgfmul論理装置の個々のものからの結果を合計するための合計論理装置を具備している請求項24記載の方法。
  26. さらに、前記合計された結果を記憶するためのスカラーレジスタを具備している請求項25記載の方法。
  27. 前記スカラーレジスタは累算器である請求項26記載の方法。
  28. 前記並列処理はSIMDプロセッサを介して実行される請求項24記載の方法。
  29. 前記第3の値は前記gmful論理装置からの積である請求項16記載の方法。
JP2011509567A 2008-05-12 2009-05-07 プログラム可能なプロセッサにおける随意選択的なガロア域計算の実行 Expired - Fee Related JP5456766B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5248208P 2008-05-12 2008-05-12
US61/052,482 2008-05-12
PCT/US2009/043179 WO2009140142A1 (en) 2008-05-12 2009-05-07 Implementation of arbitrary galois field arithmetic on a programmable processor

Publications (2)

Publication Number Publication Date
JP2011520404A true JP2011520404A (ja) 2011-07-14
JP5456766B2 JP5456766B2 (ja) 2014-04-02

Family

ID=41319003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011509567A Expired - Fee Related JP5456766B2 (ja) 2008-05-12 2009-05-07 プログラム可能なプロセッサにおける随意選択的なガロア域計算の実行

Country Status (6)

Country Link
US (1) US9146708B2 (ja)
EP (1) EP2283417B1 (ja)
JP (1) JP5456766B2 (ja)
KR (1) KR101616478B1 (ja)
CN (2) CN102084335B (ja)
WO (1) WO2009140142A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014160500A (ja) * 2009-12-17 2014-09-04 Intel Corp 単一命令でシフトおよび排他的論理和演算を行う方法および装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971936B2 (en) 2009-09-01 2015-03-03 Adidas Ag Multimodal method and system for transmitting information about a subject
US9526419B2 (en) * 2009-09-01 2016-12-27 Adidas Ag Garment for physiological characteristics monitoring
US9545222B2 (en) * 2009-09-01 2017-01-17 Adidas Ag Garment with noninvasive method and system for monitoring physiological characteristics and athletic performance
US8475371B2 (en) * 2009-09-01 2013-07-02 Adidas Ag Physiological monitoring garment
US9326705B2 (en) * 2009-09-01 2016-05-03 Adidas Ag Method and system for monitoring physiological and athletic performance characteristics of a subject
US20110050216A1 (en) * 2009-09-01 2011-03-03 Adidas Ag Method And System For Limiting Interference In Magnetometer Fields
US20110054289A1 (en) * 2009-09-01 2011-03-03 Adidas AG, World of Sports Physiologic Database And System For Population Modeling And Method of Population Modeling
US20110054290A1 (en) * 2009-09-01 2011-03-03 Adidas AG, World of Sports Method and System for Interpretation and Analysis of Physiological, Performance, and Contextual Information
US9186136B2 (en) 2009-12-09 2015-11-17 Covidien Lp Surgical clip applier
US9037564B2 (en) 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
CN103729162A (zh) * 2012-10-15 2014-04-16 北京兆易创新科技股份有限公司 伽罗瓦域运算系统和方法
KR101511909B1 (ko) * 2014-07-07 2015-04-14 한국과학기술원 적외선 코드를 이용한 원거리 디바이스 간 컨텐츠 이동 시스템 및 방법
CN104407837B (zh) * 2014-12-16 2017-09-19 中国电子科技集团公司第三十八研究所 一种实现伽罗瓦域乘法的装置及其应用方法
IL239880B (en) * 2015-07-09 2018-08-30 Kaluzhny Uri Simplified montgomery multiplication
CN105024707B (zh) * 2015-07-31 2018-05-11 福建联迪商用设备有限公司 一种rs纠错解码方法
US10110376B1 (en) 2016-03-28 2018-10-23 Secturion Systems, Inc. Systolic parallel Galois hash computing device
WO2019232159A1 (en) * 2018-05-30 2019-12-05 Lg Electronics, Inc. Modulus calculation that leverages computer architecture and/or operand clustering
WO2021097765A1 (zh) * 2019-11-21 2021-05-27 华为技术有限公司 一种乘法器及算子电路
US11507813B2 (en) * 2020-06-01 2022-11-22 Arm Limited Modulo operation unit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11346157A (ja) * 1998-06-02 1999-12-14 Matsushita Electric Ind Co Ltd リードソロモン符号化装置および方法
JP2001194996A (ja) * 2000-01-11 2001-07-19 Toyo Commun Equip Co Ltd 多項式の除算装置
JP2007514371A (ja) * 2003-12-12 2007-05-31 アナログ・デバイシズ・インコーポレーテッド ガロア体乗算のためのルックアップテーブルを使用するリード・ソロモン符号の符号化および復号化

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE98030T1 (de) * 1984-01-21 1993-12-15 Sony Corp Verfahren und schaltung zur dekodierung von fehlercode-daten.
US5396502A (en) * 1992-07-09 1995-03-07 Advanced Hardware Architectures, Inc. Single-stack implementation of a Reed-Solomon encoder/decoder
US5768168A (en) 1996-05-30 1998-06-16 Lg Semicon Co., Ltd. Universal galois field multiplier
JP3556461B2 (ja) * 1998-03-18 2004-08-18 富士通株式会社 M系列の位相シフト係数算出方式
US6760742B1 (en) * 2000-02-18 2004-07-06 Texas Instruments Incorporated Multi-dimensional galois field multiplier
JP2002057586A (ja) * 2000-08-11 2002-02-22 Alps Electric Co Ltd 演算処理装置
US7895253B2 (en) * 2001-11-30 2011-02-22 Analog Devices, Inc. Compound Galois field engine and Galois field divider and square root engine and method
US6766345B2 (en) * 2001-11-30 2004-07-20 Analog Devices, Inc. Galois field multiplier system
US20030140302A1 (en) * 2002-01-23 2003-07-24 Litwin, Louis Robert Chien search cell for an error-correcting decoder
JP3726966B2 (ja) * 2003-01-23 2005-12-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 乗算器及び暗号回路
KR100610367B1 (ko) * 2004-06-19 2006-08-10 삼성전자주식회사 정보 누출 공격을 방지하기 위한 갈로아 필드 상의 곱셈방법 및 장치, 역변환 장치 그리고 aes 바이트 치환연산장치
CN101031904A (zh) * 2004-07-13 2007-09-05 3加1科技公司 带有两类子处理器以执行多媒体应用的可编程处理器系统
KR100670780B1 (ko) * 2004-10-29 2007-01-17 한국전자통신연구원 유한체 GF(2^m)에서의 하이브리드 곱셈 연산 장치및 연산 방법
US20060106910A1 (en) * 2004-11-16 2006-05-18 Analog Devices, Inc. Galois field polynomial multiplication
US7512647B2 (en) * 2004-11-22 2009-03-31 Analog Devices, Inc. Condensed Galois field computing system
CN101005346A (zh) * 2006-01-19 2007-07-25 华为技术有限公司 一种时频资源的分配方法
RU2011107568A (ru) * 2011-03-01 2012-09-10 ЭлЭсАй Корпорейшн (US) Устройство (варианты) и способ генерирования конструкции комбинационного умножителя конечного поля малой глубины

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11346157A (ja) * 1998-06-02 1999-12-14 Matsushita Electric Ind Co Ltd リードソロモン符号化装置および方法
JP2001194996A (ja) * 2000-01-11 2001-07-19 Toyo Commun Equip Co Ltd 多項式の除算装置
JP2007514371A (ja) * 2003-12-12 2007-05-31 アナログ・デバイシズ・インコーポレーテッド ガロア体乗算のためのルックアップテーブルを使用するリード・ソロモン符号の符号化および復号化

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6013031430; 沖田 茂: '体生成多項式が異なる複数のリード・ソロモン符号の、符号化及び復号方法の一検討' 1997年電子情報通信学会総合大会講演論文集 基礎・境界 , 19970306, p.439 *
JPN6013031432; 小林 克希 外1名: '拡張ユークリッド法に基づくGF(2^m)上の乗算・逆元計算のための複合回路' 電子情報通信学会技術研究報告 Vol.106, No.549, 20070302, pp.13-18 *
JPN6013031435; 難波 良 外1名: 'GF(P)とGF(2^n)上の乗算に対して再構成可能な乗算器' 電子情報通信学会技術研究報告 Vol.104, No.421, 20041101, pp.7-12 *
JPN6013031439; Pramod Kumar Meher: 'Systolic Formulation for Low-Complexity Serial-Parallel Implementation of Unified Finite Field Multi' Application -specific Systems, Architectures and Processors, 2007. ASAP. IEEE International Conf. on , 20070711, pp.134-139 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014160500A (ja) * 2009-12-17 2014-09-04 Intel Corp 単一命令でシフトおよび排他的論理和演算を行う方法および装置
JP2014194825A (ja) * 2009-12-17 2014-10-09 Intel Corp 単一命令でシフトおよび排他的論理和演算を行う方法および装置
US9495165B2 (en) 2009-12-17 2016-11-15 Intel Corporation Method and apparatus for performing a shift and exclusive or operation in a single instruction
US9501281B2 (en) 2009-12-17 2016-11-22 Intel Corporation Method and apparatus for performing a shift and exclusive or operation in a single instruction
US10684855B2 (en) 2009-12-17 2020-06-16 Intel Corporation Method and apparatus for performing a shift and exclusive or operation in a single instruction

Also Published As

Publication number Publication date
CN104391675B (zh) 2020-03-24
KR101616478B1 (ko) 2016-04-28
CN102084335B (zh) 2015-01-07
CN102084335A (zh) 2011-06-01
CN104391675A (zh) 2015-03-04
JP5456766B2 (ja) 2014-04-02
EP2283417A4 (en) 2013-01-09
US20110153701A1 (en) 2011-06-23
WO2009140142A1 (en) 2009-11-19
EP2283417A1 (en) 2011-02-16
KR20110010771A (ko) 2011-02-07
EP2283417B1 (en) 2014-01-29
US9146708B2 (en) 2015-09-29

Similar Documents

Publication Publication Date Title
JP5456766B2 (ja) プログラム可能なプロセッサにおける随意選択的なガロア域計算の実行
Satoh et al. A scalable dual-field elliptic curve cryptographic processor
JP5266354B2 (ja) ガロア拡大体・積算/積算加算・積和演算装置
US9928037B2 (en) Modulo calculation using polynomials
Adikari et al. A Fast Hardware Architecture for Integer to\tauNAF Conversion for Koblitz Curves
Rashidi Throughput/area efficient implementation of scalable polynomial basis multiplication
JP3726966B2 (ja) 乗算器及び暗号回路
JP5175983B2 (ja) 演算装置
Feng et al. A high performance FPGA implementation of 256-bit elliptic curve cryptography processor over GF (p)
JP4177125B2 (ja) 演算装置及び演算装置の演算方法
KR100552694B1 (ko) 유한 체에서 곱셈 연산 방법 및 장치
CN110506255B (zh) 节能型可变功率加法器及其使用方法
JP2004166274A (ja) 有限体での基底変換方法及び基底変換装置
Kobayashi et al. Fast inversion algorithm in GF (2m) suitable for implementation with a polynomial multiply instruction on GF (2)
Shukla LFSR based versatile divider architectures for BCH and RS error correction encoders
KR20070062901A (ko) 중국인 나머지 정리(crt)와 캐리 저장 가산 기반의모듈러 곱셈 장치 및 방법
JP4472808B2 (ja) 積和演算装置及びこれを用いた暗号・復号装置
JP2008134812A (ja) 有限体gf(3)の演算方法及び演算装置
Hassan et al. A Booth-like modulo operator
Lórencz et al. Subtraction-free almost Montgomery inverse algorithm
Chourasia et al. 18 Years of Redundant Basis Multipliers over Galois Field
REDDY et al. Scalable Montgomery Modular Multiplication Architecture with Low-Latency and Low-Memory Bandwidth Requirement
APARNA et al. Efficient Method of BCD Multiplication to Reduce Power and Delay Values
Hariri Arithmetic units for the elliptic curve cryptography with concurrent error detection capability
Viswanathan et al. An alternative approach to modulo-multiplication for finite fields using the Itoh-Tsujii algorithm

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110304

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110304

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20121023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130227

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130306

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130325

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130401

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130426

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131002

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131105

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: 20131210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140108

R150 Certificate of patent or registration of utility model

Ref document number: 5456766

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees