СИСТЕМА С ОТКРЫТЫМ/ЗАКРЫТЫМ КЛЮЧОМ С УМЕНЬШЕННЫМ РАЗМЕРОМ ШИФРОВАННОГО СООБЩЕНИЯ

1. Устройство (20) шифрования с открытым ключом, в котором обеспечена возможность конфигурирования второго размера () матрицы (u) второго открытого ключа во время фазы шифрования и содержащее:
- интерфейс связи, выполненный с возможностью обмена данными с устройством (10) дешифрования с закрытым ключом,
- процессор, выполненный с возможностью:
- получения матрицы (b) первого открытого ключа, связанной с устройством дешифрования с закрытым ключом,
- получения размера ключа для ключа (K) передачи,
- формирования ключа (K) передачи в соответствии с размером ключа,
- определения размера матрицы для матрицы (s) второго закрытого ключа для приспособления к маскированию ключа передачи указанного размера ключа путем выбора значения второго размера () матрицы (s) второго закрытого ключа соответствующим образом, причем второй размер () матрицы (s) второго закрытого ключа равен второму размеру () матрицы (u) второго открытого ключа,
- формирования матрицы (s) второго закрытого ключа в соответствии с размером матрицы и вычисления матрицы (u) второго открытого ключа из матрицы (s) второго закрытого ключа,
- вычисления второго необработанного общего ключа (k*) из матрицы (s) второго закрытого ключа и матрицы (b) первого открытого ключа, причем вычисление второго необработанного общего ключа включает умножение матриц между матрицей (s) второго закрытого ключа и матрицей (b) первого открытого ключа,
- маскирования ключа (K) передачи по меньшей мере частично с помощью второго необработанного общего ключа,
- передачи указания размера ключа и/или размера матрицы, матрицы (u) второго открытого ключа и маскированного ключа (c) передачи устройству дешифрования с закрытым ключом.
2. Система, содержащая:
- устройство (20) шифрования с открытым ключом по п. 1 и
- устройство (10) дешифрования с закрытым ключом, содержащее:
- интерфейс связи, выполненный с возможностью обмена данными с устройством (20) шифрования с открытым ключом,
- процессор, выполненный с возможностью:
- формирования матрицы (r) первого закрытого ключа и вычисления матрицы (b) первого открытого ключа из матрицы (r) первого закрытого ключа, и обеспечения возможности передачи матрицы (b) первого открытого ключа устройству шифрования с открытым ключом,
- приема от устройства шифрования с открытым ключом указания размера ключа и/или размера матрицы, матрицы (u) второго открытого ключа, маскированного ключа (c) передачи, причем обеспечена возможность конфигурирования второго размера () матрицы (u) второго открытого ключа на устройстве шифрования с открытым ключом во время фазы шифрования,
- вычисления первого необработанного общего ключа (k’) из матрицы (u) второго открытого ключа и матрицы (r) первого закрытого ключа, причем вычисление первого необработанного общего ключа включает умножение матриц между матрицей (u) второго открытого ключа и матрицей (r) первого закрытого ключа, и
- снятия маски маскированного ключа (c) передачи в зависимости от принятого размера с использованием по меньшей мере части первого необработанного общего ключа (’) для получения ключа передачи.
3. Устройство шифрования с открытым ключом по п. 1, в котором:
- процессор устройства шифрования с открытым ключом выполнен с возможностью осуществления подтверждения установления связи с устройством дешифрования с закрытым ключом, включающего:
- прием от устройства дешифрования с закрытым ключом по меньшей мере двух указаний по меньшей мере двух матриц первого открытого ключа устройства шифрования с открытым ключом, причем две матрицы первого открытого ключа имеют разные размеры,
- выбор матрицы первого открытого ключа путем определения того, содержит ли кэш ключей устройства шифрования с открытым ключом более крупную из двух матриц первого открытого ключа, и если да, то выбор более крупной матрицы первого открытого ключа,
- отправку устройству дешифрования с закрытым ключом указания выбранной матрицы первого открытого ключа путем запроса матрицы первого открытого ключа, если его нет в кэше ключей, причем ключ (K) передачи инкапсулирован с помощью выбранного первого открытого ключа, или
система по п. 2, в которой:
- процессор устройства дешифрования с закрытым ключом выполнен с возможностью осуществления подтверждения установления связи с устройством шифрования с открытым ключом, включающего:
- передачу устройству шифрования с открытым ключом по меньшей мере двух указаний по меньшей мере двух матриц первого открытого ключа устройства шифрования с открытым ключом, причем две матрицы первого открытого ключа имеют разные размеры,
- прием указания выбранной матрицы первого открытого ключа от устройства шифрования с открытым ключом, и в случае приема запроса выбранной матрицы первого открытого ключа, отправку выбранной матрицы первого открытого ключа, причем ключ (K) передачи декапсулирован с помощью выбранного первого открытого ключа.
4. Устройство шифрования с открытым ключом по любому из пп. 1 и 3, в котором:
- матрица (s) второго закрытого ключа имеет меньше элементов матрицы, чем матрица (b) первого открытого ключа, и/или
- матрица (u) второго открытого ключа имеет меньше элементов матрицы, чем матрица (b) первого открытого ключа, и/или
- матрица (u) второго открытого ключа имеет меньше элементов матрицы, чем матрица (r) первого закрытого ключа, или
система по любому из пп. 2 и 3, в которой:
- матрица (s) второго закрытого ключа имеет меньше элементов матрицы, чем матрица (b) первого открытого ключа, и/или
- матрица (u) второго открытого ключа имеет меньше элементов матрицы, чем матрица (b) первого открытого ключа, и/или
- матрица (u) второго открытого ключа имеет меньше элементов матрицы, чем матрица (r) первого закрытого ключа.
5. Устройство шифрования с открытым ключом или система по любому из предыдущих пунктов, в котором или которой:
- матрица (u) второго открытого ключа имеет первый размер, равный размеру системы (), и второй размер (), матрица (b) первого открытого ключа имеет первый размер, равный размеру системы (), и второй размер (), причем второй размер () матрицы (u) второго открытого ключа меньше второго размера () матрицы (b) первого открытого ключа.
6. Устройство шифрования с открытым ключом или система по п. 5, в котором или которой:
- второй размер () матрицы (u) второго открытого ключа составляет не более половины второго размера () матрицы (b) первого открытого ключа, и/или
- в котором второй размер () матрицы (u) второго открытого ключа равен 1.
7. Устройство шифрования с открытым ключом по любому из пп. 1 и 3-6, в котором:
- процессор устройства шифрования с открытым ключом выполнен с возможностью:
- получения открытой матрицы (a), связанной с матрицей (b) первого открытого ключа, и при этом
- вычисление матрицы (u) второго открытого ключа включает шумное умножение матриц между матрицей второго закрытого ключа и открытой матрицей (a), причем обеспечен обмен указанной открытой матрицы между устройством шифрования с открытым ключом и устройством дешифрования с закрытым ключом, или
система по любому из пп. 2-6, в которой:
- процессор устройства дешифрования с закрытым ключом выполнен с возможностью:
- формирования открытой матрицы (a), и при этом
- вычисление матрицы (b) первого открытого ключа включает шумное умножение матриц между матрицей (r) первого закрытого ключа и открытой матрицей (a), причем обеспечен обмен указанной открытой матрицы (a) между устройством шифрования с открытым ключом и устройством дешифрования с закрытым ключом, при этом матрица (b) первого открытого ключа связана с открытой матрицей (a).
8. Устройство шифрования с открытым ключом по п. 7, в котором шумное умножение матриц включает масштабирования из  элементов в  элементов, причем , при этом устройство шифрования с открытым ключом выполнено с возможностью:
- формирования данных (h) согласования по меньшей мере для части второго необработанного общего ключа, причем данные согласования содержат информацию, позволяющую уменьшать отличия между первым и вторым необработанными ключами, выведенными на устройстве шифрования с открытым ключом и устройстве дешифрования с закрытым ключом, и передачи данных (h) согласования устройству дешифрования с закрытым ключом,
- формирования битов четности для ключа передачи, причем ключ передачи и биты четности образуют кодовое слово в соответствии с кодом с исправлением ошибок, причем маскировка ключа передачи включает инкапсуляцию кодового слова,
или
система по п. 7,
в которой устройство дешифрования с закрытым ключом выполнено с возможностью:
- приема данных (h) согласования по меньшей мере для части первого необработанного общего ключа (k), причем данные согласования содержат информацию, позволяющую уменьшать отличия между первым и вторым необработанными ключами, выведенными на устройстве шифрования с открытым ключом, применения функции согласования по меньшей мере к части первого необработанного общего ключа и данных согласования, и
- снятия маски маскированного ключа (c) передачи для получения почти кодового слова, применения исправления ошибок в соответствии с кодом с исправлением ошибок.
9. Устройство шифрования с открытым ключом по любому из пп. 1, 3-8, в котором:
- процессор устройства шифрования с открытым ключом выполнен с возможностью выведения конечного ключа на основе по меньшей мере ключа передачи, шифрования сообщения с помощью конечного ключа и передачи упомянутого зашифрованного сообщения устройству дешифрования с закрытым ключом, или
система по любому из пп. 2-8, в которой:
- процессор устройства дешифрования с закрытым ключом выполнен с возможностью приема зашифрованного сообщения от устройства шифрования с открытым ключом, вывода конечного ключа на основе по меньшей мере ключа передачи и дешифрования зашифрованного сообщения с помощью конечного ключа.
10. Устройство шифрования с открытым ключом или система по любому из предыдущих пунктов, в котором или которой ключ передачи является случайным, и/или эфемерным, и/или симметричным, и/или зависимым от матрицы (b) первого открытого ключа.
11. Устройство шифрования с открытым ключом по любому из пп. 1 и 3-10, в котором:
- процессор устройства шифрования с открытым ключом выполнен с возможностью вычисления вспомогательных данных для уменьшения частоты ошибок при получении ключа передачи на устройстве дешифрования с закрытым ключом, или
система по любому из пп. 2-10, в которой:
- процессор устройства дешифрования с закрытым ключом выполнен с возможностью приема вспомогательных данных от устройства шифрования с открытым ключом и применения вспомогательных данных для уменьшения частоты ошибок при получении ключа передачи на устройстве дешифрования с закрытым ключом.
12. Устройство шифрования с открытым ключом по любому из пп. 1 и 3-11, в котором:
- второй необработанный ключ представляет собой матрицу, маскирующую ключ (K) передачи, включая добавление битов ключа передачи в старшую значащую часть по меньшей мере части элементов матрицы второго необработанного ключа и отбрасывание нулевых или младших значащих битов по меньшей мере части элементов матрицы второго необработанного ключа, или
система по любому из пп. 2-11, в которой:
- первый необработанный ключ является матрицей, причем снятие маски маскированного ключа передачи включает отбрасывание нулевых или младших значащих битов по меньшей мере части элементов матрицы первого необработанного ключа, вычитание по меньшей мере части элементов матрицы первого необработанного ключа из инкапсулированных данных и округление результата вычитания.
13. Устройство шифрования с открытым ключом по любому из пп. 1 и 3-12, в котором:
- процессор устройства шифрования с открытым ключом выполнен с возможностью вывода матрицы второго закрытого ключа из ключа передачи, или
система по любому из пп. 2-12, в которой:
- процессор устройства дешифрования с закрытым ключом выполнен с возможностью восстановления матрицы второго закрытого ключа из ключа передачи и проверки вычисления второго открытого ключа и/или вычисления инкапсулированного ключа передачи.
14. Устройство шифрования с открытым ключом по любому из пп. 1 и 3-13, в котором:
- процессор устройства шифрования с открытым ключом выполнен с возможностью получения матрицы первого открытого ключа из базы данных открытых ключей, и/или
система по любому из пп. 2-13, в которой:
- процессор устройства дешифрования с закрытым ключом выполнен с возможностью помещения на хранение матрицы первого открытого ключа в базу данных открытых ключей.
15. Устройство шифрования с открытым ключом или система по любому из предыдущих пунктов, в котором или которой:
- первый и второй открытые ключи, первый и второй закрытые ключи и первый и второй необработанные ключи являются матрицами над конечным полем или кольцом.
16. Способ (400) шифрования с открытым ключом, включающий конфигурирование второго размера () матрицы (u) второго открытого ключа во время фазы шифрования, и включающий:
- установление (410) связи с устройством дешифрования с закрытым ключом,
- получение (420) матрицы (b) первого открытого ключа, связанной с устройством дешифрования с закрытым ключом,
- получение размера ключа для ключа (K) передачи,
- формирование (430) ключа (K) передачи в соответствии с размером ключа,
- определение размера матрицы для матрицы (s) второго закрытого ключа для приспособления к маскированию ключа передачи указанного размера ключа путем выбора значения второго размера () матрицы (s) второго закрытого ключа соответствующим образом, причем второй размер () матрицы (s) второго закрытого ключа равен второму размеру () матрицы (u) второго открытого ключа,
- формирование (440) матрицы (s) второго закрытого ключа в соответствии с размером матрицы и вычисления матрицы (u) второго открытого ключа из матрицы (s) второго закрытого ключа,
- вычисление (450) второго необработанного общего ключа (k*) из матрицы (s) второго закрытого ключа и матрицы (b) первого открытого ключа, причем вычисление второго необработанного общего ключа включает умножение матриц между матрицей (s) второго закрытого ключа и матрицей (b) первого открытого ключа,
- маскирование (460) ключа (K) передачи по меньшей мере частично с помощью второго необработанного общего ключа,
- передачу (470) указания размера ключа и/или размера матрицы, матрицы (u) второго открытого ключа и маскированного ключа передачи устройству дешифрования с закрытым ключом.
17. Криптографический способ, включающий способ (400) шифрования с открытым ключом по п. 16 и способ (500) дешифрования с закрытым ключом, причем способ (500) дешифрования с закрытым ключом включает:
- установление (510) связи с устройством шифрования с открытым ключом,
- формирование (520) матрицы (r) первого закрытого ключа и вычисления матрицы (b) первого открытого ключа из матрицы (r) первого закрытого ключа, и обеспечение возможности передачи матрицы (b) первого открытого ключа устройству шифрования с открытым ключом,
- прием (530) от устройства шифрования с открытым ключом указания размера ключа и/или размера матрицы, матрицы (u) второго открытого ключа, маскированного ключа (c) передачи, причем обеспечена возможность конфигурирования второго размера () матрицы (u) второго открытого ключа на устройстве шифрования с открытым ключом во время фазы шифрования,
- вычисление (540) первого необработанного общего ключа (k’) из матрицы (u) второго открытого ключа и матрицы (r) первого закрытого ключа, причем вычисление первого необработанного общего ключа включает умножение матриц между матрицей (u) второго открытого ключа и матрицей (r) первого закрытого ключа,
- снятия (550) маски маскированного ключа (c) передачи в зависимости от принятого размера с использованием по меньшей мере части первого необработанного общего ключа (’) для получения ключа передачи.
18. Кратковременный или некратковременный компьютерочитаемый носитель (1000) информации, содержащий данные (1020), представляющие инструкции, выполнение которых процессорной системой приводит к осуществлению ею способа по п. 16 или 17.