JP2006203822A - 演算装置およびコンピュータプログラム - Google Patents
演算装置およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2006203822A JP2006203822A JP2005016131A JP2005016131A JP2006203822A JP 2006203822 A JP2006203822 A JP 2006203822A JP 2005016131 A JP2005016131 A JP 2005016131A JP 2005016131 A JP2005016131 A JP 2005016131A JP 2006203822 A JP2006203822 A JP 2006203822A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- secret key
- data
- pointer
- signature
- 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
Links
- 238000004590 computer program Methods 0.000 title claims description 12
- 230000006870 function Effects 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 abstract description 31
- 238000006243 chemical reaction Methods 0.000 abstract description 13
- 238000004364 calculation method Methods 0.000 description 20
- 238000000034 method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000002910 structure generation Methods 0.000 description 5
- 239000000470 constituent Substances 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000000547 structure data Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Abstract
【解決手段】符号化部3は、入力される秘密鍵及び平文に対して符号変換、ハッシュ関数によるハッシュ処理、意味を持たないデータを付与してデータサイズを整えるパディング処理等を行い、連続する配列構造の多倍長整数のデータを出力する。多倍長演算部4−1は、符号化部3から入力される配列構造のデータを、本発明特有なデータ構造であるリスト構造のデータに変換してメモリ5に書込みを行う。データ構造変換部4−2は、メモリ5上に離散的に配置されているリスト構造のデータに対し、先頭要素のアドレスを用いて、先頭要素からポインタを順に追跡し、配列構造のデータに変換する。制御部2は、制御部2が配列構造に変換された署名を外部へ出力する。
【選択図】 図1
Description
を備えることを特徴とする。
図1は、本発明の実施形態によるデジタル署名処理を示すブロック図である。図において、署名処理装置1は、制御部2、符号化部3、署名演算部4からなる。また、外部装置としてメモリ5を備えている。制御部2は、署名処理装置1の全体的な制御および外部(メモリ5等)との入出力の制御を行う。符号化部3は、文字列データである平文及び秘密鍵を入力し、符号変換、ハッシュ関数によるハッシュ処理、意味を持たないデータを付与してデータサイズを整えるパディング処理等を行い、連続する配列構造の多倍長整数のデータ(以後、配列構造のデータ)として出力する。
したがって、本実施形態では、図示から明らかなようにステップ数が増加して演算速度が低下するが、安全性は向上する。
また、本実施形態においては、多倍長演算部4−1における演算がメモリ5上で行われるが、この演算は全てリスト構造で行われる。このように演算においても常にリスト構造とすることで、解析を困難にさせている。
図5において、初期化部10は、メモリ5上に領域を確保、すなわち領域を割り当てる。本発明においては、連続ではなく離散的に配置することを目的とすること、また後で説明するダミーを同時に配置するため、配置する多倍長整数より大きい領域を確保する必要がある。一例としては、配置する多倍長整数の3倍の領域を確保する。領域は、図6に示されるように、データの値が格納される実データ(以下、データ本体)と、データ同士のポインタとの組で構成される要素の集合となっている。破棄部12は、初期化部10で確保した領域において、実データ或いはダミーデータが配置されなかった領域を開放する。代入部13は、各領域の要素におけるデータ本体にデータを代入する(コピーする)。
この例では、データと同様4つの要素からなるダミーデータを配置するために、4つの奇数15、11、01、19がランダムに生成され、同様に、ポインタに次の要素のメモリ上のアドレスが書き込まれる(ステップS24)。
また、上述の実施形態では、平文に秘密鍵を作用させて署名を生成する例としたが、平文に変えて暗号文とすることで、暗号文に秘密鍵を作用させて復号鍵を生成する場合においても適用できることは言うまでもない。
2 制御部
3 符号化部(符号化手段)
4 署名演算部
4−1 多倍長演算部(多倍長整数配置手段、暗号化手段)
4−2 データ構造変換部(データ構造変換手段)
5 メモリ
10 初期化部
11 乱数生成部
12 破棄部
13 代入部
14 算術演算部
15 論理演算部
16 比較部
17 多倍長整数データ構造生成部(多倍長整数配置手段、ダミー要素配置手段)
Claims (8)
- 多倍長整数で構成される秘密鍵を離散的にメモリ上に配置する演算装置であって、
多倍長整数で構成される秘密鍵を入力する手段と、
前記秘密鍵を、データ本体と各要素のリンク情報であるポインタの組からなる要素として配置するよう、メモリ上に当該要素を配置する領域を確保する手段と、
前記確保されたメモリ上の領域において、多倍長整数の各要素を配置する位置をランダムに決定する手段と、
前記決定されたメモリ上の各要素の位置に基づいて、各要素のデータ本体及びポインタを、メモリに書き込む手段と、
を備えることを特徴とする演算装置。 - 多倍長整数で構成される秘密鍵、平文、秘密鍵と平文の演算により得られる署名を離散的にメモリ上に配置する演算装置であって、
多倍長整数で構成される秘密鍵及び平文を入力する手段と、
前記秘密鍵、平文及び署名を、データ本体と各要素のリンク情報であるポインタの組からなる要素として配置するよう、前記メモリ上に当該要素を配置する領域をそれぞれ確保する手段と、
前記確保されたそれぞれのメモリ上の領域において、多倍長整数の各要素を配置する位置をランダムに決定する手段と、
前記決定されたメモリ上の各要素の位置に基づいて、秘密鍵及び平文の各要素のデータ本体及びポインタ、署名の各要素のポインタを、それぞれメモリに書き込む手段と、
前記メモリ上に離散的に配置された秘密鍵と平文から署名を算出する手段と、
前記決定されたメモリ上の各要素の位置に基づいて、算出された署名のデータ本体を、メモリに書き込む手段と、
前記メモリ上に離散的に配置された署名の各要素を、前記ポインタを用いて順次メモリから読出し、連続的な配列構造のデータとして出力する手段と、
を備えることを特徴とする演算装置。 - 多倍長整数で構成される秘密鍵、暗号文、秘密鍵と暗号文の演算により得られる復号文を離散的にメモリ上に配置する演算装置であって、
多倍長整数で構成される秘密鍵及び暗号文を入力する手段と、
前記秘密鍵、暗号文及び復号文を、データ本体と各要素のリンク情報であるポインタの組からなる要素として配置するよう、前記メモリ上に当該要素を配置する領域をそれぞれ確保する手段と、
前記確保されたそれぞれのメモリ上の領域において、多倍長整数の各要素を配置する位置をランダムに決定する手段と、
前記決定されたメモリ上の各要素の位置に基づいて、秘密鍵及び暗号文の各要素のデータ本体及びポインタ、復号文の各要素のポインタを、それぞれメモリに書き込む手段と、
前記メモリ上に離散的に配置された秘密鍵と暗号文から復号文を算出する手段と、
前記決定されたメモリ上の各要素の位置に基づいて、算出された復号文のデータ本体を、メモリに書き込む手段と、
前記メモリ上に離散的に配置された復号文の各要素を、前記ポインタを用いて順次メモリから読出し、連続的な配列構造のデータとして出力する手段と、
を備えることを特徴とする演算装置。 - ランダムな値であるデータ本体と、各要素のリンク情報であるポインタの組からなる要素としてダミーデータを配置するよう、前記確保されたメモリ領域において、ダミーデータの各要素を配置する位置をランダムに決定する手段と、
前記決定されたメモリ上のダミーデータの各要素の位置に基づいて、各要素のポインタをメモリに書き込む手段と、
ダミーデータのデータ本体として、ランダムな値をメモリに書き込む手段と、
を備えることを特徴とする前記請求項1から3のいずれか1つに記載の演算装置。 - 多倍長整数で構成される秘密鍵を離散的にメモリ上に配置する演算装置のコンピュータを、
多倍長整数で構成される秘密鍵を入力する手段、
前記秘密鍵を、データ本体と各要素のリンク情報であるポインタの組からなる要素として配置するよう、メモリ上に当該要素を配置する領域を確保する手段、
前記確保されたメモリ上の領域において、多倍長整数の各要素を配置する位置をランダムに決定する手段、
前記決定されたメモリ上の各要素の位置に基づいて、各要素のデータ本体及びポインタを、前記メモリに書き込む手段、
として機能させるためのコンピュータプログラム。 - 多倍長整数で構成される秘密鍵、平文、秘密鍵と平文の演算により得られる署名を離散的にメモリ上に配置する演算装置のコンピュータを、
多倍長整数で構成される秘密鍵及び平文を入力する手段、
前記秘密鍵、平文及び署名を、データ本体と各要素のリンク情報であるポインタの組からなる要素として配置するよう、前記メモリ上に当該要素を配置する領域をそれぞれ確保する手段、
前記確保されたそれぞれのメモリ上の領域において、多倍長整数の各要素を配置する位置をランダムに決定する手段、
前記決定されたメモリ上の各要素の位置に基づいて、秘密鍵及び平文の各要素のデータ本体及びポインタ、署名の各要素のポインタを、それぞれメモリに書き込む手段、
前記メモリ上に離散的に配置された秘密鍵と平文から署名を算出する手段、
前記決定されたメモリ上の各要素の位置に基づいて、算出された署名のデータ本体を、メモリに書き込む手段、
前記メモリ上に離散的に配置された署名の各要素を、前記ポインタを用いて順次メモリから読出し、連続的な配列構造のデータとして出力する手段、
として機能させるためのコンピュータプログラム。 - 多倍長整数で構成される秘密鍵、暗号文、秘密鍵と暗号文の演算により得られる復号文を離散的にメモリ上に配置する演算装置のコンピュータを、
多倍長整数で構成される秘密鍵及び暗号文を入力する手段、
前記秘密鍵、暗号文及び復号文を、データ本体と各要素のリンク情報であるポインタの組からなる要素として配置するよう、前記メモリ上に当該要素を配置する領域をそれぞれ確保する手段、
前記確保されたそれぞれのメモリ上の領域において、多倍長整数の各要素を配置する位置をランダムに決定する手段、
前記決定されたメモリ上の各要素の位置に基づいて、秘密鍵及び暗号文の各要素のデータ本体及びポインタ、復号文の各要素のポインタを、それぞれメモリに書き込む手段、
前記メモリ上に離散的に配置された秘密鍵と暗号文から復号文を算出する手段、
前記決定されたメモリ上の各要素の位置に基づいて、算出された復号文のデータ本体を、メモリに書き込む手段、
前記メモリ上に離散的に配置された復号文の各要素を、前記ポインタを用いて順次メモリから読出し、連続的な配列構造のデータとして出力する手段、
として機能させるためのコンピュータプログラム。 - 前記コンピュータを、さらに
ランダムな値であるデータ本体と、各要素のリンク情報であるポインタの組からなる要素としてダミーデータを配置するよう、前記確保されたメモリ領域において、ダミーデータの各要素を配置する位置をランダムに決定する手段、
前記決定されたメモリ上のダミーデータの各要素の位置に基づいて、各要素のポインタをメモリに書き込む手段、
ダミーデータのデータ本体として、ランダムな値をメモリに書き込む手段、
として機能させるための請求項5から7のいずれか1つに記載のコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005016131A JP4727237B2 (ja) | 2005-01-24 | 2005-01-24 | 演算装置およびコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005016131A JP4727237B2 (ja) | 2005-01-24 | 2005-01-24 | 演算装置およびコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006203822A true JP2006203822A (ja) | 2006-08-03 |
JP4727237B2 JP4727237B2 (ja) | 2011-07-20 |
Family
ID=36961389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005016131A Active JP4727237B2 (ja) | 2005-01-24 | 2005-01-24 | 演算装置およびコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4727237B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013156798A (ja) * | 2012-01-30 | 2013-08-15 | Kddi Corp | 記憶装置、アクセスパターンの秘匿方法およびプログラム |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63248240A (ja) * | 1987-04-03 | 1988-10-14 | Canon Inc | 符号化装置 |
JPH0488736A (ja) * | 1990-07-31 | 1992-03-23 | Matsushita Electric Ind Co Ltd | データ伝送方式 |
JPH0514544A (ja) * | 1991-06-28 | 1993-01-22 | Ricoh Co Ltd | 通信装置 |
JPH0744451A (ja) * | 1993-08-03 | 1995-02-14 | Casio Comput Co Ltd | データ記憶装置 |
JPH07140896A (ja) * | 1993-11-19 | 1995-06-02 | Hitachi Ltd | ファイル暗号方法及びその装置 |
JPH0918473A (ja) * | 1995-06-29 | 1997-01-17 | Mitsubishi Electric Corp | データ伝送装置 |
JPH11212873A (ja) * | 1998-01-27 | 1999-08-06 | Seiko Epson Corp | コンピューターシステムの操作方法 |
JP2002175211A (ja) * | 2000-12-07 | 2002-06-21 | Sharp Corp | データ管理システムおよびデータ管理方法 |
JP2002342145A (ja) * | 2001-05-17 | 2002-11-29 | Yoshinori Okamoto | 電磁的記録の認証システム、および、プログラム |
JP2003143131A (ja) * | 2001-11-06 | 2003-05-16 | Toshiba Corp | 電子情報管理装置、携帯情報端末装置、管理サーバ装置及びプログラム |
US20030110382A1 (en) * | 2001-12-12 | 2003-06-12 | David Leporini | Processing data |
JP2004295176A (ja) * | 2003-03-25 | 2004-10-21 | Kobo Chi No Takumi:Kk | データ管理方法とそのシステム、及びic記憶媒体 |
-
2005
- 2005-01-24 JP JP2005016131A patent/JP4727237B2/ja active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63248240A (ja) * | 1987-04-03 | 1988-10-14 | Canon Inc | 符号化装置 |
JPH0488736A (ja) * | 1990-07-31 | 1992-03-23 | Matsushita Electric Ind Co Ltd | データ伝送方式 |
JPH0514544A (ja) * | 1991-06-28 | 1993-01-22 | Ricoh Co Ltd | 通信装置 |
JPH0744451A (ja) * | 1993-08-03 | 1995-02-14 | Casio Comput Co Ltd | データ記憶装置 |
JPH07140896A (ja) * | 1993-11-19 | 1995-06-02 | Hitachi Ltd | ファイル暗号方法及びその装置 |
JPH0918473A (ja) * | 1995-06-29 | 1997-01-17 | Mitsubishi Electric Corp | データ伝送装置 |
JPH11212873A (ja) * | 1998-01-27 | 1999-08-06 | Seiko Epson Corp | コンピューターシステムの操作方法 |
JP2002175211A (ja) * | 2000-12-07 | 2002-06-21 | Sharp Corp | データ管理システムおよびデータ管理方法 |
JP2002342145A (ja) * | 2001-05-17 | 2002-11-29 | Yoshinori Okamoto | 電磁的記録の認証システム、および、プログラム |
JP2003143131A (ja) * | 2001-11-06 | 2003-05-16 | Toshiba Corp | 電子情報管理装置、携帯情報端末装置、管理サーバ装置及びプログラム |
US20030110382A1 (en) * | 2001-12-12 | 2003-06-12 | David Leporini | Processing data |
JP2004295176A (ja) * | 2003-03-25 | 2004-10-21 | Kobo Chi No Takumi:Kk | データ管理方法とそのシステム、及びic記憶媒体 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013156798A (ja) * | 2012-01-30 | 2013-08-15 | Kddi Corp | 記憶装置、アクセスパターンの秘匿方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4727237B2 (ja) | 2011-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6058237B1 (ja) | 暗号文変換装置、暗号文変換プログラム及び暗号文変換方法 | |
US8935539B2 (en) | System and method for revising boolean and arithmetic operations | |
US8479018B2 (en) | System for making program difficult to read, device for making program difficult to read, and method for making program difficult to read | |
WO2019130528A1 (ja) | 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム | |
KR20060134992A (ko) | 정수를 가산하는 컴퓨터 시스템 | |
CN1269088C (zh) | 密钥生成器、加密/解密设备和密钥生成方法 | |
KR20180110550A (ko) | 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치 | |
KR20070052233A (ko) | 기밀정보처리방법, 기밀정보처리장치, 및 컨텐츠데이터재생장치 | |
CN111984985A (zh) | 一种基于fpga硬件系统的hdl源码加密方法 | |
EP3483867B1 (en) | System, device, method, and program for indexing a secret-shared array with secure multiparty computations | |
US20050249348A1 (en) | Data encryption/decryption method, device, and program | |
JP4727237B2 (ja) | 演算装置およびコンピュータプログラム | |
KR101440680B1 (ko) | 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치 | |
JP7317261B2 (ja) | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム | |
JP2005202757A (ja) | 擬似乱数生成装置及びプログラム | |
CN110071927B (zh) | 一种信息加密方法、系统及相关组件 | |
KR100564599B1 (ko) | 역원 계산 회로, 역원계산 방법 및 상기 역원계산 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체 | |
JP3606418B2 (ja) | 乱数生成装置 | |
JP6203387B2 (ja) | 暗号装置及び記憶システム及び復号装置及び暗号方法及び復号方法及び暗号プログラム及び復号プログラム | |
RU2188513C2 (ru) | Способ криптографического преобразования l-битовых входных блоков цифровых данных в l-битовые выходные блоки | |
WO2021130958A1 (ja) | 最終べき計算装置、ペアリング演算装置、暗号処理装置、最終べき計算方法及び最終べき計算プログラム | |
ES2293665T3 (es) | Metodo para la conversion criptografica de bloques de entrada de l bits de informacion de datos digitales en bloques de salida de l bits. | |
JP4611643B2 (ja) | 個別鍵生成装置 | |
JP2015069192A (ja) | 情報処理装置、暗号化方法 | |
JP4990843B2 (ja) | 暗号演算装置、その方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080104 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100831 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101029 |
|
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: 20110405 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110413 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4727237 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140422 Year of fee payment: 3 |
|
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 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |