IP Library Granted Patent US 10,122,530
Granted Patent B2
US 10,122,530 · App. 14/897,361 · Granted Nov 6, 2018

Method and system for delegating calculation of a bilinear pairing value to a calculation server

Inventors: Sébastien Canard (Caen, FR); Julien Devigne (Caen, FR); Olivier Sanders (Caen, FR)
Assignee: ORANGE
H04L9/0869G06F7/588H04L9/3073H04L2209/24H04L2209/76
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,122,530
App. No.
14/897,361
Granted
Nov 6, 2018
Kind
B2
Abstract

One embodiment relates to a method for enabling an entity to delegate calculation of a bilinear pairing value e(A,B) between two values A and B to a calculation server. The entity may select public elements P 1 and P 2 and secret elements S 1 and S 2 , two of the elements from among P 1 , P 2 , S 1 , and S 2 being selected to be equal to A and B, generate elements R 1 =vS 1 , R 2 =uS 2 , T 1 =uP 1 +S 1 , T 2 =vP 2 =S 2 , where u and v are random numbers, and transmit R 1 , R 2 , T 1 , and T 2 to the calculation server. The server may calculate (a 1 ) y =e(T 1 ,T 2 )[e(R 1 ,P 2 )e(P 1 ,R 2 )] −1 , and (a 2 ) z =e(D 1 ,D 2 ), y and z designating two integers equal to 1 or to an integer c , D 1 and D 2 designating two public elements from among A and B or from among R 1 and R 2 and transmit a 1 and a 2 to the entity. The entity may obtain the value e(A,B) from a 1 or a 2.

Claims (82)

1. A delegation method enabling an entity to delegate calculation of a bilinear pairing value e(A,B) between two values A and B to a calculation server, said delegation method comprising:

selecting, by said entity, two public elements P 1 and P 2 and two elements S 1 and S 2 that said entity keeps secret, two of the elements P 1 , P 2 , S 1 , and S 2 being selected from among the values A and B respectively;

generating, by said entity, four elements:

R 1= vS 1

R 2= uS 2

T 1= uP 1+ S 1, and

T 2= vP 2+ S 2

where u and v designate random numbers;

transmitting, by said entity, said elements R 1 , R 2 , T 1 , and T 2 to said calculation server;

calculation, by said calculation server, of two values a 1 and a 2 satisfying:

( a 1) y =e ( T 1, T 2)[ e ( R 1, P 2) e ( P 1, R 2)] −1 , and

( a 2) z =e ( D 1, D 2)

y and z designating two predetermined integers, each of said integers being equal to 1 or to a predetermined integer c , and D 1 and D 2 designating two public elements selected from among the values A and B or the elements R 1 and R 2 ;

transmitting, by said calculation server, the values a 1 and a 2 to said entity; and

obtaining, by said entity, said pairing value e(A,B) from the value a 1 or from the value a 2 .

2. The delegation method of claim 1 , further comprising verifying the validity of the extracted pairing value e(A,B) by using an equality relating the values a 1 and a 2 , the random numbers u and v, and an element S that is kept secret by said entity.

3. The delegation method of claim 2 , wherein the element S and the random numbers u and v are independent of the values A and B.

4. The delegation method of claim 2 , wherein the element S is such that S y =e(S 1 ,S 2 ) or equal to e(uP 1 ,vP 2 ).

5. An obtaining method enabling an entity to obtaining a bilinear pairing value e(A,B) between two values A and B from a value calculated by a calculation server, said obtaining method comprising:

selecting two public elements P 1 and P 2 and two elements S 1 and S 2 that said entity keeps secret, two of the elements P 1 , P 2 , S 1 , and S 2 being selected from among the values A and B respectively;

generating four elements:

R 1= vS 1

R 2= uS 2

T 1= uP 1+ S 1, and

T 2= vP 2+ S 2

where u and v designate random numbers;

transmitting said elements R 1 , R 2 , T 1 , and T 2 to said calculation server;

receiving two values a 1 and a 2 calculated by said calculation and satisfying:

( a 1) y =e ( T 1, T 2)[ e ( R 1, P 2) e ( P 1, R 2)] −1 , and

( a 2) z =e ( D 1, D 2)

y and z designating two predetermined integers, each of said integers being equal to 1 or to a predetermined integer c , and D 1 and D 2 designating two public elements selected from among the values A and B or the elements R 1 and R 2 ; and

obtaining said pairing value e(A,B) from the value a 1 or from the value a 2 .

6. A transmission method performed by a calculation server, said transmission method comprising:

receiving from an entity four elements R 1 , R 2 , T 1 , and T 2 ;

calculating two values a 1 and a 2 satisfying:

