ПРОТОКОЛЫ ИНКАПСУЛЯЦИИ КЛЮЧЕЙ

1. Второе криптографическое устройство (20), содержащее
интерфейс связи, выполненный с возможностью обмена данными с первым криптографическим устройством (10),
процессор, выполненный с возможностью:
приема первого открытого ключа (b) для первого криптографического устройства от первого криптографического устройства, причем первый открытый ключ (b) сформирован из сформированного кратковременно первого закрытого ключа,
формирования второго закрытого ключа (s), кодового слова в соответствии с кодом с исправлением ошибок по меньшей мере частично случайным образом и формирования второго открытого ключа (u) из второго закрытого ключа (s), причем кодовое слово сформировано независимо от первого открытого ключа, второго закрытого ключа и второго открытого ключа,
формирования второго необработанного общего ключа (k*) из первого открытого ключа (b) и второго закрытого ключа (s), при этом
первый и второй открытые ключи, второй закрытый ключ и второй необработанный общий ключ являются матрицей над конечным полем или кольцом, причем второй открытый ключ получен из второго закрытого ключа путем умножения с внесением шума на общую матрицу (a),
инкапсуляции кодового слова с использованием второго необработанного общего ключа путем применения функции инкапсуляции с получением инкапсулированных данных (c),
вывода общего криптографического ключа из по меньшей мере данных (K), закодированных в кодовом слове,
передачи второго открытого ключа (u) и инкапсулированных данных (c) первому устройству.
2. Второе криптографическое устройство по п. 1, в котором процессор выполнен с возможностью получения кодового слова путем получения данных для инкапсуляции и формирования битов четности для данных инкапсуляции, причем кодовое слово получено путем объединения данных для инкапсуляции и битов четности.
3. Первое криптографическое устройство (10), содержащее
интерфейс связи, выполненный с возможностью обмена данными со вторым криптографическим устройством (20),
процессор, выполненный с возможностью:
формирования кратковременно первого закрытого ключа (r) для формирования общего ключа, вывода первого открытого ключа (b) из первого закрытого ключа и передачи первого открытого ключа (b) второму устройству,
приема от второго устройства второго открытого ключа (u) и инкапсулированных данных (c),
формирования первого необработанного общего ключа (k') из второго открытого ключа (u) и первого закрытого ключа (r), при этом
первый и второй открытые ключи, первый закрытый ключ и необработанный ключ являются матрицей над конечным полем или кольцом, причем первый открытый ключ получен из первого закрытого ключа путем умножения с внесением шума на общую матрицу (a),
декапсуляции инкапсулированных данных (c) при помощи первого необработанного общего ключа с получением почти кодового слова независимо от первого закрытого ключа, первого открытого ключа и второго открытого ключа,
применения функции исправления ошибок к почти кодовому слову с получением кодового слова и
вывода общего криптографического ключа из по меньшей мере данных (K), закодированных в кодовом слове.
4. Первое криптографическое устройство по п. 3, в котором процессор выполнен с возможностью вывода из кодового слова данных (K), которые закодированы в кодовом слове.
5. Первое или второе криптографическое устройство по любому из предыдущих пунктов, сконфигурированное для протокола шифрования с открытым ключом, в котором
сообщение () закодировано в кодовом слове, или
сообщение () зашифровано общим симметричным ключом, выведенным по меньшей мере из данных (K), закодированных в кодовом слове, причем зашифрованное сообщение отправляют вместе со вторым открытым ключом (u) со второго устройства первому устройству.
6. Первое или второе криптографическое устройство по любому из предыдущих пунктов, в котором необработанный общий ключ получен умножением принятого открытого ключа на закрытый ключ.
7. Первое или второе устройство по любому из предыдущих пунктов, в котором данные согласования получены по меньшей мере из множества коэффициентов необработанного ключа, причем данные согласования получены, отправлены, приняты и/или применены для меньшего, чем все, количества коэффициентов необработанного ключа.
8. Второе устройство по любому из предыдущих пунктов, в котором процессор второго устройства выполнен с возможностью
применения функции надежных битов ко второму необработанному общему ключу с получением надежных индексов, указывающих коэффициенты необработанного общего ключа, и надежных битов, выведенных из указанных коэффициентов,
формирования данных согласования для указанных коэффициентов необработанного общего ключа, причем данные согласования содержат информацию, позволяющую уменьшить различия между первым и вторым необработанными ключами, выведенными на первом и втором устройстве,
причем инкапсуляция кодового слова использует надежные биты, и
передачи данных согласования и надежных индексов первому устройству.
9. Первое устройство по любому из предыдущих пунктов, в котором процессор первого устройства выполнен с возможностью
приема от второго устройства данных согласования и надежных индексов,
применения данных согласования в функции согласования к коэффициентам в первом необработанном общем ключе, указанном надежными индексами, с получением надежных битов,
причем декапсуляция инкапсулированных данных использует надежные биты.
10. Первое устройство по п. 9, в котором надежные биты являются одним или более старшими значащими битами указанных коэффициентов, данные согласования для указанных коэффициентов являются одним или более битами указанных коэффициентов, следующими за надежными битами по значимости, при этом обеспечена возможность отбрасывания одного или более младших значащих битов указанных коэффициентов.
11. Первое устройство по п. 9 или 10, в котором процессор выполнен с возможностью выбора коэффициентов в необработанном ключе, указанном надежными индексами, замены выбранных коэффициентов измененными коэффициентами, согласующимися с соответствующими данными согласования и минимизирующими расстояние Ли между выбранными коэффициентами и измененными коэффициентами, с получением надежных битов в виде одного или более старших значащих битов измененных коэффициентов.
12. Первое устройство по п. 11, в котором процессор выполнен с возможностью определения измененных коэффициентов, согласующихся с соответствующими данными согласования, которые не были отброшены первым устройством, и которые минимизируют расстояние Ли между выбранным коэффициентом и измененным коэффициентом.
13. Криптографический способ (400) совместного использования кодового слова, включающий
обмен (410) данными с первым криптографическим устройством (10),
прием (420) первого открытого ключа (b) для первого криптографического устройства от первого криптографического устройства, причем первый открытый ключ (b) формируют из сформированного кратковременно первого закрытого ключа,
формирование (430) второго закрытого ключа (s) и формирование второго открытого ключа (u) из второго закрытого ключа (s),
формирование (440) кодового слова в соответствии с кодом с исправлением ошибок по меньшей мере частично случайным образом, причем кодовое слово формируют независимо от первого открытого ключа, второго закрытого ключа и второго открытого ключа, и
формирование (450) второго необработанного общего ключа (k*) из первого открытого ключа (b) и второго закрытого ключа (s), при этом
первый и второй открытые ключи, второй закрытый ключ и второй необработанный общий ключ являются матрицей над конечным полем или кольцом, причем второй открытый ключ получают из второго закрытого ключа путем умножения с внесением шума на общую матрицу (a),
инкапсуляцию (480) кодового слова с использованием второго необработанного общего ключа путем применения функции инкапсуляции с получением инкапсулированных данных (c),
вывод общего криптографического ключа из по меньшей мере данных (K), закодированных в кодовом слове,
передачу (490) второго открытого ключа (u) и инкапсулированных данных (c) первому устройству.
14. Криптографический способ (500) совместного использования кодового слова, включающий
обмен (510) данными со вторым криптографическим устройством (20),
формирование кратковременно первого закрытого ключа (r) для формирования общего ключа, вывод первого открытого ключа (b) из первого закрытого ключа и передачу первого открытого ключа (b) второму устройству,
прием (530) от второго устройства второго открытого ключа (u) и инкапсулированных данных (c),
формирование (540) первого необработанного общего ключа (k') из второго открытого ключа (u) и первого закрытого ключа (r), при этом
первый и второй открытые ключи, первый закрытый ключ и необработанный ключ являются матрицей над конечным полем или кольцом, причем первый открытый ключ получают из первого закрытого ключа путем умножения с внесением шума на общую матрицу (a),
декапсуляцию (560) инкапсулированных данных (c) при помощи первого необработанного общего ключа с получением почти кодового слова независимо от первого закрытого ключа, первого открытого ключа и второго открытого ключа,
применение (570) функции исправления ошибок к почти кодовому слову с получением кодового слова и
вывод общего криптографического ключа из по меньшей мере данных (K), закодированных в кодовом слове.
15. Компьютерочитаемый носитель (1000), содержащий кратковременные и некратковременные данные (1020), представляющие инструкции, выполнение которых процессорной системой приводит к осуществлению ею способа по п. 13 или 14.