+

JP2015135587A - 拡大体乗算装置、拡大体乗算方法及びプログラム - Google Patents

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

Info

Publication number
JP2015135587A
JP2015135587A JP2014006335A JP2014006335A JP2015135587A JP 2015135587 A JP2015135587 A JP 2015135587A JP 2014006335 A JP2014006335 A JP 2014006335A JP 2014006335 A JP2014006335 A JP 2014006335A JP 2015135587 A JP2015135587 A JP 2015135587A
Authority
JP
Japan
Prior art keywords
value
unit
multiplication
shuffle
generates
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
JP2014006335A
Other languages
English (en)
Other versions
JP6093718B2 (ja
Inventor
大 五十嵐
Masaru Igarashi
大 五十嵐
浩気 濱田
Hiroki Hamada
浩気 濱田
亮 菊池
Akira Kikuchi
亮 菊池
千田 浩司
Koji Senda
浩司 千田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014006335A priority Critical patent/JP6093718B2/ja
Publication of JP2015135587A publication Critical patent/JP2015135587A/ja
Application granted granted Critical
Publication of JP6093718B2 publication Critical patent/JP6093718B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】拡大体乗算を高速に計算する。【解決手段】第一シャフル部2は、i={0,1}について、値Aからシャフルにより値A’[i]を生成し、値Bからシャフルにより値B’[i]を生成する。キャリー無し乗算部3は、i={0,1}について、値A’[i]及び値B’[i]を入力としてキャリー無し乗算により値C’[i]を計算する。第二シャフル部4は、値C’[0],C’[1]からシャフルにより値Cを生成する。第三シャフル部5は、値C’[0],C’[1]からシャフルにより値Dを生成する。剰余計算部6は、値Dに対して既約多項式f[X]による剰余を計算し、値D’を生成する。排他的論理和部7は、値Cと値D’との排他的論理和を計算する。【選択図】図1

Description

この発明は、情報セキュリティ技術に関し、特に、暗号や符号で用いられる、2の拡大体と呼ばれる代数構造上の乗算を計算する技術に関する。
2のm次拡大体要素は、mビットのビット列で表現される。以降、2のm次拡大体をGF(2m)と書く。GF(2m)上の加算はビットごとの排他的論理和(XOR)で表現され、計算は容易である。一方、乗算は以下のような意味をもち、加算と比べて複雑である。
まず、m次拡大体要素a∈GF(2m)の各ビットは以下のようにm-1次多項式a[X]の係数a0,…,am-1として解釈される。
Figure 2015135587
このとき、m次拡大体要素a,bの積ab∈GF(2m)は、以下のように表される。
Figure 2015135587
ただし、f[X]は既約多項式と呼ばれる特定のm次多項式である。例えば、1+X+X2は2次の既約多項式である。
非特許文献1には、2の拡大体乗算を計算する従来技術として、多項式法、巡回群法、正規規定法、乗算表を利用した手法などが記載されている。
田中哲士、安田貴徳、櫻井幸一、"Graphics processing unitを用いたgf(232)上の高速演算の実装"、コンピュータセキュリティシンポジウム2013、2013年
非特許文献1記載の従来技術は、計算速度が遅いという課題がある。
この発明は、2の拡大体乗算を高速に計算することを目的とする。
上記の課題を解決するために、この発明の拡大体乗算装置は、A,Bを2のm次拡大体のL個の要素からなる値とし、i={0,1}について、値Aから次式に示す値A’[i]を生成し、値Bから次式に示す値B’[i]を生成する第一シャフル部と、
Figure 2015135587
i={0,1}について、値A’[i]及び値B’[i]を入力としてキャリー無し乗算により値C’[i]を計算するキャリー無し乗算部と、値C’[0],C’[1]から次式に示す値Cを生成する第二シャフル部と、
Figure 2015135587
値C’[0],C’[1]から次式に示す値Dを生成する第三シャフル部と、
Figure 2015135587
値Dに対してm次の既約多項式f[X]による剰余を計算し、値D’を生成する剰余計算部と、値Cと値D’との排他的論理和を計算する排他的論理和部と、を含む。
この発明によれば、2の拡大体乗算を高速に計算することができる。
図1は、拡大体乗算装置の機能構成を例示する図である。 図2は、拡大体乗算方法の処理フローを例示する図である。
この発明は、Lmビットのキャリー無し乗算と呼ばれる処理とシャッフルと呼ばれる処理が利用できるときに、L回分の2のm次拡大体乗算を高速に並列処理する方法である。
キャリーとは繰り上がりを意味し、キャリー無し乗算とは、例えば、筆算で乗算を行った際の桁ごとの繰り上がりが無いような乗算である。特に、この発明では二進数の場合を言う。シャッフルとは、ベクトルがあるときに並び順を指定して各要素を並び替える操作である。
近年のCPU(Central Processing Unit、中央演算処理装置)には、64ビットキャリー無し乗算や128ビットもしくは256ビットシャッフルを搭載しているものが存在する。
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[実施形態]
図1を参照して、拡大体乗算装置1の構成例を説明する。拡大体乗算装置10は、入力部1、第一シャフル部2、キャリー無し乗算部3、第二シャフル部4、第三シャフル部5、剰余計算部6、排他的論理和部7及び出力部8を含む。拡大体乗算装置10は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。拡大体乗算装置10は、例えば、中央演算処理装置の制御のもとで各処理を実行する。拡大体乗算装置10に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。
図2を参照しながら、実施形態に係る拡大体乗算装置10が実行する拡大体乗算方法の処理フローの一例を、実際に行われる手続きの順に従って説明する。
ステップS1において、入力部1へLmビットの2個の値A,B∈GF(2m)Lが入力される。
ステップS2において、第一シャフル部2は、i={0,1}について、値Aからシャフルにより次式に示すLmビットの値A’[i]を生成する。
Figure 2015135587
また、第一シャフル部2は、i={0,1}について、値Bからシャフルにより次式に示すLmビットの値B’[i]を生成する。
Figure 2015135587
値A’[0],A’[1],B’[0],B’[1]はキャリー無し乗算部3へ出力される。
ステップS3において、キャリー無し乗算部3は、i={0,1}について、値A’[i]及び値B’[i]を入力としてキャリー無し乗算を次式により計算し、値C’[i]を生成する。値C’[0],C’[1]は第二シャフル部及び第三シャフル部へ出力される。
Figure 2015135587
ただし、CLMは2Lmビット入力Lmビット出力のキャリーなし演算を計算する関数である。
ステップS4において、第二シャフル部4は、値C’[0],C’[1]からシャフルにより次式に示す値Cを生成する。値Cは排他的論理和部7へ出力される。
Figure 2015135587
ステップS5において、第三シャフル部5は、値C’[0],C’[1]からシャフルにより次式に示す値Dを生成する。値Dは剰余計算部6へ出力される。
Figure 2015135587
ステップS6において、剰余計算部6は、並列ビット演算により、値Dに対して既約多項式f[X]による剰余を次式により計算し、値D’を生成する。値D’は排他的論理和部7へ出力される。
Figure 2015135587
ステップS7において、排他的論理和部7は、値Cと値D’との排他的論理和を計算し、値Eを生成する。値Eは出力部8へ出力される。
Figure 2015135587
ステップS8において、出力部8は値Eを出力する。
このように、この発明の拡大体乗算技術は、多ビット長のキャリー無し乗算が利用できるとき、L回の乗算を2回のキャリー無し乗算により並列に同時に計算することができる。したがって、2の拡大体乗算を高速に計算することができる。
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[プログラム、記録媒体]
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
10 拡大体乗算装置
1 入力部
2 第一シャフル部
3 キャリー無し乗算部
4 第二シャフル部
5 第三シャフル部
6 剰余計算部
7 排他的論理和部
8 出力部

Claims (5)

  1. A,Bを2のm次拡大体のL個の要素からなる値とし、
    i={0,1}について、値Aから次式に示す値A’[i]を生成し、値Bから次式に示す値B’[i]を生成する第一シャフル部と、
    Figure 2015135587

    i={0,1}について、値A’[i]及び値B’[i]を入力としてキャリー無し乗算により値C’[i]を計算するキャリー無し乗算部と、
    値C’[0],C’[1]から次式に示す値Cを生成する第二シャフル部と、
    Figure 2015135587

    値C’[0],C’[1]から次式に示す値Dを生成する第三シャフル部と、
    Figure 2015135587

    値Dに対してm次の既約多項式f[X]による剰余を計算し、値D’を生成する剰余計算部と、
    値Cと値D’との排他的論理和を計算する排他的論理和部と、
    を含む拡大体乗算装置。
  2. 請求項1に記載の拡大体乗算装置であって、
    上記第一シャフル部及び上記キャリー無し乗算部は、i={0,1}について、並列かつ同時に処理を行うものである
    拡大体乗算装置。
  3. A,Bを2のm次拡大体のL個の要素からなる値とし、
    第一シャフル部が、i={0,1}について、値Aから次式に示す値A’[i]を生成し、値Bから次式に示す値B’[i]を生成する第一シャフルステップと、
    Figure 2015135587

    キャリー無し乗算部が、i={0,1}について、値A’[i]及び値B’[i]を入力としてキャリー無し乗算により値C’[i]を計算するキャリー無し乗算ステップと、
    第二シャフル部が、値C’[0],C’[1]から次式に示す値Cを生成する第二シャフルステップと、
    Figure 2015135587

    第三シャフル部が、値C’[0],C’[1]から次式に示す値Dを生成する第三シャフルステップと、
    Figure 2015135587

    剰余計算部が、値Dに対してm次の既約多項式f[X]による剰余を計算し、値D’を生成する剰余計算ステップと、
    排他的論理和部が、値Cと値D’との排他的論理和を計算する排他的論理和ステップと、
    を含む拡大体乗算方法。
  4. 請求項3に記載の拡大体乗算方法であって、
    上記第一シャフルステップ及び上記キャリー無し乗算ステップは、i={0,1}について、並列に同時に処理を行う
    拡大体乗算方法。
  5. 請求項1又は2に記載の拡大体乗算装置としてコンピュータを機能させるためのプログラム。
JP2014006335A 2014-01-17 2014-01-17 拡大体乗算装置、拡大体乗算方法及びプログラム Active JP6093718B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014006335A JP6093718B2 (ja) 2014-01-17 2014-01-17 拡大体乗算装置、拡大体乗算方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014006335A JP6093718B2 (ja) 2014-01-17 2014-01-17 拡大体乗算装置、拡大体乗算方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015135587A true JP2015135587A (ja) 2015-07-27
JP6093718B2 JP6093718B2 (ja) 2017-03-08

Family

ID=53767378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014006335A Active JP6093718B2 (ja) 2014-01-17 2014-01-17 拡大体乗算装置、拡大体乗算方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6093718B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109376A (ja) * 1999-10-04 2001-04-20 Toyo Commun Equip Co Ltd 演算回路および演算プロセッサ
WO2010080263A2 (en) * 2008-12-19 2010-07-15 Intel Corporation Method and apparatus to perform redundant array of independent disks (raid) operations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109376A (ja) * 1999-10-04 2001-04-20 Toyo Commun Equip Co Ltd 演算回路および演算プロセッサ
WO2010080263A2 (en) * 2008-12-19 2010-07-15 Intel Corporation Method and apparatus to perform redundant array of independent disks (raid) operations

Also Published As

Publication number Publication date
JP6093718B2 (ja) 2017-03-08

Similar Documents

Publication Publication Date Title
US10778410B2 (en) Homomorphic data encryption method and apparatus for implementing privacy protection
JP6058245B2 (ja) 乱数拡大装置、乱数拡大方法及び乱数拡大プログラム
JP2019523492A (ja) 難読化算術を実行するためのデバイス及び方法
US11373098B2 (en) Processing apparatus, learning apparatus, processing method, and nonvolatile recording medium
JP6583970B2 (ja) 秘密乱数合成装置、秘密乱数合成方法、およびプログラム
KR102075848B1 (ko) 다항식 연산 최적화 처리 장치, 다항식 연산 최적화 처리 방법 및 기록매체
JP6585846B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
US11514192B2 (en) Secure reading apparatus, secure writing apparatus, method thereof, and program for reading and writing data in a sequence without revealing an access position
KR101666974B1 (ko) 소수 생성
JP6367959B2 (ja) 部分文字列位置検出装置、部分文字列位置検出方法及びプログラム
JP6337133B2 (ja) 非減少列判定装置、非減少列判定方法及びプログラム
JP6093718B2 (ja) 拡大体乗算装置、拡大体乗算方法及びプログラム
US10050775B2 (en) Element replication device, element replication method, and program
CN116894254A (zh) 使用同态加密运算的装置和方法
JP6067596B2 (ja) ペアリング演算装置、マルチペアリング演算装置、プログラム
JP5927323B1 (ja) 行列作用装置、行列作用方法、およびプログラム
JP7016457B2 (ja) 最終べき計算装置、ペアリング演算装置、暗号処理装置、最終べき計算方法及び最終べき計算プログラム
WO2016114292A1 (ja) 乱数生成装置、乱数生成方法、およびプログラム
JP7511525B2 (ja) 内積計算装置、内積計算方法、および、内積計算プログラム
JP7524946B2 (ja) データ処理装置、データ処理方法及び記録媒体
JP2014021237A (ja) 縮約装置、縮約方法、およびプログラム
JP2024170751A (ja) 疎乗算計算装置、Miller関数計算装置、ペアリング演算装置、暗号処理装置、疎乗算計算方法及び疎乗算計算プログラム
JP5755609B2 (ja) 演算装置、その方法およびプログラム
JP6023728B2 (ja) マルチペアリング演算装置、マルチペアリング演算方法、マルチペアリング演算プログラム
KR101688636B1 (ko) 고속 메시지 해싱을 위한 압축함수를 제공하는 연산 방법 및 그 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170213

R150 Certificate of patent or registration of utility model

Ref document number: 6093718

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载