In this paper of J. Baron, et al. (PDF), simulator always aborts the ideal functionality before client outputs its pattern-matching result obtained from the ideal functionality. (See bottom of page 30, and top of page 33)
My questions are:
- Why should simulator always abort?
- While simulator always abort, is it possible for adversary to distinguish between ideal and real worlds? Since, in ideal world simulator always abort and client will never output anything.