levgeni дал довольно хороший ответ; есть несколько моментов, которые я подумал, что мог бы добавить:
Сейчас я пытаюсь разработать более безопасный алгоритм смены ключа, чтобы заменить широко используемый DH.
Во-первых, вполне вероятно, что ваш новый "алгоритм обмена ключами" слаб. Я говорю это не только из-за подлости [1], но и исходя из истории предложенных криптографических алгоритмов (включая обмен ключами) — большинство из них оказались слабыми, и особенно это касается конструкций, созданных криптографическими новички. И даже когда опытный криптограф предлагает новую систему, он никогда не будет утверждать, что она безопасна [2] — мы всегда говорим, что она нуждается в проверке.
Другая проблема заключается в том, что мы все равно собираемся заменить (или дополнить) DH (и ECDH). Причина этого в надвигающейся угрозе криптографически релевантных квантовых компьютеров — если кто-то сможет построить один, он сможет сломать DH и ECDH. И хотя мы не верим, что сейчас у кого-то он есть, он может появиться через 10 или 20 лет — и как только у кого-то он появится, они могут вернуться и начать ломать записанные сеансы (включая обмен DH/ECDH) — следовательно, мы сейчас работаем над этой проблемой.
Так что, если только ваш алгоритм не является квантово-устойчивым, то есть не может быть взломан даже злоумышленником с квантовым компьютером, ну маловероятно, что кто-то обратит на него внимание, даже если вы сможете показать, что он защищен от противников только с обычными компьютерами. компьютеры. И один из способов увидеть, что алгоритм не является квантово-устойчивым, — это рассмотреть противника с «Волшебным ящиком», который может факторизовать и вычислять дискретные журналы — если такой злоумышленник может сломать вашу систему, то вы не обладаете квантовой устойчивостью. Конечно. , это не происходит наоборот — то, что ваш алгоритм невосприимчив к атакам факторинга и вычисления дискретных журналов, не означает, что он устойчив к квантовым вычислениям — квантовые компьютеры могут делать и другие вещи.
Однако я могу только доказать, что мой алгоритм более безопасен. логически, что означает, что я могу доказать это только из рассуждение скорее, чем математический перспектива.
Вы имеете в виду, что у вас есть аргумент правдоподобия, что ваш алгоритм безопасен. Аргумент правдоподобия лучше, чем ничего; однако это не намного лучше.Ожидается математическое доказательство...
Поэтому мне интересно, существует ли стандартизированная процедура, которую я могу использовать для оценки своей работы.
Как сказал Левгени, стандартный способ — определить «сложную проблему» (или, возможно, несколько сложных проблем), а затем сгенерировать доказательство того, что если вы можете нарушить обмен ключами [3], то он сможет решить сложную проблему [4]. . Сделав это, вы можете попытаться оценить, насколько сложна ваша «сложная задача» (и является ли она более сложной, чем сложная задача, на которой основан DH, которая может быть проблемой CDH или DDH).
Если вы этого не сделаете, будет крайне сложно заставить кого-либо серьезно отнестись к вашей работе.
Конечно, даже если вы сделали это (и да, это большая работа), это все равно будет тяжелой борьбой — вам все равно нужно, чтобы криптоаналитики посмотрели на это. Если у вас все записано, вы можете поместить это в eprint (и тогда оно будет там); вы также можете отправить его на конференцию (если это новый и постквантовый, PQC https://pqcrypto.org/conferences.html может быть вашим лучшим выбором) - даже если статья не будет принята, отзывы, которые вы получите, могут быть поучительными.
[1]: Ну, это не единственная причина...
[2]: Единственным исключением будет случай, когда у него на руках будет доказательство того, что силу системы можно свести к принятой сложной проблеме. Однако даже в этих случаях он, скорее всего, порекомендует кому-нибудь тщательно изучить доказательство...
[3]: В идеале взлом означает, что «если вы можете дать злоумышленнику обмениваемые общие ключи и предполагаемый «общий секрет», у него есть преимущество в том, что он различает, является ли этот «общий секрет» фактическим значением или случайным значением. из подходящего случайного распределения"
[4]: Обратите внимание на порядок — сломать вашу систему означает решить сложную проблему. Я видел статьи, которые пытались пойти в другом направлении — «если вы можете решить эту сложную проблему, вы можете сломать мою систему» — на самом деле это ничего не показывает.