В общем, такая вещь невозможна. Если программа может расшифровать данные без дальнейшего взаимодействия, она должна обладать ключом.
Таким образом, даже с использованием подписанной метки времени вы не сможете предотвратить перепроектирование вашей программы, взятие ключа и расшифровку.
РЕДАКТИРОВАТЬ: Хотя вы, по крайней мере, теоретически могли бы реализовать нечто подобное косвенно, требуя решения сложной вычислительной задачи для получения ключа (который в среднем занимает год!), Но в лучшем случае это ненадежно (быстрее / медленнее оборудования) и, конечно, не найдет признание среди ваших пользователей / клиентов. Будьте готовы получать письма с ненавистью, если вы это сделаете: -)