JP6093719B2 - 暗号化装置、復号装置、およびプログラム - Google Patents
暗号化装置、復号装置、およびプログラム Download PDFInfo
- Publication number
- JP6093719B2 JP6093719B2 JP2014006695A JP2014006695A JP6093719B2 JP 6093719 B2 JP6093719 B2 JP 6093719B2 JP 2014006695 A JP2014006695 A JP 2014006695A JP 2014006695 A JP2014006695 A JP 2014006695A JP 6093719 B2 JP6093719 B2 JP 6093719B2
- Authority
- JP
- Japan
- Prior art keywords
- ciphertext
- natural number
- encryption
- unit
- value
- 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
Images
Description
dk2 〜=(s0,2s0,22s0,...,2m−1s0,...,sn−1,2sn−1,22sn−1,...,2m−1sn−1)∈Zq nm
を考え、このdk2 〜をビット分解した列の暗号文dk2 −が必要となる。
dk〜=(s0,ps0,p2s0,...,pm−1s0,...,sn−1,psn−1,p2sn−1,...,pm−1sn−1)∈Zq nm
を考え、このdk〜の各要素をp進分解した列の暗号文dk−が必要になったとする。ここで、a∈Zqをp進表現したときのk+1桁目の分解値<a>k∈Zpと表すことにする。すなわち、a=<a>0+p<a>1+...+pm−1<a>m−1である。dk〜の各要素pisj(ただし、i=0,...,m−1,j=0,...,n−1)をp進分解すると、要素pisjごとにm個の分解値<pisj>0,<pisj>1,...,<pisj>m−1に分解される。
[概要]
各実施形態では、pの冪乗をqとし、ベクトル(集合)dk〜=(s0,ps0,p2s0,...,pm−1s0,...,sn−1,psn−1,p2sn−1,...,pm−1sn−1)∈Zq nmの各要素をp進分解した列の暗号文を生成する。ただし、pは2以上の自然数(例えば、pは素数)、nは1以上の自然数(例えば、nは2以上の自然数)、mは2以上の自然数である。Zqはqを法とした剰余類を表す。以下では、Zqをその完全代表系{0,...,q−1}で表現する。
まず、q=pmとする例について説明する。
jを固定して、ベクトルdk〜の部分ベクトル(sj,psj,p2sj,...,pm−1sj)∈Zq mを考える。完全代表系{0,...,q−1}の場合、この部分ベクトルは(sj mod q,psj mod q,p2sj mod q,...,pm−1sj mod q)である。p進表現の定義から、要素sjは以下のように表現できる。
sj=<sj>0+p<sj>1+p2<sj>2+...+pm−1<sj>m−1 …(1)
pisj mod q=pi<sj>0+pi+1<sj>1+pi+2<sj>2
+...+pi+m−1<sj>m−1 mod pm
=0+p・0+...+pi−1・0
+pi<sj>0+...+pm―1<sj>m−1−i
となる。これを行列で表現すると以下のようになる(図5A参照)。
k≧iならば、Ψ[i,j,k]=φ[j,k−i]
k<iならば、Ψ[i,j,k]=φ0
である。従って、復号側では、j=0,...,n−1およびk=0,...,m−1について、入力された暗号文φ[j,k]を復号して復号値d[j,k]を得て、復号値d[j,k−i]を、k≧iを満たすi=0,...,m−1、j=0,...,n−1およびk=0,...,m−1についての復号値d[i,j,k](=<pisj>k)とし、0(暗号文E(0)の復号値、または既知の値)を、k<iを満たすi=0,...,m−1、j=0,...,n−1およびk=0,...,m−1についての復号値d[i,j,k](=<pisj>k)とすればよい。
次に、q=pm−αとする例について説明する。ただし、αは0<α≦m−1の自然数であり、例えば、0<α≦m−2である。この場合、式(2)に相当する行列表現は以下のようになる(図5B参照)。
m−1−α≧k”≧iならば、Ψ[i,j,k”]=φ[j,k”−i]
m−1−α<iまたはm−1−α<kまたはk<iならば、Ψ[i,j,k]=φ0
である。従って、復号側では、j=0,...,n−1およびk”=0,...,m−1−αについて、入力された第1暗号文φ[j,k”]を復号して復号値d[j,k”]を得て、復号値d[j,k”−i]を、m−1−α≧k”≧iを満たすi=0,...,m−1、j=0,...,n−1およびk”=0,...,m−1−αについての復号値d[i,j,k”](=<pisj>k”)とし、0(暗号文E(0)の復号値、または既知の値)を、k<iを満たすかm−1−α<kを満たすかm−1−α<iを満たすi=0,...,m−1、j=0,...,n−1およびk=0,...,m−1についての復号値d[i,j,k](=<pisj>k)とすればよい。
次に、q=pm+βとする例について説明する。ただし、βは1以上の自然数であり、例えば、m+β<m2またはm+β+1<m2を満たす。この場合、式(2)に相当する行列表現は以下のようになる(図5C参照)。
k’≧iならば、Ψ[i,j,k’]=φ[j,k’−i]
k’<iならば、Ψ[i,j,k’]=φ0
である。従って、復号側では、j=0,...,n−1およびk’=0,...,m−1+βについて、入力された暗号文φ[j,k’]を復号して復号値d[j,k’]を得て、復号値d[j,k’−i]を、k’≧iを満たすi=0,...,m−1、j=0,...,n−1およびk’=0,...,m−1+βについての復号値d[i,j,k’](=<pisj>k’)とし、0(暗号文E(0)の復号値、または既知の値)を、k’<iを満たすi=0,...,m−1、j=0,...,n−1およびk’=0,...,m−1+βについての復号値d[i,j,k’](=<pisj>k’)とすればよい。
次に、第1実施形態を詳細に説明する。第1実施形態ではq=pmとして処理を行う。
<構成>
図1Aに例示するように、本形態の暗号化装置11は、p進分解部111、記憶部112、制御部113、暗号化部114,115、および暗号文出力部116を有する。図1Bに例示するように、本形態の復号装置12は、入力部121、記憶部122、制御部123、復号部124,125、および復号値生成部126を有する。暗号化装置11および復号装置12は、CPU(central processing unit)やRAM(random-access memory)等を備える汎用または専用のコンピュータに所定のプログラムを読み込むことにより構成される装置であり、それぞれ、制御部113,123の制御のもとで各処理を実行する。入力データや各部で得られたデータは、それぞれ記憶部112,122に格納され、必要に応じて読み出されてその他の処理に用いられる。暗号化装置11の記憶部112には、暗号化のための暗号鍵wが格納され、復号装置12の記憶部122には復号のための復号鍵vが格納される。共通鍵暗号方式に則って暗号化および復号が行われる場合、暗号化鍵wおよび復号鍵vは互いに等しい共通鍵である。公開鍵暗号方式に則って暗号化および復号が行われる場合、暗号化鍵wは公開鍵であり、復号鍵vは秘密鍵である。IDベース暗号方式に則って暗号化および復号が行われる場合、暗号化鍵wはIDであり、復号鍵vは秘密鍵である。関数暗号方式に則って暗号化および復号が行われる場合、暗号化鍵wはベクトルであり、復号鍵vは秘密鍵である。
本形態の暗号化処理を説明する。図2Aに例示するように、暗号化装置11のp進分解部111は、暗号化対象の平文であるベクトルdk〜=(s0,ps0,p2s0,...,pm−1s0,...,sn−1,psn−1,p2sn−1,...,pm−1sn−1)∈Zq nm(ただし、q=pm)を入力とし、要素sjから分解値<sj>k(ただし、j=0,...,n−1、k=0,...,m−1)を得、分解値<sj>kおよび0を出力する(ステップS111)。
本形態の復号処理を説明する。図2Bに例示するように、入力部121には暗号文φ[j,k](ただし、j=0,...,n−1、k=0...,m−1)および暗号文φ0が入力される(ステップS121)。
次に、第2実施形態を詳細に説明する。第2実施形態ではq=pm―αとして処理を行う。なお、以下では、第1実施形態と共通する事項については、同じ参照番号を用いて説明を簡略化する。
<構成>
図1Aに例示するように、本形態の暗号化装置21は、p進分解部211、記憶部112、制御部113、暗号化部114,215、および暗号文出力部216を有する。図1Bに例示するように、本形態の復号装置22は、入力部221、記憶部122、制御部123、復号部124,225、および復号値生成部226を有する。暗号化装置21および復号装置22は、CPUやRAM等を備える汎用または専用のコンピュータに所定のプログラムを読み込むことにより構成される装置であり、それぞれ、制御部113,123の制御のもとで各処理を実行する。入力データや各部で得られたデータは、それぞれ記憶部112,122に格納され、必要に応じて読み出されてその他の処理に用いられる。
本形態の暗号化処理を説明する。図3Aに例示するように、暗号化装置21のp進分解部111は、暗号化対象の平文であるベクトルdk〜=(s0,ps0,p2s0,...,pm−1s0,...,sn−1,psn−1,p2sn−1,...,pm−1sn−1)∈Zq nm(ただし、q=pm―α、0<α≦m−1)を入力とし、要素sjから分解値<sj>k”(ただし、j=0,...,n−1、k”=0,...,m−1−α)を得、分解値<sj>k”および0を出力する(ステップS211)。
本形態の復号処理を説明する。図3Bに例示するように、入力部221には暗号文φ[j,k”](ただし、j=0,...,n−1、k”=0...,m−1−α)および暗号文φ0が入力される(ステップS221)。
次に、第3実施形態を詳細に説明する。第1実施形態ではq=pm+βとして処理を行う。
<構成>
図1Aに例示するように、本形態の暗号化装置31は、p進分解部311、記憶部112、制御部113、暗号化部114,315、および暗号文出力部316を有する。図1Bに例示するように、本形態の復号装置32は、入力部321、記憶部122、制御部123、復号部124,325、および復号値生成部326を有する。暗号化装置31および復号装置32は、CPUやRAM等を備える汎用または専用のコンピュータに所定のプログラムを読み込むことにより構成される装置であり、それぞれ、制御部113,123の制御のもとで各処理を実行する。入力データや各部で得られたデータは、それぞれ記憶部112,122に格納され、必要に応じて読み出されてその他の処理に用いられる。
本形態の暗号化処理を説明する。図3Aに例示するように、暗号化装置31のp進分解部311は、暗号化対象の平文であるベクトルdk〜=(s0,ps0,p2s0,...,pm−1s0,...,sn−1,psn−1,p2sn−1,...,pm−1sn−1)∈Zq nm(ただし、q=pm+β、βは1以上の自然数、例えば、m+β<m2)を入力とし、要素sjから分解値<sj>k’(ただし、j=0,...,n−1、k’=0,...,m−1+β)を得、分解値<sj>k’および0を出力する(ステップS311)。
本形態の復号処理を説明する。図3Bに例示するように、入力部321には暗号文φ[j,k’](ただし、j=0,...,n−1、k’=0,...,m−1+β)および暗号文φ0が入力される(ステップS321)。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、第1から3実施形態では、暗号化部が0を暗号化して暗号文φ0=E(0)を生成したが、予め暗号文φ0が生成されていてもよい。また、暗号化装置が0の暗号文φ0を出力せず、復号装置が暗号文φ0を復号することなく、復号値生成部が0を復号値として用いてもよい。
12,22,32 復号装置
Claims (12)
- pが2以上の自然数、nが1以上の自然数、mが2以上の自然数であり、i=0,...,m−1であり、j=0,...,n−1であり、k=0,...,m−1であり、q=pmとして集合(s0,ps0,p2s0,...,pm−1s0,...,sn−1,psn−1,p2sn−1,...,pm−1sn−1)∈Zq nmの(s j ,ps j ,p 2 s j ,...,p m−1 s j )∈Z q m を
と表現したときの要素sj=<sj>0+p<sj>1+...+pm−1<sj>m−1について分解値<sj>k∈Zpを暗号化した第1暗号文φ[j,k]=E(<sj>k)を得る暗号化部と、
j=0,...,n−1およびk=0,...,m−1についてのnm個の前記第1暗号文φ[j,k]を出力する暗号文出力部と、を有し、
前記第1暗号文φ[j,k−i]は、要素p i s j =<p i s j > 0 +p<p i s j > 1 +...+p m−1 <p i s j > m−1 におけるk≧iを満たす<pisj>kの暗号文である、暗号化装置。 - 請求項1の暗号化装置であって、
前記暗号文出力部は、0を暗号化した第2暗号文φ0=E(0)を、k<iを満たす<pisj>kの暗号文として出力する、暗号化装置。 - pが2以上の自然数、nが1以上の自然数、mが2以上の自然数であり、i=0,...,m−1であり、j=0,...,n−1であり、k=0,...,m−1であり、k”=0,...,m−1−αであり、αが0<α≦m−1の自然数であり、q=pm−αとして集合(s0,ps0,p2s0,...,pm−1s0,...,sn−1,psn−1,p2sn−1,...,pm−1sn−1)∈Zq nmの(s j ,ps j ,p 2 s j ,...,p m−1 s j )∈Z q m を
j=0,...,n−1およびk”=0,...,m−1−αについてのn(m−α)個の前記第1暗号文φ[j,k”]を出力する暗号文出力部と、を有し、
前記第1暗号文φ[j,k”−i]は、要素p i s j =<p i s j > 0 +p<p i s j > 1 +...+p m−1 <p i s j > m−1 におけるm−1−α≧k”≧iを満たす<pisj>k”の暗号文である、暗号化装置。 - 請求項3の暗号化装置であって、
前記暗号文出力部は、0を暗号化した第2暗号文φ0=E(0)を、k<iを満たすかm−1−α<kを満たすかm−1−α<iを満たす<pisj>kの暗号文として出力する、暗号化装置。 - pが2以上の自然数、nが1以上の自然数、mが2以上の自然数であり、i=0,...,m−1であり、j=0,...,n−1であり、k’=0,...,m−1+βであり、βが1以上の自然数であり、q=pm+βとして集合(s0,ps0,p2s0,...,pm−1s0,...,sn−1,psn−1,p2sn−1,...,pm−1sn−1)∈Zq nmの(s j ,ps j ,p 2 s j ,...,p m−1 s j )∈Z q m を
j=0,...,n−1およびk’=0,...,m−1+βについてのn(m+β)個の前記第1暗号文φ[j,k’]を出力する暗号文出力部と、を有し、
前記第1暗号文φ[j,k’−i]は、要素p i s j =<p i s j > 0 +p<p i s j > 1 +...+p m−1 <p i s j > m−1 におけるk’≧iを満たす<pisj>k’の暗号文である、暗号化装置。 - 請求項5の暗号化装置であって、
前記暗号文出力部は、0を暗号化した第2暗号文φ0=E(0)を、k’<iを満たす<pisj>k’の暗号文として出力する、暗号化装置。 - 請求項5または6の暗号化装置であって、
m+β<m2またはm+β+1<m2である、暗号化装置。 - 請求項1から7の何れかの暗号化装置であって、
前記要素sjから前記分解値を得るp進分解部を有し、
前記暗号化部は、前記p進分解部で得られた前記分解値を入力として、前記第1暗号文を得る、暗号化装置。 - q=p m とした集合(s 0 ,ps 0 ,p 2 s 0 ,...,p m−1 s 0 ,...,s n−1 ,ps n−1 ,p 2 s n−1 ,...,p m−1 s n−1 )∈Z q nm の要素p i s j が<p i s j > 0 +p<p i s j > 1 +...+p m−1 <p i s j > m−1 であり、pが2以上の自然数、nが1以上の自然数、mが2以上の自然数であり、j=0,...,n−1およびk=0,...,m−1について、入力されたnm個の第1暗号文φ[j,k]を復号して復号値d[j,k]=<s j > k を得る復号部と、
前記復号値d[j,k−i]=<s j > k−i を、k≧iを満たすi=0,...,m−1、j=0,...,n−1およびk=0,...,m−1についての復号値d[i,j,k]=<p i s j > k とし、0を、k<iを満たすi=0,...,m−1、j=0,...,n−1およびk=0,...,m−1についての復号値d[i,j,k]=<p i s j > k とする復号値生成部と、
を有する復号装置。 - q=p m−α とした集合(s 0 ,ps 0 ,p 2 s 0 ,...,p m−1 s 0 ,...,s n−1 ,ps n−1 ,p 2 s n−1 ,...,p m−1 s n−1 )∈Z q nm の要素p i s j が<p i s j > 0 +p<p i s j > 1 +...+p m−1 <p i s j > m−1 であり、pが2以上の自然数、nが1以上の自然数、mが2以上の自然数であり、αが0<α≦m−1の自然数であり、j=0,...,n−1およびk”=0,...,m−1−αについて、入力されたn(m−α)個の第1暗号文φ[j,k”]を復号して復号値d[j,k”]=<s j > k” を得る復号部と、
前記復号値d[j,k”−i]=<s j > k”−i を、m−1−α≧k”≧iを満たすi=0,...,m−1、j=0,...,n−1およびk”=0,...,m−1−αについての復号値d[i,j,k”]=<p i s j > k” とし、0を、k<iを満たすかm−1−α<kを満たすかm−1−α<iを満たすi=0,...,m−1、j=0,...,n−1およびk=0,...,m−1についての復号値d[i,j,k]=<p i s j > k とする復号値生成部と、
を有する復号装置。 - q=p m+β とした集合(s 0 ,ps 0 ,p 2 s 0 ,...,p m−1 s 0 ,...,s n−1 ,ps n−1 ,p 2 s n−1 ,...,p m−1 s n−1 )∈Z q nm の要素p i s j が<p i s j > 0 +p<p i s j > 1 +...+p m−1 <p i s j > m−1 であり、pが2以上の自然数、nが1以上の自然数、mが2以上の自然数であり、βが1以上の自然数であり、j=0,...,n−1およびk’=0,...,m−1+βについて、入力されたn(m+β)個の第1暗号文φ[j,k’]を復号して復号値d[j,k’]=<s j > k’ を得る復号部と、
前記復号値d[j,k’−i]=<s j > k’−i を、k’≧iを満たすi=0,...,m−1、j=0,...,n−1およびk’=0,...,m−1+βについての復号値d[i,j,k’]=<p i s j > k’ とし、0を、k’<iを満たすi=0,...,m−1、j=0,...,n−1およびk’=0,...,m−1+βについての復号値d[i,j,k’]=<p i s j > k’ とする復号値生成部と、
を有する復号装置。 - 請求項1から8の何れかの暗号化装置、または請求項9から11の何れかの復号装置としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014006695A JP6093719B2 (ja) | 2014-01-17 | 2014-01-17 | 暗号化装置、復号装置、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014006695A JP6093719B2 (ja) | 2014-01-17 | 2014-01-17 | 暗号化装置、復号装置、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015135407A JP2015135407A (ja) | 2015-07-27 |
JP6093719B2 true JP6093719B2 (ja) | 2017-03-08 |
Family
ID=53767279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014006695A Active JP6093719B2 (ja) | 2014-01-17 | 2014-01-17 | 暗号化装置、復号装置、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6093719B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6430337B2 (ja) | 2015-07-06 | 2018-11-28 | 株式会社ニューフレアテクノロジー | 気相成長方法および気相成長装置 |
JP6058237B1 (ja) | 2016-01-18 | 2017-01-11 | 三菱電機株式会社 | 暗号文変換装置、暗号文変換プログラム及び暗号文変換方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5448863B2 (ja) * | 2010-01-15 | 2014-03-19 | 日本電信電話株式会社 | 鍵生成装置、鍵生成方法、プログラム及び記録媒体 |
-
2014
- 2014-01-17 JP JP2014006695A patent/JP6093719B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015135407A (ja) | 2015-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101600016B1 (ko) | 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치 | |
JP5966877B2 (ja) | 復号方法、復号プログラム、復号装置、および鍵生成方法 | |
JP6934963B2 (ja) | データを暗号化する方法およびシステム | |
US9521124B2 (en) | Secure computation using a server module | |
CN107294697B (zh) | 基于明文相似矩阵的对称全同态加密方法 | |
KR20180013064A (ko) | 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법 | |
JP2014126866A (ja) | 暗号処理装置および方法 | |
JP6194886B2 (ja) | 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム | |
CN102187617B (zh) | 密码系统 | |
WO2020110800A1 (ja) | 暗号システム、暗号化装置、復号装置、暗号方法、暗号化方法、復号方法及びプログラム | |
WO2014007296A1 (ja) | 順序保存暗号化システム、暗号化装置、復号化装置、暗号化方法、復号化方法およびこれらのプログラム | |
JP2019215391A (ja) | 復号装置、暗号化装置及び暗号システム | |
KR20130024143A (ko) | 래티스 환경을 기반으로 한 대리 재암호화 방법 및 장치 | |
JP6093719B2 (ja) | 暗号化装置、復号装置、およびプログラム | |
JP7117964B2 (ja) | 復号装置、暗号システム、復号方法及び復号プログラム | |
JP2019200382A (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム | |
WO2022054130A1 (ja) | 暗号システム、方法及びプログラム | |
JP6189788B2 (ja) | 鍵生成装置、再暗号化装置、およびプログラム | |
JP6949276B2 (ja) | 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム | |
JP6952337B2 (ja) | 暗号化システム | |
JP2013098722A (ja) | ストリーム暗号の暗号化装置、ストリーム暗号の復号装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号方法、およびプログラム | |
JP6885325B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム | |
JP5103407B2 (ja) | 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム | |
JP4658150B2 (ja) | 暗号化方法および復号方法 | |
JP2013105065A (ja) | セキュリティシステム、暗号化装置、復号装置、再暗号化装置、難読化装置、それらの方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170123 |
|
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: 6093719 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |