← All posts tagged crypto

dr-Chaos

В продолжение #2513200.
А для hackage.haskell.org генератора код из gist.github.com работает как ожидается.
Посмотрел я на реализацию Crypto.PubKey.DSA.sign — она использует, в итоге, withRandomBytes, а она, в свою очередь, cprgGenerate.
Собственно отсюда следует, что не стоит полагаться на реализацию SystenRNG, т.е. лучше вернуть IORef с генератором.

dr-Chaos

Господа гляньте плз код gist.github.com . Если расскомментить 14 строку и закоментить 13-ю вывод не измениться. Кажется ли это вам нормальным?
Собственно есть библитека Crypto.Random hackage.haskell.org замечательного параноика Vincent Hanquez . Он её запилил на замену своей же Crypto.Random.API . С предыдущей версией я просто хранил глобально IORef на какой-то системный инстанс CPRG и в ус не дул, просто подменял при использовании старый генератор на новый. Сейчас же появился EnthropyPool который держит байтстринг и MVar с текущей позицией в нём и каждый раз при вызове генератора обновляет этот MVar. При таком раскладе можно просто хранить глобальный EnthropyPool . Это здорово, но меня как-то напрягает смена подхода без смены интерфейса. Нафига тогда генератор возвращать?
ЗЫ Винсенту я уже написал, он пока молчит. Хочется знать ваше мнение.

dr-Chaos

Захотел тут подгенерить себе соли. Нашёл аж 2 Crypto.Random и Crypto.Random.API , для того чтоб взять десяток другой случайных байт. И думаю может ну его нафиг, Tibel в hashable берёт всё тупо из /dev/urandom и System.Entropy мой выбор?