Способ криптографического расчета, криптографическая система и компьютерная программа
Изобретение относится к области криптографии. Технический результат заключается в уменьшении времени расчета скалярного умножения в криптографии на основе гиперэллиптической кривой (КГЭК). Сущность изобретения заключается в том, что быстрое скалярное умножение достигается путем выполнения операций расчета, включающих в себя разделение пополам, в качестве обработки расчета скалярного умножения в отношении делителя D в криптографии на основе гиперэллиптической кривой. Например, операции расчета, включающие в себя разделение пополам, выполняют при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров h(x)=x2+x+h0, f4=0, гиперэллиптической кривой рода 2 в характеристике 2 имеющей в качестве параметров h(x)=x2+h1x+h0, f4=0, или гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметра h(x)=x. Кроме того, пониженная сложность и более быстрый расчет реализуются путем применения таблицы, в которой записано, который из k1, k1', (k0, k0') является правильным, на основе рассчитанного значения [1/2iD] относительно фиксированного делителя D, и благодаря уменьшению количества операций инверсии. 3 н. и 14 з.п. ф-лы, 8 ил.
Текст описания приведен в факсимильном виде.
1. Способ криптографической обработки, предназначенный для
выполнения криптографической обработки на основе криптографии на основе гиперэллиптической кривой, содержащий:
этап ввода данных, предназначенных для обработки,
этап генерирования базовой точки, на котором генерируют делитель D как базовую точку,
этап поиска по таблице, состоящий в поиске в таблице, в которой записано, какой из множителей скалярного произведения k1, k1', (k0, k0') является правильным, на основе рассчитанного значения [1/2iD] в отношении делителя D, фиксированного заранее,
этап расчета, состоящий в выполнении операций расчета, включающих в себя разделение пополам, в качестве обработки расчета при расчете скалярного умножения в отношении делителя D на гиперэллиптической кривой и в котором сложность разделения пополам уменьшают путем обработки на основе поиска по таблице, и
этап использования полученного значения для шифрования данных.
2. Способ криптографической обработки по п.1, в котором:
этап расчета представляет собой этап выполнения операций расчета, включающий в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей случайный параметр.
3. Способ криптографической обработки по п.1, в котором:
этап расчета представляет собой этап выполнения операций расчета, включающий в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров h(x)=x2+x+h0, f4=0, где х, h0, f4 - параметры кривой.
4. Способ криптографической обработки по п.1, в котором:
этап расчета представляет собой этап выполнения операций расчета, включающих в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров h(x)=x2+h1x+h0, f4=0, где х, h1, h0, f4 - параметры кривой.
5. Способ криптографической обработки по п.1, в котором:
этап расчета представляет собой этап выполнения операций расчета, включающий в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметра h(x)=x, где х - параметр кривой.
6. Способ криптографической обработки по п.1, в котором:
этап расчета включает в себя этап расчета инверсного значения 1/k1 путем обработки умножения и суммирования без выполнения инверсии, применяя следующее выражение отношения:
l/k1=h2+k1u21,
которое получено из алгоритма расчета разделения пополам, в котором:
вход D2=(U2, V2) и
выход D1=(U1, V1)=[1/2] D2,
где D1 представляет собой делитель, равный формальной сумме точек кривой, и D2 представляет собой делитель, определенный как скалярное произведение kD1, U1(x)=x2+ui1x+ui0, Vi(x)=Vi1x+vi0, наибольший общий делитель gcd(h, Ui)=1, i=1, 2.
7. Способ криптографической обработки по п.1, в котором:
способ криптографической обработки выполняет расчет в соответствии с алгоритмом, который установлен так, что в нем не используется l/u21 в качестве входного значения в алгоритме расчета разделения пополам, в котором:
вход D2=(U2, V2) и
выход D1=(U1, V1)=[1/2] D2,
где D1 представляет собой делитель, равный формальной сумме точек кривой, и D2 представляет собой делитель, определенный как скалярное произведение kD1, U1(x)=x2+ui1x+ui0, Vi(x)=Vi1x+vi0, наибольший общий делитель gcd(h, Ui)=1, i=1, 2.
8. Способ криптографической обработки по п.1, в котором:
способ криптографической обработки представляет собой способ расчета, предназначенный для выполнения скалярного умножения в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров коэффициента скалярного умножения h(x)=x2+h1x+h0, f4=0; и
этап расчета включает в себя этап установки в качестве входного значения, l/h1 2, которое представляет собой ранее рассчитанное значение, и применение рассчитанного входного значения l/h1 2 без выполнения обработки расчета инверсного значения l/h1 2.
9. Криптографическая система, предназначенная для осуществления способа криптографической обработки по любому из пп.1-8, содержащая:
блок передачи/приема, предназначенный для ввода данных, предназначенных для обработки и вывода зашифрованных данных;
блок генерирования базовой точки, который генерирует делитель D как базовую точку,
блок накопителя, предназначенный для сохранения таблицы, в которой записано, какой из множителей скалярного произведения k1, k1', (k0, k0') является правильным, на основе рассчитанного значения [1/2iD] в отношении делителя D, фиксированного заранее, и
блок выполнения расчетов, предназначенный для выполнения операции расчета, включающей в себя разделение пополам, в качестве обработки расчета, при расчете скалярного умножения в отношении делителя D на гиперэллиптической кривой, при этом блок выполнения расчетов выполнен с возможностью выполнения обработки расчетов, в которой уменьшена сложность разделения пополам путем обработки определения на основе поиска в таблице и для шифрования введенных данных с использованием полученного значения.
10. Криптографическая система по п.9, в которой:
блок выполнения расчетов выполнен с возможностью выполнения операций расчетов, включающих в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей случайный параметр.
11. Криптографическая система по п.9, в которой:
блок выполнения расчетов выполнен с возможностью выполнения операций расчетов, включающих в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров h(x)=x2+x+h0, f4=0, где х, h0, f4 - параметры кривой.
12. Криптографическая система по п.9, в которой:
блок выполнения расчетов выполнен с возможностью выполнения операций расчетов, включающих в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров h(x)=x2+h1x+h0, f4=0, где х, h1, h0, f4 - параметры кривой.
13. Криптографическая система по п.9, в которой:
блок выполнения расчетов выполнен с возможностью выполнения операций расчетов, включающих в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметра h(x)=x, где х - параметр кривой.
14. Криптографическая система по п.9, в которой:
блок выполнения расчетов выполнен с возможностью расчета инверсного значения l/k1 путем обработки умножения и суммирования без выполнения инверсии, используя следующее выражение отношения:
l/k1=h2+k1u21,
которое получено из алгоритма расчета разделения пополам, в котором:
вход D2=(U2, V2) и
выход D1=(U1, V1)=[1/2] D2,
где D1 представляет собой делитель, равный формальной сумме точек кривой, и D2 представляет собой делитель, определенный как скалярное произведение kD1, U1(x)=x2+ui1x+ui0, Vi(x)=vi1x+vi0, наибольший общий делитель gcd(h, Ui)=1, i=1, 2, и выполнение расчета в соответствии с алгоритмом, в котором установлено не использовать l/u2i в качестве входного значения.
15. Криптографическая система по п.9, в которой:
блок выполнения расчетов выполнен с возможностью выполнения алгоритма расчета разделения пополам, в котором:
вход D2=(U2, V2) и
выход D1=(U1, V1)=[1/2] D2,
где D1 представляет собой делитель, равный формальной сумме точек кривой, и D2 представляет собой делитель, определенный как скалярное произведение kD1, U1(x)=x2+ui1х+ui0, Vi(x)=vi1x+vi0, наибольший общий делитель gcd(h, Ui)=1, i=1, 2, и выполнение расчета в соответствии с алгоритмом, в котором установлено не использовать l/u21 в качестве входного значения.
16. Криптографическая система по п.10, в которой блок выполнения расчета выполнен с возможностью:
выполнения скалярного умножения в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров коэффициента скалярного умножения h(x)=x2+h1x+h0, f4=0; и
выполнения расчета, в котором при l/h1 2, которое представляет собой ранее рассчитанное значение, и применение рассчитанного входного значения
l/h1 2, без выполнения обработки расчета инверсного значения l/h1 2.
17. Машиночитаемый носитель записи, содержащий компьютерную программу, обеспечивающую выполнение компьютером способа криптографической обработки, содержащего:
этап ввода данных, предназначенных для обработки,
этап генерирования базовой точки, на котором генерируют делитель D как базовую точку,
этап поиска по таблице, состоящий в поиске в таблице, в которой записано, какой из множителей скалярного произведения k1, k1', (k0, k0') является правильным, на основе рассчитанного значения [l/2iD] в отношении делителя D, фиксированного заранее,
этап расчета, состоящий в выполнении операций расчета, включающих в себя разделение пополам, в качестве обработки расчета при расчете скалярного умножения в отношении делителя D на гиперэллиптической кривой и в котором сложность разделения пополам уменьшают путем обработки на основе поиска по таблице, и
этап использования полученного значения для шифрования данных.