JP5965873B2 - 暗号文生成装置、暗号文生成方法およびプログラム - Google Patents
暗号文生成装置、暗号文生成方法およびプログラム Download PDFInfo
- Publication number
- JP5965873B2 JP5965873B2 JP2013178709A JP2013178709A JP5965873B2 JP 5965873 B2 JP5965873 B2 JP 5965873B2 JP 2013178709 A JP2013178709 A JP 2013178709A JP 2013178709 A JP2013178709 A JP 2013178709A JP 5965873 B2 JP5965873 B2 JP 5965873B2
- Authority
- JP
- Japan
- Prior art keywords
- ciphertext
- original
- plaintext
- value
- original ciphertext
- 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
Links
Description
このように、プライバシ保護協調フィルタリングを行う際は大量のデータを暗号化して送信するが、大量のデータを全て暗号化するのに非常に時間がかかる。
また、原暗号文の組み合わせを重複しないように選択することで、平文に同じ値が複数含まれる場合でも、作成される暗号文を全て異なる値にすることができるため、暗号強度を高めることが可能となる。
上記第2の態様によれば、例えば、0の個数をxとすると、y(y-1)/2 >= xとなる最小の整数yを選ぶことで、原暗号文を作成する第2の個数を最小にすることができ、暗号処理にかかる時間を短縮することが可能となる。
上記第3の態様によれば、作成される暗号文をさらに複雑にすることができ、暗号強度を高めることができる。
上記第4の態様によれば、平文系列のうちの一部の上記第1の値を原暗号文を用いて暗号化し、残りの上記第1の値を複数の上記第2の値の和に分解せずに1つずつ暗号化することで、作成される暗号文が複雑になり、暗号強度をより高めることが可能となる。
(第1実施形態)
第1実施形態では、平文データの全てを原暗号文を用いて暗号化する手法について説明する。例えば、Paillier暗号を用いてプライバシ保護協調フィルタリングを行う際に、大量のデータを暗号化して送信する必要があり、大量のデータは数値で、値はほとんど0である。このような場合の暗号化に本発明の手法は有用である。
なお、この暗号化装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
原暗号文生成部12は、原暗号文作成個数決定部11で決定した原平文に対する原暗号文の個数だけ原平文の暗号化処理を行い、原平文−原暗号文対応テーブル13に保存する。
原暗号文選択部15は、平文分解部14で分解された値に対応する原暗号文を原平文−原暗号文対応テーブル13から選択する。このとき、重複しない組み合わせになるように原暗号文を選択することで、データの秘匿性をより高めることができる。
積計算部16は、原暗号文選択部15で選択された原暗号文同士の積を計算することで、平文データ10に対応する暗号文データ17を作成する。
原暗号文作成個数決定部11は、暗号作成用の原平文と原暗号文を作成する個数Map<平文, 個数>を決定する。例えば、0の個数をxとすると、y(y-1)/2 >= xとなる最小の整数yを選ぶ。そして、<原平文, 原暗号文の個数>= <0, y>, <1, 1>, <2, 1>,…というように、0の原暗号文はy個作り、平文系列に出現する0以外の数値を原平文とする原暗号文をそれぞれ一つづつ作る。この例では、原暗号文作成個数決定部11は、平文データ10を参照し、原平文“0”の原暗号文を4個、原平文“2”の原暗号文を1つ作成することを決定する。
原暗号文生成部12は、原暗号文作成個数決定部11が決定した原平文に対応する原暗号文の個数だけ、原平文の暗号化処理を行う。この暗号化処理は、加法準同型性を満たす暗号方式で行い、例えばPaillier暗号を用いることができる。Paillier暗号等では、値aを暗号化した暗号文と、値bを暗号化した暗号文を掛けたものを復号化するとa+bとなる(加法準同型)。
原暗号文生成部12は、上記作成した原平文に対応する原暗号文を、原平文,原暗号文の形式で、原平文−原暗号文対応テーブル13に保存する。なお、図1に示すように、原平文“0”に4つの原暗号文“0449”,“5bc1”,“0b88”,“c2d1”があるように、同一の原平文に複数の原暗号文がある。
平文分解部14は、平文データ10を参照し、各平文a_iを複数の数の和s+tに分解する。例えば、a_i=0については0+0と分解し、a_i=2については0+2と分解する。
積計算部16は、原暗号文選択部15で選択した2つの原暗号文Enc(s),Enc(t)同士の積Enc(s) * Enc(t)を取ることで、平文データ10に対応する暗号文データ17を作成する。
Enc(s) * Enc(t) = Enc(s+t) = Enc(a_i) (mod n^2)
なお、n^2はPaillier暗号を用いて暗号化するときの手法と同様である。
0449 * 5bc1 = da59(mod n^2)
0449 * 3509 = 4391(mod n^2)
このように第1実施形態の例では、平文系列{a_m}に対応する暗号系列{Enc(a_m)} = {da59, 4391, 69c8, d199, 0988, 2a91, 7a08}が作成される。
100万 * 110 ms = 110000秒 = 1833分
もかかることになる。
1408 * 110 ms + 100万*1ms = 1155秒 = 19.3分
第2実施形態は、上記第1実施形態をベースにした変形例であり、平文データのうちの一部のデータを原暗号文を用いて暗号化し、残りのデータを通常どおり暗号化する手法である。また、第1実施形態では原暗号文を予め作成したが、第2実施形態では原暗号文を随時作成するようにする。
暗号文生成部19は、分岐部18で分岐されたデータについて通常どおりの暗号化(例えば、Paillier暗号を用いてデータを1つずつ暗号化する)を行う。
分岐部18は、例えば、暗号化する平文を確率pで平文分解部14へ、確率1−pで暗号文生成部19へ分岐する。
[平文a_iをs+tに分解し、原暗号文を選択:ステップS24]
平文分解部14は、平文データ10を参照し、各平文a_iを複数の数の和s+tに分解する。例えば、a_i=0については0+0と分解し、a_i=2については0+2と分解する。
原暗号文生成部12は、原暗号文選択部15から上記リクエストを受けて、原平文に対応する原暗号文を作成する。この暗号化処理は、加法準同型性を満たす暗号方式で行い、例えばPaillier暗号を用いることができる。
原暗号文生成部12は、上記作成した原平文に対応する原暗号文を、原平文,原暗号文の形式で、原平文−原暗号文対応テーブル13に保存する。
積計算部16は、原暗号文選択部15で選択した2つの原暗号文Enc(s),Enc(t)同士の積Enc(s) * Enc(t)を取ることで、平文データ10に対応する暗号文データ17を作成する。
Enc(s) * Enc(t) = Enc(s+t) = Enc(a_i) (mod n^2)
なお、n^2はPaillier暗号を用いて暗号化するときの手法と同様である。
一方、分岐部18で暗号文生成部19に分岐された平文データは、暗号文生成部19において通常どおり1つずつ暗号化される。例えば、平文系列{a_m}のうち4番目のデータ0が分岐部18で暗号文生成部19に分岐された場合、暗号文生成部19は、この0についてPaillier暗号を用いて暗号化を行い、“842b”を出力する。
この第2実施形態の例では、平文系列{a_m}に対応する暗号系列{Enc(a_m)} = {da59, 4391, 69c8, 842b, 0988, 2a91, 7a08}が作成される。
Claims (6)
- 暗号化対象の平文系列に含まれる第1の値を複数の第2の値の和に分解する平文分解手段と、
前記第2の値を加法準同型性を満たす暗号方式で暗号化処理し、前記第2の値に対応する原暗号文を生成する原暗号文生成手段と、
前記平文分解手段で分解された第2の値に対応する原暗号文の組み合わせを選択する原暗号文選択手段と、
前記原暗号文選択手段で選択された原暗号文の組み合わせを掛け算することで前記第1の値の暗号文を生成する積計算手段と
を具備し、
前記原暗号文選択手段は、前記平文系列に複数の同一の前記第1の値が含まれる場合に、前記原暗号文の組み合わせを重複しないように選択することを特徴とする暗号文生成装置。 - 前記平文系列に含まれる前記第1の値とその個数に基づいて、前記原暗号文生成手段で前記原暗号文を作成すべき前記第2の値とその個数を決定する原暗号文作成個数決定手段を、さらに具備することを特徴とする請求項1に記載の暗号文生成装置。
- 前記積計算手段で生成される前記第1の値の暗号文を前記原暗号文の一つとして用いることをさらに特徴とする請求項1又は2に記載の暗号文生成装置。
- 前記平文系列に複数の前記第1の値が含まれる場合に、その一部の前記第1の値を複数の前記第2の値の和に分解せずに1つずつ暗号化することをさらに特徴とする請求項1乃至3のいずれか1項に記載の暗号文生成装置。
- 情報処理装置が実行する、暗号化対象の平文系列を暗号化する方法であって、
前記平文系列に含まれる第1の値を複数の第2の値の和に分解する平文分解ステップと、
前記第2の値を加法準同型性を満たす暗号方式で暗号化処理し、前記第2の値に対応する原暗号文を生成する原暗号文生成ステップと、
前記平文分解ステップで分解された第2の値に対応する原暗号文の組み合わせを選択する原暗号文選択ステップと、
前記原暗号文選択ステップで選択された原暗号文の組み合わせを掛け算することで前記第1の値の暗号文を生成する積計算ステップと
を有し、
前記原暗号文選択ステップでは、前記平文系列に複数の同一の前記第1の値が含まれる場合に、前記原暗号文の組み合わせを重複しないように選択することを特徴とする暗号文生成方法。 - コンピュータを請求項1乃至4のいずれかに1項に記載の暗号文生成装置が具備する各手段として機能させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013178709A JP5965873B2 (ja) | 2013-08-29 | 2013-08-29 | 暗号文生成装置、暗号文生成方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013178709A JP5965873B2 (ja) | 2013-08-29 | 2013-08-29 | 暗号文生成装置、暗号文生成方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015049261A JP2015049261A (ja) | 2015-03-16 |
JP5965873B2 true JP5965873B2 (ja) | 2016-08-10 |
Family
ID=52699365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013178709A Active JP5965873B2 (ja) | 2013-08-29 | 2013-08-29 | 暗号文生成装置、暗号文生成方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5965873B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2788650B1 (fr) * | 1999-01-14 | 2001-02-16 | Gemplus Card Int | Procede cryptographique a cles publique et privee |
JP2003084667A (ja) * | 2001-09-11 | 2003-03-19 | Nec Corp | 同一基底に対する複数の冪乗剰余演算を行う方法と装置並びにプログラム |
-
2013
- 2013-08-29 JP JP2013178709A patent/JP5965873B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015049261A (ja) | 2015-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI733106B (zh) | 基於模型的預測方法和裝置 | |
JP6934963B2 (ja) | データを暗号化する方法およびシステム | |
CN110991655B (zh) | 多方联合进行模型数据处理的方法及装置 | |
CN110912713B (zh) | 多方联合进行模型数据处理的方法及装置 | |
CN106571905B (zh) | 一种数值型数据同态保序加密方法 | |
US20130236005A1 (en) | Cryptographic processing apparatus | |
JP6575532B2 (ja) | 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム | |
JP5929905B2 (ja) | 順序保存暗号化システム、装置、方法及びプログラム | |
CN108140335B (zh) | 秘密随机数合成装置、秘密随机数合成方法以及记录介质 | |
KR20060134992A (ko) | 정수를 가산하는 컴퓨터 시스템 | |
JP2013213930A (ja) | 暗号化装置、復号化装置、及びプログラム | |
US20130268750A1 (en) | Encoded database management system, client and server, natural joining method and program | |
US20130243191A1 (en) | Encryption key generating apparatus | |
CN103824197B (zh) | 防伪码生成装置 | |
CN107070900B (zh) | 基于混淆的可搜索重加密方法 | |
JP5434925B2 (ja) | 多者分散乗算装置、多者分散乗算システム及び方法 | |
JP2007334016A (ja) | データ暗号化装置及びデータ暗号化方法 | |
JP5965873B2 (ja) | 暗号文生成装置、暗号文生成方法およびプログラム | |
KR101440680B1 (ko) | 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치 | |
KR102045843B1 (ko) | 블록 암호화 처리 방법 및 장치 | |
JP6775231B2 (ja) | 計算システム、計算方法及び計算プログラム | |
JP2017038336A (ja) | 復号方法 | |
JP2008286964A (ja) | ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム | |
JP6441160B2 (ja) | 秘匿化装置、復号装置、秘匿化方法および復号方法 | |
JP6296589B2 (ja) | 暗号処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150618 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160412 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160607 |
|
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: 20160628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160704 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5965873 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |