Может кто-нибудь объяснить мне Ciphersweet слепое планирование индекса? - PullRequest
1 голос
/ 11 апреля 2020

Я прочитал документацию об этом, но могу понять, что понимаю. В примере, который они дали по этой ссылке: Ссылка на страницу

они сказали: Домен ввода - это набор всех возможных различных входных данных.

Например: календарные годы состоящий из 4-х git целых чисел (2019) имеет входную область 10000 возможных значений. Бревно (основание 2) 10000 - 13,2877; Вы хотели бы всегда округлять (так что 14).

Выходной размер - это количество бит (не байтов) слепого индекса.

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

вот дополнительный код Соммы

use ParagonIE\CipherSweet\Planner\FieldIndexPlanner;
$planner = new FieldIndexPlanner();
$planner->setEstimatedPopulation(50000);
$recommended = $planner->recommend(14);
var_dump($recommended);
$field->addBlindIndex(
    new BlindIndex('birth_year_idx', [], 8, true)
);
// 8 is the output size (in bits) we decided previously
// 14 because log_2(10000) is larger than 13 but smaller than 14
$planner->addExistingIndex('birth_year_idx', 8, 14);

Я не совсем понимаю, можете ли вы помочь я?

...