Вы должны сохранять информацию в нескольких местах, чтобы минимизировать вероятность того, что опытный пользователь сможет ее найти (например, с помощью Process Monitor). Я бы предложил
- ключ реестра в HKCU и
- скрытый файл в локальном каталоге приложения.
Также сохраните некоторую информацию, которая привязана к локальному компьютеру, поэтому даже , если средний пользователь обнаружит, что копирование вашего файла и записи реестра не удастся, потому что они не знают, как получить обновленные данные на новом ПК. Эта информация также может быть ключом, сгенерированным вами на основе некоторого идентификатора оборудования, который пользователь должен вам отправить.
Относительно алгоритма генерации ключей: если защита «против» обычного пользователя, тогда просто придумайте что-нибудь. Этот зависит немного от вашей целевой группы. Простого, такого как ROT47 может быть достаточно.