Требуется помощь тех, кто соображает в криптографии, т.к. мои познания в теме очень поверхностны.
Задача - сделать алгоритм формирования ключа из passphrase, чтобы он не перебирался слишком просто на ASIC/GPU/FPGA (как например PBKDF2).
Функция такова: Есть фиксированный salt[X] Есть password первый оборот - intermediate[0] = SHA512(salt+password) intermediate[n] = SHA512(intermediate[0] + ... + intermediate[n-1]) (т.е. хешируем все бОльший и больший блок) Т.е. упор на то, что в последующих оборотах используется материал всех предыдущих(чтобы не параллелили), и к концу обьем используемой памяти растет(чтобы не засунули в ASIC/FPGA с быстрой памятью перебирающий в несколько потоков) Конечное вычисление = последний оборот.
Имеет ли право на жизнь такое?
|