towards(efficient(proofs(of( retrievability( - nus computingchangec/publications/2012_asiaccs... ·...
TRANSCRIPT
Towards(Efficient(Proofs(of(Retrievability(
Ee#Chien(Chang(School(of(Compu3ng(
Na3onal(University(of(Singapore(
Jia(Xu(Ins3tute(for(Infocomm(Research(
Singapore(
Problem:(POR/PDP((Alice(wants(to(periodically(verify(the(integrity(of(a(large(file(stored(in(a(server(Bob.((
(((((((Performance(– Storage(overhead(– Communica3on(bits(per(verifica3on(– Computa(on*cost*per*verifica(on*– Setup*Cost**
Oct(1,(2010(
Alice( Bob(
large(file(M(and(associated(tag(T(
secret(key(
Our(contribu=ons(
Shacham(and(Waters((Asiacrypt(08)(gave(a(scheme(with((
O((s"λ")((comm(bits(and((overhead(of((((1/s)((file(size,(where(λ((is(a(security(parameter.(((We(improved(the(scheme(to((O((λ")((((comm(bits((and((overhead(of(((((1/s)((file(size.((
Oct(1,(2010(
Authen=cator(F(Setup(
Oct(1,(2010(
m1( m2( m5( m6(m3( m4(
• Given(the(data,(organized(in(blocks.(• Apply(error(erasure(code(on(the(data.(• For(each(block,(compute(an(authen3ca3on(tag((mac)(
using(Alice’s(secret(key.(• Bob(stores(the(encoded(data(and(the(tags.(• Alice(only(keeps(her(secret(key.(
Oct(1,(2010(
Authen=cator(F(Setup(
m1( m2( m5( m6(m3( m4( a1( a2( a3(
• Given(the(data,(organized(in(blocks.(• Apply(error(erasure(code(on(the(data.(• For(each(block,(compute(an(authen3ca3on(tag((mac)(
using(Alice’s(secret(key.(• Bob(stores(the(encoded(data(and(the(tags.(• Alice(only(keeps(her(secret(key.(
Authen=cator(F(Setup(
Oct(1,(2010(
m1( m2( m5( m6(m3( m4( a1( a2( a3(
t1( t2( t5( t6(t3( t4( t7( t8( t9(
• Given(the(data,(organized(in(blocks.(• Apply(error(erasure(code(on(the(data.(• For(each(block,(compute(an(authen3ca3on(tag((mac)(
using(Alice’s(secret(key.(• Bob(stores(the(encoded(data(and(the(tags.(• Alice(only(keeps(her(secret(key.(
Authen=cator(F(Setup(
Oct(1,(2010(
m1( m2( m5( m6(m3( m4( a1( a2( a3(
t1( t2( t5( t6(t3( t4( t7( t8( t9(
• Given(the(data,(organized(in(blocks.(• Apply(error(erasure(code(on(the(data.(• For(each(block,(compute(an(authen3ca3on(tag((mac)(
using(Alice’s(secret(key.(• Bob(stores(the(encoded(data(and(the(tags.(• Alice(only(keeps(her(secret(key.(
Authen=cator(–(Challenge/response(Challenge:((Alice(sends(indices(of(blocks(to(be(inspected(
Oct(1,(2010(
m1( m2( m5( m6(m3( m4( a1( a2( a3(
t1( t2( t5( t6(t3( t4( t7( t8( t9(
Response:(( (Bob(sends(the(blocks((messages(&(tags)(Verify: ( ( (Alice(verifies(that(the(tags(are(valid((Security((If(data(stored(in(Bob’s(storage(is(beyond(reconstruc3on,(the(probability(of(a(message((randomly(chosen(block(has(invalid(tag(is(more(than(1/3(in(the(above(example.(
SW(schemeFSetup(
Oct(1,(2010(
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
• ( (Choose(an(appropriate(field(Zp(• ( (The(dataset(is(organized(as(vectors(of(s(elements((s=3(in(
(the(above(e.g).(• ( (For(ease(of(comparison,(let(us(ignore(the(step(of(using(
(erasure(code(as(in(the(Authen3cator.(
• ((
SW(schemeFSetup(
Oct(1,(2010(
• ((Alice(computes(a(tag(for(each(vector.(((• ((Alice(keeps(the(((((((((and(• ((Bob(keeps(tag((((((((and(dataset((
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
ri
mi,j
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
ri
mi,j
ti
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
=( =( =( =(
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
ri
mi,j
ti
si
�1, �2, �3, �4
⇥
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
r0 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r1 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r2 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
r mi,j
ti
si
�1, �2, �3, �4
⇥
+(
+(
+(
+(
+(
+(
+(
+(
+( +( +( +(
SW(schemeFSetup(
Oct(1,(2010(
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
=( =( =( =(
+( +( +( +(
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
r0 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r1 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r2 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
fm1( )
fm2( )
fm3( )
r mi,j
ti
si
�1, �2, �3, �4
⇥
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
r0 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r1 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r2 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
fm1( )
fm2( )
fm3( )
r mi,j
ti
si
�1, �2, �3, �4
⇥
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
r0 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r1 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r2 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
fm1( )
fm2( )
fm3( )
r mi,j
ti
si
�1, �2, �3, �4
⇥
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
r0 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r1 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r2 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
fm1( )
fm2( )
fm3( )
fm4( )
r mi,j
ti
si
�1, �2, �3, �4
⇥
SW(schemeFChallenge(
Oct(1,(2010(
• ((((Alice(sends(
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1
µ2
µ3
ri
mi,j
ti
�1, �2, �3, �4
⇥
SW(schemeFResponse(
Oct(1,(2010(
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
=(+( +( +(
=(+( +( +(
Bob(sends(((((((((((((and(((
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 v2 v3 v4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1
µ2
µ3
ri
mi,j
ti
⇥
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
ri
mi,j
ti
�1, �2, �3, �4
⇥
SW(schemeFVerify(
• Note(that((((((((((((((((((((((((((((((((((((((((((((((333333(1)(
• Verify(whether(the(response(is(consistent(with((1)(
(
Oct(1,(2010(
⇧ = gfw̄(�)
r mi,j ti si �
⇥1, ⇥2, ⇥3, ⇥4
⇤
y = fµ̄(r)
fµ̄(x)� fµ̄(r) = (x� r)fw̄(x)
gfµ̄(�)�fµ̄(r) = g(��r)fw̄(�)
⇤ = ⌅(fµ̄(�) + ⇥s̄, ⇥̄⇤)
⇤ = fµ̄(r) + ⇥s̄, ⇥̄⇤
Remarks(on(Performance(• Reduc3on(of(communica3on(bits(required(to(indicate(which(vectors(are(to(be(used(in(the(challenge(– Random(oracle(– Dodis(et(al([13]((
• The(challenge(can(be(replaced(by((((((((((((((((((((((((((and(thus(reduce(the(number(of(communica3on(bits.((
(• The(secret(si((can(be(generated(by(a(pseudorandom(func3on,(and(thus(reduce(the(size(of(keys.(
Oct(1,(2010(
⇧ = gfw̄(�)
r mi,j ti si �
⇥1, ⇥2, ⇥3, ⇥4
⇤
y = fµ̄(r)
fµ̄(x)� fµ̄(r) = (x� r)fw̄(x)
gfµ̄(�)�fµ̄(r) = g(��r)fw̄(�)
⇤ = ⌅(fµ̄(�) + ⇥s̄, ⇥̄⇤)
⇤ = fµ̄(r) + ⇥s̄, ⇥̄⇤
1, ⇥, ⇥2, ⇥3
Our(Goal(
Note(that(the(response(contains(a(vector(
Oct(1,(2010(
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
=(+( +( +(
=(+( +( +(
Our(goal(is(to(aggregate(elements(in(the(vector,(and(thus(reduce(the(communica3on(bits.(
Main(idea(
Using(the(fact:(((
*For*any*polynomial*f(x)**and*scalar*r,***(x3r)**divides*the*polynomial***f(x)*–*f(r)(
*
Kate(et(al([22](exploited(the(above(to(obtain(constant(size(polynomial(commitment(scheme.(
Oct(1,(2010(
Setup(
Oct(1,(2010(
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
=( =( =( =(+(
+(
+(
+(
+(
+(
+(
+(
+( +( +( +(
Setup(
Oct(1,(2010(
Alice(keeps((((((Bob(keeps(
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
ri
mi,j
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
ri
mi,j
ti
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
=( =( =( =(
+( +( +( +(
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
r0 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r1 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r2 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
fm1( )
fm2( )
fm3( )
r mi,j
ti
si
�1, �2, �3, �4
⇥
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
r0 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r1 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r2 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
fm1( )
fm2( )
fm3( )
r mi,j
ti
si
�1, �2, �3, �4
⇥
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
r0 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r1 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r2 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
fm1( )
fm2( )
fm3( )
r mi,j
ti
si
�1, �2, �3, �4
⇥
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
r0 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r1 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r2 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
fm1( )
fm2( )
fm3( )
fm4( )
r mi,j
ti
si
�1, �2, �3, �4
⇥
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
⇥ r0 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +⇥ r1 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +⇥ r2 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
fm1( )
fm2( )
fm3( )
fm4( )
g, g�, g�2
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
⇥ r0 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +⇥ r1 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +⇥ r2 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
fm1( )
fm2( )
fm3( )
fm4( )
g, g�, g�2
Challenge(
Oct(1,(2010(
• (( (Alice(sends((((((((((((((((((((((((((((((((and(a(***r(
• (( (Similarly,(for(the(purpose(of(illustra3on,(let’s(ignore(the((selec3on(of(vectors(and( (consider(all(vectors.(
((
Response((
Oct(1,(2010(
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4= = = =
r1 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +r2 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +r3 ·m3,1 r3 ·m3,2 r3 ·m3,3
=+ + +
=+ + +
Bob(divides((((((((((((((((((((((((((((((((by((((((((((((((((to(obtain(
⌅ = gfw̄(�)
r mi,j ti si �
⇥1, ⇥2, ⇥3, ⇥4
⇤
fµ̄(x)(x� r)fw̄(x)
⌅ = gfw̄(�)
r mi,j ti si �
⇥1, ⇥2, ⇥3, ⇥4
⇤
fµ̄(x)(x� r)fw̄(x)
Together(with((((((((((((((((((,(Bob(can(compute(⌅ = gfw̄(�)
r mi,j ti si �
⇥1, ⇥2, ⇥3, ⇥4
⇤
O⇣e(1+o(1))
plnn ln lnn
⌘
O⇣e(1+o(1))
p2 ln p ln ln p
⌘
O⇣e(1.92+o(1))(lnn)1/3(ln lnn)2/3
⌘
s1 s2 s3 s4m1,1 m1,2 m1,3 m1,4
m2,1 m2,2 m2,3 m2,4
m3,1 m3,2 m3,3 m3,4
t1 t2 t3 t4�1 �2 �3 �4= = = =
⇥ r0 ·m1,1 r1 ·m1,2 r1 ·m1,3 r1 ·m1,4
+ + + +⇥ r1 ·m2,1 r2 ·m2,2 r2 ·m2,3
+ + + +⇥ r2 ·m3,1 r3 ·m3,2 r3 ·m3,3
µ1, µ2, µ3
µ1
µ2
µ3
fm1( )
fm2( )
fm3( )
fm4( )
g, g�, g�2
⌅ = gfw̄(�)
r mi,j ti si �
⇥1, ⇥2, ⇥3, ⇥4
⇤
y = fµ̄(r)
fµ̄(x)� fµ̄(r) (x� r)fw̄(x)
Verify(
Oct(1,(2010(
Note(that(
⇧ = gfw̄(�)
r mi,j ti si �
⇥1, ⇥2, ⇥3, ⇥4
⇤
y = fµ̄(r)
fµ̄(x)� fµ̄(r) = (x� r)fw̄(x)
gfµ̄(x)�fµ̄(r) = g(x�r)fw̄(x)
⇤ = ⌅(fµ̄(�) + ⇥s̄, ⇥̄⇤)
⇧ = gfw̄(�)
r mi,j ti si �
⇥1, ⇥2, ⇥3, ⇥4
⇤
y = fµ̄(r)
fµ̄(x)� fµ̄(r) = (x� r)fw̄(x)
gfµ̄(�)�fµ̄(r) = g(��r)fw̄(�)
⇤ = ⌅(fµ̄(�) + ⇥s̄, ⇥̄⇤)
#######(1)(
#######(2)(
Alice(verifies(the(consistency(of(the(responses(with((1)(&((2)(
The(response(consists(of((
Remarks((
• The(si**can(be(generated(using(a(PRF((pseudorandom(func3on).(
• Known(methods(on(SW(to(reduce(challenge(size(can(be(similarly(applied.(
((((
Oct(1,(2010(
((Theorem((The*proposed*scheme*is*complete*and*sound*POR*scheme,*assuming*Strong*Diffie*Hellman*(SDH)*holds*and*the*PRF*is*secure.*
(
Oct(1,(2010(