An Obfuscated Implementation of RC4
Because of its simplicity, ease of implementation, and speed, RC4 is one of the most widely used software oriented stream ciphers. It is used in several popular protocols such as SSL and it has also been integrated into many applications and software such as Microsoft Windows, Lotus Notes, Oracle Secure SQL and Skype.
In this paper, we present an obfuscated implementation for RC4. In addition to investigating different practical obfuscation techniques that are suitable for the cipher structure, we also perform a comparison between the performance of these different techniques. Our implementation provides a high degree of robustness against attacks from execution environments where the adversary has access to the software implementation such as in digital right management applications.
KeywordsFunction Pointer Stream Cipher Index Pointer Digital Right Management Program Size
Unable to display preview. Download preview PDF.
- 1.Menezes, A., van Oorschot, P.C., Vanstone, S.A.: Handbook of Applied Cryptography. CRC Press (1996)Google Scholar
- 4.STUNNIX. C++ Obfuscator - Obfuscate C and C++ Code, http://www.stunnix.com/prod/cxxo/overview.shtml (accessed September 2011)
- 5.UPX: the Ultimate Packer for EXecutables, http://upx.sourceforge.net/ (accessed September 2011)
- 6.SecuriTeam. SecuriTeam - Shiva, ELF Encryption Tool, http://www.securiteam.com/tools/5XP041FA0U.html (accessed September 2011)
- 7.Collberg, C.S., Nagra, J.: Surreptitious Software: Obfuscation, Watermarking and Tamperproofing for Software Protection. Addison-Wesley (2010)Google Scholar
- 8.Bergeron, J., Debbabi, M., Desharnais, J., Erhioui, M., Lavoie, Y., Tawbi, N.: Static detection of malicious code in executable programs. Int. J. of Req. Eng. (2001)Google Scholar
- 9.Wang, C., Hill, J., Knight, J., Davidson, J.: Software Tamper Resistance: Obstructing Static Analysis of Programs. Technical Report CS-2000-12. Univ. of Virginia (2000)Google Scholar
- 10.Reddit: the Front Page of the Internet. Skype’s Obfuscated RC4 Algorithm Was Leaked, so Its Discoverers Open Code for Review: Technology, http://www.reddit.com/r/technology/comments/cn4gn/skypes_obfuscated_rc4_algorithm_was_leaked_so_its/ (accessed September 2011)
- 11.Biondi, P., Desclau, F.: Silver Needle in the Skype, http://www.secdev.org/conf/skype_BHEU06.pdf (accessed September 2011)
- 12.Ogiso, T., Sakabe, Y., Soshi, M., Miyaji, A.: Software obfuscation on a theoretical basis and its implementation. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences E86-A, 176–186 (2003)Google Scholar
- 13.Collberg, C.S., Thomborson, C., Low, D.: A taxonomy of obfuscating transformations. Technical Report 148, Department of Computer Science. University of Auckland (1997)Google Scholar
- 14.Zhu, W., Thomborson, C.D., Wang, F.-Y.: Obfuscate arrays by homomorphic functions. In: GrC, pp. 770–773 (2006)Google Scholar
- 15.Collberg, C.S., Thomborson, C.D., Low, D.: Manufacturing Cheap, Resilient and Stealthy Opaque Constructs. In: POPL, pp. 184–196 (1998)Google Scholar
- 16.Park, J.-Y., Yi, O., Choi, J.-S.: Methods for practical whitebox cryptography. In: 2010 International Conference on Information and Communication Technology Convergence (ICTC), pp. 474–479 (November 2010)Google Scholar
- 17.Link, H.E., Neumann, W.D.: Clarifying obfuscation: Improving the security of white-box encoding, cryptology eprint archive. In: Proceedings of the International Conference on Information Technology: Coding and Computing (ITCC 2005), vol. I (2005)Google Scholar