А что именно Ваше приложение должно делать с этими данными ?
Если осуществляется просто передача, хранение, упорядочивание контейнеров без вникания в их суть - Вам подойдет оперирование зашифрованными контейнерами, например, с помощью неизвлекаемого ключа, хранящегося на USB-брелоке.
Но если разрабатываемая программа должна понимать семантику данных, т.е. обрабатывать их в полном смысле этого слова, то о какой защите может идти речь ? У разработчика всегда остается возможность внести в код закладку, копирующую данные в тот момент, когда они расшифрованы. Криптографы очень много времени уделяют решению этой задачи, т.н.
гомоморфному шифрованию. Но результаты сейчас пока далеки от применимости на практике.