]> Sergey Matveev's repositories - stargrave-blog.git/commit
OCB и GCM в OpenPGP
authorSergey Matveev <stargrave@stargrave.org>
Wed, 8 Jun 2022 07:36:45 +0000 (10:36 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Wed, 8 Jun 2022 07:36:45 +0000 (10:36 +0300)
commitff984ae8de23837f0c650097b779807e10f2ebaf
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent4ef882986a5bc1d5aec680458bf06c8128403788
OCB и GCM в OpenPGP

https://www.cs.ucdavis.edu/~rogaway/ocb/ocb-faq.htm
https://en.wikipedia.org/wiki/EAX_mode
https://en.wikipedia.org/wiki/Galois/Counter_Mode
В рассылке OpenPGP подняли тему про AEAD шифры в OpenPGP. На данный
момент в черновике (и в GnuPG реализации) упоминаются только EAX и OCB.
OCB известен давно, но имел "проблемы" с патентами: просто так его
использовать было нельзя, только если речь не про свободное GPL ПО.
Но в 2021-ом году патенты закончились и использование никак не
возбраняется. EAX оставался в стандарте только и только по причине если
кто-то не сможет использовать OCB.

EAX, как минимум, требует два прохода шифрования, что не дёшево.
OCB в 2-6 раз быстрее чем CCM или GCM. GCM прям очень не любят и вообще
не включали в стандарт. Сейчас думают об этом, только и только ради того
чтобы можно было бы пройти хоть какую-то NIST сертификацию. Но отмечают
что если бы всё следовало только NIST, то криптография была бы как в
каменном веке, ужасно медленная и безопасная только при очень аккуратном
использовании.

В GnuPG OCB я вовсю использую и поражаюсь его быстродействию. Грубо
говоря, требуется всего лишь один дополнительный вызов функции блочного
шифрования, независимо от размера сообщения, плюс по три 128-бит XOR-а
на блок (что, можно считать, почти бесплатно).