Yao's garbled circuit protocol for two-party computation only provided security against passive adversaries.
[5] One of the first general solutions for achieving security against active adversary was introduced by Goldreich, Micali and Wigderson[6] by applying Zero-Knowledge Proof to enforce semi-honest behavior.
[7] This approach was known to be impractical for years due to high complexity overheads.
However, significant improvements have been made toward applying this method in 2PC and Abascal, Faghihi Sereshgi, Hazay, Yuval Ishai and Venkitasubramaniam gave the first efficient protocol based on this approach.
[8] Another type of 2PC protocols that are secure against active adversaries were proposed by Yehuda Lindell and Benny Pinkas,[9] Ishai, Manoj Prabhakaran and Amit Sahai[10] and Jesper Buus Nielsen and Claudio Orlandi.
[11] Another solution for this problem, that explicitly works with committed input was proposed by Stanisław Jarecki and Vitaly Shmatikov.
A two-party computation protocol is secure if for all adversaries there exists a successful simulator.