( a 1) y =e ( T 1, T 2)[ e ( R 1, P 2) e ( P 1, R 2)] −1 , and

( a 2) z =e ( D 1, D 2)

wherein e(A,B) designates a bilinear pairing between two values A and B, P 1 and P 2 designate two public elements, y and z designate two predetermined integers, each of said integers being equal to 1 or to a predetermined integer c , and D 1 and D 2 designate two public elements selected from among two values A and B or from among the elements R 1 and R 2 ; and

transmitting the values a 1 to a 2 to said entity to enable the entity to obtain the bilinear pairing value e(A,B) between the two values A and B.

7. The delegation method of claim 1 , wherein the predetermined integers y and z satisfy:

z=c+ 1− y.

8. The delegation method of claim 1 , wherein the values A and B are kept secret by said entity, and wherein:

S 1 =A, S 2 =B , and

y= 1 , z=c or y=z= 1.

9. The delegation method of claim 1 , wherein the values A and B are public values, and wherein:

P 1 =A, P 2 =B , and

y=c, z= 1 or y=z= 1.

10. A computer having stored thereon a program comprising instructions for executing the obtaining method according to claim 5 when said program is executed by said computer.

11. A non-transitory computer readable data medium having stored thereon a computer program comprising instructions for executing the obtaining method according to claim 5 .

12. An entity configured to obtain a bilinear pairing value e(A,B) between two values A and B from a value calculated by a calculation server, said entity comprising:

a selector configured to select two public elements P 1 and P 2 and two elements S 1 and S 2 that said entity keeps secret, two of the elements P 1 , P 2 , S 1 , and S 2 being selected from among the values A and B respectively;

a generator configured to generate four elements:

R 1= vS 1

R 2= uS 2

T 1= uP 1+ S 1, and

T 2= vP 2+ S 2

where u and v designate random numbers;

a transmitter configured to transmit said elements R 1 , R 2 , T 1 , and T 2 to said calculation server;

a receiver configured to receive two values a 1 and a 2 calculated by said calculation server and satisfying:

( a 1) y =e ( T 1, T 2)[ e ( R 1, P 2) e ( P 1, R 2)] −1 , and

( a 2) z =e ( D 1, D 2)

y and z designating two predetermined integers, each of said integers being equal to 1 or to a predetermined integer c, and D 1 and D 2 designating two public elements selected from among the values A and B or the elements R 1 and R 2 ; and

an obtainer configured to obtain said pairing value e(A,B) from the value a 1 or from the value a 2 .

13. A calculation server comprising:

a receiver configured to receive from an entity four elements R 1 , R 2 , T 1 , and T 2 ;

a calculator configured to calculate two values a 1 and a 2 satisfying:

( a 1) y =e ( T 1, T 2)[ e ( R 1, P 2) e ( P 1, R 2)] −1 , and

( a 2) z =e ( D 1, D 2)

e designating a bilinear pairing, P 1 and P 2 designating two public elements, y and z designating two predetermined integers, each of said integers being equal to 1 or to a predetermined integer c , and D 1 and D 2 designating two public elements selected from among the values A and B or from among the elements R 1 and R 2 ; and

a transmitter configured to transmit the values a 1 to a 2 to said entity.

14. A system comprising:

an entity according to claim 12 ; and

a calculation server, said calculation server comprising:

a receiver configured to receive from an entity-four elements R 1 , R 2 , T 1 , and T 2 ;

a calculator configured to calculate two values a 1 and a 2 satisfying:

( a 1) y =e ( T 1, T 2)[ e ( R 1, P 2) e ( P 1, R 2)] −1 , and

( a 2) z =e ( D 1, D 2)

e designating a bilinear pairing, P 1 and P 2 designating two public elements, y and z designating two predetermined integers, each of said integers being equal to 1 or to a predetermined integer c, and D 1 and D 2 designating two public elements selected from among the values A and B or from among the elements R 1 and R 2 ; and

a transmitter configured to transmit the values a 1 to a 2 to said entity;

wherein said entity is configured to delegate to said calculation server a calculation of a bilinear pairing value e(A,B) between two values A and B.

15. A computer having stored thereon a program comprising instructions for executing the transmission method according to claim 6 when said program is executed by said computer.

16. A non-transitory computer readable data medium having stored thereon a computer program comprising instructions for executing the transmission method according to claim 6 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2016
From: CANARD, SÉBASTIEN; DEVIGNE, JULIEN; SANDERS, OLIVIER
To: ORANGE
Reel/Frame 037779/0818 →
Priority Claims (1)
FR 13 55373 · Jun 11, 2013 · national
Continuity (1)
Related Publication 20160142206A1 · May 19, 2016