Size: a a a

2020 April 15

v

vient in #ctfchat
irdkwmnsb
стоп а разве?
там не сравниваются сначала предпосчитанные хеши?
источник

v

vient in #ctfchat
которые hash(s) возвращает
источник

v

vient in #ctfchat
vient
там не сравниваются сначала предпосчитанные хеши?
источник

i

irdkwmnsb in #ctfchat
memcmp быстрее чем for x,y in zip(a, b):
источник

v

vient in #ctfchat
ну и это тоже
источник

v

vient in #ctfchat
но их код обладает одним преимуществом
источник

v

vient in #ctfchat
он работает одинаковое время для любых строк
источник

i

irdkwmnsb in #ctfchat
да, давайте делать флаги на 4 кбайта
источник

i

irdkwmnsb in #ctfchat
vient
он работает одинаковое время для любых строк
ну, == тоже же
источник

i

irdkwmnsb in #ctfchat
он же сначала длинны сравнивает
источник

v

vient in #ctfchat
irdkwmnsb
ну, == тоже же
мб они не знали, что для неравных строк == за 1 работает?
источник

v

vient in #ctfchat
тем более это зависит от реализации
источник

v

vient in #ctfchat
так что моё единственное предположение, что это они так митигируют атаку измерения времени сравнения
источник

i

irdkwmnsb in #ctfchat
Тогда простого сравнения длинн в начале было бы достаточно
источник

i

irdkwmnsb in #ctfchat
Ну максимум можно будет получить длинну флага
источник

v

vient in #ctfchat
нет
источник

i

irdkwmnsb in #ctfchat
vient
так что моё единственное предположение, что это они так митигируют атаку измерения времени сравнения
хм
источник

v

vient in #ctfchat
как в крипте используют сравнения, которые гарантированно весь буфер сравнят
источник

i

irdkwmnsb in #ctfchat
vient
как в крипте используют сравнения, которые гарантированно весь буфер сравнят
очень неоправданно
источник

v

vient in #ctfchat
да, но больше я не могу придумать никакой причины писать такое
источник