Modern cryptography with proof techniques and implementations. (2021)