KR101351787B1 - 정보 생성 장치, 정보 생성 방법, 및 컴퓨터 판독가능 기록 매체 - Google Patents

정보 생성 장치, 정보 생성 방법, 및 컴퓨터 판독가능 기록 매체 Download PDF

Info

Publication number
KR101351787B1
KR101351787B1 KR1020117023782A KR20117023782A KR101351787B1 KR 101351787 B1 KR101351787 B1 KR 101351787B1 KR 1020117023782 A KR1020117023782 A KR 1020117023782A KR 20117023782 A KR20117023782 A KR 20117023782A KR 101351787 B1 KR101351787 B1 KR 101351787B1
Authority
KR
South Korea
Prior art keywords
information
index
random number
main information
derived
Prior art date
Application number
KR1020117023782A
Other languages
English (en)
Other versions
KR20110136841A (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 KR20110136841A publication Critical patent/KR20110136841A/ko
Application granted granted Critical
Publication of KR101351787B1 publication Critical patent/KR101351787B1/ko

Links

Images

Classifications

    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)

Abstract

나무 구조 이외의 일반적인 반순서 구조로 나타내는 계층형 암호를 실현한다. 정보 생성에 있어서는, 난수 σv, (σvj)j∈w(v)∈Zq를 생성하고, 주정보 kvvΣi∈{1,…, N-1}\w (v)vibi *+bN *를 계산하고, 각 j∈w(v)에 대해서 도출 정보 kvjvjΣi∈{1,…, N-1}\w(v)vibi *+bj *를 계산한다. 정보 도출에 있어서는, 난수 σu, (σuj)j∈w(u)∈Zq를 생성하고, 주정보 kuuΣi∈w(v)\w(u)uikvi+kv를 계산하고, 각 j∈w(u)에 대해서 도출 정보 kujujΣi∈w(v)\w(u)uikvi+kvj를 계산한다.

Description

