JP5975682B2 - 演算装置、演算方法、およびプログラム - Google Patents
演算装置、演算方法、およびプログラム Download PDFInfo
- Publication number
- JP5975682B2 JP5975682B2 JP2012049722A JP2012049722A JP5975682B2 JP 5975682 B2 JP5975682 B2 JP 5975682B2 JP 2012049722 A JP2012049722 A JP 2012049722A JP 2012049722 A JP2012049722 A JP 2012049722A JP 5975682 B2 JP5975682 B2 JP 5975682B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- sequence
- length
- block
- scalar multiplication
- 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.)
- Expired - Fee Related
Links
Images
Description
(情報処理装置の構成)
図1は、本実施形態において符号付きウィンドウ結合処理を行う情報処理装置100を示す図である。この情報処理装置100は、例えば、CPU、ハードディスク、メモリ等のハードウェアとCPUが実行するプログラム等のソフトウェアを備え、メモリに格納されたプログラムの指示に従い動作を行うパーソナルコンピュータに相当する。情報処理装置100は、例えば、データ取得部101、符号付き2進数変換部102、ブロック抽出部103、判定部104、再変換部105から構成される。
図4は、情報処理装置100が行う処理の流れを示すフローチャートである。処理では、自然数k0の入力、数値k1への変換、ブロックの抽出、抽出されたブロックの再変換の可否判定、及び再変換可能な場合に再変換が行われる。
実施形態1では、鍵k0を一つのウィンドウサイズwを用いてブロック抽出し、そのブロックを再変換可能である場合は再変換し、これにより、ウィンドウの数を減らすことを可能とする方法を説明した。しかしながら、ウィンドウの数は、ウィンドウサイズwの値によって変化するものであり、いずれのwによって、ウィンドウの削減数を最大化、すなわち、ウィンドウの残数を最少化することが可能であるかは処理して初めて判明する。そこで、本実施形態では、複数のウィンドウサイズwで実施形態1の方法を実行し、ウィンドウの削減数が最大となった場合のwと、その時のk2をスカラー倍算処理に利用する。そして、それにより、スカラー倍演算における処理時間の短縮を実現する。
本実施形態に係る情報処理装置100は、図1に示す実施形態1と同様の構成を有する。ただし、本実施形態においては、データ取得部101は、複数のウィンドウサイズwa(a=0、1、…、n−1)を入力する。また、再変換部105は、各ウィンドウサイズwaによりk1をk2に再変換した後に、ウィンドウの数が処理前と比べてどの程度減少したかを示す削減数を取得する。すなわち、例えば図3の例では、6個だったウィンドウ数が再変換により4個となっているため、削減数「2」を取得する。そして、ウィンドウの削減数が最大となるウィンドウサイズwmaxと、そのときの出力系列k2とを出力する。再変換部105の処理内容の詳細については後述する。
図6は、情報処理装置100が実行する、自然数k0の入力、数値k1への変換、ブロックの抽出、ブロックの再変換が可能であるかの判定、及びk1のk2への再変換までの一連の動作を示したフローチャートである。処理が開始されると、まず、S601からS603において、それぞれS401からS403と同様の処理を実行する。また、可変のウィンドウサイズのインデックスaと、ウィンドウの削減数の最大値smaxとが0に初期化される(S604)。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (10)
- 数値で表される楕円曲線上の点に対して、自然数を用いて楕円曲線上におけるスカラー倍演算を実行する演算装置であって、
前記自然数を2進数表現し、0と正のビットである1と負のビットである−1とを用いて、当該2進数表現を符号付き2進数の系列へ変換する変換手段と、
前記符号付き2進数の系列において、長さが所定のビット長の部分系列であるブロックであって、その先頭ビットと最後尾ビットとが共に0でないブロックを抽出する抽出手段と、
前記ブロックが示す値が前記所定のビット長より1ビット短い、0および正のビットである1からなるビット列、または0および負のビットである−1からなるビット列で表現できるか否かを判定する判定手段と、
前記ブロックが示す値が前記所定のビット長より1ビット短いビット列で表現できる場合、前記符号付き2進数の系列のそのブロックの部分を、先頭ビットを0とし、その後に前記ビット列を付したビット列に変換することにより、前記符号付き2進数の系列を再変換する再変換手段と、
前記再変換された系列に基づいて、前記数値に対する楕円曲線上での加算と2倍算とを行い、前記数値と前記自然数とのスカラー倍演算を実行する実行手段と、
を備えることを特徴とする演算装置。 - 前記実行手段は、前記再変換された系列から、前記所定のビット長より短い部分系列を読み出し、当該部分系列の先頭ビットと最後尾ビットとが共に0でない場合、当該部分系列が示す値と前記数値とを乗じた値の前記演算結果への加算と、その部分系列の長さに応じた前記演算結果に対する2倍算とを行う、
ことを特徴とする請求項1に記載の演算装置。 - 前記実行手段は、前記部分系列が0のみからなる場合、その部分系列の長さに応じて前記演算結果に対する2倍算を行う、
ことを特徴とする請求項2に記載の演算装置。 - 先頭ビットと最後尾ビットとが共に0でない前記所定のビット長より短い系列について、その系列が示す値と前記数値とのスカラー倍演算の結果を記憶する記憶手段をさらに備え、
前記実行手段は、読み出した前記部分系列の先頭ビットと最後尾ビットとが共に0でない場合、その部分系列の長さに応じて前記演算結果に対して2倍算を行い、その部分系列と前記数値とのスカラー倍演算の結果を前記記憶手段から読みだして、その演算結果に対して加算する、
ことを特徴とする請求項2又は3に記載の演算装置。 - 前記実行手段は、前記再変換された系列に含まれる先頭ビットと最後尾ビットとが共に0でない部分系列について、前記数値とのスカラー倍演算の結果の値を予め計算し、
前記実行手段は、読み出した部分系列の先頭ビットと最後尾ビットとが共に0でない場合、その部分系列の長さに応じて前記演算結果に対して2倍算を行い、その部分系列と前記数値とのスカラー倍演算の予め計算された結果の値を、その演算結果に対して加算する、
ことを特徴とする請求項2又は3に記載の演算装置。 - 前記所定のビット長より短い部分系列であって、先頭ビットと最後尾ビットとが共に0でない部分系列の数について、前記符号付き2進数の系列を前記再変換された系列に再変換したことによる前記部分系列の数の削減数を取得する取得手段をさらに備え、
前記取得手段は、前記所定のビット長を変化させた場合について、それぞれの前記所定のビット長ごとの前記削減数を取得し、
前記実行手段は、前記削減数が最大となる所定のビット長において得られる前記再変換された系列を用いて、前記数値と前記自然数とのスカラー倍演算を実行する、
ことを特徴とする請求項1から5のいずれか1項に記載の演算装置。 - 前記再変換された系列において、前記所定のビット長より短い部分系列であって、先頭ビットと最後尾ビットとが共に0でない部分系列の数を取得する取得手段をさらに備え、
前記取得手段は、前記所定のビット長を変化させて前記部分系列の数を取得し、
前記実行手段は、前記部分系列の数が最少となる所定のビット長において得られる前記再変換された系列を用いて、前記数値と前記自然数とのスカラー倍演算を実行する、
ことを特徴とする請求項1から5のいずれか1項に記載の演算装置。 - 前記再変換された系列において、楕円曲線上の2倍算および加算を行う回数を取得する取得手段をさらに備え、
前記取得手段は、前記所定のビット長を変化させて前記回数を取得し、
前記実行手段は、前記回数が最少となる所定のビット長において得られる前記再変換された系列を用いて、前記数値と前記自然数とのスカラー倍演算を実行する、
ことを特徴とする請求項1から5のいずれか1項に記載の演算装置。 - 数値で表される楕円曲線上の点に対して、自然数を用いて楕円曲線上におけるスカラー倍演算を実行する演算装置における演算方法であって、
変換手段が、前記自然数を2進数表現し、0と正のビットである1と負のビットである−1とを用いて、当該2進数表現を符号付き2進数の系列へ変換する変換工程と、
抽出手段が、前記符号付き2進数の系列において、長さが所定のビット長の部分系列であるブロックであって、その先頭ビットと最後尾ビットとが共に0でないブロックを抽出する抽出工程と、
判定手段が、前記ブロックが示す値が前記所定のビット長より1ビット短い、0および正のビットである1からなるビット列、または0および負のビットである−1からなるビット列で表現できるか否かを判定する判定工程と、
再変換手段が、前記ブロックが示す値が前記所定のビット長より1ビット短いビット列で表現できる場合、前記符号付き2進数の系列のそのブロックの部分を、先頭ビットを0とし、その後に前記ビット列を付したビット列に変換することにより、前記符号付き2進数の系列を再変換する再変換工程と、
実行手段が、前記再変換された系列に基づいて、前記数値に対する楕円曲線上での加算と2倍算とを行い、前記数値と前記自然数とのスカラー倍演算を実行する実行工程と、
を有することを特徴とする演算方法。 - コンピュータを請求項1から8のいずれか1項に記載の演算装置が備える各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012049722A JP5975682B2 (ja) | 2012-03-06 | 2012-03-06 | 演算装置、演算方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012049722A JP5975682B2 (ja) | 2012-03-06 | 2012-03-06 | 演算装置、演算方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013186204A JP2013186204A (ja) | 2013-09-19 |
JP5975682B2 true JP5975682B2 (ja) | 2016-08-23 |
Family
ID=49387699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012049722A Expired - Fee Related JP5975682B2 (ja) | 2012-03-06 | 2012-03-06 | 演算装置、演算方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5975682B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018146766A (ja) | 2017-03-06 | 2018-09-20 | キヤノン株式会社 | スカラー倍演算装置、スカラー倍演算方法及びプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3797808B2 (ja) * | 1998-10-27 | 2006-07-19 | 富士通株式会社 | スカラー倍算方法およびその装置 |
JP2005316038A (ja) * | 2004-04-28 | 2005-11-10 | Hitachi Ltd | 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびプログラム |
JP4783061B2 (ja) * | 2005-02-04 | 2011-09-28 | ルネサスエレクトロニクス株式会社 | 楕円曲線暗号におけるスカラー倍計算装置 |
-
2012
- 2012-03-06 JP JP2012049722A patent/JP5975682B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013186204A (ja) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5027422B2 (ja) | 剰余演算処理装置 | |
KR20160132943A (ko) | 단열 양자 계산을 통한 디지털 로직 제한 문제 해결 | |
US8417760B2 (en) | Device and method for calculating a multiplication addition operation and for calculating a result of a modular multiplication | |
CN115906137A (zh) | 用于多方安全计算的数据处理方法及装置 | |
JP5975682B2 (ja) | 演算装置、演算方法、およびプログラム | |
JPWO2015145997A1 (ja) | 属性変換装置、属性変換方法、学習装置、属性変換プログラム、及び、学習プログラム | |
CN117155572A (zh) | 一种基于gpu并行实现密码技术中大整数乘法的方法 | |
Ruan et al. | Left-to-right optimal signed-binary representation of a pair of integers | |
KR20130128701A (ko) | 모듈러 곱셈기 및 그것의 모듈러 곱셈 방법 | |
JP4182226B2 (ja) | 剰余系の計算方法及び装置並びにプログラム | |
JP4398904B2 (ja) | 乱数系列生成装置、乱数系列生成方法、演算処理装置、演算処理方法及びプログラム | |
CN113204780B (zh) | 保留格式加密算法的实现方法及装置 | |
JP5225115B2 (ja) | Naf変換装置 | |
CN108418687A (zh) | 一种适合sm2算法的快速模约减方法和介质 | |
JP2013186202A (ja) | 演算装置、演算方法、およびプログラム | |
CN108075889B (zh) | 一种降低加解密运算时间复杂度的数据传输方法及系统 | |
JP2007526513A (ja) | 要素の累乗またはスカラー乗算の方法 | |
JP5606516B2 (ja) | Naf変換装置 | |
RU2421781C1 (ru) | Устройство для формирования остатка по заданному модулю | |
JP3959076B2 (ja) | 有限体の二乗演算方法及び二乗演算装置 | |
RU92212U1 (ru) | Устройство для формирования остатка по заданному модулю | |
JP4197245B2 (ja) | 楕円曲線演算装置及び変換装置及び楕円曲線演算装置の楕円曲線演算方法及びプログラム及びコンピュータ読み取り可能な記録媒体 | |
KR100858559B1 (ko) | 잉여 이진수의 덧셈 방법, 잉여 이진수의 곱셈 방법, 잉여이진수 덧셈기 및 잉여 이진수 곱셈기 | |
JP2004102071A (ja) | 多項式剰余系演算装置、方法及びプログラム | |
JP5379700B2 (ja) | スカラー倍演算装置、スカラー倍演算方法、スカラー倍演算プログラム、記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160210 |
|
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: 20160621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160719 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5975682 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |