есть ли хеш-функция, которая удовлетворяет следующему - PullRequest
0 голосов
/ 17 декабря 2018

существует ли алгоритм хеширования, который удовлетворяет следующему?

let "hash_funct" be a hashing function that takes two args, and returns a hash value. so all the following will be true

Hash1 = hash_funct(arg1, arg2) <=> hash_funct(Hash1, arg1) = hash_funct(Hash1, arg2) = Hash1;

Может кто-нибудь указать мне на этот алгоритм?или, если он не существует, может ли кто-нибудь сотрудничать со мной, чтобы изобрести его?

подробное объяснение:

представьте набор S={A,B,C,D} и функцию хеширования выше.

если мы можем сделать: Hash1 = hash_funct(A,B,C,D), то мы можем проверить, находится ли элемент X в наборе, проверив результат хеширования hash_funct(Hash1,X) == Hash1 ? belogns to the set : doesn't belong

с этим свойством, которое мы делаем, проверяя существование элементав наборе O (1) вместо O (NlogN) * ​​1021 *

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

То, что вы ищете, это Аккумуляторы .В настоящее время они очень популярны среди цифровых монет @ youtube

из Википедии;

Криптографический аккумулятор - это функция одностороннего членства.Он отвечает на вопрос о том, является ли потенциальный кандидат членом набора, не раскрывая отдельных членов набора.

Например, эта бумага ;

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

с простой схемой на основе аккумуляторов;

  • Запрос: при запросе подтверждениячленства.
  • Проверка: проверьте правильность ответа.
  • Обновления: доступны вставки и удаления

.

0 голосов
/ 17 декабря 2018

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

hcf(a,b) = x.

Это означает a = x*m и b = x*n.Это ясно означает, что:

hcf(x,x*m) = hcf(x,x*n) = hcf(x*n,x*m) = x
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...