I'm learning provable security, and I'm a bit confused with the concept of reduction.
So, here's my understanding:
to prove a protocol/scheme/generic construction is at some level of security, there are three components: the scheme itself ---> a security proof ---> the scheme achieves a security property.
The security reduction is used as a way of security proof, meaning a procedure to show that attacking a scheme/protocol/construction $\mathsf{S}$ is at least as difficult as solving the underlying hard problem $\mathsf{P}$. Say $\mathsf{P} \leq \mathsf{S}$. It also means if an adversary can attack the scheme successfully, then there exist a solver can solve the underlying hard problem successfully by using the adversary's attack as a subroutine/black box/oracle.
We also have a tightness gap defined as:
- adversary $\mathcal{A}$ attacks scheme $\mathsf{S}$ with time $\leq T_{\mathcal{A}}$ and advantage (success probability) $\geq \epsilon_{\mathcal{A}}$;
- solver $\mathcal{B}$ solves problem $\mathsf{P}$ with $\leq T_{\mathcal{B}}$ and advantage $\geq \epsilon_{\mathcal{B}}$;
- (informal) tightness gap: $\frac{T_{\mathcal{B}}\cdot \epsilon_{\mathcal{A}}}{T_{\mathcal{A}}\cdot \epsilon_{\mathcal{B}}}$ [1]
My questions are:
There could be other vulnerability in the scheme/protocol/construction, for example, unsafe design of protocol, how can we be sure that the scheme is at least as difficult as the hard problem? Or, if the scheme/protocol has this kind of vulnerability, it should not be considered holding a reduction to the problem, even the scheme does intend to use the problem as its underlying hard problem?
Is there a situation like solving problem $\mathsf{P}$ as a subroutine of breaking scheme $\mathsf{S}$? It looks more reasonable to me, but all I see is the vice versa way.
Why in tightness gap, the definition is with "greater than or equal to" advantage? I mean, greater advantage and longer time both contribute to break the scheme/problem, why time is at most and advantage is at least? Does it have anything to do with average/worst case or computational complexity?
Many thanks in advance!
[1] Chatterjee, S., Menezes, A., Sarkar, P. (2012). Another Look at Tightness. In: Miri, A., Vaudenay, S. (eds) Selected Areas in Cryptography. SAC 2011. Lecture Notes in Computer Science, vol 7118. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28496-0_18