Program obfuscation is a compiler that transfers a program into an unintelligible form while preserving the original functionality. Secure obfuscation for several particular function families has been raised out despite the general impossibility result presented by Barak et al. Re-encryption function is a useful primitive, which transforms ciphertexts for one party into ciphertexts under another party's public key. Hohenberger et al. constructed a special re-encryption function and securely obfuscated it in TCC'07, and the security is based on classical hardness assumption. In this paper, we construct a new re-encryption function and securely obfuscate it based on the standard learning with error (LWE) assumption. LWE is proved to be reducible to standard lattice problems, which are conjectured immune to quantum cryptanalysis or 'post-quantum'. Besides, we discuss about the relations between these two cryptographic primitives in detail: proxy re-encryption and obfuscation for re-encryption functions. Lattice-based obfuscation for re-encryption functions mail server, with the obfuscated program, can transform the emails, while it obtains nothing about Alice's secret key. The security of Hohenberger et al. construction is based on the classical decisional linear assumption. Our Work. Our work mainly contains two parts: Security Comm. Networks 2015; 8:1648-1658