The classical objective of obfuscation considers indistinguishability of the obtained code in relation to original programs of equal functionality. The present paper reviews another objective of obfuscation, when indistinguishability is considered relatively to programs of different functionality. In this case, an obfuscator is provided with a key at the input. It is nearly impossible to discover the program's functionality without having the key. Hence, that obfuscator type is named a key obfuscator. The paper proves existence of a key obfuscator and existence of effective algorithms for its operation demonstrated by recursive functions. The practical relevance of the result obtained by the research is the possibility to store an executable code in an untrusted computational environment and to obstruct injection attacks and distributed computing analysis. RKB-Obfuscator (Recursive Key Blur), an application for obfuscating high-level applications is presented. The presented application matches recursive functions with commands of a high-level programming language.