Как ограничить алгоритм шифрации по сроку действия сертификата

Как всем бы нам хотелось ограничить срок использования сертификата физически, прописать прямо в алгоритме шифрации.

Но вот незадача время понятие выдуманное человеком (абстракция) и алгоритмы шифрации не понимают, что такое дата и время. Для них это просто какие-то данные.

А ведь это бы решило много проблем, связанных с защитой программного обеспечения.

Не знаю хорошо вообще это или плохо заставлять платить за ПО. Когда ты продаешь это хорошо, когда тебе - это уже вдруг плохо.

Может показаться, что срок действия сертификата как-то поможет нам в этом. Но на самом деле срок действия это дополнительная инфа по открытой части сертификата как и все остальные опции открытого сертификата типа кто выдал, кому выдал и т.д. Это просто какие-то данные.

Конечно поле срок не выкинешь из сертификата, но и на алгоритм шифрации оно не влияет.

То есть вы можете шифровать/расшифровывать данные прекрасно и после действия сертификата.

С другой стороны если срок действия чего-то нельзя использовать в алгоритме шифрации, то может можно учитывать количество преобразований.

Например можно ли как-то ограничить цепочку блоков информации (количество блоков), где каждый последующий связан с предыдущим. Похоже это тоже нельзя технически никак.

Имеется ввиду никак - это без тупого условия  if qty>456, то стоп машина. И опять же это действует за пределами алгоритма шифраци, где-то в вашей программе и количество тоже храниться и инкрементируется где-то вне алгоритма шифрации.

Внутри алгоритма шифрации есть данные на входе и есть как-то изменённые данные на выходе.

Время здесь ни причем, оно не может запретить или повлиять на качество  преобразования.

Так же и количество преобразований никак не влияет на качество (на результат).

Таким образом выводы не утешительные.  Если речь идёт об одной среде (один ПК, одна ОС, одна программа), то чтобы вы не шифровали/дешифровали в этой среде, алгоритм условно неизвестен, пока вы его не захотели узнать.

Алгоритм статичен и не изменяется со временем или с количеством его использования.

Другое дело если  среды использования две и между ними ещё какая-то третья и надо передать зашифрованную информацию между первой средой и второй, чтобы в третье среде ничего было не понятно. Это другой вопрос и он решается.

Поэтому если хотите защитить ваш софт реализуете его на своём сервере в интернете, а пользователю отдавайте только морду.

И соответственно если вы готовы, чтобы ваша программа работала И без интернета, то ломанут ее от нечего делать. К этому просто надо быть готовым.

Вопрос конечно в том, что целесообразно это кому-то или нет.

Но если ее взломают, то ваш другой вариант программы вряд-ли кому-то станет нужен. Только если не потребуется дополнительно новый функционал.

Вопрос целесообразности взлома не только в цене программы, но и в массовости продаж. То есть массовость, тоже имеет значение. И получается если ваша программа редко кому-то нужна, то и ломать ее не будут.

Тут есть один интересный плюс, связанный с конкурентами ваших программ, им ломать вашу программу не логично, так как они себе же портят жизнь.