Size: a a a

2019 December 16

CD

Constantine Drozdov in Infernal Math
и убивать murmur хеши, которые в x64 gcc, наверняка и на длине 15 получится
но это очень и очень г*ройно, а готовых реализаций я не видел
источник

AS

Andrew Spiridonov in Infernal Math
хорошо, скажи, пожалуйста, где про это почитать
источник

AS

Andrew Spiridonov in Infernal Math
пусть гемор, но в этом задача состоит
источник

CD

Constantine Drozdov in Infernal Math
Andrew Spiridonov
хорошо, скажи, пожалуйста, где про это почитать
1. Открываешь исходники целевой платформы
2. Читаешь реализацию хешей строк
источник

AS

Andrew Spiridonov in Infernal Math
так, потом?
источник

AS

Andrew Spiridonov in Infernal Math
как, зная имплементацию, сгенерировать нужный набор строк, которые дадут коллизию?
источник

CD

Constantine Drozdov in Infernal Math
Если это все еще murmur, преобразование первого 8-слова не должно создавать проблем для масштабной на 100к генерации коллизий
источник

AS

Andrew Spiridonov in Infernal Math
поподробнее, пжл, я совсем из другого бэкграунда :(
источник

AS

Andrew Spiridonov in Infernal Math
murmur погуглил, вроде он, целевая платформа linux + g++-7
источник

AS

Andrew Spiridonov in Infernal Math
"преобразование первого 8-слова не должно создавать проблем для масштабной на 100к генерации коллизий" — вот этого пока не понял
источник

AS

Andrew Spiridonov in Infernal Math
какое преобразование?
источник

CD

Constantine Drozdov in Infernal Math
источник

CD

Constantine Drozdov in Infernal Math
вот здесь разбирается как это семейство ломается
источник

CD

Constantine Drozdov in Infernal Math
Andrew Spiridonov
посоветуйте, как взломать c++ unordered_set на time limit?
генератор инициализируется посекундным сидом, время на сервере достоверно не известно, но оно монотонное
    std::mt19937 gen(time(nullptr));
   std::uniform_int_distribution<int> dist(30000, 1000000);
   size_t init_size = dist(gen);
   std::unordered_set<string> users(init_size);

   auto string_list = GetStrings( n: 15000);

   for (const auto& string : string_list) {
       users.insert(string);
   }

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

CD

Constantine Drozdov in Infernal Math
а не в ошибке в GetStrings?
источник

CD

Constantine Drozdov in Infernal Math
я смутно припоминаю такое задание откуда-то
источник

CD

Constantine Drozdov in Infernal Math
Andrew Spiridonov
посоветуйте, как взломать c++ unordered_set на time limit?
генератор инициализируется посекундным сидом, время на сервере достоверно не известно, но оно монотонное
    std::mt19937 gen(time(nullptr));
   std::uniform_int_distribution<int> dist(30000, 1000000);
   size_t init_size = dist(gen);
   std::unordered_set<string> users(init_size);

   auto string_list = GetStrings( n: 15000);

   for (const auto& string : string_list) {
       users.insert(string);
   }

то есть мне нужно попасть в инициализацию минимальным размером и накидать строк с коллизиями, подскажите, пжл
покажите GetStrings в общем
источник

AS

Andrew Spiridonov in Infernal Math
во-первых, спасибо, это круто
источник

AS

Andrew Spiridonov in Infernal Math
во вторых вот гист
источник

AS

Andrew Spiridonov in Infernal Math
источник