[oss-gost-crypto] Расшифровка S/MIME

Dmitry Eremin-Solenikov dbaryshkov at gmail.com
Fri Sep 13 13:13:33 MSK 2019


пт, 13 сент. 2019 г. в 12:45, Paul Wolneykien <manowar at altlinux.org>:
> 13.09.2019 00:53, Dmitry Eremin-Solenikov пишет:
> > пт, 13 сент. 2019 г. в 00:05, Paul Wolneykien <manowar at altlinux.org>:
> >>
> >> ...
> >>
> >>   Прикол в том, что нормально расшифровываются только первые 1024 байта.
> >> А потом явно ошибки. И вот насколько я помню из описания ГОСТ-28147, его
> >> как раз нужно как-то переинициализировать по прошествии 1024 байтов. И
> >> похоже, что Libgcrypt этого или не делает, или я не умею его готовить.
> >
> > Да, у меня не был дописан CryptoPro meshing для gost. Если нужен, давай обсудим
> > интерфейс и я его протолкну Вернеру.
>
>   Может быть ты и gpgsm заодно протолкнёшь? :-)

Если он будет нормально сделан, почему бы и нет. Я в свое время
засыпался на том,
что не удавалось нормально доделать libksba. На github.com/GostCrypt
должны и патчики
лежать для gpgsm с libksba.

>   Интерфейс, я думаю, такой же как для установки S-box:
>
>     gcry_cipher_ctl (hd, GCRYCTL_SET_KEYMESHING, buf, len)

Да, это логично. Но в этот момент все становится весело.
Потому что hd — это gost28147 + cfb. И мешинг должен идти в cfb.

У меня альтернативное предложение: сделать GCRY_CIPHER_MODE_CFB_MESH.
Вопрос, уложится ли это у тебя в gpgsm? Должно уложиться, если поправить
oids_gost28147 в cipher/gost28147.c.

Отдельный вопрос: тебе IMIT и CNT нужны или нет?

> допустим. В OpenSSL тоже через gost_cipher_ctl() сделано, с аналогичным
> интерфейсом. В качестве аргумента *buf тоже, наверное, какая-то
> константа, вроде ..._CRYPTOPRO_KEYMESHING. Не знаю только, куда её в
> Libgcrypt засунуть: в enum или в define и в какой раздел?

Учитывая, что 28147 медленно, но верно должен начать уходить, я бы не особо
морочился на эту тему. Это бы имело смысл, если бы были еще keymeshing.
Но их пока нет. А ACPKM проще тоже отдельной модой вводить.

-- 
With best wishes
Dmitry


More information about the oss-gost-crypto mailing list