https://123dok.net/document/y6e96nl7-provable-security-and-indifferentiability.html