정보 생성 장치, 정보 생성 방법, 및 컴퓨터 판독가능 기록 매체{INFORMATION GENERATION APPARATUS, METHOD, PROGRAM AND RECORDING MEDIUM THEREFOR}
본 발명은 정보 시큐리티 기술의 응용 기술에 관한 것이다. 예를 들면, 복호키로부터 보다 복호 권한이 제한된 복호키를 도출할 수 있는 계층형 암호에 관한 것이다.
계층형 암호의 종래 기술로서 비특허문헌 1에 기재된 기술이 알려져 있다.
Craig Gentry, Alice Silverberg, "Hierarchical ID-Based Cryptography", ASIACRYPT 2002, p.548-566
비특허문헌 1에 기재된 기술에서는, 나무 구조의 친(親)노드에 대응하는 키로부터 자(子)노드에 대응하는 키를 도출할 수는 있지만, 나무 구조 이외의 일반적인 반순서 구조 s로 나타내는 키도출을 실현할 수는 없었다. 예를 들면, 공통의 자노드 C를 가지는 친노드 A와 친노드 B에 대하여, 친노드 A의 키로부터 공통의 자노드 C의 키를 도출하고, 친노드 B의 키로부터 공통의 자노드 C의 키를 도출할 수는 없다는 과제가 있었다.
상기한 과제를 해결하기 위해서, 청구항 1의 정보 생성 장치는, e가 순회군 G1의 N개의 원소 γL(L=1,…, N)(N≥2)과 순회군 G2의 N개의 원소 γL *(L=1,…, N)의 입력에 대하여 순회군 GT의 1개의 원소를 출력하는 비퇴화한 쌍선형 함수이며, bi∈G1 N(i=1,…, N)의 각각이 상기 순회군 G1의 N개의 원소를 요소로 하는 N차원의 기저 벡터이며, bj *∈G2 N(j=1,…, N)의 각각이 상기 순회군 G2의 N개의 원소를 요소로 하는 N차원의 기저 벡터이며, 상기 기저 벡터 bi∈G1 N(i=1,…, N)의 각 요소와 상기 기저 벡터 bj *∈G2 N(j=1,…, N)의 각 요소를 상기 쌍선형 함수 e에 입력하여 얻어지는 함수값이, i=j인 경우에 δ(i, j)=1F가 되고 i≠j인 경우에 δ(i, j)=0F가 되는 크로네커의 델타 함수 δ(i, j)를 사용하여 gT τ·δ(i, j)∈GT로 표현되고, 0F가 유한체 Fq의 가법단위원이며, 1F가 유한체 Fq의 승법단위원이며, τ가 0F를 제외한 유한체 Fq의 원소이며, gT가 상기 순회군 GT의 생성원이며, *를 부정문자로 하고, 인덱스 Y를 Y=(Y1,…, YN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 Y에 대응하는 집합 w(Y)를 w(Y)={i|Yi=*}로 하여, 난수 σY∈Zq, 및, 집합 w(Y)의 각 요소 j∈w(Y)에 대응하는 난수 σYj∈Zq를 생성하는 난수 생성부와, 상기 생성된 난수 σY를 사용하여, kYYΣi∈{1,…, N-1}\w(Y)Yibi *+bN *의 관계를 만족하는 주정보 kY를 계산하는 주정보 생성부와, 상기 생성된 난수 σYj를 사용하여, kYjYjΣi∈{1,…, N-1}\w(Y)Yibi *+bj *의 관계를 만족하는 도출 정보 kYj를 집합 w(Y)의 각 요소 j∈w(Y)마다 계산하는 도출 정보 생성부를 포함한다.
청구항 4의 정보 생성 장치는, e가 순회군 G1의 N개의 원소 γL(L=1,…, N)(N≥2)과 순회군 G2의 N개의 원소 γL *(L=1,…, N)의 입력에 대하여 순회군 GT의 1개의 원소를 출력하는 비퇴화한 쌍선형 함수이며, bi∈G1 N(i=1,…, N)의 각각이 상기 순회군 G1의 N개의 원소를 요소로 하는 N차원의 기저 벡터이며, bj *∈G2 N(j=1,…, N)의 각각이 상기 순회군 G2의 N개의 원소를 요소로 하는 N차원의 기저 벡터이며, 상기 기저 벡터 bi∈G1 N(i=1,…, N)의 각 요소와 상기 기저 벡터 bj *∈G2 N(j=1,…, N)의 각 요소를 상기 쌍선형 함수 e에 입력하여 얻어지는 함수값이, i=j인 경우에 δ(i, j)=1F가 되고 i≠j인 경우에 δ(i, j)=0F가 되는 크로네커의 델타 함수 δ(i, j)를 사용하여 gT τ\δ(i, j)∈GT로 표현되고, 0F가 유한체 Fq의 가법단위원이며, 1F가 유한체 Fq의 승법단위원이며, τ가 0F를 제외한 유한체 Fq의 원소이며, gT가 상기 순회군 GT의 생성원이며, *를 부정문자로 하고, 인덱스 Y를 Y=(Y1,…, YN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 Y에 대응하는 집합 w(Y)를 w(Y)={i|Yi=*}로 하고, σY∈Zq를 난수로 하고, σYi를 집합 w(Y)의 각 요소 j∈w(Y)에 대응하는 난수로 하고, 인덱스 Y에 대응하는 주정보 kY는 kYYΣi∈{1,…, N-1}\w(Y)Yibi *+bN *의 관계를 만족하고, 인덱스 Y에 대응하는 도출 정보 kYi는 kYjYjΣi∈{1,…, N-1}\w(Y)Yibi *+bj *의 관계를 만족하고, *를 부정문자로 하고, 인덱스 v를 v=(v1,…, vN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 u를 u=(u1,…, uN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 v에 대응하는 집합 w(v)를 w(v)={i|vi=*}로 하고, 인덱스 u에 대응하는 집합 w(u)를 w(u)={i|ui=*}로 하고, 집합 w(u)⊂집합 w(v)로 하고, vi=ui(i∈{1,…, N-1}\w(v))로 하여, 상기 주정보 kY인 또는 상기 주정보 kY 및 상기 도출 정보 kYj로부터 도출된 인덱스 v에 대응하는 주정보 kv, 및, 상기 도출 정보 kYj인 또는 상기 도출 정보 kYj로부터 도출된 인덱스 v에 대응하는 도출 정보 kvj를 기억하는 기억부와, 난수 σu∈Zq를 생성하는 자난수 생성부와, 상기 기억부로부터 읽어들인 주정보 kv, 도출 정보 kvi 및 상기 생성된 난수 σu를 사용하여, kuuΣi∈w(v)\w(u)uikvi+kv의 관계를 만족하는, 인덱스 u에 대응하는 주정보 ku를 계산하는 주정보 도출부를 포함한다.
청구항 6의 정보 생성 장치는, G, GT를 소수 위수 q의 순회군으로 하고, g를 순회군 G의 생성원으로 하고, 순회군 G에는 gT=e(g,g)가 순회군 GT의 생성원이 되는 것 같은 페어링 함수 e:G×G→GT가 존재하는 것으로 하고, a를 Zp로부터 랜덤으로 선택된 난수로 하고, g와 g1=ga∈G와 순회군 G로부터 랜덤으로 선택된 g2, g3, h1,…, hN-1∈G가 공개키로서 공개되어 있고, *를 부정문자로 하고, 인덱스 Y를 Y=(Y1,…, YN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 Y에 대응하는 집합 w(Y)를 w(Y)={i|Yi=*}로 하여, 난수 rY∈Zq를 생성하는 난수 생성부와, 상기 생성된 난수 rY를 사용하여, kY=g2 a(g3Πi∈{1,…, N-1}\w(Y)hi Yi)rY의 관계를 만족하는 제1 주정보 kY를 계산하는 제1 주정보 생성부와, 상기 생성된 난수 rY를 사용하여, 제2 주정보 grY를 계산하는 제2 주정보 생성부와, 상기 생성된 난수 rY를 사용하여, kYj=hj rY의 관계를 만족하는 도출 정보 kYj를 집합 w(Y)의 각 요소 j∈w(Y)마다 계산하는 도출 정보 생성부를 포함한다.
청구항 9의 정보 생성 장치는, G, GT를 소수 위수 q의 순회군으로 하고, g를 순회군 G의 생성원으로 하고, 순회군 G에는 gT=e(g,g)가 순회군 GT의 생성원이 되는 것 같은 페어링 함수 e:G×G→GT가 존재하는 것으로 하고, a를 Zp로부터 랜덤으로 선택된 난수로 하고, g와 g1=ga∈G와 순회군 G로부터 랜덤으로 선택된 g2, g3, h1,…, hN -1∈G가 공개키로서 공개되어 있고, *를 부정문자로 하고, 인덱스 Y를 Y=(Y1,…, YN -1)∈I=(Fq∪{*})N- 1으로 하고, 인덱스 Y에 대응하는 집합 w(Y)를 w(Y)={i|Yi=*}로 하고, rY∈Zq를 난수로 하고, 인덱스 Y에 대응하는 제1 주정보 kY는 kY=g2 a(g3Πi∈{1,…, N-1}\w(Y)hi Yi)rY의 관계를 만족하고, grY를 인덱스 Y에 대응하는 제2 주정보로 하고, 인덱스 Y에 대응하는 도출 정보 kYj는 kYj=hj rY의 관계를 만족하고, *를 부정문자로 하고, 인덱스 v를 v=(v1,…, vN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 v에 대응하는 집합 w(v)를 w(v)={i|vi=*}로 하고, 인덱스 u를 u=(u1,…, uN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 u에 대응하는 집합 w(u)를 w(u)={i|ui=*}로 하고, 집합 w(u)⊂집합 w(v)로 하고, vi=ui(i∈{1,…, N-1}\w(v))로 하여, 난수 ru∈Zq를 생성하는 난수 생성부와, 상기 제1 주정보 kY인 또는 상기 제1 주정보 kY 및 상기 도출 정보 kYj로부터 도출된 인덱스 v에 대응하는 제1 주정보 kv, 상기 도출 정보 kYj인 또는 상기 도출 정보 kYj로부터 도출된 인덱스 v에 대응하는 도출 정보 kvj를 기억하는 기억부와, 상기 기억부로부터 읽어들인 제1 주정보kv 및 상기 도출 정보 kvi를 사용하여, ku=kvi∈w(v)\w(u)kvi ui)(g3Πi∈{1,…, N-1}\w(v)hi viΠi∈w(v)\w(u)hi ui)ru의 관계를 만족하는, 인덱스 u에 대응하는 제1 주정보 ku를 계산하는 제1 주정보 도출부와, 상기 생성된 난수 ru를 사용하여, 제2 주정보 gru를 계산하는 제2 주정보 도출부를 포함한다.
공통의 자노드 C를 가지는 친노드 A와 친노드 B에 대하여, 친노드 A의 정보로부터 공통의 자노드 C의 정보를 도출하고, 친노드 B의 정보로부터 공통의 자노드 C의 정보를 도출할 수 있다.
도 1은 제1 실시형태의 정보 생성 장치의 기능 블록도의 예.
도 2는 제1 실시형태의 정보 생성의 플로우차트의 예.
도 3은 제1 실시형태의 정보 도출의 플로우차트의 예.
도 4는 제2 실시형태의 정보 생성 장치의 기능 블록도의 예.
도 5는 제2 실시형태의 정보 생성의 플로우차트의 예.
도 6은 제2 실시형태의 정보 도출의 플로우차트의 예.
이하, 본 발명의 실시형태에 대해서, 상세하게 설명한다.
[술어 암호]
우선, 제1 실시형태에서 사용하는 개념인 술어 암호의 개요에 대해서 설명한다.
〔정의〕
우선, 본 형태에서 사용하는 용어나 기호를 정의한다.
행렬 : 「행렬」은 연산이 정의된 집합의 원소를 직사각형으로 늘어놓은 것을 나타낸다. 환의 원소를 요소로 하는 것 뿐만아니라, 군의 원소를 요소로 하는 것도 「행렬」이라고 표현한다.
(·)T : (·)T는 ·의 전치 행렬을 나타낸다.
(·)-1 : (·)-1은 ·의 역행렬을 나타낸다.
∧ : ∧은 논리적을 나타낸다.
∨ : ∨는 논리합을 나타낸다.
Z : Z는 정수집합을 나타낸다.
k : k는 시큐리티 파라미터(k∈Z, k>0)를 나타낸다.
{0,1}* : {0,1}*는 임의 비트길이의 바이너리 계열을 나타낸다. 그 일례는 정수 0 및 1로 이루어지는 계열이다. 그러나, {0,1}*는 정수 0 및 1로 이루어지는 계열에 한정되지 않는다. {0,1}*는 위수 2의 유한체 또는 그 확대체와 동의이다.
{0,1}ζ : {0,1}ζ는 비트길이 ζ(ζ∈Z, ζ>0)의 바이너리 계열을 나타낸다. 그 일례는 정수 0 및 1로 이루어지는 계열이다. 그러나, {0,1}ζ는 정수 0 및 1로 이루어지는 계열에 한정되지 않는다. {0,1}ζ는 위수 2의 유한체(ζ=1인 경우) 또는 그것을 ζ차 확대한 확대체(ζ>1인 경우)와 동의이다.
(+) : (+)는 바이너리 계열간의 배타적 논리합 연산자를 나타낸다. 예를 들면, 10110011(+)11100001=01010010을 만족한다.
Fq : Fq는 위수 q의 유한체를 나타낸다. 위수 q는 1 이상의 정수이며, 예를 들면, 소수나 소수의 멱승값을 위수 q로 한다. 즉, 유한체 Fq의 예는 소체나 그것을 기초체로 한 확대체이다. 또한, 유한체 Fq가 소체인 경우의 연산은, 예를 들면, 위수 q를 법으로 하는 잉여연산에 의해 용이하게 구성할 수 있다. 또, 유한체 Fq가 확대체인 경우의 연산은, 예를 들면, 기약다항식을 법으로 하는 잉여연산에 의해 용이하게 구성할 수 있다. 유한체 Fq의 구체적인 구성 방법은, 예를 들면, 참고문헌 1 「ISO/IEC 18033-2: Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers」에 개시되어 있다.
0F : 0F는 유한체 Fq의 가법단위원을 나타낸다.
1F : 1F는 유한체 Fq의 승법단위원을 나타낸다.
δ(i, j) : δ(i, j)는 크로네커의 델타 함수를 나타낸다. i=j인 경우에 δ(i, j)=1F를 만족하고, i≠j인 경우에 δ(i, j)=0F를 만족한다.
E : E는 유한체 Fq상에서 정의된 타원곡선을 나타낸다. E는 아핀(affine)좌표판의 Weierstrass 방정식
y2+a1·x·y+a3·y=x3+a2·x2+a4·x+a6…(1)
(단, a1, a2, a3, a4, a6∈Fq)를 만족하는 x, y∈Fq로 이루어지는 점(x, y)의 집합에 무한원점이라고 불리는 특별한 점 O를 부가한 것으로 정의된다. 타원곡선 E상의 임의의 2점에 대하여 타원가산이라고 불리는 2항연산 + 및 타원곡선 E상의 임의의 1점에 대하여 타원역원이라고 불리는 단항연산 -를 각각 정의할 수 있다. 또, 타원곡선 E상의 유리점으로 이루어지는 유한집합이 타원가산에 관하여 군을 이루는 것, 타원가산을 사용하여 타원 스칼라 배산이라고 불리는 연산을 정의할 수 있는 것, 및 컴퓨터상에서의 타원가산 등의 타원연산의 구체적인 연산 방법은 잘 알려져 있다(예를 들면, 참고문헌 1, 참고문헌 2 「RFC 5091: Identity-Based Cryptography Standard (IBCS)#1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」, 참고문헌 3 「이언·F·블레이크, 가디엘·세로시, 나이젤·P·스마트=저, 「타원곡선 암호」, 출판=피어슨·에듀케이션, ISBN4-89471-431-0」 등 참조).
또, 타원곡선 E상의 유리점으로 이루어지는 유한집합은 위수 p(p≥1)의 부분군을 가진다. 예를 들면, 타원곡선 E상의 유리점으로 이루어지는 유한집합의 요소수를 #E로 하고, p를 #E를 정제하는 큰 소수로 한 경우, 타원곡선 E의 p등분점으로 이루어지는 유한집합 E[p]는 타원곡선 E상의 유리점으로 이루어지는 유한집합의 부분군을 구성한다. 또한, 타원곡선 E의 p등분점은 타원곡선 E상의 점 A 중, 타원곡선 E상에서의 타원 스칼라 배산값 p·A가 p·A=O를 만족하는 점을 의미한다.
G1, G2,GT : G1, G2, GT는 위수 q의 순회군을 나타낸다. 순회군 G1, G2의 구체예는 타원곡선 E의 p등분점으로 이루어지는 유한집합 E[p]나 그 부분군이다. G1=G2여도 되고 G1≠G2여도 된다. 또, 순회군 GT의 구체예는 유한체 Fq를 기초체로 하는 확대체를 구성하는 유한집합이다. 그 일례는 유한체 Fq의 대수적 폐포에 있어서의 1의 p승근으로 이루어지는 유한집합이다.
또한, 본 형태에서는, 순회군 G1, G2 상에서 정의된 연산을 가법적으로 표현하고, 순회군 GT 상에서 정의된 연산을 승법적으로 표현한다. 즉, χ∈Fq 및 Ω∈G1에 대한 χ·Ω∈G1은 Ω∈G1에 대하여 순회군 G1로 정의된 연산을 χ회 시행하는 것을 의미하고, Ω12∈G1에 대한 Ω12∈G1은 Ω1∈G1과 Ω2∈G1을 피연산자로 하여 순회군 G1로 정의된 연산을 행하는 것을 의미한다. 마찬가지로, χ∈Fq 및 Ω∈G2에 대한 χ·Ω∈G2는 Ω∈G2에 대하여 순회군 G2로 정의된 연산을 χ회 시행하는 것을 의미하고, Ω12∈G2에 대한 Ω12∈G2는 Ω1∈G2와 Ω2∈G2를 피연산자로 하여 순회군 G2로 정의된 연산을 행하는 것을 의미한다. 한편, χ∈Fq 및 Ω∈GT에 대한 Ωχ∈GT는 Ω∈GT에 대하여 순회군 GT로 정의된 연산을 χ회 시행하는 것을 의미하고, Ω12∈GT에 대한 Ω1·Ω2∈GT는 Ω1∈GT와 Ω2∈GT를 피연산자로 하여 순회군 GT로 정의된 연산을 행하는 것을 의미한다.
G1 n+1 : G1 n+1은 n+1(n≥1)개의 순회군 G1의 직적을 나타낸다.
G2 n+1 : G2 n+1은 n+1개의 순회군 G2의 직적을 나타낸다.
g1, g2, gT:g1, g2, gT는 순회군 G1, G2, GT의 생성원을 나타낸다.
V : V는 n+1개의 순회군 G1의 직적으로 이루어지는 n+1차원의 벡터공간을 나타낸다.
V* : V*는 n+1개의 순회군 G2의 직적으로 이루어지는 n+1차원의 벡터공간을 나타낸다.
e : e는 직적 G1 n+1과 직적 G2 n+1의 직적 G1 n+1×G2 n+1을 순회군 GT에 그리는 비퇴화한 쌍선형 사상(bilinear map)을 계산하기 위한 함수(「쌍선형 함수」라고 함)를 나타낸다. 쌍선형 함수 e는 순회군 G1의 n+1개의 원소 γL(L=1,...,n+1)(n≥1)과 순회군 G2의 n+1개의 원소 γL *(L=1,...,n+1)를 입력하는 것으로 하고, 순회군 GT의 1개의 원소를 출력한다.
e : G1 n+1×G2 n+1→GT…(2)
쌍선형 함수 e는 이하의 성질을 만족한다.
[쌍선형성] 모든 Γ1∈G1 n+1, Γ2∈G2 n+1 및 ν, κ∈Fq에 대해서 이하의 관계를 만족한다.
e(ν·Γ1,κ·Γ2)=e(Γ12)ν·κ…(3)
[비퇴화성] 모든
Γ1∈G1 n+12∈G2 n+1…(4)
를 순회군 GT의 단위원을 그리는 함수가 아니다.
[계산 가능성] 모든 Γ1∈G1 n+12∈G2 n+1에 대해서 e(Γ12)를 효율적으로 계산하는 알고리즘이 존재한다.
본 형태에서는, 순회군 G1과 순회군 G2의 직적 G1×G2를 순회군 GT에 그리는 비퇴화한 쌍선형 사상을 계산하기 위한 함수
Pair : G1×G2→GT…(5)
를 사용하여 쌍선형 함수 e를 구성한다. 본 형태의 쌍선형 함수 e는 순회군 G1의 n+1개의 원소 γL(L=1,...,n+1)로 이루어지는 n+1차원 벡터(γ1,...,γn+1)와, 순회군 G2의 n+1개의 원소 γL *(L=1,...,n+1)로 이루어지는 n+1차원 벡터(γ1 *, ...,γn+1 *)의 입력에 대하여, 순회군 GT의 1개의 원소
e=ΠL=1 n+1Pair(γL, γL *)…(6)
을 출력하는 함수이다.
또한, 쌍선형 함수 Pair는 순회군 G1의 1개의 원소와 순회군 G2의 1개의 원소의 세트를 입력하는 것으로 하고, 순회군 GT의 1개의 원소를 출력하는 함수이며, 이하의 성질을 만족한다.
[쌍선형성] 모든 Ω1∈G1, Ω2∈G2 및 ν, κ∈Fq에 대해서 이하의 관계를 만족한다.
Pair(ν·Ω1,κ·Ω2)=Pair(Ω12)ν·κ…(7)
[비퇴화성] 모든
Ω1∈G12∈G2…(8)
을 순회군 GT의 단위원에 그리는 함수가 아니다.
[계산 가능성] 모든 Ω1∈G12∈G2에 대해서 Pair(Ω12)를 효율적으로 계산하는 알고리즘이 존재한다.
또한, 쌍선형 함수 Pair의 구체예는, Weil 페어링이나 Tate 페어링 등의 페어링 연산을 행하기 위한 함수이다(예를 들면, 참고문헌 4 「Alfred. J. Menezes, ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81」 등 참조). 또, 타원곡선 E의 종류에 따라, Tate 페어링 등의 페어링 연산을 행하기 위한 함수와 소정의 함수 phi를 조합한 변경 페어링 함수 e(Ω1,phi(Ω2))(Ω1∈G12∈G2)를 쌍선형 함수 Pair로서 사용해도 된다(예를 들면, 참고문헌 2 등 참조). 또, 페어링 연산을 컴퓨터상에서 행하기 위한 알고리즘으로서는, 주지의 Miller의 알고리즘(참고문헌 5 「V. S. Miller, “Short Programs for functions on Curves,” 1986, 인터넷 <http://crypto.stanford.edu/miller/miller.pdf>」 등이 존재한다. 또, 페어링 연산을 효율적으로 행하기 위한 타원곡선이나 순회군의 구성 방법은 잘 알려져 있다(예를 들면, 참고문헌 2, 참고문헌 6 「A. Miyaji, M. Nakabayashi, S.Takano,” New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234-1243, May 2001」, 참고문헌 7 「P.S.L.M. Barreto, B. Lynn, M. Scott,” Constructing elliptic curves with prescribed embedding degrees," Proc. SCN ' 2002, LNCS 2576, pp. 257-267, Springer-Verlag. 2003」, 참고문헌 8 「R. Dupont, A. Enge, F. Morain,” Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/」 등 참조).
ai(i=1,...,n+1) : 순회군 G1의 n+1개의 원소를 요소로 하는 n+1차원의 기저 벡터를 나타낸다. 기저 벡터 ai의 일례는 κ1·g1∈G1을 i차원째의 요소로 하고, 나머지 n개의 요소를 순회군 G1의 단위원(가법적으로 「0」이라고 표현)으로 하는 n+1차원의 기저 벡터이다. 이 경우, n+1차원의 기저 벡터 ai(i=1,...,n+1)의 각 요소를 각각 열거하여 표현하면, 이하와 같게 된다.
a1=(κ1·g1,0,0,...,0)
a2=(0,κ1·g1,0,...,0) …(9)
...
an+1=(0,0,0,...,κ1·g1)
여기서, κ1은 가법단위원 0F 이외의 유한체 Fq의 원소로 이루어지는 상수이며, κ1∈Fq의 구체예는 κ1=1F이다. 기저 벡터 ai는 직교기저이며, 순회군 G1의 n+1개의 원소를 요소로 하는 모든 n+1차원 벡터는 n+1차원의 기저 벡터 ai(i=1,...,n+1)의 선형합에 의해 나타난다. 즉, n+1차원의 기저 벡터 ai는 상기 서술한 벡터공간 V를 펼친다.
ai *(i=1,...,n+1) : ai *는 순회군 G2의 n+1개의 원소를 요소로 하는 n+1차원의 기저 벡터를 나타낸다. 기저 벡터 ai *의 일례는 κ2·g2∈G2를 i차원째의 요소로 하고, 나머지 n개의 요소를 순회군 G2의 단위원(가법적으로 「0」이라고 표현)으로 하는 n+1차원의 기저 벡터이다. 이 경우, 기저 벡터 ai *(i=1,...,n+1)의 각 요소를 각각 열거하여 표현하면, 이하와 같게 된다.
a1 *=(κ2·g2,0,0,...,0)
a2 *=(0,κ2·g2,0,...,0) …(10)
...
an+1 *=(0,0,0,...,κ2·g2)
여기서, κ2는 가법단위원 0F 이외의 유한체 Fq의 원소로 이루어지는 상수이며, κ2∈Fq의 구체예는 κ2=1F이다. 기저 벡터 ai *는 직교기저이며, 순회군 G2의 n+1개의 원소를 요소로 하는 모든 n+1차원 벡터는 n+1차원의 기저 벡터 ai *(i=1,...,n+1)의 선형합에 의해 나타난다. 즉, n+1차원의 기저 벡터 ai *는 상기 서술한 벡터공간 V*를 펼친다.
또한, 기저 벡터 ai와 기저 벡터 ai *는 0F를 제외한 유한체 Fq의 원소 τ=κ1·κ2에 대해서
e(ai, aj *)=gT τ·δ(i, j)…(11)
을 만족한다. 즉, i=j인 경우에는 식 (6) (7)의 관계로부터,
e(ai, aj *)=Pair(κ1·g12·g2)·Pair(0,0)·...·Pair(0,0)
=Pair(g1, g2)κ1·κ2·Pair(g1, g2)0·0·...·Pair(g1, g2)0·0
=Pair(g1, g2)κ1·κ2=gT τ
를 만족한다. 한편, i≠j인 경우에는, e(ai, aj *)는 Pair(κ1·g12·g2)를 포함하지 않고, Pair(κ1·g1,0)와 Pair(0,κ2·g2)와 Pair(0,0)의 적이 된다. 또한, 식 (7)의 관계로부터 Pair(g1,0)=Pair(0, g2)=Pair(g1, g2)0를 만족한다. 그 때문에, i≠j인 경우에는,
e(ai, aj *)=e(g1, g2)0=gT 0
를 만족한다.
특히, τ=κ1·κ2=1F인 경우(예를 들면, κ12=1F인 경우),
e(ai, aj *)=gT δ(i, j)…(12)
를 만족한다. 여기서, gT 0=1은 순회군 GT의 단위원이며, gT 1=gT는 순회군 GT의 생성원이다. 이 경우, 기저 벡터 ai와 기저 벡터 ai *는 쌍대 정규직교기저이며, 벡터공간 V와 벡터공간 V*는 쌍선형 사상을 구성 가능한 쌍대 벡터공간〔쌍대 페어링 벡터공간(DPVS:Dual Paring Vector space)〕이다.
A : A는 기저 벡터 ai(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬을 나타낸다. 예를 들면, 기저 벡터 ai(i=1,...,n+1)가 식 (9)에 의해 표현되는 경우, 행렬 A는,
[수 1]
Figure 112011078900493-pct00001
이 된다.
A* : A*는 기저 벡터 ai *(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬을 나타낸다. 예를 들면, 기저 벡터 ai *(i=1,...,n+1)가 식 (10)에 의해 표현되는 경우, 행렬 A*는,
[수 2]
Figure 112011078900493-pct00002
가 된다.
X : X는 유한체 Fq의 원소를 요소로 하는 n+1행 n+1열의 행렬을 나타낸다. 행렬 X는 기저 벡터 ai의 좌표 변환에 사용된다. 행렬 X의 i행j열(i=1,...,n+1,j=1,...,n+1)의 요소를 χi, j∈Fq로 하면, 행렬 X는,
[수 3]
Figure 112011078900493-pct00003
가 된다. 또한, 행렬 X의 각 요소 χi, j를 변환 계수라고 한다.
X* : X*는 행렬 X의 역행렬의 전치 행렬 X*=(X-1)T를 나타낸다. 행렬 X*는 기저 벡터 ai *의 좌표 변환에 사용된다. 행렬 X*의 i행j열의 요소를 χi, j *∈Fq로 하면, 행렬 X*는,
[수 4]
Figure 112011078900493-pct00004
이 된다. 또한, 행렬 X*의 각 요소 χi, j *를 변환 계수라고 한다.
이 경우, n+1행n+1열의 단위행렬을 I로 하면 X·(X*)T=I를 만족한다. 즉, 단위행렬
[수 5]
Figure 112011078900493-pct00005
에 대하여,
[수 6]
Figure 112011078900493-pct00006
을 만족한다. 여기서, n+1차원 벡터
χi =(χi,1,...,χi, n+1)…(19)
χj →*=(χj,1 *, ...,χj, n+1 *)…(20)
을 정의한다. 그러면, 식 (18)의 관계로부터, n+1차원 벡터χi 과 χj →*의 내적은,
χi ·χj →*=δ(i, j)…(21)
이 된다.
bi : bi는 순회군 G1의 n+1개의 원소를 요소로 하는 n+1차원의 기저 벡터를 나타낸다. 기저 벡터 bi는 행렬 X를 사용하여 기저 벡터 ai(i=1,...,n+1)를 좌표 변환함으로써 얻어진다. 구체적으로는, 기저 벡터 bi는,
bij=1 n+1χi, j·aj…(22)
의 연산에 의해 얻어진다. 예를 들면, 기저 벡터 aj(j=1,...,n+1)가 식 (9)에 의해 표현되는 경우, 기저 벡터 bi의 각 요소를 각각 열거하여 표현하면, 이하와 같게 된다.
bi=(χi,1·κ1·g1i,2·κ1·g1,...,χi, n+1·κ1·g1)…(23)
순회군 G1의 n+1개의 원소를 요소로 하는 모든 n+1차원 벡터는 n+1차원의 기저 벡터 bi(i=1,...,n+1)의 선형합에 의해 나타난다. 즉, n+1차원의 기저 벡터 bi는 상기 서술한 벡터공간 V를 펼친다.
bi * : bi *는 순회군 G2의 n+1개의 원소를 요소로 하는 n+1차원의 기저 벡터를 나타낸다. 행렬 X*를 사용하여 기저 벡터 ai *(i=1,...,n+1)를 좌표 변환함으로써 얻어진다. 구체적으로는, 기저 벡터 bi *는,
bi *j=1 n+1χi, j *·aj *…(24)
의 연산에 의해 얻어진다. 예를 들면, 기저 벡터 aj *(j=1,...,n+1)가 식 (10)에 의해 표현되는 경우, 기저 벡터 bi *의 각 요소를 각각 열거하여 표현하면, 이하와 같게 된다.
bi *=(χi,1 *·κ2·g2i,2 *·κ2·g2,...,χi, n+1 *·κ2·g2)…(25)
순회군 G2의 n+1개의 원소를 요소로 하는 모든 n+1차원 벡터는 n+1차원의 기저 벡터 bi *(i=1,...,n+1)의 선형합에 의해 나타난다. 즉, n+1차원의 기저 벡터 bi *는 상기 서술한 벡터공간 V*를 펼친다.
또한, 기저 벡터 bi와 기저 벡터 bi *는 0F를 제외한 유한체 Fq의 원소 τ=κ1·κ2에 대해서
e(bi, bj *)=gT τ·δ(i, j)…(26)
을 만족한다. 즉, 식 (6) (21) (23) (25)의 관계로부터,
[수 7]
Figure 112011078900493-pct00007
을 만족한다. 특히, τ=κ1·κ2=1F인 경우(예를 들면, κ12=1F인 경우),
e(bi, bj *)=gT δ(i, j)…(27)
을 만족한다. 이 경우, 기저 벡터 bi와 기저 벡터 bi *는 쌍대 페어링 벡터공간(벡터공간 V와 벡터공간 V*)의 쌍대 정규직교기저이다.
또한, 식 (26)의 관계를 만족하는 것이면, 식 (9) (10)에서 예시한 것 이외의 기저 벡터 ai 및 ai *이나, 식 (22) (24)에서 예시한 것 이외의 기저 벡터 bi 및 bi *를 사용해도 된다.
B : B는 기저 벡터 bi(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬을 나타낸다. B=X·A를 만족한다. 예를 들면, 기저 벡터 bi가 식 (23)에 의해 표현되는 경우, 행렬 B는,
[수 8]
Figure 112011078900493-pct00008
이 된다.
B* : B*는 기저 벡터 bi *(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬을 나타낸다. B*=X*·A*를 만족한다. 예를 들면, 기저 벡터 bi *(i=1,...,n+1)가 식 (25)에 의해 표현되는 경우, 행렬 B*는,
[수 9]
Figure 112011078900493-pct00009
가 된다.
w : w는 유한체 Fq의 원소를 요소로 하는 n차원 벡터를 나타낸다.
w=(w1,...,wn)∈Fq n…(30)
wμ : wμ는 n차원 벡터의 μ(μ=1,...,n)번째의 요소를 나타낸다.
v : v는 유한체 Fq의 원소를 요소로 하는 n차원 벡터를 나타낸다.
v=(v1,...,vn)∈Fq n…(31)
vμ : vμ는 n차원 벡터의 μ(μ=1,...,n)번째의 요소를 나타낸다.
충돌 곤란한 함수 : 「충돌 곤란한 함수」는 충분히 큰 시큐리티 파라미터 k에 대하여 이하의 조건을 만족하는 함수 h, 또는, 그것으로 간주할 수 있는 함수를 나타낸다.
Pr[A(h)=(x, y)|h(x)=h(y)∧x≠y]<ε(k)…(32)
단, Pr[·]는 사상[·]의 확률이며, A(h)는 함수 h에 대하여 h(x)=h(y)를 만족하는 값 x, y(x≠y)를 산출하는 확률적 다항식 시간 알고리즘이며, ε(k)는 시큐리티 파라미터 k에 대한 다항식이다. 충돌 곤란한 함수의 예는, 참고문헌 1에 개시된 「cryptographic hash function」 등의 해시함수이다.
단사함수 : 「단사함수」는 치역에 속하는 원소가 모두 그 정의역의 단 하나의 원소의 상으로서 나타나는 함수, 또는, 그것으로 간주할 수 있는 함수를 나타낸다.
유사적인 랜덤 함수 : 「유사적인 랜덤 함수」는 임의의 확률적 다항식 시간 알고리즘이 집합 Φζ와 그 부분집합 φζ를 구별할 수 없는 경우에 있어서의, 당해 부분집합 φζ에 속하는 함수, 또는, 그것으로 간주할 수 있는 함수를 나타낸다. 단, 집합 Φζ는 집합 {0,1}ζ의 원소를 집합 {0,1}ζ의 원소로 그리는 모든 함수의 집합이다. 유사적인 랜덤 함수의 예는 상기 서술한 바와 같은 해시함수이다.
H1 : H1은 2개의 바이너리 계열(ω12)∈{0,1}k×{0,1}*를 입력하는 것으로 하고, 유한체 Fq의 2개의 원소(ψ12)∈Fq×Fq를 출력하는 충돌 곤란한 함수를 나타낸다.
H1 : {0,1}k×{0,1}*→Fq×Fq…(33)
이러한 함수 H1의 예는 ω1과 ω2의 비트 연결값 ω1||ω2를 입력하는 것으로 하고, 참고문헌 1에 개시된 「cryptographic hash function」 등의 해시함수와, 「바이너리 계열로부터 정수로의 변환함수(Octet string/integer conversion)」와, 「바이너리 계열로부터 유한체의 원소로의 변환함수(Octet string and integer/finite field conversion)」의 연산을 행하고, 유한체 Fq의 2개의 원소(ψ12)∈Fq×Fq를 출력하는 함수이다. 또한, 함수 H1은 유사적인 랜덤 함수인 것이 바람직하다.
H2 : H2는 순회군 GT의 원소와 바이너리 계열(ξ, ω2)∈GT×{0,1}*를 입력하는 것으로 하고, 유한체 Fq의 1개의 원소 ψ∈Fq를 출력하는 충돌 곤란한 함수를 나타낸다.
H2 : GT×{0,1}*→Fq…(34)
이러한 함수 H2의 예는 순회군 GT의 원소 ξ∈GT와 바이너리 계열 ω2∈{0,1}*를 입력하는 것으로 하고, 순회군 GT의 원소 ξ∈GT를 참고문헌 1에 개시된 「유한체의 원소로부터 바이너리 계열로의 변환함수(Octet string and integer/finite field conversion)」에 입력하여 바이너리 계열을 구하고, 그 바이너리 계열과 바이너리 계열 ω2∈{0,1}*의 비트 연결값에 대하여 참고문헌 1에 개시된 「cryptographic hash function」 등의 해시함수 연산을 행하고, 또한 「바이너리 계열로부터 유한체의 원소로의 변환함수(Octet string and integer/finite field conversion)」의 연산을 행하고, 유한체 Fq의 1개의 원소 ψ∈Fq를 출력하는 함수이다. 또한, 안전성의 관점에서, 함수 H2는 유사적인 랜덤 함수인 것이 보다 바람직하다.
R : R은 1개의 순회군 GT의 원소 ξ∈GT를 입력하는 것으로 하고, 1개의 바이너리 계열 ω∈{0,1}k를 출력하는 단사함수를 나타낸다.
R : GT→{0,1}k…(35)
이러한 단사함수 R의 예는 순회군 GT의 원소 ξ∈GT를 입력하는 것으로 하고, 참고문헌 1에 개시된 「유한체의 원소로부터 바이너리 계열로의 변환함수(Octet string and integer/finite field conversion)」와, 참고문헌 1에 개시된 「KDF(Key Derivation Function)」 등의 해시함수의 연산을 행하고, 1개의 바이너리 계열 ω∈{0,1}k를 출력하는 함수이다. 또한, 안전성의 관점에서, 함수 R은 충돌 곤란한 함수인 것이 바람직하고, 유사적인 랜덤 함수인 것이 보다 바람직하다.
Enc : Enc는 공통키 암호 방식의 암호화 처리를 나타내는 공통키 암호함수를 나타낸다. 공통키 암호 방식의 구체예는 카멜리아(Camellia)나 AES 등이다.
Enck(M) : Enck(M)은 공통키 K를 사용하고, 공통키 암호함수 Enc에 따라 평문 M을 암호화하여 얻어진 암호문을 나타낸다.
Dec : Dec는 공통키 암호 방식의 복호 처리를 나타내는 공통키 복호함수를 나타낸다.
Deck(C) : Deck(C)는 공통키 K를 사용하고, 공통키 복호함수 Dec에 따라 암호문 C를 복호하여 얻어진 복호 결과를 나타낸다.
〔내적 술어 암호〕
다음에, 내적 술어 암호의 기본적인 구성에 대해서 설명한다.
<술어 암호>
술어 암호(「함수 암호」라고 하는 경우도 있음)는 「속성 정보」라고 불리는 정보와 「술어 정보」라고 불리는 정보의 조합이 소정의 논리식을 「참」으로 하는 경우에 암호문을 복호할 수 있는 방식이다. 「속성 정보」와 「술어 정보」의 일방이 암호문에 메워넣어지고, 타방이 키정보에 메워넣어진다. 종래의 술어 암호의 구성은, 예를 들면, 참고문헌 9 「”Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology」 등에 개시되어 있다.
<내적 술어 암호>
내적 술어 암호는 속성 정보나 술어 정보로서 벡터를 사용하고, 그들의 내적이 0이 되는 경우에 암호문이 복호되는 술어 암호이다. 내적 술어 암호에서는, 내적이 0이 되는 것과 논리식이 「참」이 되는 것이 등가이다.
[논리식과 다항식의 관계]
내적 술어 암호에서는, 논리합이나 논리적으로 이루어지는 논리식을 다항식으로 표현한다.
우선, 「x가 η1이다」라는 명제 1과 「x가 η2이다」라는 명제 2의 논리합 (x=η1)∨(x=η2)을
(x-η1)·(x-η2)…(36)
이라는 다항식으로 표현한다. 그러면, 각 진리값과 식 (36)의 함수값의 관계는 이하와 같게 된다.
Figure 112011078900493-pct00010
[표 1]로부터 알 수 있는 바와 같이, 논리합 (x=η1)∨(x=η2)이 참인 경우, 식 (36)의 함수값은 0이 되고, 논리합 (x=η1)∨(x=η2)이 거짓인 경우, 식 (36)의 함수값은 0 이외의 값이 된다. 즉, 논리합 (x=η1)∨(x=η2)이 참인 것과, 식 (36)의 함수값이 0이 되는 것은 등가이다. 따라서, 논리합은 식 (36)으로 표현할 수 있다.
또, 「x가 η1이다」라는 명제 1과 「x가 η2이다」라는 명제 2의 논리적 (x=η1)∧(x=η2)을
ι1·(x-η1)+ι2·(x-η2)…(37)
이라는 다항식으로 표현한다. 단, ι1 및 ι2는 난수이다. 그러면, 진리값과 식 (37)의 함수값은 이하의 관계가 된다.
Figure 112011078900493-pct00011
[표 2]로부터 알 수 있는 바와 같이, 논리적 (x=η1)∧(x=η2)이 참인 경우, 식 (37)의 함수값은 0이 되고, 논리적 (x=η1)∧(x=η2)이 거짓인 경우, 식 (37)의 함수값은 0 이외의 값이 된다. 즉, 논리적 (x=η1)∧(x=η2)이 참인 것과, 식 (37)의 함수값이 0이 되는 것은 등가이다. 따라서, 논리적은 식 (37)로 표현할 수 있다.
이상과 같이, 식 (36)과 식 (37)을 사용함으로써 논리합이나 논리적으로 이루어지는 논리식을 다항식 f(x)로 표현할 수 있다. 예를 들면, 논리식 {(x=η1)∨(x=η2)∨(x=η3)}∧(x=η4)∧(x=η5)는 다항식
f(x)=ι1·{(x-η1)·(x-η2)·(x-η3)}+ι2·(x-η4)+ι3·(x-η5)…(38)
로 표현할 수 있다.
또한, 식 (36)에서는, 1개의 부정원 x를 사용하여 논리합을 표현했지만, 복수의 부정원을 사용하여 논리합을 표현하는 것도 가능하다. 예를 들면, 2개의 부정원 x0 및 x1을 사용하고, 「x0가 η0이다」라는 명제 1과 「x1이 η1이다」라는 명제 2의 논리합 (x00)∨(x11)을
(x00)·(x11)
이라는 다항식으로 표현하는 것도 가능하며, 3개 이상의 부정원을 사용하고, 논리합을 다항식으로 표현하는 것도 가능하다.
또, 식 (37)에서는, 1개의 부정원 x를 사용하여 논리적을 표현했지만, 복수의 부정원을 사용하여 논리적을 표현하는 것도 가능하다. 예를 들면, 또, 「x0가 η0이다」라는 명제 1과 「x1이 η1이다」라는 명제 2의 논리적 (x00)∧(x11)을
ι0·(x00)+ι1·(x11)
이라는 다항식으로 표현하는 것도 가능하며, 3개 이상의 부정원을 사용하고, 논리적을 다항식으로 표현하는 것도 가능하다.
논리합 및/또는 논리적을 포함하는 논리식을 H(H≥1)종류의 부정원 x0,...,xH-1을 사용하여 표현한 다항식을 f(x0,...,xH-1)라고 표현한다. 또, 각 부정원 x0,...,xH-1에 대응하는 명제를 「xh가 ηh이다」로 한다. 단, ηh(h=0,...H-1)은 명제마다 정해지는 상수이다. 이 경우, 당해 논리식을 나타내는 다항식 f(x0,...,xH-1)는 부정원 xh와 상수 ηh의 차를 취하는 다항식에 의해 당해 부정원 xh가 당해 상수 ηh라는 명제를 표현하고, 명제를 각각 표현하는 다항식의 적에 의해 당해 명제의 논리합을 표현하고, 명제 또는 명제의 논리합을 각각 표현하는 다항식의 선형합에 의해 당해 명제 또는 명제의 논리합의 논리적을 표현하고, 그것에 의해 논리식을 표현한 다항식이 된다. 예를 들면, 5개의 부정원 x0,...,x4를 사용하고, 논리식 {(x00)∨(x11)∨(x22)}∧(x33)∧(x44)을 다항식으로 표현하면,
f(x0,...,x4)
0·{(x00)·(x11)·(x22)}+ι1·(x33)+ι2·(x44)
가 된다.
[다항식과 내적의 관계]
논리식을 나타내는 다항식 f(x0,...,xH -1)은 2개의 n차원 벡터의 내적으로 표현할 수 있다. 즉, 다항식 f(x0,...,xH -1)은 당해 다항식 f(x0,...,xH -1)의 각 항의 부정원 성분을 각 요소로 하는 벡터
v=(v1,...,vn)
와, 당해 다항식 f(x0,...,xH-1)의 각 항의 계수 성분을 각 요소로 하는 벡터
w=(w1,...,wn)
와의 내적
f(x0,...,xH-1)=w·v
와 동등하다. 즉, 논리식을 나타내는 다항식 f(x0,...,xH-1)이 0인지 여부와, 다항식 f(x0,...,xH-1)의 각 항의 부정원 성분을 각 요소로 하는 벡터 v와, 다항식 f(x0,...,xH-1)의 각 항의 계수 성분을 각 요소로 하는 벡터 w의 내적이 0인지 여부는 등가이다.
f(x0,...,xH-1)=0←→ w·v=0
예를 들면, 1개의 부정원 x로 표현된 다항식 f(x)=θ0·x01·x+...+θn-1·xn-1은 2개의 n차원 벡터
w=(w1,...,wn)=(θ0,...,θn-1)…(39)
v=(v1,...,vn)=(x0,...,xn-1)…(40)
의 내적
f(x)=w·v…(41)
로 표현할 수 있다. 즉, 논리식을 나타내는 다항식 f(x)가 0인지 여부와, 식 (41)의 내적이 0인지 여부는 등가이다.
f(x)=0←→ w·v=0…(42)
또, 다항식 f(x0,...,xH-1)의 각 항의 부정원 성분을 각 요소로 하는 벡터를
w=(w1,...,wn)
로 하고, 다항식 f(x0,...,xH-1)의 각 항의 계수 성분을 각 요소로 하는 벡터
v=(v1,...,vn)
로 해도, 논리식을 나타내는 다항식 f(x0,...,xH -1)가 0인지 여부와, 벡터 w와 벡터 v의 내적이 0인지 여부는 등가이다.
예를 들면, 식 (39) (40) 대신에
w=(w1,...,wn)=(x0,...,xn -1)…(43)
v=(v1,...,vn)=(θ0,...,θn-1)…(44)
로 해도, 논리식을 나타내는 다항식 f(x)가 0인지 여부와, 식 (41)의 내적이 0인지 여부는 등가이다.
내적 술어 암호에서는, 벡터 v=(v0,...,vn-1) 및 w=(w0,...,wn-1)의 어느 일방을 속성 정보로 하고, 타방을 술어 정보로 하고, 속성 정보와 술어 정보의 일방이 암호문에 메워넣어지고, 타방이 키정보에 메워넣어진다. 예를 들면, n차원 벡터(θ0,...,θn-1)가 술어 정보가 되고, n차원 벡터(x0,...,xn-1)가 속성 정보가 되고, 속성 정보와 술어 정보의 일방이 암호문에 메워넣어지고, 타방이 키정보에 메워넣어진다. 또한, 이하에서는, 키정보에 메워넣어지는 n차원 벡터를 w=(w1,...,wn)로 하고, 암호문에 메워넣어지는 n차원 벡터를 v=(v1,...,vn)로 한다. 예를 들면,
술어 정보 : w=(w1,...,wn)=(θ0,...,θn-1)
속성 정보 : v=(v1,...,vn)=(x0,...,xn-1)
이거나,
술어 정보 : v=(v1,...,vn)=(θ0,...,θn-1)
속성 정보 : w=(w1,...,wn)=(x0,...,xn-1)
이다.
[내적 술어 암호의 기본 구성]
이하에서는, 내적 술어 암호를 사용하여 키 캡슐화 메커니즘 KEM(Key Encapsulation Mechanisms)을 구성하는 경우의 기본 구성을 예시한다. 이 구성은 Setup(1k), GenKey(MSK, w), Enc(PA, v), Dec(SKw, C2)를 포함한다.
《Setup(1k) : 셋업》
-입력 : 시큐리티 파라미터 k
-출력 : 마스터키 정보 MSK, 공개 파라미터 PK
Setup(1k)의 일례에서는, 우선, 시큐리티 파라미터 k를 n으로 하고, n+1차원의 기저 벡터 ai(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬 A와, 기저 벡터 ai *(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬 A*와, 좌표 변환을 위한 n+1행n+1열의 행렬 X, X*가 선택된다. 다음에, 식 (22)에 따라 좌표 변환된 n+1차원의 기저 벡터 bi(i=1,...,n+1)가 산출되고, 식 (24)에 따라 좌표 변환된 n+1차원의 기저 벡터 bi *(i=1,...,n+1)가 산출된다. 그리고, 기저 벡터 bi *(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬 B*가 마스터키 정보 MSK로서 출력되고, 벡터공간 V, V*, 기저 벡터 bi(i=1,...,n+1)를 요소로 하는 n+1행n+1열의 행렬 B, 시큐리티 파라미터 k, 유한체 Fq, 타원곡선 E, 순회군 G1, G2,GT, 생성원 g1, g2, gT, 쌍선형 함수 e 등이 공개 파라미터 PK로서 출력된다.
《GenKey(MSK, w):키정보 생성》
-입력 : 마스터키 정보 MSK, 벡터 w
-출력 : 벡터 w에 대응하는 키정보 D*
GenKey(MSK, w)의 일례에서는, 우선, 유한체 Fq로부터 원소 α∈Fq가 선택된다. 그리고, 마스터키 정보 MSK인 행렬 B*를 사용하고, 벡터 w에 대응하는 키정보
D*=α·(Σμ=1 nwμ·bμ *)+bn+1 *∈G2 n+1…(45)
가 생성되어 출력된다. 또한, 순회군 G2 상에서의 이산대수 문제의 해를 구하는 것이 곤란한 경우, 키정보 D*로부터 wμ·bμ *나 bn+1 *의 성분을 분리 추출하는 것은 곤란하다.
《Enc(PA, v) : 암호화》
-입력 : 공개 파라미터 PK, 벡터 v
-출력 : 암호문 C2, 공통키 K
Enc(PA, v)의 일례에서는, 우선, 공통키 K와 유한체 Fq의 원소인 난수 υ1이 생성된다. 그리고, 행렬 B 등의 공개 파라미터 PK와, 공통키 K를 포함하는 값에 대응하는 유한체 Fq의 원소 υ2와, 벡터 v와, 난수 υ1을 사용하고, 암호문
C21·(Σμ=1 nvμ·bμ)+υ2·bn+1∈G1 n+1…(46)
이 생성된다. 그리고, 암호문 C2와 공통키 K가 출력된다. 공통키 K의 일례는 K=gT τ·υ2∈GT이다. 여기서, 첨자의 υ2는 υ2를 의미한다. 또, 상기 서술한 바와 같이 τ의 일례는 τ=1F이다. 또한, 순회군 G1 상에서의 이산대수 문제의 해를 구하는 것이 곤란한 경우, 암호문 C2로부터 vμ·bμ나 υ2·bn+1의 성분을 분리 추출하는 것은 곤란하다.
《Dec(SKw, C2) : 복호·키공유》
-입력 : 벡터 w에 대응하는 키정보 D1 *, 암호문 C2
-출력 : 공통키 K
Dec(SKw, C2)의 일례에서는, 우선, 암호문 C2와 키정보 D1 *가 식 (2)의 쌍선형 함수 e에 입력된다. 그러면, 식 (3) (26)의 성질로부터,
[수 10]
Figure 112011078900493-pct00012
을 만족한다.
여기서, 내적 w·v=0이면, 식 (47)은,
[수 11]
Figure 112011078900493-pct00013
로 변형할 수 있다. 이 결과로부터 공통키 K가 생성되어 출력된다. 공통키 K의 일례는 K=gT τ·υ2∈GT이다.
[제1 실시형태]
제1 실시형태의 정보 생성 장치 및 방법은 상기 서술한 술어 암호를 사용하여 계층형 암호를 실현한 것이다. 구체적으로는, 상기 서술한 술어 암호로 등장하는 기저 b*를 사용하여, 나무 구조 이외의 일반적인 반순서 구조로 나타나는 정보 도출을 실현하는 것이다.
도 1에, 제1 실시형태의 정보 생성 장치의 기능 블록도를 예시한다.
각 정보에는 인덱스 v가 붙여져 있다. 인덱스 v는 v=(v1,…, vN-1)∈I=(Fq∪{*})N-1이며, 인덱스 v에는 대응하는 집합 w(v)={i|vi=*}가 정의되어 있다. *는 부정문자이다. 이하에 등장하는 인덱스 u, 인덱스 Y 등의 인덱스는 인덱스 v와 마찬가지의 구조를 가지고, 인덱스 u=(u1,…, uN-1)∈I=(Fq∪{*})N-1, 인덱스 Y=(Y1,…, YN-1)∈I=(Fq∪{*})N-1인 것으로 한다. 인덱스 u∈I와 인덱스 v∈I에 대하여, w(u)⊂w(v) 또한 vi=ui(i∈{1,…, N-1}\w(v))일 때, 즉, w(u)⊂w(v) 또한 임의의 i∈{1,…, N-1}\w(v)에 대하여 vi=ui일 때, 인덱스 u≤인덱스 v이며, 인덱스 v는 인덱스 u보다 상위의 정보인 것으로 한다. 여기서, 기호 「\」는 집합의 감산을 의미하고, 예를 들면 집합 A={1,2,3}, 집합 B={1}일 때, A\B= {2,3}이다.
예를 들면, 인덱스 v={v1,v2,v3}={2,*,*}이며, 인덱스 u={u1,u2,u3}={2,*,4}인 것으로 한다. 이 때, w(v)={2,3}, w(u)={2}가 되고, w(u)⊂w(v)가 성립한다. 또, v1=u1=2이다. 따라서, 인덱스 u≤인덱스 v이며, 인덱스 v는 인덱스 u보다 상위의 정보라고 할 수 있다.
이하, 기저 bi *로부터 생성되는 정보에 대한 인덱스를 인덱스 Y라고 표기하고, 도출기의 정보에 대한 인덱스를 인덱스 v라고 표기하고, 그 도출기의 정보로부터 도출된 정보에 대한 인덱스를 인덱스 u라고 표기한다.
<정보 생성>
정보 생성 장치 및 방법은 도 2의 스텝 A1으로부터 스텝 A3에 있어서, 기저 bi *를 사용하여 인덱스 Y에 대응하는 정보 KY를 생성한다. 정보 KY는 주정보 kY와 도출 정보 kYj를 포함한다. 주정보 kY는 술어 암호에 있어서 예를 들면 복호키로서 사용된다. 도출 정보 kYj는 인덱스 Y에 대응하는 정보 KY보다 하위의 정보를 생성하기 위해서 사용된다.
정보 생성 장치에는 인덱스 Y∈I가 입력된다.
난수 생성부(1)는 난수 σY∈Zq, 및, 집합 w(Y)의 각 요소 j∈w(Y)에 대응하는 난수 σYj∈Zq를 생성한다(스텝 A1). 생성된 난수 σY는 주정보 생성부(2)에 보내진다. 생성된 난수 σYj는 도출 정보 생성부(3)에 보내진다. 예를 들면, 집합 w(Y)={2,3}인 경우에는, 난수 생성부(1)는 σY, σY2 및 σY3의 3개의 난수를 생성한다.
주정보 생성부(2)는 상기 생성된 난수 σY를 사용하여, kYYΣi∈{1,…, N-1}\w(Y)Yibi *+bN *의 관계를 만족하는 주정보 kY를 계산한다(스텝 A2). 계산된 주정보 kY는 기억부(4)에 격납된다.
도출 정보 생성부(3)는 상기 생성된 난수 σYj를 사용하여, kYjYjΣi∈{1,…, N-1}\w(Y)Yibi *+bj *의 관계를 만족하는 도출 정보 kYj를 집합 w(Y)의 각 요소 j∈w(Y)마다 계산한다(스텝 A3). 계산된 도출 정보 kYj는 기억부(4)에 격납된다.
<정보 도출>
정보 생성 장치 및 방법은, 도 3의 스텝 B1 내지 스텝 B3에 있어서, u≤v로서, 상위의 인덱스 v에 대응하는 정보 Kv로부터, 하위의 인덱스 u에 대응하는 정보 Ku를 생성한다.
인덱스 v에 대응하는 정보 Kv는 주정보 kv와 도출 정보 kvj를 포함한다. 주정보 kv는 술어 암호에 있어서 예를 들면 복호키로서 사용된다. 도출 정보 kvj는 인덱스 v에 대응하는 정보 Kv보다 하위의 정보를 생성하기 위해서 사용된다. 예를 들면, 인덱스 v=Y이며, 정보 Kv=정보 KY이다. 또, 스텝 B1 내지 스텝 B3의 처리에 의해 생성된 정보 Ku를 새로운 정보 Kv로 하여, 인덱스 u에 대응하는 정보 Ku보다 하위의 정보Ku'(u'≤u)를 생성해도 된다.
인덱스 u에 대응하는 정보 Ku는 주정보 ku와 도출 정보 kuj를 포함한다. 주정보 ku는 술어 암호에 있어서 예를 들면 복호키로서 사용된다. 도출 정보 kuj는 인덱스 u에 대응하는 정보 Ku보다 하위의 정보를 생성하기 위해서 사용된다.
정보 생성 장치에는 인덱스 v 및 인덱스 u가 입력된다.
기억부(4)에는 인덱스 v에 대응하는 정보 Kv가 격납되어 있는 것으로 한다.
난수 생성부(1)는 난수 σu∈Zq 및 집합 w(u)의 각 요소 j∈w(u)에 대응하는 난수 σuj∈Zq를 생성한다(스텝 B1). 생성된 난수 σu는 주정보 도출부(5)에 보내지고, 생성된 난수 σuj는 도출 정보 도출부(6)에 보내진다.
주정보 도출부(5)는 기억부(4)로부터 읽어들인 주정보 kv, 도출 정보 kvi 및 상기 생성된 난수 σu를 사용하여, kuuΣi∈w(v)\w(u)uikvi+kv의 관계를 만족하는, 인덱스 u에 대응하는 주정보 ku를 계산한다(스텝 B2). 계산된 주정보 ku는 기억부(4)에 격납된다.
도출 정보 도출부(6)는 기억부(4)로부터 읽어들인 도출 정보 kvj 및 상기 생성된 난수 σuj를 사용하여, kujujΣi∈w(v)\w(u)uikvi+kvj의 관계를 만족하는 인덱스 u에 대응하는 도출 정보 kuj를 집합 w(u)의 각 요소 j∈w(u)마다 계산한다(스텝 B3). 계산된 도출 정보 kuj는 기억부(4)에 격납된다.
이렇게 하여, 인덱스 Y에 대응하는 정보 KY를 생성하여, 이 정보 KY를 기초로 하여 하위의 인덱스에 대응하는 정보를 도출함으로써, 공통의 자노드 C를 가지는 친노드 A와 친노드 B에 대하여, 친노드 A의 정보로부터 공통의 자노드 C의 정보를 도출하고, 친노드 B의 정보로부터 공통의 자노드 C의 정보를 도출할 수 있다.
<구체예 1>
이하, 각 노드의 정보가 술어 암호에 있어서의 키이며, 인덱스 v1의 정보로부터 생성한 인덱스 v3의 정보와, 인덱스 v2의 정보로부터 생성한 인덱스 v3의 정보가 술어 암호에 있어서의 키라는 관점에서 일치하는 것을 설명한다. 이하에 나타내는 인덱스 v1, 인덱스 v2, 인덱스 v3는 일례이며, 다른 인덱스에 대해서도 마찬가지라고 할 수 있다.
인덱스 v1={v1,v2,*,*}로 하고, 인덱스 v2={*,*,v3,v4}로 하고, 인덱스 v3={v1,v2,v3,v4}로 한다. 정의로부터, v1≥v3, v2≥v3이며, 친노드인 인덱스 v1 및 친노드인 인덱스 v2는 인덱스 v3를 공통하는 자노드로서 가진다. 또한, 이하에서는, vi(i=1,2,3)를 v^i라고 표기하는 경우도 있다. 또, 인덱스 vi의 j번째의 요소를 v^ij라고 표기하는 경우도 있다.
N=5로 하여, N개의 기저 b1 *,b2 *,b3 *,b4 *,b5 *로부터, 인덱스 v1에 대응하는 정보 Kv^1 및 인덱스 v2에 대응하는 정보 Kv^2를 생성한다. σv^1, σv^13, σv^14, σv^2, σv^23, σv^24, σv^3, σv^3'는 난수 생성부(1)에 의해 생성되는 난수이다.
인덱스 v1에 대응하는 정보 Kv^1(주정보 kv^1, 도출 정보 kv^13, kv^14)는 이하와 같게 된다.
kv ^1v^1(v1b1 *+v2b2 *)+b5 *
kv ^13v^13(v1b1 *+v2b2 *)+b3 *
kv ^14v^14(v1b1 *+v2b2 *)+b4 *
또, 인덱스 v2에 대응하는 정보 Kv ^2(주정보 kv ^2, 도출 정보 kv ^21, kv ^22)는 이하와 같게 된다.
kv ^2v^2(v3b3 *+v4b4 *)+b5 *
kv ^21v^23(v3b3 *+v4b4 *)+b1 *
kv ^22v^24(v3b3 *+v4b4 *)+b2 *
인덱스 v1에 대응하는 정보 Kv ^ 1으로부터 인덱스 v3에 대응하는 주정보 kv ^ 3를 도출하면 이하와 같게 된다. 이하의 식에 있어서, a=(σv^3(v3σv^13+v4σv^14)+σv^1)이며, b=σv^3이다.
kv ^3v^3(v3kv ^13+v4kv ^14)+kv ^1
=(σv^3(v3σv^13+v4σv^14)+σv^1)(v1b1 *+v2b2 *)+σv^3(v3b3 *+v4b4 *)+b5 *
=a(v1b1 *+v2b2 *)+b(v3b3 *+v4b4 *)+b5 *…(A)
인덱스 v2에 대응하는 정보 Kv ^2로부터 인덱스 v3에 대응하는 주정보 kv ^ 3를 도출하면 이하와 같게 된다. 이하의 식에 있어서, c=σv^3'이며, d=(σv^3'(v1σv^23+v4σv^24)+σv^2)이다.
kv ^3v^3'(v1kv ^21+v2kv ^22)+kv ^2
=(σv^3'(v1σv^23+v4σv^24)+σv^2)(v3b3 *+v4b4 *)+σv^3'(v1b1 *+v2b2 *)+b5 *
=c(v1b1 *+v2b2 *)+d(v3b3 *+v4b4 *)+b5 *…(B)
상기 (A)식에 나타낸 정보 Kv ^ 1으로부터 도출한 주정보 kv ^ 3와, 상기 (B)식에 나타낸 정보 Kv ^2로부터 도출한 주정보 kv ^ 3를 비교하면, 값은 일치하지 않지만, 술어 암호에 있어서 동일한 값의 키가 된다. 즉, (v1b1 *+v2b2 *)를 벡터 (b1 *,b2 *)와 벡터 (v1,v2)의 내적으로 보면, 벡터 (b1 *,b2 *)에 대한 벡터 (v1,v2)의 방향이 (A)식과 (B)식에서 일치하고 있으며, 마찬가지로 (v3b3 *+v4b4 *)를 벡터 (b3 *,b4 *)와 벡터 (v3,v4)의 내적으로 보면, 벡터 (b3 *,b4 *)에 대한 벡터 (v3,v4)의 방향이 (A)식과 (B)식에서 일치하고 있어, 양쪽 키는 술어 암호에 있어서 동일한 값의 키가 된다.
[제2 실시형태]
도 4에, 제2 실시형태의 정보 생성 장치의 기능 블록도를 예시한다.
G, GT를 소수 위수 q의 순회군으로 하고, g를 순회군 G의 생성원으로 하고, 순회군 G에는 gT=e(g,g)가 순회군 GT의 생성원이 되는 것 같은 페어링 함수 e:G×G→GT가 존재하는 것으로 하고, a를 Zp로부터 랜덤으로 선택된 난수로 하고, g와 g1=ga∈G와 순회군 G로부터 랜덤으로 선택된 g2,g3,h1,…, hN-1∈G가 공개키로서 공개되어 있는 것으로 한다.
<정보 생성>
정보 생성 장치 및 방법은 도 5의 스텝 C1 내지 스텝 C4에 있어서, 공개키를 사용하여 인덱스 Y에 대응하는 정보 KY를 생성한다. 정보 KY는 제1 주정보 kY와 제2 주정보 grY와 도출 정보 kYj를 포함한다. 제1 주정보 kY 및 제2 주정보 grY는 예를 들면 복호키로서 사용된다. 도출 정보 kYi는 인덱스 Y에 대응하는 정보 KY보다 하위의 정보를 생성하기 위해서 사용된다.
정보 생성 장치에는 인덱스 Y∈I가 입력된다.
난수 생성부(1)는 난수 rY∈Zq를 생성한다(스텝 C1). 생성된 난수 rY는 제1 주정보 생성부(21), 제2 주정보 생성부(22) 및 도출 정보 생성부(3)에 보내진다.
제1 주정보 생성부(21)는 상기 생성된 난수 rY를 사용하여, kY=g2 a(g3Πi∈{1,…, N-1}\w(Y)hi Yi)rY의 관계를 만족하는 제1 주정보 kY를 계산한다(스텝 C2). 계산된 제1 주정보 kY는 기억부(4)에 격납된다.
제2 주정보 생성부(22)는 상기 생성된 난수 rY를 사용하여, 제2 주정보 grY를 계산한다(스텝 C3). 계산된 제2 주정보 kY는 기억부(4)에 격납된다.
도출 정보 생성부(3)는 상기 생성된 난수 rY를 사용하여, kYj=hj rY의 관계를 만족하는 도출 정보 kYj를 집합 w(Y)의 각 요소 j∈w(Y)마다 계산한다(스텝 C4). 계산된 도출 정보 kYi는 기억부(4)에 격납된다.
<정보 도출>
정보 생성 장치 및 방법은 도 6의 스텝 D1 내지 스텝 D4에 있어서, u≤v로서, 상위의 인덱스 v에 대응하는 정보 Kv로부터, 하위의 인덱스 u에 대응하는 정보 Ku를 생성한다.
인덱스 v에 대응하는 정보 Kv는 제1 주정보 kv와 제2 주정보 grv와 도출 정보 kvj를 포함한다. 제1 주정보 kv 및 제2 주정보 grv는 예를 들면 복호키로서 사용된다. 도출 정보 kvj는 인덱스 v에 대응하는 정보 Kv보다 하위의 정보를 생성하기 위해서 사용된다. 예를 들면, 인덱스 v=Y이며, 정보 Kv=정보 KY이다. 또, 스텝 D1 내지 스텝 D4의 처리에 의해 생성된 정보 Ku를 새로운 정보 Kv로 하여, 인덱스 u에 대응하는 정보 Ku보다 하위의 정보 Ku'(u'≤u)를 생성해도 된다.
인덱스 u에 대응하는 정보 Ku는 제1 주정보 ku와 제2 주정보 gru와 도출 정보 kuj를 포함한다. 제1 주정보 ku 및 제2 주정보 gru는 예를 들면 복호키로서 사용된다. 도출 정보 kuj는 인덱스 u에 대응하는 정보 Ku보다 하위의 정보를 생성하기 위해서 사용된다.
정보 생성 장치에는 인덱스 v 및 인덱스 u가 입력된다.
기억부(4)에는 인덱스 v에 대응하는 정보 Kv가 격납되어 있는 것으로 한다.
난수 생성부(1)는 난수 ru를 생성한다(스텝 D1). 생성된 난수는 제1 주정보 도출부(51), 제2 주정보 도출부(52) 및 도출 정보 도출부(6)에 보내진다.
제1 주정보 도출부(51)는 상기 생성된 난수 ru, 기억부(4)로부터 읽어들인 제1 주정보 kv 및 도출 정보 kvi를 사용하여, ku=kvi∈w(v)\w(u)kvi ui)(g3Πi∈{1,…, N-1}\w(v)hi viΠi∈w(v)\w(u)hi ui)ru의 관계를 만족하는, 인덱스 u에 대응하는 제1 주정보 ku를 계산한다(스텝 D2). 계산된 제1 주정보 ku는 기억부(4)에 격납된다.
제2 주정보 도출부(52)는 상기 생성된 난수 ru를 사용하여, 제2 주정보 gru를 계산한다(스텝 D3). 계산된 제2 주정보 gru는 기억부(4)에 격납된다.
도출 정보 도출부(6)는 상기 기억부로부터 읽어들인 도출 정보 kvi 및 상기 생성된 난수 ru를 사용하여, kuj=kvjhj ru의 관계를 만족하는 도출 정보 kuj를 집합 w(u)의 각 요소 j∈w(u)마다 계산한다(스텝 D4). 계산된 도출 정보 kuj는 기억부(4)에 기억된다.
이렇게 하여, 인덱스 Y에 대응하는 정보 KY를 생성하여, 이 정보 KY를 기초로 하여 하위의 인덱스에 대응하는 정보를 도출함으로써, 공통의 자노드 C를 가지는 친노드 A와 친노드 B에 대하여, 친노드 A의 정보로부터 공통의 자노드 C의 정보를 도출하고, 친노드 B의 정보로부터 공통의 자노드 C의 정보를 도출할 수 있다.
<구체예 2>
이하, 각 노드의 정보가 술어 암호에 있어서의 키이며, 인덱스 v1의 정보로부터 생성한 인덱스 v3의 정보와, 인덱스 v2의 정보로부터 생성한 인덱스 v3의 정보가 술어 암호에 있어서의 키라는 관점에서 일치하는 것을 설명한다. 이하에 나타내는 인덱스 v1, 인덱스 v2, 인덱스 v3는 일례이며, 다른 인덱스에 대해서도 마찬가지라고 할 수 있다.
인덱스 v1={v1,v2,*,*}로 하고, 인덱스 v2={*,*,v3,v4}로 하고, 인덱스 v3={v1,v2,v3,v4}로 한다. 정의로부터, v1≥v3, v2≥v3이며, 친노드인 인덱스 v1 및 친노드인 인덱스 v2는 인덱스 v3를 공통하는 자노드로서 가진다. 또한, 이하에서는, vi(i=1,2,3)를 v^i로 표기하는 경우도 있다. 또, 인덱스 vi의 j번째의 요소를 v^ij로 표기하는 경우도 있다.
N=5로 하여, g1=ga,g2,g3,h1,h2,h3,h4∈G가 공개키로서 공개되어 있는 것으로 한다. 이들 공개키로부터 인덱스 v1에 대응하는 정보 Kv^1 및 인덱스 v2에 대응하는 정보 Kv^2를 생성한다. rv^1, rv^2는 난수 생성부(1)에 의해 생성되는 난수이다.
인덱스 v1에 대응하는 정보 Kv^1(제1 주정보 kv^1, 제2 주정보 grv^1, 도출 정보 kv^13, kv^14)은 이하와 같게 된다.
kv^1=g2 a(g3h1 v1h2 v2)rv^1
grv^1
kv^13=h3 rv^1
kv^14=h4 rv^1
또, 인덱스 v2에 대응하는 정보 Kv ^2(제1 주정보 kv ^2, 제2 주도출 정보 grv ^2, 도출 정보 kv ^21, kv ^22)는 이하와 같게 된다.
kv ^2=g2 a(g3h3 v3h4 v4)rv^2
grv^2
kv^21=h1 rv^2
kv^22=h2 rv^2
인덱스 v1에 대응하는 정보 Kv^1으로부터 인덱스 v3에 대응하는 제1 주정보 kv^3를 도출하면 이하와 같게 된다. 또한, rv^3는 난수 생성부(1)에 의해 생성되는 난수이며, r=rv^1+rv^3이다.
kv^3=kv^1(kv^13 v3kv^14 v4)(g3h1 v1h2 v2h3 v3h4 v4)rv^3
=g2 a(g3h1 v1h2 v2h3 v3h4 v4)r…(C)
인덱스 v2에 대응하는 정보 Kv^2로부터 인덱스 v3에 대응하는 주정보 kv^3를 도출하면 이하와 같게 된다. 또한, rv^3'는 난수이며, r'=rv^2+rv^3'이다.
kv^3=kv^2(kv^21 v1kv^22 v2)(g3h1 v1h2 v2h3 v3h4 v4)rv^3'
=g2 a(g3h1 v1h2 v2h3 v3h4 v4)r'…(D)
상기 (C)식에 나타낸 정보 Kv^1으로부터 도출한 제1 주정보 kv^3 및 제2 주정보 grv^3와, 상기 (D)식에 나타낸 정보 Kv^2로부터 도출한 제1 주정보 kv^3 및 제2 주정보 grv^3'를 비교하면, 이들 값은 일치하지 않지만, 공개키 g3,h1,h2,h3,h4의 지수의 비가 일치하고 있어, 술어 암호에 있어서 동일한 값의 키가 된다.
[변형예 등]
상기한 실시형태에서는, 정보 생성 장치는 주정보 생성부(2), 도출 정보 생성부(3), 주정보 도출부(5) 및 도출 정보 도출부(6) 모두를 가지고 있었지만, 이들의 적어도 1개의 부를 가지고 있으면 된다. 예를 들면, 주정보 생성부(2) 및 도출 정보 생성부(3)만을 가지고 있어도 된다. 또, 주정보 도출부(5) 및 도출 정보 도출부(6)만을 가지고 있고, 이미 생성되어 기억부(4)에 격납된 정보 Kv를 사용하여, 정보 Ku를 생성해도 된다.
또, 상기 서술한 유한체 Fq 상에서 정의된 각 연산을 위수 q의 유한환 Zq 상에서 정의된 연산으로 치환해도 된다. 유한체 Fq 상에서 정의된 각 연산을 유한환 Zq 상에서 정의된 연산으로 치환하는 방법의 일례는 소수나 그 멱승값 이외의 q를 허용하는 방법이다.
정보 생성 장치는 컴퓨터에 의해 실현할 수 있다. 이 경우, 이들 장치가 각각 가져야 할 기능의 처리 내용은 프로그램에 의해 기술된다. 그리고, 이 프로그램을 컴퓨터로 실행함으로써, 이들 장치에 있어서의 각 처리 기능이 컴퓨터 상에서 실현된다.
이 처리 내용을 기술한 정보 생성 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록해 둘 수 있다. 또, 이 형태에서는, 컴퓨터 상에서 소정의 프로그램을 실행시킴으로써, 이들 장치를 구성하는 것으로 했지만, 이들 처리 내용의 적어도 일부를 하드웨어적으로 실현하는 것으로 해도 된다.
본 발명은 상기 서술한 실시형태에 한정되는 것은 아니며, 본 발명의 취지를 일탈하지 않는 범위에서 적당히 변경이 가능하다.

Claims (14)

  1. e가 순회군 G1의 N개의 원소 γL(L=1,…, N)(N≥2)과 순회군 G2의 N개의 원소 γL *(L=1,…, N)의 입력에 대하여 순회군 GT의 1개의 원소를 출력하는 비퇴화한 쌍선형 함수이며, bi∈G1 N(i=1,…, N)의 각각이 상기 순회군 G1의 N개의 원소를 요소로 하는 N차원의 기저 벡터이며, bj *∈G2 N(j=1,…, N)의 각각이 상기 순회군 G2의 N개의 원소를 요소로 하는 N차원의 기저 벡터이며, 상기 기저 벡터 bi∈G1 N(i=1,…, N)의 각 요소와 상기 기저 벡터 bj *∈G2 N(j=1,…, N)의 각 요소를 상기 쌍선형 함수 e에 입력하여 얻어지는 함수값이, i=j인 경우에 δ(i, j)=1F가 되고 i≠j인 경우에 δ(i, j)=0F가 되는 크로네커의 델타 함수 δ(i, j)를 사용하여 gT τ·δ(i, j)∈GT라고 표현되고, 0F가 유한체 Fq의 가법단위원이며, 1F가 유한체 Fq의 승법단위원이며, τ가 0F를 제외한 유한체 Fq의 원소이며, gT가 상기 순회군 GT의 생성원이며,
    *를 부정문자로 하고, 인덱스 Y를 Y=(Y1,…, YN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 Y에 대응하는 집합 w(Y)를 w(Y)={i|Yi=*}로 하여,
    난수 σY∈Zq, 및, 집합 w(Y)의 각 요소 j∈w(Y)에 대응하는 난수 σYj∈Zq를 생성하는 난수 생성부와,
    상기 생성된 난수 σY를 사용하여, kYYΣi∈{1,…, N-1}\w(Y)Yibi *+bN *의 관계를 만족하는 주정보 kY를 계산하는 주정보 생성부와,
    상기 생성된 난수 σYj를 사용하여, kYjYjΣi∈{1,…, N-1}\w(Y)Yibi *+bj *의 관계를 만족하는 도출 정보 kYj를 집합 w(Y)의 각 요소 j∈w(Y)마다 계산하는 도출 정보 생성부,
    를 포함하는 것을 특징으로 하는 정보 생성 장치.
  2. 제 1 항에 있어서,
    *를 부정문자로 하고, 인덱스 v를 v=(v1,…, vN -1)∈I=(Fq∪{*})N- 1으로 하고, 인덱스 v에 대응하는 집합 w(v)를 w(v)={i|vi=*}로 하고, 인덱스 u를 u=(u1,…, uN -1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 u에 대응하는 집합 w(u)를 w(u)={i|ui=*}로 하고, 집합 w(u)⊂집합 w(v)로 하고, vi=ui(i∈{1,…, N-1}\w(v))로 하여,
    인덱스 v에 대응하는 주정보 kv 및 인덱스 v에 대응하는 도출 정보 kvj를 기억하는 기억부와,
    상기 난수 생성부는 또한 난수 σu∈Zq를 생성하고,
    상기 기억부로부터 읽어들인 주정보 kv, 도출 정보 kvi 및 상기 생성된 난수 σu를 사용하여, kuuΣi∈w(v)\w(u)uikvi+kv의 관계를 만족하는, 인덱스 u에 대응하는 주정보 ku를 계산하는 주정보 도출부,
    를 포함하는 것을 특징으로 하는 정보 생성 장치.
  3. 제 2 항에 있어서,
    상기 난수 생성부는 또한 집합 w(u)의 각 요소 j∈w(u)에 대응하는 난수 σuj∈Zq를 생성하고,
    상기 기억부로부터 읽어들인 도출 정보 kvj 및 상기 생성된 난수 σuj를 사용하여, kujujΣi∈w(v)\w(u)uikvi+kvj의 관계를 만족하는 인덱스 u에 대응하는 도출 정보 kuj를 집합 w(u)의 각 요소 j∈w(u)마다 계산하는 도출 정보 도출부를 또한 포함하는,
    것을 특징으로 하는 정보 생성 장치.
  4. e가 순회군 G1의 N개의 원소 γL(L=1,…, N)(N≥2)과 순회군 G2의 N개의 원소 γL *(L=1,…, N)의 입력에 대하여 순회군 GT의 1개의 원소를 출력하는 비퇴화한 쌍선형 함수이며, bi∈G1 N(i=1,…, N)의 각각이 상기 순회군 G1의 N개의 원소를 요소로 하는 N차원의 기저 벡터이며, bj *∈G2 N(j=1,…, N)의 각각이 상기 순회군 G2의 N개의 원소를 요소로 하는 N차원의 기저 벡터이며, 상기 기저 벡터 bi∈G1 N(i=1,…, N)의 각 요소와 상기 기저 벡터 bj *∈G2 N(j=1,…, N)의 각 요소를 상기 쌍선형 함수 e에 입력하여 얻어지는 함수값이, i=j인 경우에 δ(i, j)=1F가 되고 i≠j인 경우에 δ(i, j)=0F가 되는 크로네커의 델타 함수 δ(i, j)를 사용하여 gT τ\δ(i, j)∈GT로 표현되고, 0F가 유한체 Fq의 가법단위원이며, 1F가 유한체 Fq의 승법단위원이며, τ가 0F를 제외한 유한체 Fq의 원소이며, gT가 상기 순회군 GT의 생성원이며,
    *를 부정문자로 하고, 인덱스 Y를 Y=(Y1,…, YN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 Y에 대응하는 집합 w(Y)를 w(Y)={i|Yi=*}로 하고, σY∈Zq를 난수로 하고, σYi를 집합 w(Y)의 각 요소 j∈w(Y)에 대응하는 난수로 하고, 인덱스 Y에 대응하는 주정보 kY는 kYYΣi∈{1,…, N-1}\w(Y)Yibi *+bN *의 관계를 만족하고, 인덱스 Y에 대응하는 도출 정보 kYj는 kYjYjΣi∈{1,…, N-1}\w(Y)Yibi *+bj *의 관계를 만족하고,
    *를 부정문자로 하고, 인덱스 v를 v=(v1,…, vN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 u를 u=(u1,…, uN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 v에 대응하는 집합 w(v)를 w(v)={i|vi=*}로 하고, 인덱스 u에 대응하는 집합 w(u)를 w(u)={i|ui=*}로 하고, 집합 w(u)⊂집합 w(v)로 하고, vi=ui(i∈{1,…, N-1}\w(v))로 하여,
    상기 주정보 kY인 또는 상기 주정보 kY 및 상기 도출 정보 kYj로부터 도출된 인덱스 v에 대응하는 주정보 kv, 및, 상기 도출 정보 kYj인 또는 상기 도출 정보 kYj로부터 도출된 인덱스 v에 대응하는 도출 정보 kvj를 기억하는 기억부와,
    난수 σu∈Zq를 생성하는 난수 생성부와,
    상기 기억부로부터 읽어들인 주정보 kv, 도출 정보 kvi 및 상기 생성된 난수 σu를 사용하여, kuuΣi∈w(v)\w(u)uikvi+kv의 관계를 만족하는, 인덱스 u에 대응하는 주정보 ku를 계산하는 주정보 도출부,
    를 포함하는 것을 특징으로 하는 정보 생성 장치.
  5. 제 4 항에 있어서,
    상기 난수 생성부는 또한 집합 w(u)의 각 요소 j∈w(u)에 대응하는 난수 σuj∈Zq를 생성하고,
    상기 기억부로부터 읽어들인 도출 정보 kvj 및 상기 생성된 난수 σuj를 사용하여, kujujΣi∈w(v)\w(u)uikvi+kvj의 관계를 만족하는 도출 정보 kuj를 집합 w(u)의 각 요소 j∈w(u)마다 계산하는 도출 정보 도출부를 또한 포함하는,
    것을 특징으로 하는 정보 생성 장치.
  6. G, GT를 소수 위수 q의 순회군으로 하고, g를 순회군 G의 생성원으로 하고, 순회군 G에는 gT=e(g,g)가 순회군 GT의 생성원이 되는 것 같은 페어링 함수 e:G×G→GT가 존재하는 것으로 하고, a를 Zp로부터 랜덤으로 선택된 난수로 하고, g와 g1=ga∈G와 순회군 G로부터 랜덤으로 선택된 g2, g3, h1,…, hN-1∈G가 공개키로서 공개되어 있고,
    *를 부정문자로 하고, 인덱스 Y를 Y=(Y1,…, YN -1)∈I=(Fq∪{*})N- 1으로 하고, 인덱스 Y에 대응하는 집합 w(Y)를 w(Y)={i|Yi=*}로 하여,
    난수 rY∈Zq를 생성하는 난수 생성부와,
    상기 생성된 난수 rY를 사용하여, kY=g2 a(g3Πi∈{1,…, N-1}\w(Y)hi Yi)rY의 관계를 만족하는 제1 주정보 kY를 계산하는 제1 주정보 생성부와,
    상기 생성된 난수 rY를 사용하여, 제2 주정보 grY를 계산하는 제2 주정보 생성부와,
    상기 생성된 난수 rY를 사용하여, kYj=hj rY의 관계를 만족하는 도출 정보 kYj를 집합 w(Y)의 각 요소 j∈w(Y)마다 계산하는 도출 정보 생성부,
    를 포함하는 것을 특징으로 하는 정보 생성 장치.
  7. 제 6 항에 있어서,
    상기 난수 생성부는 또한 난수 ru∈Zq를 생성하고,
    *를 부정문자로 하고, 인덱스 v를 v=(v1,…, vN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 v에 대응하는 집합 w(v)를 w(v)={i|vi=*}로 하고, 인덱스 u를 u=(u1,…, uN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 u에 대응하는 집합 w(u)를 w(u)={i|ui=*}로 하고, 집합 w(u)⊂집합 w(v)로 하고, vi=ui(i∈{1,…, N-1}\w(v))로 하여,
    인덱스 v에 대응하는 제1 주정보 kv, 제2 주정보 gr 및 인덱스 v에 대응하는 도출 정보 kvj를 기억하는 기억부와,
    상기 기억부로부터 읽어들인 제1 주정보 kv 및 도출 정보 kvi를 사용하여, ku=kvi∈w(v)\w(u)kvi ui)(g3Πi∈{1,…, N-1}\w(v)hi viΠi∈w(v)\w(u)hi ui)ru의 관계를 만족하는, 인덱스 u에 대응하는 제1 주정보 ku를 계산하는 제1 주정보 도출부와,
    상기 생성된 난수 ru를 사용하여, 제2 주정보 gru를 계산하는 제2 주정보 도출부,
    를 포함하는 것을 특징으로 하는 정보 생성 장치.
  8. 제 7 항에 있어서,
    상기 기억부로부터 읽어들인 도출 정보 kvi 및 상기 생성된 난수 ru를 사용하여, kuj=kvjhj ru의 관계를 만족하는 도출 정보 kuj를 집합 w(u)의 각 요소 j∈w(u)마다 계산하는 도출 정보 도출부를 또한 포함하는,
    것을 특징으로 하는 정보 생성 장치.
  9. G, GT를 소수 위수 q의 순회군으로 하고, g를 순회군 G의 생성원으로 하고, 순회군 G에는 gT=e(g,g)가 순회군 GT의 생성원이 되는 것 같은 페어링 함수 e:G×G→GT가 존재하는 것으로 하고, a를 Zp로부터 랜덤으로 선택된 난수로 하고, g와 g1=ga∈G와 순회군 G로부터 랜덤으로 선택된 g2, g3, h1,…, hN-1∈G가 공개키로서 공개되어 있고,
    *를 부정문자로 하고, 인덱스 Y를 Y=(Y1,…, YN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 Y에 대응하는 집합 w(Y)를 w(Y)={i|Yi=*}로 하고,
    rY∈Zq를 난수로 하고, 인덱스 Y에 대응하는 제1 주정보 kY는 kY=g2 a(g3Πi∈{1,…, N-1}\w(Y)hi Yi)rY의 관계를 만족하고, grY를 인덱스 Y에 대응하는 제2 주정보로 하고, 인덱스 Y에 대응하는 도출 정보 kYj는 kYj=hj rY의 관계를 만족하고,
    *를 부정문자로 하고, 인덱스 v를 v=(v1,…, vN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 v에 대응하는 집합 w(v)를 w(v)={i|vi=*}로 하고, 인덱스 u를 u=(u1,…, uN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 u에 대응하는 집합 w(u)를 w(u)={i|ui=*}로 하고, 집합 w(u)⊂집합 w(v)로 하고, vi=ui(i∈{1,…, N-1}\w(v))로 하여,
    난수 ru∈Zq를 생성하는 난수 생성부와,
    상기 제1 주정보 kY인 또는 상기 제1 주정보 kY 및 상기 도출 정보 kYj로부터 도출된 인덱스 v에 대응하는 제1 주정보 kv, 상기 도출 정보 kYj인 또는 상기 도출 정보 kYj로부터 도출된 인덱스 v에 대응하는 도출 정보 kvj를 기억하는 기억부와,
    상기 기억부로부터 읽어들인 제1 주정보 kv 및 상기 도출 정보 kvi를 사용하여, ku=kvi∈w(v)\w(u)kvi ui)(g3Πi∈{1,…, N-1}\w(v)hi viΠi∈w(v)\w(u)hi ui)ru의 관계를 만족하는, 인덱스 u에 대응하는 제1 주정보 ku를 계산하는 제1 주정보 도출부와,
    상기 생성된 난수 ru를 사용하여, 제2 주정보 gru를 계산하는 제2 주정보 도출부,
    를 포함하는 것을 특징으로 하는 정보 생성 장치.
  10. 제 9 항에 있어서,
    상기 기억부로부터 읽어들인 도출 정보 kvi 및 상기 생성된 난수 ru를 사용하여, kuj=kvjhj ru의 관계를 만족하는 도출 정보 kuj를 집합 w(u)의 각 요소 j∈w(u)마다 계산하는 도출 정보 도출부를 또한 포함하는,
    것을 특징으로 하는 정보 생성 장치.
  11. e가 순회군 G1의 N개의 원소 γL(L=1,…, N)(N≥2)과 순회군 G2의 N개의 원소 γL *(L=1,…, N)의 입력에 대하여 순회군 GT의 1개의 원소를 출력하는 비퇴화한 쌍선형 함수이며, bi∈G1 N(i=1,…, N)의 각각이 상기 순회군 G1의 N개의 원소를 요소로 하는 N차원의 기저 벡터이며, bj *∈G2 N(j=1,…, N)의 각각이 상기 순회군 G2의 N개의 원소를 요소로 하는 N차원의 기저 벡터이며, 상기 기저 벡터 bi∈G1 N(i=1,…, N)의 각 요소와 상기 기저 벡터 bj *∈G2 N(j=1,…, N)의 각 요소를 상기 쌍선형 함수 e에 입력하여 얻어지는 함수값이, i=j인 경우에 δ(i, j)=1F가 되고 i≠j인 경우에 δ(i, j)=0F가 되는 크로네커의 델타 함수 δ(i, j)를 사용하여 gT τ·δ(i, j)∈GT로 표현되고, 0F가 유한체 Fq의 가법단위원이며, 1F가 유한체 Fq의 승법단위원이며, τ가 0F를 제외한 유한체 Fq의 원소이며, gT가 상기 순회군 GT의 생성원이며,
    *를 부정문자로 하고, 인덱스 Y를 Y=(Y1,…, YN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 Y에 대응하는 집합 w(Y)를 w(Y)={i|Yi=*}로 하여,
    난수 생성부가 난수 σY∈Zq, 및, 집합 w(Y)의 각 요소 j∈w(Y)에 대응하는 난수 σYj∈Zq를 생성하는 난수 생성 스텝과,
    주정보 생성부가 상기 생성된 난수 σY를 사용하여, kYYΣi∈{1,…, N-1}\w(Y)Yibi *+bN *의 관계를 만족하는 주정보 kY를 계산하는 주정보 생성 스텝과,
    도출 정보 생성부가 상기 생성된 난수 σYj를 사용하여, kYjYjΣi∈{1,…, N-1}\w(Y)Yibi *+bj *의 관계를 만족하는 도출 정보 kYj를 집합 w(Y)의 각 요소 j∈w(Y)마다 계산하는 도출 정보 생성 스텝,
    을 포함하는 것을 특징으로 하는 정보 생성 방법.
  12. G, GT를 소수 위수 q의 순회군으로 하고, g를 순회군 G의 생성원으로 하고, 순회군 G에는 gT=e(g,g)가 순회군 GT의 생성원이 되는 것 같은 페어링 함수 e:G×G→GT가 존재하는 것으로 하고, a를 Zp로부터 랜덤으로 선택된 난수로 하고, g와 g1=ga∈G와 순회군 G로부터 랜덤으로 선택된 g2, g3, h1,…, hN-1∈G가 공개키로서 공개되어 있고,
    *를 부정문자로 하고, 인덱스 Y를 Y=(Y1,…, YN-1)∈I=(Fq∪{*})N-1으로 하고, 인덱스 Y에 대응하는 집합 w(Y)를 w(Y)={i|Yi=*}로 하여,
    난수 생성부가 난수 rY∈Zq를 생성하는 난수 생성 스텝과,
    제1 주정보 생성부가 상기 생성된 난수 rY를 사용하여, kY=g2 a(g3Πi∈{1,…, N-1}\w(Y)hi Yi)rY의 관계를 만족하는 제1 주정보 kY를 계산하는 제1 주정보 생성 스텝과,
    제2 주정보 생성부가 상기 생성된 난수 rY를 사용하여, 제2 주정보 grY를 계산하는 제2 주정보 생성 스텝과,
    도출 정보 생성부가 상기 생성된 난수 rY를 사용하여, kYj=hj rY의 관계를 만족하는 도출 정보 kYj를 집합 w(Y)의 각 요소 j∈w(Y)마다 계산하는 도출 정보 생성 스텝,
    을 포함하는 것을 특징으로 하는 정보 생성 방법.
  13. 제 11 항 또는 제 12 항에 기재된 정보 생성 방법을 수행하도록 하는 프로그램을 기록한 컴퓨터 판독가능 기록 매체.
  14. 삭제
KR1020117023782A 2009-04-24 2010-04-23 정보 생성 장치, 정보 생성 방법, 및 컴퓨터 판독가능 기록 매체 KR101351787B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009106009 2009-04-24
JPJP-P-2009-106009 2009-04-24
PCT/JP2010/057279 WO2010123116A1 (ja) 2009-04-24 2010-04-23 情報生成装置、方法、プログラム及びその記録媒体

Publications (2)

Publication Number Publication Date
KR20110136841A KR20110136841A (ko) 2011-12-21
KR101351787B1 true KR101351787B1 (ko) 2014-01-15

Family

ID=43011230

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117023782A KR101351787B1 (ko) 2009-04-24 2010-04-23 정보 생성 장치, 정보 생성 방법, 및 컴퓨터 판독가능 기록 매체

Country Status (7)

Country Link
US (1) US8619980B2 (ko)
EP (1) EP2424155B1 (ko)
JP (1) JP5256342B2 (ko)
KR (1) KR101351787B1 (ko)
CN (1) CN102396178B (ko)
ES (1) ES2512115T3 (ko)
WO (1) WO2010123116A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD706200S1 (en) 2010-09-22 2014-06-03 Pylon Manufacturing Corporation Windshield wiper cover
US9174609B2 (en) 2011-04-21 2015-11-03 Pylon Manufacturing Corp. Wiper blade with cover
US9457768B2 (en) 2011-04-21 2016-10-04 Pylon Manufacturing Corp. Vortex damping wiper blade
CA2843527C (en) 2011-07-28 2018-11-27 Pylon Manufacturing Corp. Windshield wiper adapter, connector and assembly
US9108595B2 (en) 2011-07-29 2015-08-18 Pylon Manufacturing Corporation Windshield wiper connector
CA2843637C (en) 2011-07-29 2018-12-11 Pylon Manufacturing Corp. Windshield wiper connector
US8806700B2 (en) * 2011-07-29 2014-08-19 Pylon Manufacturing Corporation Wiper blade connector
JP5677273B2 (ja) * 2011-11-18 2015-02-25 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
US20130219649A1 (en) 2012-02-24 2013-08-29 Pylon Manufacturing Corp. Wiper blade
RU2577981C1 (ru) 2012-02-24 2016-03-20 Пилон Мануфэкчуринг Корп. Щетка стеклоочистителя
JP5680007B2 (ja) * 2012-03-06 2015-03-04 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
US10829092B2 (en) 2012-09-24 2020-11-10 Pylon Manufacturing Corp. Wiper blade with modular mounting base
US10166951B2 (en) 2013-03-15 2019-01-01 Pylon Manufacturing Corp. Windshield wiper connector
US9505380B2 (en) 2014-03-07 2016-11-29 Pylon Manufacturing Corp. Windshield wiper connector and assembly
USD787308S1 (en) 2014-10-03 2017-05-23 Pylon Manufacturing Corp. Wiper blade package
USD777079S1 (en) 2014-10-03 2017-01-24 Pylon Manufacturing Corp. Wiper blade frame
WO2017075066A1 (en) 2015-10-26 2017-05-04 Pylon Manufacturing Corp. Wiper blade
US11040705B2 (en) 2016-05-19 2021-06-22 Pylon Manufacturing Corp. Windshield wiper connector
WO2017201485A1 (en) 2016-05-19 2017-11-23 Pylon Manufacturing Corp. Windshield wiper connector
EP3458315B1 (en) 2016-05-19 2021-09-08 Pylon Manufacturing Corp. Windshield wiper blade
AU2017267978A1 (en) 2016-05-19 2018-11-22 Pylon Manufacturing Corp. Windshield wiper connector
US10513246B2 (en) 2016-05-19 2019-12-24 Pylon Manufacturing Corp. Windshield wiper connector
WO2018081791A1 (en) 2016-10-31 2018-05-03 Pylon Manufacturing Corp. Wiper blade with cover
JP2020068437A (ja) * 2018-10-23 2020-04-30 株式会社アメニディ アクセス管理装置、及びプログラム
US11764940B2 (en) 2019-01-10 2023-09-19 Duality Technologies, Inc. Secure search of secret data in a semi-trusted environment using homomorphic encryption
WO2021259933A1 (en) * 2020-06-22 2021-12-30 Forctis Ag System and method for controlling access to tokens

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005521323A (ja) 2002-03-21 2005-07-14 ドコモ コミュニケーションズ ラボラトリーズ ユー・エス・エー インコーポレーティッド 階層型の同一性に基づく暗号化および署名スキーム
WO2008099831A1 (ja) 2007-02-13 2008-08-21 Nec Corporation 鍵生成装置、鍵導出装置、暗号化装置、復号化装置、方法、及び、プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174013B1 (en) * 1998-10-20 2007-02-06 Lucent Technologies Inc. Efficient universal hashing method
WO2001026278A1 (fr) * 1999-10-01 2001-04-12 France Telecom Jeux de cles particuliers destines a prouver l'authenticite d'une entite ou l'integrite d'un message
US20040086117A1 (en) * 2002-06-06 2004-05-06 Petersen Mette Vesterager Methods for improving unpredictability of output of pseudo-random number generators

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005521323A (ja) 2002-03-21 2005-07-14 ドコモ コミュニケーションズ ラボラトリーズ ユー・エス・エー インコーポレーティッド 階層型の同一性に基づく暗号化および署名スキーム
WO2008099831A1 (ja) 2007-02-13 2008-08-21 Nec Corporation 鍵生成装置、鍵導出装置、暗号化装置、復号化装置、方法、及び、プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J. Katz 외 2인, 'Predicate Encryption Supporting Disjunctions, Polynomial Equations and Inner products', Cryptology ePrint Archive, 2008.7.8, Report 2007/404 *

Also Published As

Publication number Publication date
CN102396178B (zh) 2014-12-10
KR20110136841A (ko) 2011-12-21
EP2424155A1 (en) 2012-02-29
US8619980B2 (en) 2013-12-31
US20120027206A1 (en) 2012-02-02
EP2424155B1 (en) 2014-09-03
EP2424155A4 (en) 2012-08-15
JPWO2010123116A1 (ja) 2012-10-25
WO2010123116A1 (ja) 2010-10-28
CN102396178A (zh) 2012-03-28
ES2512115T3 (es) 2014-10-23
JP5256342B2 (ja) 2013-08-07

Similar Documents

Publication Publication Date Title
KR101351787B1 (ko) 정보 생성 장치, 정보 생성 방법, 및 컴퓨터 판독가능 기록 매체
US8515060B2 (en) Encryption apparatus, decryption apparatus, encryption method, decryption method, security method, program, and recording medium
JP5466763B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体
KR101344353B1 (ko) 비밀 분산 시스템, 분산 장치, 분산 관리 장치, 취득 장치, 그들의 처리 방법, 비밀 분산 방법, 및 프로그램을 기록한 기록 매체
KR101606317B1 (ko) 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치
Gu et al. New public key cryptosystems based on non‐Abelian factorization problems
Abdalla et al. Generalized key delegation for wildcarded identity-based and inner-product encryption
Durcheva Semirings as building blocks in cryptography
LaVigne Simple homomorphisms of cocks IBE and applications
Ayoub Key Exchange Protocol Based on MPF and Circulant Matrix over Tropical Algebras
Teseleanu et al. Boneh-Gentry-Hamburg's Identity-based Encryption Schemes Revisited
Jia et al. Cryptanalysis of a key exchange protocol based on commuting matrices
Zhang Fuzzy certificateless identity-based encryption protocol from lattice
Singh FIFE: A Framework for Investigating Functional Encryption
Ren Embedded Surface Attack on Multivariate Public Key Cryptosystems from Diophantine Equation
Barak Hopes, Fears and Software Obfuscation: A Survey

Legal Events

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

Payment date: 20161230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 6