KR20150015518A - 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치 - Google Patents

암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치 Download PDF

Info

Publication number
KR20150015518A
KR20150015518A KR20147036181A KR20147036181A KR20150015518A KR 20150015518 A KR20150015518 A KR 20150015518A KR 20147036181 A KR20147036181 A KR 20147036181A KR 20147036181 A KR20147036181 A KR 20147036181A KR 20150015518 A KR20150015518 A KR 20150015518A
Authority
KR
South Korea
Prior art keywords
information
polynomial
coefficient
integer
unit
Prior art date
Application number
KR20147036181A
Other languages
English (en)
Other versions
KR101606317B1 (ko
Inventor
가츠유키 다카시마
다츠아키 오카모토
Original Assignee
미쓰비시덴키 가부시키가이샤
니폰덴신뎅와 가부시키가이샤
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 미쓰비시덴키 가부시키가이샤, 니폰덴신뎅와 가부시키가이샤 filed Critical 미쓰비시덴키 가부시키가이샤
Publication of KR20150015518A publication Critical patent/KR20150015518A/ko
Application granted granted Critical
Publication of KR101606317B1 publication Critical patent/KR101606317B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

파라미터 Φ가 설정된 암호화 키 ek를 파라미터 Ψ가 설정된 복호 키 dk로 복호하는 경우에, 관계 R(Φ,Ψ)가 성립하는 경우에 한하여, 복호 키 dk는 암호화 키 ek로 암호화된 암호문을 복호할 수 있는 함수형 암호 방식에 있어서, 관계 R로서 표현할 수 있는 범위를 넓게 하는 것을 목적으로 한다. 암호 시스템(10)은, 다항식 d(x)와 복수의 다항식 Di(x)와 술어 정보를 포함하는 제 1 정보와, 속성 정보를 포함하는 제 2 정보 중 한쪽을 암호문으로 하고, 다른쪽을 복호 키로 한다. 복호 장치(300)는, 술어 정보와 속성 정보에 근거하여, 복수의 다항식 Di(x)로부터 적어도 일부의 다항식 Di(x)를 선택하고, 선택한 다항식 Di(x)에 계수 Δi를 곱한 다항식 ΔiDi(x)에 근거하여 구성되는 다항식을, 다항식 d(x)로 나누어질 수 있도록 하는 계수 Δi를 계산한다. 복호 장치(300)는, 계산한 계수 Δi에 근거하여, 상기 암호문을 복호한다.

Description

암호 시스템, 암호 방법, 암호 프로그램 및 복호 장치{ENCRYPTION SYSTEM, ENCRYPTION METHOD, ENCRYPTION PROGRAM AND DECRYPTION DEVICE}
본 발명은, 2차 스팬 프로그램(span program)의 개념을 이용한 함수형 암호 방식에 관한 것이다.
함수형 암호 방식은, 암호화 키 ek와, 복호 키 dk의 사이의 관계를 보다 고도화하여, 보다 유연하게 한 암호 방식이다.
함수형 암호 방식에 있어서, 암호화 키 ek와 복호 키 dk에는, 각각, 파라미터 Φ와 파라미터 Ψ가 설정된다. 그리고, 관계 R(Φ,Ψ)가 성립하는 경우에 한하여, 복호 키 dk는 암호화 키 ek로 암호화된 암호문을 복호할 수 있다.
비특허 문헌 3에는, 함수형 암호 방식에 대한 기재가 있다.
비특허 문헌 6에는, 2차 스팬 프로그램에 대한 기재가 있다.
(선행 기술 문헌)
(비특허 문헌)
비특허 문헌 1 : Okamoto, T., Takashima, K.:Homomorphic encryption and signatures from vector decomposition. In:Galbraith, S.D., Paterson, K.G.(eds.) Pairing 2008.LNCS, vol.5209, pp.57-74, Springer Heidelberg(2008)
비특허 문헌 2 : Okamoto, T., Takashima, K.: Hierarchical predicate encryption for inner-products, In: ASIACRYPT 2009, Springer Heidelberg(2009)
비특허 문헌 3 : Okamoto, T., Takashima, K.: Fully secure functional encryption with general relations from the decisional linear assumption.In: Rabin, T.(ed.) CRYPTO2010. LNCS, vol.6223, pp.191-208. Springer Heidelberg(2010). Full version is available at http:/eprint.iacr.org/2010/563
비특허 문헌 4 : Okamoto, T., Takashima, K.: Efficient attribute-based signatures for non-monotone predicates in the standard model, In:PKC2011, Springer Heidelberg(2011)
비특허 문헌 5 : Okamoto, T., Takashima, K.:Decentralized Attribute-Based Signatures http:/eprint.iacr.org/2011/701
비특허 문헌 6 : Rosario Gennaro and Craig Gentry and Bryan Parno and Mariana Raykova: Quadratic Span Programs and Succinct NIZKs without PCPs http:/eprint.iacr.org/2012/215
비특허 문헌 3에 기재된 함수형 암호 방식은, 1차 스팬 프로그램을 이용한 방식이다. 이 함수형 암호 방식에서는, 관계 R로서 표현할 수 있는 범위에 한계가 있다.
본 발명은, 2차 스팬 프로그램의 개념을 이용함으로써, 관계 R로서 표현할 수 있는 범위를 넓게 하는 것이 가능한 함수형 암호 방식을 제공하는 것을 목적으로 한다.
본 발명에 따른 암호 시스템은,
2차 스팬 프로그램을 포함하는 제 1 정보와, 속성 정보를 포함하는 제 2 정보 중 한쪽을 암호문으로서 생성하는 암호화 장치와,
상기 제 1 정보와 상기 제 2 정보 중 다른쪽을 복호 키로 하여, 상기 2차 스팬 프로그램이 상기 속성 정보를 수리(受理)하는 경우에 상기 2차 스팬 프로그램과 상기 속성 정보로부터 얻어지는 정보에 근거하여, 상기 암호문을 복호하는 복호 장치를 구비하는 것을 특징으로 한다.
본 발명에 따른 암호 시스템에서는, 2차 스팬 프로그램의 개념을 이용함으로써, 관계 R로서 표현할 수 있는 범위가 이상화된 범위로 하는 것이 가능하다.
도 1은 2차 스팬 프로그램의 설명도.
도 2은 부분 집합 Iu의 설명도.
도 3은 KP-FE 방식을 실행하는 암호 시스템(10)의 구성도.
도 4는 CP-FE 방식을 실행하는 암호 시스템(10)의 구성도.
도 5는 실시 형태 2에 따른 키 생성 장치(100)의 구성도.
도 6은 실시 형태 2에 따른 암호화 장치(200)의 구성도.
도 7은 실시 형태 2에 따른 복호 장치(300)의 구성도.
도 8은 실시 형태 2에 따른 Setup 알고리즘의 처리를 나타내는 플로우차트.
도 9는 실시 형태 2에 따른 KeyGen 알고리즘의 처리를 나타내는 플로우차트.
도 10은 실시 형태 2에 따른 Enc 알고리즘의 처리를 나타내는 플로우차트.
도 11은 실시 형태 2에 따른 Dec 알고리즘의 처리를 나타내는 플로우차트.
도 12는 실시 형태 4에 따른 KeyGen 알고리즘의 처리를 나타내는 플로우차트.
도 13은 키 생성 장치(100), 암호화 장치(200), 복호 장치(300)의 하드웨어 구성의 일례를 나타내는 도면.
이하, 도면에 근거하여, 발명의 실시 형태를 설명한다.
이하의 설명에 있어서, 처리 장치는 후술하는 CPU(911) 등이다. 기억 장치는 후술하는 ROM(913), RAM(914), 자기 디스크(920) 등이다. 통신 장치는 후술하는 통신 보드(915) 등이다. 입력 장치는 후술하는 키보드(902), 통신 보드(915) 등이다. 즉, 처리 장치, 기억 장치, 통신 장치, 입력 장치는 하드웨어이다.
이하의 설명에 있어서의 기법에 대해 설명한다.
A가 랜덤인 변수 또는 분포일 때, (수 101)은, A의 분포에 따라 A로부터 y를 랜덤하게 선택하는 것을 나타낸다. 즉, (수 101)에 있어서, y는 난수이다.
[수 101]
Figure pct00001
A가 집합일 때, (수 102)는, A로부터 y를 일률적으로 선택하는 것을 나타낸다. 즉, (수 102)에 있어서, y는 일률적 난수이다.
[수 102]
Figure pct00002
(수 103)은, y는 z에 의해 정의된 집합인 것, 또는 y는 z를 대입한 집합인 것을 나타낸다.
[수 103]
Figure pct00003
a가 정수일 때, (수 104)는, 기계(알고리즘) A가 입력 x에 대해 a를 출력하는 것을 나타낸다.
[수 104]
Figure pct00004
(수 105), 즉, Fq는, 위수(位數, 자리수) q의 유한체를 나타낸다.
[수 105]
Figure pct00005
벡터 표기는, 유한체 Fq에 있어서의 벡터 표시를 나타낸다. 즉, (수 106)이다.
[수 106]
Figure pct00006
(수 107)은, (수 108)에 나타내는 2개의 벡터 x와 v의 (수 109)에 나타내는 내적을 나타낸다.
[수 107]
Figure pct00007
[수 108]
Figure pct00008
[수 109]
Figure pct00009
XT는, 행렬 X의 전치 행렬을 나타낸다.
bi(i=1,. . ., n)가 공간 V의 벡터의 요소일 때, 즉, (수 110)일 때, (수 111)은, (수 112)에 의해 생성되는 부분 공간을 나타낸다.
[수 110]
Figure pct00010
[수 111]
Figure pct00011
[수 112]
Figure pct00012
(수 113)에 나타내는 기저 B와 기저 B*에 대해서, (수 114)이다.
[수 113]
Figure pct00013
[수 114]
Figure pct00014
또한, 이하의 설명에 있어서, “Vt”가 아래첨자 또는 위첨자로 나타내어져 있는 경우, 이 Vt는 Vt를 의미한다. 마찬가지로, “δi, j”가 위첨자로 나타내어져 있는 경우, 이 δi, j는, δi, j를 의미한다. 마찬가지로, “fτ”, “κτ”가 위첨자로 나타내어져 있는 경우, 이 fτ는, fτ를 의미하고, 이 κτ는 κτ을 의미한다.
또한, 벡터를 의미하는“→”가 아래첨자 또는 위첨자에 첨부되어 있는 경우, 이“→”은 아래첨자 또는 위첨자에 위첨자로 첨부되어 있는 것을 의미한다.
또한, 이하의 설명에 있어서, 암호 처리는, 키 생성 처리, 암호화 처리, 복호 처리를 포함한다.
(실시 형태 1)
이 실시 형태에서는, 2차 스팬 프로그램을 이용한 함수형 암호 방식의 기초로 되는 개념과, 2차 스팬 프로그램을 이용한 함수형 암호 방식의 개요를 설명한다.
첫 번째로, 함수형 암호 방식을 실현하기 위한 공간인 「듀얼 페어링 벡터 공간(Dual Pairing Vector Spaces, DPVS)」이라고 하는 풍부한 수학적 구조를 가지는 공간을 설명한다.
두 번째로, 함수형 암호 방식을 실현하기 위한 개념을 설명한다. 여기에서는, 「2차 스팬 프로그램」, 「속성 정보의 등호와 2차 스팬 프로그램」, 「비밀 분산 방식」에 대해 설명한다.
세 번째로, 2차 스팬 프로그램을 이용한 함수형 암호 방식의 개요에 대해 설명한다.
<제 1. 듀얼 페어링 벡터 공간>
우선, 대칭 쌍선형 페어링군에 대해 설명한다.
대칭 쌍선형 페어링군(q, G, GT, g, e)은, 소수 q와, 위수 q의 순회 가법군(cyclic additive group) G와, 위수 q의 순회 승법군(cyclic multiplicative group) GT와, g≠0∈G와, 다항식 시간으로 계산 가능한 비퇴화 쌍선형 페어링(Nondegenerate Bilinear Pairing) e:G×G→GT의 세트이다. 비퇴화 쌍선형 페어링은, e(sg, tg)=e(g, g)st이며, e(g, g)≠1이다.
이하의 설명에 있어서, Gbpg를, 1λ을 입력으로 하고, 시큐러티(security) 파라미터를 λ로 하는 쌍선형 페어링군의 파라미터 paramG:=(q, G, GT, g, e)의 값을 출력하는 알고리즘으로 한다.
다음에, 듀얼 페어링 벡터 공간에 대해 설명한다.
듀얼 페어링 벡터 공간(q, V, GT, A, e)은, 대칭 쌍선형 페어링군(paramG:=(q, G, GT, g, e))의 직적(直積 ; direct product)에 의해 구성할 수 있다. 듀얼 페어링 벡터 공간(q, V, GT, A, e)은, 소수 q, (수 115)에 나타내는 Fq상의 N 차원 벡터 공간 V, 위수 q의 순회군 GT, 공간 V의 표준 기저 A:=(a1,. . ., aN)의 세트이며, 이하의 연산(1)(2)을 가진다. 여기서, ai는, (수 116)에 나타낸 바와 같다.
[수 115]
Figure pct00015
[수 116]
Figure pct00016
연산(1):비퇴화 쌍선형 페어링
공간 V에 있어서의 페어링은, (수 117)에 의해 정의된다.
[수 117]
Figure pct00017
이것은, 비퇴화 쌍선형이다. 즉, e(sx, ty)=e(x, y)st이며, 모든 y∈V에 대해서, e(x, y)=1의 경우, x=0이다. 또한, 모든 i와 j에 대해서, e(ai, aj)=e(g, g)δi, j이다. 여기서, i=j이면, δi, j=1이며, i≠j이면, δi, j=0이다. 또한, e(g, g)≠1∈GT이다.
연산(2):디스토션 사상(distortion maps)
(수 118)에 나타내는 공간 V에 있어서의 선형 변환 φi, j는, (수 119)를 행할 수 있다.
[수 118]
Figure pct00018
[수 119]
Figure pct00019
여기서, 선형 변환 φi, j를 디스토션 사상이라고 부른다.
이하의 설명에 있어서, Gdpvs를, 1λ(λ∈자연수), N∈자연수, 쌍선형 페어링군의 파라미터 paramG:=(q, G, GT, g, e)의 값을 입력으로 하고, 시큐러티 파라미터가 λ이며, N 차원의 공간 V로 하는 듀얼 페어링 벡터 공간의 파라미터 paramV:=(q, V, GT, A, e)의 값을 출력하는 알고리즘으로 한다.
또한, 여기에서는, 상술한 대칭 쌍선형 페어링군에 의해, 듀얼 페어링 벡터 공간을 구성했을 경우에 대해 설명한다. 또한, 비대칭 쌍선형 페어링군에 의해 듀얼 페어링 벡터 공간을 구성하는 것도 가능하다. 이하의 설명을, 비대칭 쌍선형 페어링군에 의해 듀얼 페어링 벡터 공간을 구성했을 경우에 응용하는 것은 용이하다.
<제 2. 함수형 암호를 실현하기 위한 개념>
<제 2-1. 2차 스팬 프로그램>
도 1은, 2차 스팬 프로그램의 설명도이다.
체(體 ; field) Fq에 있어서의 2차 스팬 프로그램은, 2개의 다항식의 집합 A={ai(x)|i∈{0,. . ., L}}및 집합 B={bi(x)|i∈{0,. . ., L}}와, 목표 다항식 d(x)를 포함한다. 또한, 2차 스팬 프로그램은, 집합 I:={1,. . ., L}의 라벨 ρ을 포함한다. 모든 라벨 ρi(i=1,. . ., L)는,{p0, p1,. . ., pn, ¬p1,. . ., ¬pn}중 어느 하나의 리터럴(literal)에 대응지을 수 있다. 즉, ρ:I→{p0, p1,. . ., pn, ¬p1,. . ., ¬pn}이다.
입력 u:=(u1,. . ., un)∈{0, 1}n에 대해서, j=1,. . ., n의 각 정수 j에 대해, T(pj):=uj 및 T(¬pj):=¬uj에 의해, 리터럴의 진리값 T가 설정된다. 또한, 어떤 입력 u에 대해서도, p0의 진리값 T는 1이 설정된다. 즉, T(p0):=1이다.
집합 I의 부분 집합 Iu는, 입력 u에 의해 1이 설정된 라벨의 요소로 구성된다. 즉, Iu:={i∈I|T(p(i)=1)}이다. 또는, Iu:={i∈I|[ρ(i)=pj∧uj=1]∨[ρ(i)=¬pj∧uj=0]∨[ρ(i)=p0]}이다.
도 2는, 부분 집합 Iu의 설명도이다.
또한, 도 2에서는, n=7, L=6으로 하고 있다. 또한, 도 2에 있어서, 라벨 ρ은, ρ1이 ¬p2에, ρ2가 p1에, ρ3이 p4에, ρ4가 ¬p5에, ρ5가 ¬p3에, ρ6이 p5에 각각 대응지어져 있는 것으로 한다.
여기서, 입력 u:=(u1,. . ., u7)∈{0, 1}7이, u1=1, u2=0, u3=1, u4=0, u5=0, u6=1, u7=1인 것으로 한다. 이 경우, 부분 집합 Iu는, 파선으로 둘러싼 리터럴 (p1, p3, p6, p7, ¬p2, ¬p4, ¬p5)에 대응지어져 있는 라벨 ρi의 요소 i로 구성된다. 즉, 부분 집합 Iu는, 라벨 ρ1, ρ2, ρ4의 요소 i로 구성되고, 부분 집합 Iu:={i=1, 2, 4}이다.
2차 스팬 프로그램은, 목표 다항식 d(x)가 (수 120)를 완전히 나누게 되는 체 FqL에 있어서의 (α1,. . ., αL) 및 (β1,. . .,βL)의 세트로서, 부분 집합 Iu에 포함되지 않는 모든 i에 대해서 αi=0=βi인 ((α1,. . ., αL) 및 (β1,. . .,βL)의 세트가 존재하는 경우에 한하여, 입력 u∈{0, 1}n를 수리한다(또는, 부분 집합 Iu를 수리한다). 그리고, 2차 스팬 프로그램은, 다른 경우에는, 입력 u∈{0, 1}n를 거절한다.
[수 120]
Figure pct00020
즉, 2차 스팬 프로그램은, 목표 다항식 d(x)가 (수 121)를 완전히 나누게 되는 i∈Iu에 대한 αi 및 βi의 세트가 존재하는 경우에 한하여, 입력 u∈{0, 1}n를 수리한다.
[수 121]
Figure pct00021
그리고, 2차 스팬 프로그램이 입력 u∈{0, 1}n를 수리하는 경우, i∈Iu에 대한 αi 및 βi의 세트를, 다항식 시간으로 계산하는 것이 가능하다(비특허 문헌 6 참조).
도 2에 나타내는 예이면, 2차 스팬 프로그램은, 목표 다항식 d(x)가 (수 122)를 완전히 나누게 되는 i∈Iu:={i=1, 2, 4}에 대한 αi 및 βi의 세트가 존재하는 경우에 한하여, 입력 u∈{0, 1}n를 수리한다.
[수 122]
Figure pct00022
<제 2-2. 속성의 내적과 2차 스팬 프로그램>
Ut(t=1,. . ., d이며 Ut⊂{0, 1}*)는, 부분 전체 집합(sub-universe)으로서, 속성의 집합이다. 그리고, Ut는, 각각 부분 전체 집합의 식별 정보(t)와, n 차원 벡터로 나타내어진 속성 정보(v)를 포함한다. 즉, Ut는, (t, v)이다. 여기서, t∈{1,. . ., d}이며, v∈Fq n이다.
Ut=(t, v)를 p로 한다. 즉, p=(t, v)이다. pj:=(t, v j)(j=1,. . ., n; t∈{1,. . ., d})에 의한 2차 스팬 프로그램 Q:=(A, B, d(x), ρ)에 있어서의, 부분 집합 Iu의 결정 방법에 대해 설명한다.
액세스 스트럭쳐(access structure) S를, p0 및{pj:=(t, v j)}j=1,. . ., n를 수반하는 2차 스팬 프로그램 Q:=(A, B, d(x), ρ)로 한다. 즉, ρ:{1,. . ., L}→{p0, (t, v 1),. . ., (t, v n), ¬(t, v 1),. . ., ¬(t, v n)}이다. 또한, Γ를 속성 집합으로 한다. 즉, Γ:={(t, x t)|x t∈Fq n, 1≤t≤d}이다. 여기서, t는,{1,. . ., d}의 부분 집합으로서, 전체 인덱스일 필요는 없다.
속성 집합 Γ이 액세스 스트럭쳐 S에 주어지면,{p0, p1,. . ., pn, ¬p1,. . ., ¬pn}의 리터럴의 진리값 T는 다음과 같이 결정된다. pj=(t, v j)이고 또한 (t, x t)∈Γ이고 또한 v j·x t=0인 경우에 한하여, T(pj):=1로 된다. pj=¬(t, v j)이고 또한 (t, x j)∈Γ이고 또한 v j·x t≠0인 경우에 한하여, T(¬pj):=1로 된다. T(p0):=1로 된다. 다른 경우에는, 진리값 T는 0으로 된다.
그리고, Iu(=I(ρ, Γ)):={i∈I|T(ρ(i))=1}, 즉, I(ρ, Γ):={i∈I|[ρ(i)=(t, v j)∧(t, x t)∈Γ∧(v j·x t)=0]∨[ρ(i)=¬(t, v j)∧(t, x j)∈Γ∧v j·x t≠0]∨[ρ(i)=p0]}로 한다.
<제 3. 함수형 암호 방식의 개요>
복호 키와 암호문의 한쪽에 상술한 액세스 스트럭쳐 S를 갖게 하고, 다른쪽에 속성 집합 Γ을 갖게 함으로써, 함수형 암호 방식을 구성한다.
액세스 스트럭쳐 S를 복호 키에 갖게 한 함수형 암호 방식을 Key-Policy 함수형 암호(KP-FE) 방식이라고 부르고, 액세스 스트럭쳐 S를 암호문에 갖게 한 암호 방식을 Ciphertext-Policy 함수형 암호(CP-FE) 방식이라고 부른다.
KP-FE 방식 및 CP-FE 방식의 구성과, 각 방식을 실행하는 암호 시스템(10)의 구성을 설명한다.
<제 3-1. KP-FE 방식>
KP-FE 방식은, Setup, KeyGen, Enc, Dec의 4개의 알고리즘을 구비한다.
(Setup)
Setup 알고리즘은, 시큐러티 파라미터 λ가 입력되고, 공개 파라미터 pk와, 마스터 키 sk를 출력하는 확률적 알고리즘이다.
(KeyGen)
KeyGen 알고리즘은, 액세스 스트럭쳐 S와, 공개 파라미터 pk와, 마스터 키 sk를 입력으로 하고, 복호 키 skS를 출력하는 확률적 알고리즘이다.
(Enc)
Enc 알고리즘은, 메시지 msg와, 속성의 집합인 Γ:={(t, x t)|x t∈Fq n, 1≤t≤d}와, 공개 파라미터 pk를 입력으로 하여, 암호문 ctΓ를 출력하는 확률적 알고리즘이다.
(Dec)
Dec 알고리즘은, 속성의 집합인 Γ 하에서 암호화된 암호문 ctΓ과, 액세스 스트럭쳐 S에 대한 복호 키 skS와, 공개 파라미터 pk를 입력으로 하고, 메시지 msg, 또는, 식별 정보 ⊥를 출력하는 알고리즘이다.
도 3은, KP-FE 방식을 실행하는 암호 시스템(10)의 구성도이다.
암호 시스템(10)은, 키 생성 장치(100), 암호화 장치(200), 복호 장치(300)를 구비한다.
키 생성 장치(100)는, 시큐러티 파라미터 λ를 입력으로 하여 Setup 알고리즘을 실행하고, 공개 파라미터 pk와 마스터 키 sk를 생성한다. 그리고, 키 생성 장치(100)는, 생성한 공개 파라미터 pk를 공개한다. 또한, 키 생성 장치(100)는, 액세스 스트럭쳐 S를 입력으로 하여 KeyGen 알고리즘을 실행하고, 복호 키 skS를 생성하여 복호 장치(300)에 비밀리에 배포한다.
암호화 장치(200)는, 메시지 msg와, 속성의 집합 Γ과, 공개 파라미터 pk를 입력으로 하여 Enc 알고리즘을 실행하고, 암호문 ctΓ를 생성한다. 암호화 장치(200)는, 생성한 암호문 ctΓ를 복호 장치(300)에 송신한다.
복호 장치(300)는, 공개 파라미터 pk와, 복호 키 skS와, 암호문 ctΓ를 입력으로 하여 Dec 알고리즘을 실행하고, 메시지 msg 또는 식별 정보 ⊥를 출력한다.
<제 3-2. CP-FE 방식>
CP-FE 방식은, Setup, KeyGen, Enc, Dec의 4개의 알고리즘을 구비한다.
(Setup)
Setup 알고리즘은, 시큐러티 파라미터 λ가 입력되고, 공개 파라미터 pk와, 마스터 키 sk를 출력하는 확률적 알고리즘이다.
(KeyGen)
KeyGen 알고리즘은, 속성의 집합인 Γ:={(t, x t)|x t∈Fq n, 1≤t≤d}와, 공개 파라미터 pk와, 마스터 키 sk를 입력으로 하여, 복호 키 skΓ를 출력하는 확률적 알고리즘이다.
Enc 알고리즘은, 메시지 msg와, 액세스 스트럭쳐 S와, 공개 파라미터 pk를 입력으로 하고, 암호문 ctS를 출력하는 확률적 알고리즘이다.
(Dec)
Dec 알고리즘은, 액세스 스트럭쳐 S 하에서 암호화된 암호문 ctS와, 속성의 집합인 Γ에 대한 복호 키 skΓ와, 공개 파라미터 pk를 입력으로 하고, 메시지 msg, 또는, 식별 정보 ⊥를 출력하는 알고리즘이다.
도 4는, CP-FE 방식을 실행하는 암호 시스템(10)의 구성도이다.
암호 시스템(10)은, 키 생성 장치(100), 암호화 장치(200), 복호 장치(300)를 구비한다.
키 생성 장치(100)는, 시큐러티 파라미터 λ를 입력으로 하여 Setup 알고리즘을 실행하고, 공개 파라미터 pk와 마스터 키 sk를 생성한다. 그리고, 키 생성 장치(100)는, 생성한 공개 파라미터 pk를 공개한다. 또한, 키 생성 장치(100)는, 속성의 집합 Γ을 입력으로 하여 KeyGen 알고리즘을 실행하고, 복호 키 skΓ를 생성하여 복호 장치(300)에 비밀리에 배포한다.
암호화 장치(200)는, 메시지 msg와, 액세스 스트럭쳐 S와, 공개 파라미터 pk를 입력으로 하여 Enc 알고리즘을 실행하고, 암호문 ctS를 생성한다. 암호화 장치(200)는, 생성한 암호문 ctS를 복호 장치(300)에 송신한다.
복호 장치(300)는, 공개 파라미터 pk와, 복호 키 skΓ와, 암호문 ctS를 입력으로 하여 Dec 알고리즘을 실행하고, 메시지 msg 또는 식별 정보 ⊥를 출력한다.
KP-FE 방식 및 CP-FE 방식의 어느 쪽에 있어서도, Dec 알고리즘에서는, 액세스 스트럭쳐 S와 속성 집합 Γ에 근거하여, 상술한 방법에 의해, 부분 집합 I(ρ, Γ)를 선택하고, 또한 계수(α1,. . ., αL) 및 계수(β1,. . .,βL)를 특정한다. 그리고, 부분 집합 I(ρ, Γ)와 계수(α1,. . ., αL) 및 계수(β1,. . .,βL)에 근거하여, 암호문 ctΓ(또는 ctS)를 복호하여 메시지 msg를 계산한다.
또한, Setup 알고리즘은, 통상, 시스템의 셋업 시에 1번만 실행된다. KeyGen 알고리즘은, 사용자의 복호 키를 생성할 때에 실행된다. Enc 알고리즘은, 메시지 msg를 암호화할 때에 실행된다. Dec 알고리즘은, 암호문을 복호할 때에 실행된다.
실시 형태 1에 따른 암호 시스템(10)에서는, 2차 스팬 프로그램에 근거하는 액세스 스트럭쳐 S를 이용하여 함수형 암호 방식을 구성한다. 이에 의해, 관계 R로서 표현할 수 있는 범위를 이상화된 범위로 하는 것이 가능해진다.
(실시 형태 2)
실시 형태 2에서는, 2차 스팬 프로그램을 이용한 함수형 암호 방식의 구성예에 대해 설명한다.
여기에서는, KP-FE 방식을 예로 하여 설명한다.
도 5는, 실시 형태 2에 따른 키 생성 장치(100)의 구성도이다. 도 6은, 실시 형태 2에 따른 암호화 장치(200)의 구성도이다. 도 7은, 실시 형태 2에 따른 복호 장치(300)의 구성도이다.
도 8과 도 9는, 키 생성 장치(100)의 동작을 나타내는 플로우차트이다. 도 8은 Setup 알고리즘의 처리를 나타내는 플로우차트이며, 도 9는 KeyGen 알고리즘의 처리를 나타내는 플로우차트이다. 도 10은, 암호화 장치(200)의 동작을 나타내는 플로우차트이며, Enc 알고리즘의 처리를 나타내는 플로우차트이다. 도 11은, 복호 장치(300)의 동작을 나타내는 플로우차트이며, Dec 알고리즘의 처리를 나타내는 플로우차트이다.
키 생성 장치(100)의 기능과 동작에 대해서 설명한다.
키 생성 장치(100)는, 마스터 키 생성부(110), 마스터 키 기억부(120), 정보 입력부(130), 복호 키 생성부(140), 키 배포부(150)를 구비한다. 또한, 복호 키 생성부(140)는, 비밀 정보 생성부(141), 키 요소 생성부(142)를 구비한다.
도 8에 근거하여, Setup 알고리즘의 처리에 대해 설명한다.
(S101:정규 직교 기저 생성 스텝)
마스터 키 생성부(110)는, 처리 장치에 의해, (수 123)을 계산하여, 파라미터 param와, 기저 B0 및 기저 B* 0과, 기저 Bt 및 기저 B* t를 생성한다.
[수 123]
Figure pct00023
즉, 마스터 키 생성부(110)는 이하의 처리를 실행한다.
(1) 마스터 키 생성부(110)는, 입력 장치에 의해, 시큐러티 파라미터 λ(1λ)를 입력한다.
(2) 마스터 키 생성부(110)는, 처리 장치에 의해, (1)에서 입력한 시큐러티 파라미터 λ를 입력으로 하여 알고리즘 Gbpg를 실행하고, 쌍선형 페어링군의 파라미터 paramG:=(q, G, GT, g, e)의 값을 생성한다.
(3) 마스터 키 생성부(110)는, 처리 장치에 의해, 난수 ψ를 생성한다.
(4) 마스터 키 생성부(110)는, N0에 n0+u0+w0+z0을 설정하고, t=1,. . ., d(d는 1 이상의 정수)의 각 정수 t에 대해, Nt에 nt+ut+wt+zt를 설정한다. 여기서, n0은 2mfmax+1이며, nt는 2mfmaxkmax+n이다. m은, 목표 다항식 d(x)를 인수 분해했을 경우의 인수의 수이다. fmax는, 목표 다항식 d(x)를 인수 분해했을 경우의 인수의 차수의 최대치(후술하는 fτ의 최대치)이다. kmax는, 1개의 식별 정보 t에 대응지어져 있는 라벨 ρ의 개수의 최대치이다. n은 1 이상의 정수이며, u0, w0, z0, ut, wt, zt는 각각 0 이상의 정수이다.
계속해서, 마스터 키 생성부(110)는, t=0,. . ., d의 각 정수 t에 대해 이하의 (5)로부터 (9)까지의 처리를 실행한다.
(5) 마스터 키 생성부(110)는, 처리 장치에 의해, (1)에서 입력한 시큐러티 파라미터 λ와, (4)에서 설정한 Nt와, (2)에서 생성한 paramG:=(q, G, GT, g, e)의 값을 입력으로 하여 알고리즘 Gdpvs를 실행하고, 듀얼 페어링 벡터 공간의 파라미터 paramVt:=(q, Vt, GT, At, e)의 값을 생성한다.
(6) 마스터 키 생성부(110)는, 처리 장치에 의해, (4)에서 설정한 Nt와, Fq를 입력으로 하여, 선형 변환 Xt:=(χt, i, j)i, j를 랜덤하게 생성한다. 또한, GL은, General Linear의 약어이다. 즉, GL은, 일반 선형군이며, 행렬식이 0이 아닌 정방 행렬의 집합으로서, 승법에 관한 군이다. 또한, (χt, i, j)i, j는, 행렬 χt, i, j의 첨자 i, j에 관한 행렬이라고 하는 의미이며, 여기에서는, i, j=1,. . ., Nt이다.
(7) 마스터 키 생성부(110)는, 처리 장치에 의해, 난수 ψ와 선형 변환 Xt에 근거하여, X* t:=(νt, i, j)i, j:=ψ·(Xt T)-1을 생성한다. 또한, (νt, i, j)i, j도 (χt, i, j)i, j와 마찬가지로, 행렬 νt, i, j의 첨자 i, j에 관한 행렬이라고 하는 의미이며, 여기에서는, i, j=1,. . ., Nt이다.
(8) 마스터 키 생성부(110)는, 처리 장치에 의해, (6)에서 생성한 선형 변환 Xt에 근거하여, (5)에서 생성한 표준 기저 At로부터 기저 Bt를 생성한다. 또한, x t, i는, 선형 변환 Xt의 i행째를 나타낸다.
(9) 마스터 키 생성부(110)는, 처리 장치에 의해, (7)에서 생성한 선형 변환 X* t에 근거하여, (5)에서 생성한 표준 기저 At로부터 기저 B* t를 생성한다. 또한, v t, i는, 선형 변환 X* t의 i행째를 나타낸다.
(10) 마스터 키 생성부(110)는, 처리 장치에 의해, gT에 e(g, g)ψ를 설정한다. 또한, 마스터 키 생성부(110)는, param에 (5)에서 생성한{paramVtt= 0,. . ., d와, gT를 설정한다.
즉, (S101)에서, 마스터 키 생성부(110)는, (수 124)에 나타내는 알고리즘 Gob를 실행하여, param와, 기저 B0 및 기저 B* 0과, 기저 Bt 및 기저 B* t를 생성한다.
[수 124]
Figure pct00024
(S102:공개 파라미터 생성 스텝)
마스터 키 생성부(110)는, 처리 장치에 의해, (S101)에서 생성한 기저 B0의 부분 기저 B 0과, 기저 Bt의 부분 기저 B t를 (수 125)에 나타낸 바와 같이 생성한다.
[수 125]
Figure pct00025
마스터 키 생성부(110)는, 생성한 부분 기저 B^0 및 부분 기저 B^t와, (S101)에서 입력된 시큐러티 파라미터 λ와, (S101)에서 생성한 param을 합쳐서, 공개 파라미터 pk로 한다.
(S103:마스터 키 생성 스텝)
마스터 키 생성부(110)는, 처리 장치에 의해, (S101)에서 생성한 기저 B* 0의 부분 기저 B^* 0과, 기저 B* t의 부분 기저 B^* t를 (수 126)에 나타낸 바와 같이 생성한다.
[수 126]
Figure pct00026
마스터 키 생성부(110)는, 생성한 부분 기저 B^* 0과 부분 기저 B^* t를 마스터 키 sk로 한다.
(S104:마스터 키 기억 스텝)
마스터 키 기억부(120)는, (S102)에서 생성한 공개 파라미터 pk를 기억 장치에 기억한다. 또한, 마스터 키 기억부(120)는, (S103)에서 생성한 마스터 키 sk를 기억 장치에 기억한다.
즉, (S101) 내지 (S103)에 있어서, 키 생성 장치(100)는, (수 127)에 나타내는 Setup 알고리즘을 실행하여, 공개 파라미터 pk와 마스터 키 sk를 생성한다. 그리고, (S104)에서, 키 생성 장치(100)는, 생성한 공개 파라미터 pk와 마스터 키 sk를 기억 장치에 기억한다.
또한, 공개 파라미터는, 예를 들면, 네트워크를 거쳐서 공개되고, 암호화 장치(200)나 복호 장치(300)가 취득 가능한 상태로 된다.
[수 127]
Figure pct00027
도 9에 근거하여, KeyGen 알고리즘의 처리에 대해 설명한다.
(S201:정보 입력 스텝)
정보 입력부(130)는, 입력 장치에 의해, 상술한 액세스 스트럭쳐 S:=(A, B, d(x), ρ)를 입력한다. 또한, ρ는, 예를 들면, 복호 키 skS의 사용자의 속성 정보가 설정되어 있다. 또한, 액세스 스트럭쳐 S에 포함되는 목표 다항식 d(x)는, (수 128)에 나타낸 바와 같이, τ=1,. . ., m의 m개의 인수 dτ(x)로 인수 분해 가능하다.
[수 128]
Figure pct00028
(S202:비밀 정보 π 생성 스텝)
비밀 정보 생성부(141)는, 처리 장치에 의해, 비밀 정보 πτ, κ, 0 및 비밀 정보 πτ, κ, 1을 (수 129)에 나타낸 바와 같이 생성한다.
[수 129]
Figure pct00029
(S203:비밀 정보 χ 생성 스텝)
비밀 정보 생성부(141)는, 처리 장치에 의해, 비밀 정보 χτ, κ, 0 및 비밀 정보 χτ, κ, 1을 (수 130)에 나타낸 바와 같이 생성한다.
[수 130]
Figure pct00030
(S204:비밀 정보 s 생성 스텝)
비밀 정보 생성부(141)는, 처리 장치에 의해, 비밀 정보 s0 (τ, κ, 0) 및 비밀 정보 s0 (τ, κ, 1)와, 비밀 정보 si (τ, κ, 0) 및 비밀 정보 si (τ, κ, 1)를 (수 131)에 나타낸 바와 같이 생성한다.
[수 131]
Figure pct00031
(S205:키 요소 생성 스텝)
키 요소 생성부(142)는, 처리 장치에 의해, τ=1,. . ., m의 각 정수 τ와, κ=0,. . ., fτ의 각 정수 κ와, ι=0, 1의 각 정수 ι에 대해서, 복호 키 skS의 요소 k* 0 (τ, κ, ι)을 (수 132)에 나타낸 바와 같이 생성한다.
[수 132]
Figure pct00032
또한, 상술한 바와 같이, (수 113)에 나타내는 기저 B와 기저 B*에 대해서, (수 114)이다. 따라서, (수 132)는, 기저 B* 0의 기저 벡터 b* 0, 1의 계수로서 s0 (τ, κ, ι)+πτ, κ, ι를 설정하고, 기저 벡터 b* 0, 1+1,. . ., b* 0, 1+ n0의 계수로서 e 0 (τ, κ, ι)을 설정하고, 기저 벡터 b* 0, n0 +1,. . ., b* 0, n0 u0의 계수로서 0을 설정하고, 기저 벡터 b* 0, n0 u0 +1,. . ., b* 0, n0 u0 w0의 계수로서 η0, 1 (τ, κ, ι),. . .,η0, w0 (τ, κ, ι)를 설정하고, 기저 벡터 b* 0, n0 u0 w0 +1,. . ., b* 0, n0 u0 w0 z0의 계수로서 0을 설정하는 것을 의미한다. 여기서, n0, u0, w0, z0은 각각 n0, u0, w0, z0이다.
또한, e 0 (τ, κ, ι)은, 1개의 기저 벡터의 계수로서 1이 설정되고, 다른 기저 벡터의 계수로서 0이 설정된 2mfmax 차원의 벡터로서, 계수로서 1이 설정되는 기저 벡터가 (τ, κ, ι)마다 상이한 벡터이다. 마찬가지로, e i (τ, κ, ι)는, 1개의 기저 벡터의 계수로서 1이 설정되고, 다른 기저 벡터의 계수로서 0이 설정된 2mfmaxkmax 차원의 벡터로서, 계수로서 1이 설정되는 기저 벡터가 (τ, κ, ι)마다 상이한 벡터이다.
또한, e 1은, 기저 벡터 b* t, 1의 계수로서 1이 설정되고, 다른 기저 벡터의 계수로서 0이 설정된 n 차원의 벡터이다.
키 요소 생성부(142)는, 처리 장치에 의해, τ=1,. . ., m의 각 정수 τ와, κ=0,. . ., fτ의 각 정수 κ와, ι=0, 1의 각 정수 ι와, i=1,. . ., L의 각 정수 i에 대해서, 복호 키 skS의 요소 k* i (τ, κ, ι)를 (수 133)에 나타낸 바와 같이 생성한다.
[수 133]
Figure pct00033
(S206:키 배포 스텝)
키 배포부(150)는, (S201)에서 입력한 액세스 스트럭쳐 S와, (S205)에서 생성된 k* 0 (τ, κ, ι), k* 1 (τ, κ, ι),. . ., k* L (τ, κ, ι)를 요소로 하는 복호 키 skS를, 예를 들면 통신 장치에 의해 네트워크를 거쳐서 비밀리에 복호 장치(300)에 배포한다. 물론, 복호 키 skS는, 다른 방법에 의해 복호 장치(300)에 배포되어도 좋다.
즉, (S201) 내지 (S205)에 있어서, 키 생성 장치(100)는, (수 134) 내지 (수 135)에 나타내는 KeyGen 알고리즘을 실행하여, 복호 키 skS를 생성한다. 그리고, (S206)에서, 키 생성 장치(100)는, 생성한 복호 키 skS를 복호 장치(300)에 배포한다.
[수 134]
Figure pct00034
[수 135]
Figure pct00035
암호화 장치(200)의 기능과 동작에 대해서 설명한다.
암호화 장치(200)는, 공개 파라미터 취득부(210), 정보 입력부(220), 암호화 데이터 생성부(230), 데이터 송신부(240)를 구비한다.
도 10에 근거하여, Enc 알고리즘의 처리에 대해 설명한다.
(S301:공개 파라미터 취득 스텝)
공개 파라미터 취득부(210)는, 예를 들면, 통신 장치에 의해 네트워크를 거쳐서, 키 생성 장치(100)가 생성한 공개 파라미터 pk를 취득한다.
(S302:정보 입력 스텝)
정보 입력부(220)는, 입력 장치에 의해, 복호 장치(300)에 송신하는 메시지 msg를 입력한다. 또한, 정보 입력부(220)는, 입력 장치에 의해, 속성의 집합 Γ:={(t, x t:=(xt , 1,. . ., xt , n∈Fq n))|1≤t≤d}를 입력한다. 또한, t는, 1 이상 d 이하의 모든 정수는 아니고, 1 이상 d 이하의 적어도 일부의 정수이더라도 좋다. 또한, 속성의 집합 Γ은, 예를 들면, 복호 가능한 사용자의 속성 정보가 설정되어 있다.
(S303:암호 요소 생성 스텝)
암호화 데이터 생성부(230)는, 처리 장치에 의해, 암호문 ctΓ의 요소 c0을 (수 136)에 나타낸 바와 같이 생성한다.
[수 136]
Figure pct00036
암호화 데이터 생성부(230)는, 처리 장치에 의해, 속성 정보 Γ에 포함되는 각 정수 t에 대해, 암호문 ctΓ의 요소 ct를 (수 137)에 나타낸 바와 같이 생성한다.
[수 137]
Figure pct00037
암호화 데이터 생성부(230)는, 처리 장치에 의해, 암호문 ctΓ의 요소 cd +1을 (수 138)에 나타낸 바와 같이 생성한다.
[수 138]
Figure pct00038
(S304:데이터 송신 스텝)
데이터 송신부(240)는, (S302)에서 입력한 속성의 집합 Γ과, (S303)에서 생성된 c0, ct, cd +1을 요소로 하는 암호문 ctΓ를, 예를 들면 통신 장치에 의해 네트워크를 거쳐서 복호 장치(300)에 송신한다. 물론, 암호문 ctΓ는, 다른 방법에 의해 복호 장치(300)에 송신되어도 좋다.
즉, (S301) 내지 (S303)에 있어서, 암호화 장치(200)는, (수 139)에 나타내는 Enc 알고리즘을 실행하여, 암호문 ctΓ를 생성한다. 그리고, (S304)에서, 암호화 장치(200)는 생성한 암호문 ctΓ를 복호 장치(300)에 송신한다.
[수 139]
Figure pct00039
복호 장치(300)의 기능과 동작에 대해서 설명한다.
복호 장치(300)는, 정보 취득부(310), 스팬 프로그램 계산부(320), 보완 계수 계산부(330), 복호부(340)를 구비한다. 또한, 정보 취득부(310)는, 복호 키 취득부(311), 암호문 취득부(312)를 구비한다. 또한, 보완 계수 계산부(330)는, 다항식 선택부(331), 계수 계산부(332)를 구비한다. 또한, 복호부(340)는, 페어링 연산부(341), 메시지 계산부(342)를 구비한다.
도 11에 근거하여, Dec 알고리즘의 처리에 대해 설명한다.
(S401:복호 키 취득 스텝)
복호 키 취득부(311)는, 예를 들면, 통신 장치에 의해 네트워크를 거쳐서, 키 생성 장치(100)로부터 배포된 복호 키 skS:=(S, k* 0 (τ, κ, ι), k* 1 (τ, κ, ι),. . ., k* L (τ, κ, ι))를 취득한다. 또한, 복호 키 취득부(311)는, 키 생성 장치(100)가 생성한 공개 파라미터 pk를 취득한다.
(S402:암호문 취득 스텝)
암호문 취득부(312)는, 예를 들면, 통신 장치에 의해 네트워크를 거쳐서, 암호화 장치(200)가 송신한 암호문 ctΓ:=(Γ, c0, ct, cd +1)를 취득한다.
(S403:스팬 프로그램 계산 스텝)
스팬 프로그램 계산부(320)는, 처리 장치에 의해, (S401)에서 취득한 복호 키 skS에 포함되는 액세스 스트럭쳐 S가, (S402)에서 취득한 암호문 ctΓ에 포함되는 Γ을 수리하는지 여부를 판정한다. 액세스 스트럭쳐 S가 Γ를 수리하는지 여부의 판정 방법은, 「실시 형태 1에 있어서의 제 2-1. 2차 스팬 프로그램」에서 설명한 바와 같다.
스팬 프로그램 계산부(320)는, 액세스 스트럭쳐 S가 Γ를 수리하는 경우(S403에서 수리), 처리를 (S404)로 진행한다. 한편, 액세스 스트럭쳐 S가 Γ를 거절하는 경우(S403에서 거절), 암호문 ctΓ를 복호 키 skS로 복호할 수 없는 것으로 하여 처리를 종료한다.
(S404:다항식 선택 스텝)
보완 계수 계산부(330)의 다항식 선택부(331)는, 처리 장치에 의해, I(ρ, Γ)⊆{1,. . ., L}를 계산한다. I(ρ, Γ)의 계산 방법은, 「실시 형태 1의 제 2-2. 속성의 내적과 2차 스팬 프로그램」에서 설명한 바와 같다.
(S405:계수 계산 스텝)
보완 계수 계산부(330)의 계수 계산부(332)는, 처리 장치에 의해, (수 140)으로 되는 계수(α1,. . ., αL)와, 계수(β1,. . .,βL)와, 차수(κ1,. . ., κm)를 계산한다. 계수(α1,. . ., αL)와, 계수(β1,. . .,βL)와, 차수(κ1,. . ., κm)의 계산 방법은, 어떠한 방법이어도 좋고, 예를 들면 라운드 로빈법에 의해 계산해도 좋다.
[수 140]
Figure pct00040
여기서, I(ρ, Γ)에 포함되지 않는 모든 i에 대해서는, αi=0=βi이다.
(S406:페어링 연산 스텝)
복호부(340)의 페어링 연산부(341)는, 처리 장치에 의해, (수 141)을 계산하고, 세션 키 Kτ, 0, Kτ, 1을 생성한다.
[수 141]
Figure pct00041
(S407:메시지 계산 스텝)
복호부(340)의 메시지 계산부(342)는, 처리 장치에 의해, (수 142)를 계산하고, 메시지 msg'(=msg)를 생성한다.
[수 142]
Figure pct00042
또한, (수 143)에 나타낸 바와 같이, (수 141)을 계산함으로써 gT ζ가 얻어진다. 그 때문에, (수 142)를 계산함으로써, 메시지 msg'(=msg)를 얻을 수 있다.
[수 143]
Figure pct00043
즉, (S401) 내지 (S407)에 있어서, 복호 장치(300)는, (수 144)에 나타내는 Dec 알고리즘을 실행하여, 메시지 msg'(=msg)를 생성한다.
[수 144]
Figure pct00044
이상과 같이, 실시 형태 2에 따른 암호 시스템(10)에서는, 2차 스팬 프로그램을 이용한 함수형 암호 방식을 실현한다.
2차 스팬 프로그램을 이용함으로써, 관계 R로서 표현할 수 있는 범위가 넓다.
특히, 실시 형태 2에 따른 암호 시스템(10)에서는, 목표 다항식 d(x)를 인수 분해한 다항식 dτ(x)마다, 다항식 dτ(x)κ로 다항식 ai(x)를 나눈 나머지를 설정한 요소와, 다항식 dτ(x)fτ-κ로 다항식 bi(x)를 나눈 나머지를 설정한 요소를, 키 요소 k* 0 (τ, κ, ι), k* 1 (τ, κ, ι),. . ., k* L (τ, κ, ι)로 한다. 또한, 각 키 요소 k* 0 (τ, κ, ι)에, 비밀 정보 π와 비밀 정보 χ를 분산시켜 설정한다. 그리고, 계수 α,β를 이용하여, 키 요소와 암호 요소의 페어링 연산을 함으로써, 각 키 요소로 설정된 나머지를 0으로 하고, 비밀 정보 π를 0으로 하고, 비밀 정보 χ를 1로 함으로써, 암호문으로부터 세션 키 Kτ, 0, Kτ, 1을 추출한다. 이에 의해, 2차 스팬 프로그램을 이용한 함수형 암호 방식을 실현한다.
또한, 상기 설명에서는, KP-FE 방식에 대해 설명했다. 그러나, KeyGen 알고리즘, Enc 알고리즘, Dec 알고리즘을 각각 (수 145) 내지 (수 148)에 나타낸 바와 같이 함으로써, CP-FE 방식으로 하는 것도 가능하다. 또한, Setup 알고리즘은, KP-FE 방식과 CP-FE 방식과 동일하다.
[수 145]
Figure pct00045
[수 146]
Figure pct00046
[수 147]
Figure pct00047
[수 148]
Figure pct00048
또한, 상기 설명에서는, 함수형 암호 방식에 대해 설명했다. 그러나, Setup 알고리즘, KeyGen 알고리즘, Enc 알고리즘, Dec 알고리즘을 각각 (수 149) 내지 (수 153)에 나타낸 바와 같이 함으로써, 속성 베이스 암호 방식으로 하는 것도 가능하다. 또한, 속성 베이스 암호 방식의 경우, Setup 알고리즘에 있어서, nt는 2mfmaxkmax+2이다.
[수 149]
Figure pct00049
[수 150]
Figure pct00050
[수 151]
Figure pct00051
[수 152]
Figure pct00052
[수 153]
Figure pct00053
마찬가지로, (수 145) 내지 (수 148)에 나타내는 CP-FE 방식을 속성 베이스 암호 방식으로 변경하는 것도 가능하다.
또한, 상기 설명에서는, N0에 n0+u0+w0+z0을 설정하고, Nt에 nt+ut+wt+zt를 설정했다. 여기서, 예를 들면, u0=n0, w0=n0, z0=2로 하고, N0에 n0+n0+n0+2=3n0+2로 하고, ut=nt, wt=nt, zt=1로 하고, Nt에 nt+nt+nt+1=3nt+1로 해도 좋다.
(실시 형태 3)
실시 형태 3에서는, 실시 형태 2에서 설명한 함수형 암호 방식에 비해, 기저의 수가 많아지는 대신에, 각 기저의 차원 수가 적은 함수형 암호 방식을 설명한다.
실시 형태 3에서는, 실시 형태 2에 따른 암호 시스템(10)과 상이한 부분을 중심으로 설명한다.
실시 형태 3에 따른 키 생성 장치(100), 암호화 장치(200), 복호 장치(300)의 구성은, 도 5∼도 7에 나타내는 실시 형태 2에 따른 키 생성 장치(100), 암호화 장치(200), 복호 장치(300)의 구성과 동일하다.
실시 형태 3에 따른 Dec 알고리즘의 처리에 대해서는, 실시 형태 2에 따른 Dec 알고리즘의 처리와 동일하기 때문에, 여기에서는, 실시 형태 3에 따른 Setup 알고리즘, KeyGen 알고리즘, Enc 알고리즘의 처리에 대해 설명한다.
실시 형태 3에 따른 Setup 알고리즘, KeyGen 알고리즘, Enc 알고리즘의 처리 흐름은, 도 8∼도 10에 나타내는 실시 형태 2에 따른 Setup 알고리즘, KeyGen 알고리즘, Enc 알고리즘의 처리의 흐름과 동일하다.
도 8에 근거하여, Setup 알고리즘의 처리에 대해 설명한다.
(S101:정규 직교 기저 생성 스텝)
(1) ∼(3)의 처리는, 실시 형태 2와 동일하다.
(4) 마스터 키 생성부(110)는, N0에 n0+u0+w0+z0을 설정하고, t=1,. . ., d(d는 1 이상의 정수)의 각 정수 t에 대해, Nt에 nt+ut+wt+zt를 설정한다. 여기서, n0은 1이며, nt는 n이다. n은 1 이상의 정수이며, u0, w0, z0, ut, wt, zt는 각각 0 이상의 정수이다.
계속해서, 마스터 키 생성부(110)는, τ=1,. . ., m, κ=0,. . ., fτ, ι=0, 1, t=0,. . ., d의 각 정수 τ, κ, ι, t에 대해 (5)로부터 (9)까지의 처리를 실행한다.
(5)의 처리는, 실시 형태 2와 동일하다.
(6) 마스터 키 생성부(110)는, 실시 형태 2와 마찬가지로, 선형 변환 Xt (τ, κ, ι):=(χt, i, j (τ, κ, ι))i, j를 랜덤하게 생성한다.
(7) 마스터 키 생성부(110)는, 실시 형태 2와 마찬가지로, X* t (τ, κ, ι):=(νt, i, j (τ, κ, ι))i, j:=ψ·(Xt (τ, κ, ι)T)-1을 생성한다.
(8) 마스터 키 생성부(110)는, 실시 형태 2와 마찬가지로, (6)에서 생성한 선형 변환 Xt (τ, κ, ι)에 근거하여, (5)에서 생성한 표준 기저 At로부터 기저 Bt (τ, κ, ι)를 생성한다.
(9) 마스터 키 생성부(110)는, 실시 형태 2와 마찬가지로, (7)에서 생성한 선형 변환 X* t (τ, κ, ι)에 근거하여, (5)에서 생성한 표준 기저 At로부터 기저 B* t (τ, κ, ι)를 생성한다.
(10)의 처리는, 실시 형태 2와 동일하다.
(S102:공개 파라미터 생성 스텝)
마스터 키 생성부(110)는, 처리 장치에 의해, (S101)에서 생성한 기저 B0 (τ, κ, ι)의 부분 기저 B^0 (τ, κ, ι)과, 기저 Bt (τ, κ, ι)의 부분 기저 B^t (τ, κ, ι)를 (수 154)에 나타낸 바와 같이 생성한다.
[수 154]
Figure pct00054
마스터 키 생성부(110)는, 생성한 부분 기저 B^0 (τ, κ, ι) 및 부분 기저 B^t (τ, κ, ι)와, (S101)에서 입력된 시큐러티 파라미터 λ와, (S101)에서 생성한 param을 합쳐서, 공개 파라미터 pk로 한다.
(S103:마스터 키 생성 스텝)
마스터 키 생성부(110)는, 처리 장치에 의해, (S101)에서 생성한 기저 B* 0 (τ, κ, ι)의 부분 기저 B^* 0 (τ, κ, ι)과, 기저 B* t (τ, κ, ι)의 부분 기저 B^* t (τ, κ, ι)를 (수 155)에 나타낸 바와 같이 생성한다.
[수 155]
Figure pct00055
마스터 키 생성부(110)는, 생성한 부분 기저 B^* 0 (τ, κ, ι)와 부분 기저 B^* t (τ, κ, ι)를 마스터 키 sk로 한다.
(S104)의 처리는, 실시 형태 2와 동일하다.
즉, (S101) 내지 (S103)에 있어서, 키 생성 장치(100)는, (수 156)에 나타내는 Setup 알고리즘을 실행하여, 공개 파라미터 pk와 마스터 키 sk를 생성한다. 그리고, (S104)에서, 키 생성 장치(100)는, 생성한 공개 파라미터 pk와 마스터 키 sk를 기억 장치에 기억한다.
[수 156]
Figure pct00056
도 9에 근거하여, KeyGen 알고리즘의 처리에 대해 설명한다.
(S201으로부터 (S204)까지와, (S206)의 처리는, 실시 형태 2와 동일하다.
(S205:키 요소 생성 스텝)
키 요소 생성부(142)는, 처리 장치에 의해, τ=1,. . ., m의 각 정수 τ와, κ=0,. . ., fτ의 각 정수 κ와, ι=0, 1의 각 정수 ι에 대해서, 복호 키 skS의 요소 k* 0 (τ, κ, ι)을 (수 157)에 나타낸 바와 같이 생성한다.
[수 157]
Figure pct00057
키 요소 생성부(142)는, 처리 장치에 의해, τ=1,. . ., m의 각 정수 τ와, κ=0,. . ., fτ의 각 정수 κ와, ι=0, 1의 각 정수 ι와, i=1,. . ., L의 각 정수 i에 대해서, 복호 키 skS의 요소 k* i (τ, κ, ι)를 (수 158)에 나타낸 바와 같이 생성한다.
[수 158]
Figure pct00058
즉, (S201) 내지 (S205)에 있어서, 키 생성 장치(100)는, (수 159) 내지 (수 160)에 나타내는 KeyGen 알고리즘을 실행하여, 복호 키 skS를 생성한다. 그리고, (S206)에서, 키 생성 장치(100)는, 생성한 복호 키 skS를 복호 장치(300)에 배포한다.
[수 159]
Figure pct00059
[수 160]
Figure pct00060
도 10에 근거하여, Enc 알고리즘의 처리에 대해 설명한다.
(S301)으로부터 (S302)까지와, (S304)의 처리는, 실시 형태 2와 동일하다.
(S303:암호 요소 생성 스텝)
암호화 데이터 생성부(230)는, 처리 장치에 의해, 암호문 ctΓ의 요소 c0 (τ, κ, ι)를 (수 161)에 나타낸 바와 같이 생성한다.
[수 161]
Figure pct00061
암호화 데이터 생성부(230)는, 처리 장치에 의해, 속성 정보 Γ에 포함되는 각 정수 t에 대해, 암호문 ctΓ의 요소 ct (τ, κ, ι)를 (수 162)에 나타낸 바와 같이 생성한다.
[수 162]
Figure pct00062
암호화 데이터 생성부(230)는, 처리 장치에 의해, 암호문 ctΓ의 요소 cd +1을 (수 163)에 나타낸 바와 같이 생성한다.
[수 163]
Figure pct00063
즉, (S301) 내지 (S303)에 있어서, 암호화 장치(200)는, (수 164)에 나타내는 Enc 알고리즘을 실행하여, 암호문 ctΓ를 생성한다. 그리고, (S304)에서, 암호화 장치(200)는 생성한 암호문 ctΓ를 복호 장치(300)에 송신한다.
[수 164]
이상과 같이, 실시 형태 3에 따른 암호 시스템(10)은, 실시 형태 2에서 설명한 함수형 암호 방식에 비해, 기저의 수가 많아지는 대신에, 각 기저의 차원 수가 적은 함수형 암호 방식을 실현한다.
또한, 상기 설명에서는, KP-FE 방식에 대해 설명했다. 그러나, KeyGen 알고리즘, Enc 알고리즘을 각각 (수 165) 내지 (수 167)에 나타낸 바와 같이 함으로써, CP-FE 방식으로 하는 것도 가능하다. 또한, Setup 알고리즘은, KP-FE 방식과 CP-FE 방식과 동일하다. 또한, Dec 알고리즘은, (수 148)에 나타내는 Dec 알고리즘과 동일하다.
[수 165]
Figure pct00065
[수 166]
Figure pct00066
[수 167]
Figure pct00067
또한, 상기 설명에서는, 함수형 암호 방식에 대해 설명했다. 그러나, Setup 알고리즘, KeyGen 알고리즘, Enc 알고리즘을 각각 (수 168) 내지 (수 171)에 나타낸 바와 같이 함으로써, 속성 베이스 암호 방식으로 하는 것도 가능하다. 또한, 속성 베이스 암호 방식의 경우, Setup 알고리즘에 있어서, nt는 2이다. Dec 알고리즘은, (수 153)에 나타내는 Dec 알고리즘과 동일하다.
[수 168]
Figure pct00068
[수 169]
Figure pct00069
[수 170]
Figure pct00070
[수 171]
Figure pct00071
마찬가지로, (수 165) 내지 (수 167)에 나타내는 CP-FE 방식을 속성 베이스 암호 방식으로 변경하는 것도 가능하다.
또한, 상기 설명에서는, N0에 n0+u0+w0+z0을 설정하고, Nt에 nt+ut+wt+zt를 설정했다. 여기서, 예를 들면, u0=n0, w0=n0, z0=2로 하여, N0에 n0+n0+n0+2=3n0+2(n0=1이기 때문에, N0=5)로 하고, ut=nt, wt=nt, zt=1로 하여, Nt에 nt+nt+nt+1=3nt+1로 해도 좋다.
(실시 형태 4)
실시 형태 2, 3에서는, 목표 다항식 d(x)를 인수 분해한 다항식 dτ(x)마다, 다항식 dτ(x)κ로 다항식 ai(x)를 나눈 나머지를 설정한 요소와, 다항식 dτ(x)fτ-κ로 다항식 bi(x)를 나눈 나머지를 설정한 요소를, 키 요소로 했다.
실시 형태 4에서는, 목표 다항식 d(x)를 인수 분해한 다항식 dτ(x)마다, 다항식 dτ(x)κ에 난수값 γ를 대입한 요소와, 다항식 dτ(x)fτ-κ에 난수값 γ를 대입한 요소를, 키 요소로 한다.
실시 형태 4에 따른 키 생성 장치(100), 암호화 장치(200), 복호 장치(300)의 구성은, 도 5∼도 7에 나타내는 실시 형태 2에 따른 키 생성 장치(100), 암호화 장치(200), 복호 장치(300)의 구성과 동일하다.
실시 형태 4에 따른 Setup 알고리즘, Enc 알고리즘은, 실시 형태 2에 따른 Setup 알고리즘, Enc 알고리즘과 동일하다.
실시 형태 4에 따른 Dec 알고리즘의 처리의 흐름은, 도 11에 나타내는 실시 형태 2에 따른 Dec 알고리즘의 처리의 흐름과 동일하다.
도 12는, 실시 형태 4에 따른 KeyGen 알고리즘의 처리를 나타내는 플로우차트이다.
도 12에 근거하여, KeyGen 알고리즘의 처리에 대해 설명한다.
(S501)으로부터 (S503)까지의 처리는, 도 9에 나타내는 (S201)으로부터 (S203)까지의 처리와 동일하고, (S505)의 처리는, 도 9에 나타내는 (S206)의 처리와 동일하다.
(S504:키 요소 생성 스텝)
키 요소 생성부(142)는, 처리 장치에 의해, τ=1,. . ., m의 각 정수 τ와, κ=0,. . ., fτ의 각 정수 κ와, ι=0, 1의 각 정수 ι와, j=1,. . .,μ+1의 각 정수 j에 대해서, 복호 키 skS의 요소 k* 0, j (τ, κ, ι)와 요소 k* 0,μ+1 (τ, κ, ι)을 (수 172)에 나타낸 바와 같이 생성한다.
[수 172]
Figure pct00072
키 요소 생성부(142)는, 처리 장치에 의해, τ=1,. . ., m의 각 정수 τ와, κ=0,. . ., fτ의 각 정수 κ와, ι=0, 1의 각 정수 ι와, i=1,. . ., L의 각 정수 i에 대해서, 복호 키 skS의 요소 k* i (τ, κ, ι)를 (수 173)에 나타낸 바와 같이 생성한다.
[수 173]
Figure pct00073
여기서, e 0, j (τ, κ, ι)(j=1,. . .,μ+1)은, 1개의 기저 벡터의 계수로서 1이 설정되고, 다른 기저 벡터의 계수로서 0이 설정된 2mfmax 차원의 벡터로서, 계수로서 1이 설정되는 기저 벡터가 (τ, κ, ι)마다 상이한 벡터이다.
즉, (S501) 내지 (S504)에 있어서, 키 생성 장치(100)는, (수 174) 내지 (수 175)에 나타내는 KeyGen 알고리즘을 실행하여, 복호 키 skS를 생성한다. 그리고, (S505)에서, 키 생성 장치(100)는, 생성한 복호 키 skS를 복호 장치(300)에 배포한다.
[수 174]
Figure pct00074
[수 175]
Figure pct00075
도 11에 근거하여, Dec 알고리즘의 처리에 대해 설명한다.
(S401)으로부터 (S404)까지의 처리는, 실시 형태 2와 동일하다.
(S405:계수 계산 스텝)
보완 계수 계산부(330)의 계수 계산부(332)는, 처리 장치에 의해, (수 176)이 되는 계수(α1,. . ., αL)와, 계수(β1,. . .,βL)와, 차수 κ를 계산한다.
[수 176]
Figure pct00076
여기서, I(ρ, Γ)에 포함되지 않는 모든 i에 대해서는, αi=0=βi이다. 또한, τ=1,. . ., m 및 ι=0, 1의 모든 정수 τ, ι에 대해서 hτ, κ, ι(x):=hτ, κ, ι, 0+hτ, κ, ι, 1 x+···+hτ, κ, ι,μxμ이다.
(S406:페어링 연산 스텝)
복호부(340)의 페어링 연산부(341)는, 처리 장치에 의해, (수 177)을 계산하여, 세션 키 Kτ, 0, Kτ, 1을 생성한다.
[수 177]
Figure pct00077
(S407:메시지 계산 스텝)
메시지 계산부(342)는, 처리 장치에 의해, (수 178)을 계산하여, 메시지 msg'(=msg)를 생성한다.
[수 178]
Figure pct00078
또한, (수 179)에 나타낸 바와 같이, (수 177)을 계산함으로써 gT ζ가 얻어진다. 그 때문에, (수 178)을 계산함으로써, 메시지 msg'(=msg)를 얻을 수 있다.
[수 179]
Figure pct00079
즉, (S401) 내지 (S407)에 있어서, 복호 장치(300)는, (수 180)에 나타내는 Dec 알고리즘을 실행하여, 메시지 msg'(=msg)를 생성한다.
[수 180]
Figure pct00080
이상과 같이, 실시 형태 4에 따른 암호 시스템(10)은, 다항식 dτ(x)κ에 난수값 γ를 대입한 요소와, 다항식 dτ(x)fτ-κ에 난수값 γ를 대입한 요소를, 키 요소로 하여 함수형 암호 방식을 실현한다.
또한, 상기 설명에서는, KP-FE 방식에 대해 설명했다. 그러나, KeyGen 알고리즘, Enc 알고리즘, Dec 알고리즘을 각각 (수 181) 내지 (수 184)에 나타낸 바와 같이 함으로써, CP-FE 방식으로 하는 것도 가능하다. 또한, Setup 알고리즘은, KP-FE 방식과 CP-FE 방식과 동일하다.
[수 181]
Figure pct00081
[수 182]
Figure pct00082
[수 183]
Figure pct00083
[수 184]
Figure pct00084
또한, 함수형 암호 방식에 대해 설명했다. 그러나, KeyGen 알고리즘, Dec 알고리즘을 각각 (수 185) 내지 (수 187)에 나타낸 바와 같이 함으로써, 속성 베이스 암호 방식으로 하는 것도 가능하다. 또한, 속성 베이스 암호 방식의 경우, Setup 알고리즘에 있어서, nt는 2mfmaxkmax+2이다. 또한, Setup 알고리즘은, (수 149)에 나타내는 Setup 알고리즘과 동일하고, Enc 알고리즘은, (수 152)에 나타내는 Enc 알고리즘과 동일하다.
[수 185]
Figure pct00085
[수 186]
Figure pct00086
[수 187]
Figure pct00087
마찬가지의 변경을 행함으로써, (수 181) 내지 (수 184)에 나타내는 CP-FE 방식을 속성 베이스 암호 방식으로 변경하는 것도 가능하다.
또한, 상기 설명에서는, N0에 n0+u0+w0+z0을 설정하고, Nt에 nt+ut+wt+zt를 설정했다. 여기서, 예를 들면, u0=n0, w0=n0, z0=2로 하여, N0에 n0+n0+n0+2=3n0+2로 하고, ut=nt, wt=nt, zt=2로 하여, Nt에 nt+nt+nt+2=3nt+2로 해도 좋다.
또한, 상기 설명에서는, 실시 형태 2에 따른 함수형 암호 방식과 마찬가지로, 복호 키나 암호문이 길어지는 대신에, 기저의 수가 적은 함수형 암호 방식으로 했다. 그러나, 실시 형태 3, 4에 따른 함수형 암호 방식에 근거하여, 실시 형태 4에 따른 함수형 암호 방식을, 실시 형태 3에 따른 함수형 암호 방식과 마찬가지로, 기저의 수가 많아지는 대신에, 각 기저의 차원 수가 적은 함수형 암호 방식으로 용이하게 변형할 수 있다.
또한, 이상의 실시 형태에서는, KP-FE 방식과 CP-FE 방식에 대해서 설명했다. 그러나, 비특허 문헌 4에 기재된 Unified-Policy FE(UP-FE) 방식도, KP-FE 방식과 CP-FE 방식으로 용이하게 구성할 수 있다.
(실시 형태 5)
이상의 실시 형태에서는, 듀얼 벡터 공간에 있어서 암호 처리를 실현하는 방법에 대해 설명했다. 실시 형태 5에서는, 듀얼 가군(加群)에 있어서 암호 처리를 실현하는 방법에 대해 설명한다.
즉, 이상의 실시 형태에서는, 소수 위수 q의 순회군에 있어서 암호 프리미티브(primitive)의 처리를 실현했다. 그러나, 합성 수 m을 이용하여 (수 188)과 같이 환 R을 나타냈을 경우, 환 R을 계수로 하는 가군에 있어서도, 상기 실시 형태에서 설명한 암호 처리를 적용할 수 있다.
[수 188]
Figure pct00088
이상의 실시 형태에서 설명한 알고리즘에 있어서의 Fq를 R로 변경하면, 듀얼 가군에 있어서의 암호 프리미티브의 처리를 실현할 수 있다.
또한, 이상의 실시 형태에 있어서, 안전성의 증명의 관점으로부터, i=1,. . ., L의 각 정수 i에 대한 ρ(i)은, 각각 상이한 식별 정보 t에 대한 긍정형의 세트 (t, v) 또는 부정형의 세트 ¬(t, v)인 것으로 한정하더라도 좋다.
환언하면, ρ(i)=(t, v) 또는 ρ(i)=¬(t, v)인 경우에, 함수 ρ를, ρ(i)=t인{1,. . ., L}→{1,. . .d}의 사상이라고 한다. 이 경우, ρ가 단사(單射)인 것으로 한정하더라도 좋다. 또한, ρ(i)는, 상술한 액세스 스트럭쳐 S:=(M, ρ(i))의 ρ(i)이다.
다음에, 실시 형태에 있어서의 암호 처리 시스템(10)(키 생성 장치(100), 암호화 장치(200), 복호 장치(300))의 하드웨어 구성에 대해 설명한다.
도 13은, 키 생성 장치(100), 암호화 장치(200), 복호 장치(300)의 하드웨어 구성의 일례를 나타내는 도면이다.
도 13에 나타낸 바와 같이, 키 생성 장치(100), 암호화 장치(200), 복호 장치(300)는, 프로그램을 실행하는 CPU(911)(Central·Processing·Unit, 중앙 처리 장치, 처리 장치, 연산 장치, 마이크로 프로세서, 마이크로 컴퓨터, 프로세서라고도 함)를 구비하고 있다. CPU(911)는, 버스(912)를 거쳐서 ROM(913), RAM(914), LCD(901)(Liquid Crystal Display), 키보드(902)(K/B), 통신 보드(915), 자기 디스크 장치(920)와 접속되고, 이러한 하드웨어 디바이스를 제어한다. 자기 디스크 장치(920)(고정 디스크 장치) 대신에, 광 디스크 장치, 메모리 카드 판독 기입 등의 기억 장치라도 좋다. 자기 디스크 장치(920)는, 소정의 고정 디스크 인터패이싱을 거쳐서 접속된다.
ROM(913), 자기 디스크 장치(920)는, 불휘발성 메모리의 일례이다. RAM(914)는, 휘발성 메모리의 일례이다. ROM(913)과 RAM(914)과 자기 디스크 장치(920)는, 기억 장치(메모리)의 일례이다. 또한, 키보드(902), 통신 보드(915)는, 입력 장치의 일례이다. 또한, 통신 보드(915)는, 통신 장치의 일례이다. 또한, LCD(901)는, 표시 장치의 일례이다.
자기 디스크 장치(920) 또는 ROM(913) 등에는, 오퍼레이팅 시스템(921)(OS), 윈도우 시스템(922), 프로그램군(923), 파일군(924)이 기억되어 있다. 프로그램군(923)의 프로그램은, CPU(911), 오퍼레이팅 시스템(921), 윈도우 시스템(922)에 의해 실행된다.
프로그램군(923)에는, 상기의 설명에 있어서 「마스터 키 생성부(110)」, 「마스터 키 기억부(120)」, 「정보 입력부(130)」, 「복호 키 생성부(140)」, 「키 배포부(150)」, 「공개 파라미터 취득부(210)」, 「정보 입력부(220)」, 「암호화 데이터 생성부(230)」, 「데이터 송신부(240)」, 「정보 취득부(310)」, 「스팬 프로그램 계산부(320)」, 「보완 계수 계산부(330)」, 「복호부(340)」 등으로서 설명한 기능을 실행하는 소프트웨어나 프로그램이나 그 외의 프로그램이 기억되어 있다. 프로그램은, CPU(911)에 의해 판독되어 실행된다.
파일군(924)에는, 상기의 설명에 있어서 「공개 파라미터 pk」, 「마스터 비밀키 sk」, 「복호 키 skS, skΓ」, 「암호문 ctΓ, ctS」, 「액세스 스트럭쳐 S」, 「속성 정보」, 「메시지 msg」 등의 정보나 데이터나 신호값이나 변수값이나 파라미터가, 「파일」이나 「데이터베이스」의 각 항목으로서 기억된다. 「파일」이나 「데이터베이스」는, 디스크나 메모리 등의 기록 매체에 기억된다. 디스크나 메모리 등의 기억 매체에 기억된 정보나 데이터나 신호값이나 변수값이나 파라미터는, 판독 기입 회로를 거쳐서 CPU(911)에 의해 메인 메모리나 캐시 메모리로 판독되고, 추출·검색·참조·비교·연산·계산·처리·출력·인쇄·표시 등의 CPU(911)의 동작에 이용된다. 추출·검색·참조·비교·연산·계산·처리·출력·인쇄·표시의 CPU(911)의 동작 동안, 정보나 데이터나 신호값이나 변수값이나 파라미터는, 메인 메모리나 캐시 기억 장치나 버퍼 메모리에 일시적으로 기억된다.
또한, 상기의 설명에 있어서의 플로우차트의 화살표의 부분은 주로 데이터나 신호의 입출력을 나타내고, 데이터나 신호값은, RAM(914)의 메모리, 그 외의 광 디스크 등의 기록 매체나 IC 칩에 기록된다. 또한, 데이터나 신호는, 버스(912)나 신호선이나 케이블 그 외의 전송 매체나 전파에 의해 온라인 전송된다.
또한, 상기의 설명에 있어서 「∼부」로서 설명하는 것은, 「∼회로」, 「∼장치」, 「∼기기」, 「∼수단」, 「∼기능」이어도 좋고, 또한, 「∼스텝」, 「∼순서」, 「∼처리」이더라도 좋다. 또한, 「∼장치」로서 설명하는 것은, 「∼회로」, 「∼기기」, 「∼수단」, 「∼기능」이어도 좋고, 또한, 「∼스텝」, 「∼순서」, 「∼처리」이더라도 좋다. 또한, 「∼처리」로서 설명하는 것은 「∼스텝」이어도 상관없다. 즉, 「∼부」로서 설명하는 것은, ROM(913)에 기억된 펌웨어로 실현되어 있어도 상관없다. 혹은, 소프트웨어만, 혹은, 소자·디바이스·기판·배선 등의 하드웨어만, 혹은, 소프트웨어와 하드웨어의 조합, 또한, 펌웨어와의 조합으로 실시되어도 상관없다. 펌웨어와 소프트웨어는, 프로그램으로서, ROM(913) 등의 기록 매체에 기억된다. 프로그램은 CPU(911)에 의해 판독되어 CPU(911)에 의해 실행된다. 즉, 프로그램은, 상기에서 서술한 「∼부」로서 컴퓨터 등을 기능시키는 것이다. 혹은, 상기에서 서술한 「∼부」의 순서나 방법을 컴퓨터 등에게 실행하게 하는 것이다.
100 : 키 생성 장치
110 : 마스터 키 생성부
120 : 마스터 키 기억부
130 : 정보 입력부
140 : 복호 키 생성부
141 : 비밀 정보 생성부
142 : 키 요소 생성부
150 : 키 배포부
200 : 암호화 장치
210 : 공개 파라미터 취득부
220 : 정보 입력부
230 : 암호화 데이터 생성부
240 : 데이터 송신부
300 : 복호 장치
311 : 복호 키 취득부
312 : 암호문 취득부
320 : 스팬 프로그램 계산부
330 : 보완 계수 계산부
331 : 다항식 선택부
332 : 계수 계산부
340 : 복호부
341 : 페어링 연산부
342 : 메시지 계산부

Claims (13)

  1. 2차 스팬 프로그램을 포함하는 제 1 정보와, 속성 정보를 포함하는 제 2 정보 중 한쪽을 암호문으로서 생성하는 암호화 장치와,
    상기 제 1 정보와 상기 제 2 정보 중 다른쪽을 복호 키로 하여, 상기 2차 스팬 프로그램이 상기 속성 정보를 수리(受理)하는 경우에 상기 2차 스팬 프로그램과 상기 속성 정보로부터 얻어지는 정보에 근거하여, 상기 암호문을 복호하는 복호 장치를 구비하는
    것을 특징으로 하는 암호 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 정보는, 상기 2차 스팬 프로그램으로서, 다항식 d(x)와 복수의 다항식 Di(x)와 술어 정보를 포함하고,
    상기 복호 장치는,
    상기 제 1 정보에 포함되는 술어 정보와, 상기 제 2 정보에 포함되는 속성 정보에 근거하여, 상기 복수의 다항식 Di(x)로부터 적어도 일부의 다항식 Di(x)를 선택하는 다항식 선택부와,
    상기 다항식 선택부가 선택한 다항식 Di(x)에 계수 Δi를 곱한 다항식 ΔiDi(x)에 근거하여 구성되는 다항식을 상기 다항식 d(x)로 완전히 나눌 수 있도록 하는 계수 Δi를 계산하는 계수 계산부와,
    상기 계수 계산부가 계산한 계수 Δi에 근거하여, 상기 암호문을 복호하는 복호부를 구비하는 것을 특징으로 하는 암호 시스템.
  3. 제 2 항에 있어서,
    상기 복수의 다항식 Di(x)는, i=0,. . ., L(L은 1 이상의 정수)의 각 정수 i에 대한 다항식 ai(x) 및 다항식 bi(x)이며,
    상기 다항식 선택부는, 상기 속성 정보와 상기 술어 정보에 근거하여, i=1,. . ., L 중 일부의 정수 i의 집합 I를 선택함으로써, 다항식 a0(x) 및 다항식 b0(x)와, 상기 집합 I에 포함되는 정수 i에 대한 다항식 ai(x) 및 다항식 bi(x)를 선택하고,
    상기 계수 계산부는, (a0(x)+Σi∈Iαiai(x))·(b0(x)+Σi∈Iβibi(x))를 상기 다항식 d(x)로 완전히 나눌 수 있도록 하는 계수 αi 및 계수 βi를 상기 계수 Δi로서 계산하는 것을 특징으로 하는 암호 시스템.
  4. 제 3 항에 있어서,
    상기 다항식 d(x)는, τ=1,. . ., m(m은 1 이상의 정수)의 다항식 dτ(x)로 인수 분해되고,
    상기 계수 계산부는, Πτ=1 mdτ(x)κτ가 (a0(x)+Σi∈Iαiai(x))를 완전히 나눌 수 있도록 함과 아울러, Πτ=1 mdτ(x)fτ-κτ가 (b0(x)+Σi∈Iβibi(x))를 완전히 나눌 수 있도록 하는 계수 αi 및 계수 βi와 차수 κτ를 계산하고,
    상기 복호부는, 상기 계수 αi 및 상기 계수 βi와, 상기 차수 κτ에 근거하여, 상기 암호문을 복호하는 것을 특징으로 하는 암호 시스템.
  5. 제 3 항 또는 제 4 항에 있어서,
    상기 속성 정보는, t=1,. . ., d(d는 1 이상의 정수)가 적어도 일부의 정수 t에 대한 속성 벡터 x t를 포함하고,
    상기 술어 정보는, i=1,. . ., L의 각 정수 i에 대한 식별자 t와 술어 벡터 v i의 세트 (t, v i)를 포함하고,
    상기 다항식 선택부는, i=1,. . ., L의 각 정수 i에 대한 상기 세트 (t, v i)에 대해, 그 세트의 술어 벡터 v i와 그 세트의 식별 정보 t에 대한 속성 벡터 x t의 내적이 0으로 되는지 여부에 따라, 정수 i를 상기 집합 I에 포함하는지 여부를 판정하는 것을 특징으로 하는 암호 시스템.
  6. 제 5 항에 있어서,
    상기 세트 (t, v i)는, 긍정형과 부정형 중 어느 하나에 대응지여져 있고,
    상기 다항식 선택부는, 상기 세트 (t, v i)가 긍정형에 대응지어져 있는 경우, 상기 내적이 0으로 된다면, 정수 i를 상기 집합 I에 포함하고, 상기 세트 (t, v i)가 부정형에 대응지어져 있는 경우, 상기 내적이 0으로 되지 않으면, 정수 i를 상기 집합 I에 포함하는 것을 특징으로 하는 암호 시스템.
  7. 제 2 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 다항식 d(x)는, τ=1,. . ., m(m은 1 이상의 정수)의 다항식 dτ(x)로 인수 분해되고,
    상기 제 1 정보는, 다항식 dτ(x)마다, 그 다항식 dτ(x)에 의해 얻어지는 정보가 설정된 요소를 포함하고,
    상기 복호부는, 상기 계수 Δi와 상기 요소에 근거하여, 상기 암호문을 복호하는 것을 특징으로 하는 암호 시스템.
  8. 제 7 항에 있어서,
    상기 제 1 정보는, 다항식 dτ(x)마다, κ=0,. . ., fτ의 각 정수 κ와, i=0,. . ., L의 각 정수 i에 대해서, 다항식 dτ(x)κ로 다항식 ai(x)를 나눈 나머지를 설정한 요소와, 다항식 dτ(x)fτ-κ로 다항식 bi(x)를 나눈 나머지를 설정한 요소를 포함하는 것을 특징으로 하는 암호 시스템.
  9. 제 7 항에 있어서,
    상기 제 1 정보는, 다항식 dτ(x)마다, 소정의 값 γ을 대입한 값을 설정한 요소를 포함하는 것을 특징으로 하는 암호 시스템.
  10. 제 7 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 복호부는, 상기 계수 Δi에 근거하여, 상기 요소에 대해 소정의 연산을 행함으로써, 상기 다항식 dτ(x)에 의해 얻어지는 정보를 0으로 하여, 상기 암호문을 복호하는 것을 특징으로 하는 암호 시스템.
  11. 암호화 장치가, 2차 스팬 프로그램을 포함하는 제 1 정보와, 속성 정보를 포함하는 제 2 정보 중 한쪽을 암호문으로 하여 생성하는 암호화 공정과,
    복호 장치가, 상기 제 1 정보와 상기 제 2 정보 중 다른쪽을 복호 키로 하여, 상기 2차 스팬 프로그램이 상기 속성 정보를 수리하는 경우에 상기 2차 스팬 프로그램과 상기 속성 정보로부터 얻어지는 정보에 근거하여, 상기 암호문을 복호하는 복호 공정을 구비하는
    것을 특징으로 하는 암호 방법.
  12. 2차 스팬 프로그램을 포함하는 제 1 정보와, 속성 정보를 포함하는 제 2 정보 중 한쪽을 암호문으로서 생성하는 암호화 처리와,
    상기 제 1 정보와 상기 제 2 정보 중 다른쪽을 복호 키로 하여, 상기 2차 스팬 프로그램이 상기 속성 정보를 수리하는 경우에 상기 2차 스팬 프로그램과 상기 속성 정보로부터 얻어지는 정보에 근거하여, 상기 암호문을 복호하는 복호 처리를 컴퓨터에게 실행하게 하는
    것을 특징으로 하는 암호 프로그램.
  13. 2차 스팬 프로그램을 포함하는 제 1 정보와, 속성 정보를 포함하는 제 2 정보 중 한쪽을 암호문으로 하고, 다른쪽을 복호 키로 하여 취득하는 정보 취득부와,
    상기 정보 취득부가 취득한 제 1 정보에 포함되는 2차 스팬 프로그램이 제 2 정보에 포함되는 속성 정보를 수리하는 경우에 상기 2차 스팬 프로그램과 상기 속성 정보로부터 얻어지는 정보에 근거하여, 상기 암호문을 복호하는 복호부를 구비하는
    것을 특징으로 하는 복호 장치.
KR1020147036181A 2012-07-31 2013-07-17 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치 KR101606317B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012170001A JP5814880B2 (ja) 2012-07-31 2012-07-31 暗号システム、暗号方法、暗号プログラム及び復号装置
JPJP-P-2012-170001 2012-07-31
PCT/JP2013/069368 WO2014021102A1 (ja) 2012-07-31 2013-07-17 暗号システム、暗号方法、暗号プログラム及び復号装置

Publications (2)

Publication Number Publication Date
KR20150015518A true KR20150015518A (ko) 2015-02-10
KR101606317B1 KR101606317B1 (ko) 2016-03-24

Family

ID=50027784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147036181A KR101606317B1 (ko) 2012-07-31 2013-07-17 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치

Country Status (7)

Country Link
US (1) US9413531B2 (ko)
EP (1) EP2881930B1 (ko)
JP (1) JP5814880B2 (ko)
KR (1) KR101606317B1 (ko)
CN (1) CN104620305B (ko)
ES (1) ES2645463T3 (ko)
WO (1) WO2014021102A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105210133B (zh) * 2013-05-15 2018-07-17 三菱电机株式会社 加密系统和加密方法
JP6040313B2 (ja) * 2013-08-22 2016-12-07 日本電信電話株式会社 マルチパーティセキュア認証システム、認証サーバ、マルチパーティセキュア認証方法及びプログラム
CN106031080B (zh) * 2014-02-24 2019-07-16 三菱电机株式会社 加密系统
US10277564B2 (en) 2016-05-04 2019-04-30 Nxp Usa, Inc. Light-weight key update mechanism with blacklisting based on secret sharing algorithm in wireless sensor networks
JP6974461B2 (ja) * 2016-08-02 2021-12-01 エックス−ロゴス、エルエルシー 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム
WO2018047698A1 (ja) * 2016-09-12 2018-03-15 日本電信電話株式会社 暗号化メッセージ検索方法、メッセージ送受信システム、サーバ、端末、プログラム
CN110169010B (zh) * 2017-01-18 2022-09-23 三菱电机株式会社 同态运算装置、加密系统和计算机能读取的存储介质
CN111615809A (zh) * 2018-01-17 2020-09-01 三菱电机株式会社 隐匿分析装置、隐匿分析系统、隐匿分析方法和隐匿分析程序
JP7117964B2 (ja) * 2018-10-04 2022-08-15 三菱電機株式会社 復号装置、暗号システム、復号方法及び復号プログラム
US10937339B2 (en) 2019-01-10 2021-03-02 Bank Of America Corporation Digital cryptosystem with re-derivable hybrid keys

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0823331A (ja) * 1994-07-07 1996-01-23 Murata Mach Ltd 暗号化通信方法及び装置
US7162032B2 (en) * 1999-12-20 2007-01-09 Telenor Asa Encryption of programs represented as polynomial mappings and their computations
JP3917507B2 (ja) * 2002-01-28 2007-05-23 株式会社東芝 コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、不正ユーザ特定方法、暗号化装置、復号装置及びプログラム
WO2004001701A1 (ja) * 2002-06-20 2003-12-31 Hitachi, Ltd. 符号演算装置
AU2003302544A1 (en) * 2002-12-03 2004-06-23 Matsushita Electric Industrial Co., Ltd. Key sharing system, shared key creation device, and shared key restoration device
CN1778066B (zh) * 2003-04-24 2011-10-12 松下电器产业株式会社 参数生成设备,加密系统,解密系统,加密设备,解密设备,加密方法,解密方法,及其程序
EP1766849A1 (en) * 2004-07-08 2007-03-28 Koninklijke Philips Electronics N.V. Method of providing digital certificate functionality
US7634085B1 (en) 2005-03-25 2009-12-15 Voltage Security, Inc. Identity-based-encryption system with partial attribute matching
JP2008011092A (ja) * 2006-06-28 2008-01-17 Fuji Xerox Co Ltd 暗号化コンテンツ検索方式
US20090080658A1 (en) * 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control
CN101188496B (zh) * 2007-12-10 2010-09-29 中兴通讯股份有限公司 一种短信加密传输方法
JP2010204466A (ja) 2009-03-04 2010-09-16 Toshiba Corp 暗号装置、復号装置、鍵生成装置及びプログラム
EP2658164B1 (en) * 2009-04-24 2015-09-16 Nippon Telegraph And Telephone Corporation Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium
US8385541B2 (en) * 2010-02-18 2013-02-26 King Fahd University Of Petroleum And Minerals Method of performing elliptic polynomial cryptography with elliptic polynomial hopping
JP5424974B2 (ja) 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
CN103003857B (zh) * 2010-07-23 2015-03-11 日本电信电话株式会社 秘密分散系统、分散装置、分散管理装置、取得装置、秘密分散方法
US8565435B2 (en) * 2010-08-16 2013-10-22 International Business Machines Corporation Efficient implementation of fully homomorphic encryption
US8925075B2 (en) * 2011-11-07 2014-12-30 Parallels IP Holdings GmbH Method for protecting data used in cloud computing with homomorphic encryption
CN104011732B (zh) * 2011-12-30 2018-06-15 英特尔公司 双合成域高级加密标准存储器加密引擎

Also Published As

Publication number Publication date
EP2881930A1 (en) 2015-06-10
CN104620305A (zh) 2015-05-13
CN104620305B (zh) 2016-09-28
EP2881930A4 (en) 2016-04-06
ES2645463T3 (es) 2017-12-05
JP5814880B2 (ja) 2015-11-17
US20150098566A1 (en) 2015-04-09
WO2014021102A1 (ja) 2014-02-06
EP2881930B1 (en) 2017-09-27
JP2014029415A (ja) 2014-02-13
US9413531B2 (en) 2016-08-09
KR101606317B1 (ko) 2016-03-24

Similar Documents

Publication Publication Date Title
KR101606317B1 (ko) 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치
JP6083234B2 (ja) 暗号処理装置
KR101443553B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR101386294B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 서명 처리 시스템, 서명 장치 및 검증 장치
KR101393899B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US20160234010A1 (en) Method and system for homomorphicly randomizing an input
JP5291795B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
EP2947810B1 (en) Encryption system, re-encryption key generation device, re-encryption device, encryption method and encryption program
KR101344353B1 (ko) 비밀 분산 시스템, 분산 장치, 분산 관리 장치, 취득 장치, 그들의 처리 방법, 비밀 분산 방법, 및 프로그램을 기록한 기록 매체
US20100329454A1 (en) Encryption parameter setting apparatus, key generation apparatus, cryptographic system, program, encryption parameter setting method, and key generation method
KR102423885B1 (ko) 연산 에러 검출이 가능한 준동형 암호 방법 및 그 시스템
JP5562284B2 (ja) 再暗号化システム、再暗号化装置、能力提供装置、再暗号化方法、能力提供方法、及びプログラム
KR101581605B1 (ko) 암호 처리 시스템, 암호 처리 방법, 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 키 생성 장치
JP5921410B2 (ja) 暗号システム
Lee et al. Anonymous HIBE with short ciphertexts: full security in prime order groups
JP2012079192A (ja) 検索可能暗号システム、検索可能暗号方法、ストレージ装置、検索装置、及び登録者装置
WO2015125293A1 (ja) 暗号システム及び暗号プログラム
JP6266130B2 (ja) 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム
JP5651609B2 (ja) 検索可能暗号システム、検索装置、計算装置、及びプログラム
Hu Private Computation Based On Polynomial Operation

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190305

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 5