https://123dok.net/document/qo5o2x67-simulation-based-secure-functional-encryption-random-oracle-model.html