RU2004121784A - Вычислительный модуль и способ выполнения арифметической операции с зашифрованными операндами - Google Patents

Вычислительный модуль и способ выполнения арифметической операции с зашифрованными операндами Download PDF

Info

Publication number
RU2004121784A
RU2004121784A RU2004121784/09A RU2004121784A RU2004121784A RU 2004121784 A RU2004121784 A RU 2004121784A RU 2004121784/09 A RU2004121784/09 A RU 2004121784/09A RU 2004121784 A RU2004121784 A RU 2004121784A RU 2004121784 A RU2004121784 A RU 2004121784A
Authority
RU
Russia
Prior art keywords
encrypted
operand
encryption
intermediate result
bit
Prior art date
Application number
RU2004121784/09A
Other languages
English (en)
Other versions
RU2279123C2 (ru
Inventor
Берндт ГАММЕЛЬ (DE)
Берндт ГАММЕЛЬ
Франц КЛУГ (DE)
Франц КЛУГ
Оливер КНИФФЛЕР (DE)
Оливер КНИФФЛЕР
Original Assignee
Инфинеон Текнолоджиз Аг (De)
Инфинеон Текнолоджиз Аг
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Инфинеон Текнолоджиз Аг (De), Инфинеон Текнолоджиз Аг filed Critical Инфинеон Текнолоджиз Аг (De)
Publication of RU2004121784A publication Critical patent/RU2004121784A/ru
Application granted granted Critical
Publication of RU2279123C2 publication Critical patent/RU2279123C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • G06F2207/7238Operand masking, i.e. message blinding, e.g. (A+r)**e mod n; k.(P+R)

Claims (37)

1. Вычислительное устройство для осуществления операции над операндами, причем, по меньшей мере, один из операндов зашифрован с использованием алгоритма шифрования и параметра шифрования, для получения зашифрованного результата операции, вычислительное устройство содержит обрабатывающее устройство (10), имеющее вход для операнда или инвертированной версии операнда, вход для, по меньшей мере, одного зашифрованного операнда или инвертированной версии, по меньшей мере, одного зашифрованного операнда, имеющее вход для параметра шифрования, с помощью которого зашифрован, по меньшей мере, один операнд, и имеющее выход (18) для зашифрованного результата, причем обрабатывающее устройство (10) выполнено с возможностью выполнения одной или нескольких математических подопераций, которые совместно обеспечивают спецификацию вычисления над шифрованным текстом, полученную из спецификации вычисления над открытым текстом для операции с незашифрованными операндами, в результате чего незашифрованный операнд заменяется, в спецификации вычисления над открытым текстом, из которой получается, по меньшей мере, один зашифрованный операнд, математической комбинацией, являющейся обратной к алгоритму шифрования, и спецификация вычисления над открытым текстом преобразуется, вследствие математической комбинации, в одну или несколько математических подопераций, которые представляют спецификацию вычисления над шифрованным текстом и которые получают в качестве входной величины только зашифрованный операнд или его инвертированную версию или комбинацию зашифрованного операнда или инвертированной версии зашифрованного операнда с другими операндами.
2. Вычислительное устройство по п.1, отличающееся тем, что операнды являются числами, и, по меньшей мере, один операнд зашифрован в побитовом режиме.
3. Вычислительное устройство по п. 1 или 2, отличающееся тем, что алгоритм шифрования содержит операцию "Исключающее ИЛИ" или "Исключающее НЕ-ИЛИ" над операндом и ключом (k) в качестве параметра шифрования.
4. Вычислительное устройство по любому из предыдущих пунктов, отличающееся тем, что параметр шифрования является переменным.
5. Вычислительное устройство по любому из предыдущих пунктов, отличающееся тем, что операция является операцией мультиплексирования для выбора одного или нескольких входных сигналов в качестве одного или нескольких выходных сигналов, причем количество одного или нескольких выходных сигналов меньше количества одного или нескольких входных сигналов, и, по меньшей мере, один зашифрованный операнд является управляющим сигналом.
6. Вычислительное устройство по п.5, отличающееся тем, что операция является операцией мультиплексирования 2:1, и обрабатывающее устройство выполнено с возможностью реализации спецификации вычисления, заданной уравнением
Figure 00000001
где m′ - зашифрованный выходной сигнал, a' - первый зашифрованный входной сигнал, b′ - второй зашифрованный входной сигнал, x′ - зашифрованный управляющий сигнал и k - параметр шифрования.
7. Вычислительное устройство по п.6, отличающееся тем, что для выполнения математических подопераций, содержит первый инвертор (86а) для инвертирования параметра шифрования, второй инвертор (86b) для инвертирования зашифрованного управляющего сигнала, первый, второй, третий и четвертый вентили И (84а-84d) и вентиль ИЛИ (85), выполняющий операцию ИЛИ над выходными сигналами вентилей И с первого по четвертый (84а-84d) для получения выходного сигнала.
8. Вычислительное устройство по п.5, отличающееся тем, что операция является операцией мультиплексирования 3:1, и
управляющий сигнал содержит два зашифрованных бита x', y', и обрабатывающее устройство выполнено с возможностью реализации спецификации вычисления, заданной уравнением
Figure 00000002
где m′ - зашифрованный выходной сигнал, a', b', c' - первый, второй и третий зашифрованные входные сигналы, соответственно, x′ - первый зашифрованный бит управляющего сигнала, y′ - второй зашифрованный бит управляющего сигнала, и k - параметр шифрования для шифрования первого и второго управляющих сигналов.
9. Вычислительное устройство по п.5, отличающееся тем, что операция является операцией мультиплексирования 4:1, управляющий сигнал содержит два зашифрованных бита x', y', и обрабатывающее устройство выполнено с возможностью реализации спецификации вычисления, заданной уравнением
Figure 00000003
где m′ - зашифрованный выходной сигнал, a', b', c' и d' - первый, второй, третий и четвертый зашифрованные входные сигналы, соответственно, x′ - первый зашифрованный бит управляющего сигнала, y′ - второй зашифрованный бит управляющего сигнала, и k - параметр шифрования для шифрования первого и второго битов управляющего сигнала.
10. Вычислительное устройство по одному из пп.1-4, отличающееся тем, что операция является арифметической операцией над, по меньшей мере, двумя операндами, причем зашифрованный операнд является одним из операндов, над которыми может выполняться арифметическая операция.
11. Вычислительное устройство по п.10, отличающееся тем, что другой(ие) операнд(ы), над которым(и) может выполняться операция, также зашифрован(ы).
12. Вычислительное устройство по п.11, отличающееся тем, что арифметическая операция является операцией "Исключающее ИЛИ", причем зашифрованные операнды являются двоичными и зашифрованы посредством побитовой операции "Исключающее ИЛИ" с ключом, и арифметико-логическое устройство (10) для выполнения арифметических подопераций содержит средство (120) операции "Исключающее ИЛИ", обрабатывающее первый зашифрованный операнд (ak), второй зашифрованный операнд (bk) и ключ (k) для получения зашифрованного результата.
13. Вычислительное устройство по п.11, отличающееся тем, что арифметическая операция является операцией И, причем операнды являются двоичными и зашифрованы посредством побитовой операции "Исключающее ИЛИ" с ключом, и арифметико-логическое устройство (10) для выполнения арифметических подопераций содержит средство (131) операции И, обрабатывающее первый зашифрованный операнд (ak) и второй зашифрованный операнд (bk) для получения первого промежуточного результата, дополнительное средство (132) операции И, обрабатывающее первый зашифрованный операнд (ak) и ключ для получения второго промежуточного результата, дополнительное средство (133) операции И, обрабатывающее второй зашифрованный операнд (ak) и ключ для получения третьего промежуточного результата, средство (134) операции ИЛИ, обрабатывающее первый промежуточный результат и второй промежуточный результат для получения четвертого промежуточного результата, средство (135) операции ИЛИ, обрабатывающее второй промежуточный результат и четвертый промежуточный результат для получения зашифрованного результата.
14. Вычислительное устройство по п.11, отличающееся тем, что арифметическая операция является операцией ИЛИ, причем операнды являются двоичными и зашифрованы посредством побитовой операции "Исключающее ИЛИ" с ключом (k), и арифметико-логическое устройство для выполнения арифметических подопераций содержит средство (146) инвертирования, инвертирующее ключ (k) для получения инвертированного ключа, первое средство (141) операции И, обрабатывающее первый зашифрованный операнд и инвертированный ключ для получения первого промежуточного результата, второе средство (142) операции И, обрабатывающее второй зашифрованный операнд и инвертированный ключ для получения второго промежуточного результата, третье средство (143) операции И, обрабатывающее первый зашифрованный операнд и второй зашифрованный операнд (bk) для получения третьего промежуточного результата, первое средство (144) операции ИЛИ, обрабатывающее первый промежуточный результат и второй промежуточный результат для получения четвертого промежуточного результата, второе средство (145) операции ИЛИ, обрабатывающее третий промежуточный результат и четвертый промежуточный результат для получения зашифрованного результата арифметической операции.
15. Вычислительное устройство по п.11, отличающееся тем, что арифметическая операция является операцией НЕ-ИЛИ, причем операнды являются двоичными и зашифрованы посредством побитовой операции "Исключающее ИЛИ" с ключом, и арифметико-логическое устройство (10) для выполнения арифметических подопераций содержит первое средство (151) операции И, обрабатывающее первый зашифрованный операнд (ak) и второй зашифрованный операнд (bk) для получения первого промежуточного результата, первое средство (158) инвертирования, инвертирующее первый промежуточный результат для получения инвертированного первого промежуточного результата, второе средство (156) инвертирования, инвертирующее второй зашифрованный операнд для получения инвертированного второго зашифрованного операнда, второе средство (152) операции И, обрабатывающее инвертированный второй операнд и ключ для получения второго промежуточного результата, третье средство (157) инвертирования, инвертирующее первый зашифрованный операнд для получения инвертированного первого зашифрованного операнда, третье средство (153) операции И, обрабатывающее инвертированный зашифрованный первый операнд и ключ для получения третьего промежуточного результата, первое средство (154) операции ИЛИ, обрабатывающее инвертированный первый промежуточный результат и второй промежуточный результат для получения четвертого промежуточного результата, и второе средство (155) операции ИЛИ, обрабатывающее третий промежуточный результат и четвертый промежуточный результат для получения зашифрованного результата арифметической операции.
16. Вычислительное устройство по п.11, отличающееся тем, что арифметическая операция является операцией НЕ-И, причем операнды являются двоичными и зашифрованы посредством побитовой операции "Исключающее ИЛИ" с ключом, и арифметико-логическое устройство для выполнения арифметических подопераций содержит первое средство (161) операции И, обрабатывающее первый зашифрованный операнд и второй зашифрованный операнд для получения первого промежуточного результата, первое средство (164) инвертирования, инвертирующее первый промежуточный результат для получения инвертированного первого промежуточного результата, второе средство (162) операции И, обрабатывающее второй зашифрованный операнд (bk) и ключ (k) для получения второго промежуточного результата, второе средство (165) инвертирования, инвертирующее второй промежуточный результат для получения инвертированного второго промежуточного результата, третье средство (163) операции И, обрабатывающее зашифрованный первый операнд (ak) и ключ для получения третьего промежуточного результата, третье средство (166) инвертирования, инвертирующее третий промежуточный результат для получения инвертированного третьего промежуточного результата, первое средство (167) операции ИЛИ, обрабатывающее инвертированный первый промежуточный результат и инвертированный второй промежуточный результат для получения четвертого промежуточного результата, и второе средство (168) операции ИЛИ, обрабатывающее четвертый промежуточный результат и третий промежуточный результат для получения зашифрованного результата арифметической операции.
17. Вычислительное устройство по п.11, отличающееся тем, что арифметическая операция является операцией "сложение", причем операнды являются двоичными и зашифрованы посредством побитовой операции "Исключающее ИЛИ" с ключом, и арифметико-логическое устройство для выполнения арифметических подопераций содержит первое средство (171) операции И, обрабатывающее первый зашифрованный операнд (akn) и второй зашифрованный операнд (bkn) для получения первого промежуточного результата, второе средство (172) операции И, обрабатывающее первый зашифрованный операнд (akn) и третий зашифрованный операнд (ckn), третье средство (173) операции И, обрабатывающее второй зашифрованный операнд (bkn) и третий зашифрованный операнд (ckn) для получения третьего промежуточного результата, первое средство (179) операции ИЛИ, обрабатывающее первый промежуточный результат и второй промежуточный результат для получения четвертого промежуточного результата, второе средство (180) операции ИЛИ, обрабатывающее четвертый промежуточный результат и третий промежуточный результат для получения зашифрованного переноса ((ckn)n+1) арифметической операции "сложение".
18. Вычислительное устройство по п.17, отличающееся тем, что арифметическая операция является операцией НЕ, и арифметико-логическое устройство для выполнения арифметических подопераций дополнительно содержит дополнительное средство инвертирования, инвертирующее зашифрованный перенос ((ckn)n+1) для получения зашифрованного результата операции НЕ.
19. Вычислительное устройство по п.11, отличающееся тем, что первый зашифрованный операнд и второй зашифрованный операнд зашифрованы с использованием двух разных алгоритмов шифрования и/или ключей шифрования, и арифметико-логическое устройство (10) дополнительно содержит дополнительный вход для дополнительного параметра шифрования.
20. Вычислительное устройство по любому из предыдущих пунктов, отличающееся тем, что арифметико-логическое устройство (10) выполнено с возможностью использования только средства операции И и средства операции ИЛИ, имеющих два входа, соответственно.
21. Вычислительное устройство по п.1, отличающееся тем, что зашифрованы по, меньшей мере, два операнда, первый зашифрованный операнд зашифрован с помощью первого алгоритма шифрования и первого параметра шифрования, второй операнд зашифрован с помощью второго алгоритма шифрования и второго параметра шифрования, обрабатывающее устройство содержит дополнительный вход для второго параметра шифрования, и спецификация вычисления над шифрованным текстом выводится из спецификации вычисления над открытым текстом, в результате чего незашифрованный операнд, соответствующий второму зашифрованному операнду, заменяется дополнительной математической комбинацией второго зашифрованного операнда и второго параметра шифрования, причем дополнительная комбинация является обратной второму алгоритму шифрования.
22. Вычислительное устройство по п.21, отличающееся тем, что первый и второй алгоритмы шифрования одинаковы, а первый и второй параметры шифрования различны.
23. Вычислительное устройство по п. 21 или 22, отличающееся тем, что результат операции зашифрован с помощью третьего алгоритма шифрования и третьего параметра шифрования, спецификация вычисления над шифрованным текстом, образованная совокупностью математических подопераций, выводится из спецификации вычисления над открытым текстом для операции с незашифрованными операндами, в результате чего незашифрованный результат операции заменяется дополнительной математической комбинацией незашифрованного результата операции и третьего параметра шифрования.
24. Вычислительное устройство по п.23, отличающееся тем, что третий параметр шифрования является комбинацией первого и второго параметров шифрования.
25. Вычислительное устройство по п.24, отличающееся тем, что все алгоритмы шифрования заданы операцией "Исключающее ИЛИ", математические комбинации заданы операцией "Исключающее ИЛИ" и третий параметр шифрования является результатом операции "Исключающее ИЛИ" над первым и вторым параметрами шифрования.
26. Вычислительное устройство по п.25, отличающееся тем, что обрабатывающее устройство выполнено с возможностью выполнения совокупности математических подопераций, заданных нижеследующей спецификацией вычисления над шифрованным текстом, соответственно,
для операции И
AND:
Figure 00000004
для операции ИЛИ
OR:
Figure 00000005
для операции НЕ-И
NAND:
Figure 00000006
для операции НЕ-ИЛИ
NOR:
Figure 00000007
для операции "Исключающее ИЛИ"
XOR:
Figure 00000008
для операции "Исключающее НЕ-ИЛИ"
XNOR:
Figure 00000009
для функции полного сумматора с выводом агрегированного бита
SUM:
Figure 00000010
или
для функции полного сумматора с выводом бита переноса
CARRY:
Figure 00000011
где a(i) - первый операнд, зашифрованный с помощью первого параметра шифрования, b(j) - второй операнд, зашифрованный с помощью второго параметра шифрования, i - первый параметр шифрования, j - второй параметр шифрования, k - третий параметр шифрования, причем третий параметр шифрования является результатом операции "Исключающее ИЛИ" над первым и вторым параметрами шифрования, r(k) - результат операции, зашифрованный с помощью третьего параметра шифрования, и cin(k) - входной перенос, зашифрованный с помощью третьего параметра шифрования.
27. Сумматор с выборочным переносом, суммирующий первый и второй зашифрованные операнды (a, b) для получения зашифрованного результата, причем первый и второй зашифрованный операнд состоят из совокупности битов, параметр шифрования (ki) обеспечивается для каждого бита операндов одного и того же порядка, сумматор с выборочным переносом содержит первый сумматор (1300) со сквозным переносом, имеющий совокупность средств (1200, 1202) битовых секций, суммирующих зашифрованные биты операндов от младшего бита операндов до первого граничного бита операндов для получения зашифрованного выходного бита переноса первого сумматора со сквозным переносом, второй и третий сумматоры (1306, 1308) со сквозным переносом, имеющие совокупность средств битовых секций, суммирующих зашифрованные биты операндов от бита, который на одну позицию старше первого граничного бита, до второго граничного бита, причем все средства битовых секций содержат вычислительное устройство по п. 17 или 26, математическая операция является операцией сложения, создающей на входе переноса внутренний зашифрованный агрегированный бит и внутренний зашифрованный выходной бит переноса с использованием зашифрованного бита первого операнда, зашифрованного бита второго операнда и зашифрованного входного бита переноса, причем каждое средство битовой секции дополнительно содержит соответствующее средство (1206) перешифрования для обеспечения перешифрования входного бита переноса, зашифрованного в соответствии с параметром шифрования для средства битовой секции, из которой он выведен, в новое шифрование с помощью параметра шифрования для текущего средства битовой секции, второй сумматор (1306) со сквозным переносом и третий сумматор (1308) со сквозным переносом установлены параллельно, причем ключ (kn+1) для младшего средства битовой секции второго сумматора со сквозным переносом может применяться в качестве входного бита переноса для младшего средства битовой секции второго сумматора (1306) со сквозным переносом, и инвертированный ключ (НЕ kn+1) для младшего средства битовой секции третьего сумматора со сквозным переносом может применяться в качестве входного бита переноса для младшего средства битовой секции третьего сумматора (1308) со сквозным переносом, средство (1303) перешифрования для перешифрования выходного бита переноса первого сумматора со сквозным переносом на основании ключа младшего средства битовой секции второго сумматора (1306) со сквозным переносом и средство (1304) выбора, выбирающее в качестве зашифрованных агрегированных битов зашифрованные агрегированные биты второго сумматора со сквозным переносом, если перешифрованный выходной бит переноса старшего средства битовой секции первого сумматора (1300) со сквозным переносом равен логическому "0", и зашифрованные агрегированные биты третьего сумматора (1308) со сквозным переносом, если перешифрованный выходной бит переноса первого сумматора (1300) со сквозным переносом равен логической "1".
28. Криптографический процессор, содержащий память (818) для хранения данных, зашифрованных с помощью первого алгоритма шифрования, первое средство (1102) дешифрования для дешифрования данных, хранящихся в памяти и зашифрованных с помощью первого алгоритма шифрования, второе средство (1104) шифрования для шифрования данных, полученных от первого средства (1102) дешифрования, с помощью второго алгоритма шифрования, вычислительное устройство (800′) по любому из пп.1-26, способный получать выходные данные от второго средства (1104) шифрования, второе средство (1106) дешифрования для дешифрования выходных данных вычислительного устройства (800′) в соответствии со вторым алгоритмом шифрования и первое средство (1108) шифрования для шифрования выходных данных второго средства дешифрования в соответствии с первым алгоритмом шифрования, причем первое средство шифрования подключено к памяти, что позволяет направлять данные, зашифрованные с помощью первого алгоритма шифрования, в память.
29. Криптографический процессор по п.28, отличающийся тем, что содержит буферную память (814), подсоединенную в направлении переноса сигнала между вторым средством (1104) шифрования и вычислительным устройством (800′) и/или между вычислительным устройством (800′) и вторым средством (1106) дешифрования, в которой могут храниться данные буферной памяти (814), зашифрованные в соответствии со вторым алгоритмом шифрования.
30. Криптографический процессор по п. 28 или 29, отличающийся тем, что для операции шифрования в соответствии с первым алгоритмом шифрования требуется больше операций, чем для операции шифрования в соответствии со вторым алгоритмом шифрования.
31. Криптографический процессор по любому из пп.28-30, отличающийся тем, что первое средство (1102) дешифрования и первое средство (1108) шифрования выполнены с возможностью изменения ключа реже, чем второе средство (1108) дешифрования и второе средство (1104) шифрования.
32. Криптографический процессор по любому из пп.28-31, отличающийся тем, что второй алгоритм шифрования является алгоритмом Вернама, в соответствии с формулой
c = (p + k) mod k,
где с - зашифрованная информация, р - незашифрованная информация, k - ключ и mod - обозначение операции по модулю.
33. Криптографический процессор по п.32, отличающийся тем, что ключ может принимать только значения 0 или 1, причем информация открытого текста и зашифрованная информация является одним битом, и ко второму алгоритму шифрования применяется уравнение
c = p XOR k.
34. Криптографический процессор по п.33, отличающийся тем, что для каждого бита открытого текста имеется независимый ключ для второго алгоритма шифрования.
35. Способ выполнения операций над операндами, причем, по меньшей мере, один из операндов зашифрован с использованием алгоритма шифрования и параметра шифрования для получения зашифрованного результата операции, способ содержит этапы, на которых выполняют одну или несколько математических подопераций, которые совместно обеспечивают спецификацию вычисления над шифрованным текстом, полученную из спецификации вычисления над открытым текстом для операции с незашифрованными операндами, в результате чего незашифрованный операнд, из которого получается, по меньшей мере, один зашифрованный операнд, заменяется математической комбинацией, по меньшей мере, одного зашифрованного операнда и параметра шифрования, причем математическая комбинация является обратной к алгоритму шифрования, и спецификация вычисления над открытым текстом преобразуется, вследствие математической комбинации, в одну или несколько математических подопераций, которые представляют спецификацию вычисления над шифрованным текстом и которые получают в качестве входной величины только зашифрованный операнд или его инвертированную версию или комбинацию зашифрованного операнда или инвертированной версии зашифрованного операнда с другими операндами.
36. Способ формирования средства вычислительного устройства для выполнения операции над операндами, причем, по меньшей мере, один из операндов зашифрован с использованием алгоритма шифрования и параметра шифрования для получения зашифрованного результата операции, способ содержит этапы, на которых обеспечивают спецификацию вычисления над открытым текстом для операции, заменяют в спецификации вычисления над открытым текстом незашифрованный операнд, соответствующий зашифрованному операнду, математической комбинацией зашифрованного операнда и параметра шифрования, причем математическая комбинация является обратной алгоритму шифрования, чтобы получить спецификацию вычисления над шифрованным текстом, преобразуют полученную спецификацию вычисления над шифрованным текстом в одну или несколько математических подопераций, которые получают в качестве входной величины только зашифрованный операнд или его инвертированную версию или комбинацию зашифрованного операнда или инвертированной версии зашифрованного операнда с другими операндами, и реализуют одну или несколько математических подопераций для получения средства вычислительного устройства.
37. Устройство для формирования средства вычислительного устройства для выполнения операции над операндами, причем, по меньшей мере, один из операндов зашифрован с использованием алгоритма шифрования и параметра шифрования для получения зашифрованного результата операции, устройство содержит средство обеспечения спецификации вычисления над открытым текстом для операции, средство замены в спецификации вычисления над открытым текстом незашифрованного операнда, соответствующего зашифрованному операнду, математической комбинацией зашифрованного операнда и параметра шифрования, причем математическая комбинация является обратной алгоритму шифрования, для получения спецификации вычисления над шифрованным текстом, средство преобразования полученной спецификации вычисления над шифрованным текстом в одну или несколько математических подопераций, которые получают в качестве входной величины только зашифрованный операнд или его инвертированную версию или комбинацию зашифрованного операнда или инвертированной версии зашифрованного операнда с другими операндами, и средство реализации одной или нескольких математических подопераций для получения средства вычислительного устройства.
RU2004121784/09A 2002-01-16 2003-01-10 Вычислительный модуль и способ выполнения арифметической операции с зашифрованными операндами RU2279123C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10201449.3 2002-01-16
DE10201449A DE10201449C1 (de) 2002-01-16 2002-01-16 Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor

Publications (2)

Publication Number Publication Date
RU2004121784A true RU2004121784A (ru) 2006-01-27
RU2279123C2 RU2279123C2 (ru) 2006-06-27

Family

ID=7712274

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2004121784/09A RU2279123C2 (ru) 2002-01-16 2003-01-10 Вычислительный модуль и способ выполнения арифметической операции с зашифрованными операндами

Country Status (8)

Country Link
US (1) US7567668B2 (ru)
EP (1) EP1472587B1 (ru)
CN (1) CN1331013C (ru)
AU (1) AU2003206709A1 (ru)
DE (2) DE10201449C1 (ru)
RU (1) RU2279123C2 (ru)
TW (1) TW200415506A (ru)
WO (1) WO2003060691A2 (ru)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101061906B1 (ko) * 2004-02-19 2011-09-02 삼성전자주식회사 전력분석공격에 안전한 기본 연산 장치 및 방법
WO2006006199A1 (ja) * 2004-07-07 2006-01-19 Mitsubishi Denki Kabushiki Kaisha 電子素子及びデータ処理方法
JP2006071695A (ja) * 2004-08-31 2006-03-16 Yamatake Corp 暗号化、復号化プログラム及び暗号システム。
EP1836554B1 (en) 2004-12-01 2008-04-16 Telecom Italia S.p.A. Method and related device for hardware-oriented conversion between arithmetic and boolean random masking
US7686970B2 (en) * 2004-12-30 2010-03-30 Asml Netherlands B.V. Imprint lithography
JP2008530663A (ja) * 2005-02-11 2008-08-07 ユニバーサル データ プロテクション コーポレーション マイクロプロセッサのデータセキュリティの方法およびシステム
EP1717723A1 (en) * 2005-04-29 2006-11-02 ST Incard S.r.l. Improved virtual machine or hardware processor for IC-card portable electronic devices
US9191198B2 (en) * 2005-06-16 2015-11-17 Hewlett-Packard Development Company, L.P. Method and device using one-time pad data
AT502230A2 (de) * 2005-07-26 2007-02-15 Univ Graz Tech Verfahren und schaltung zur durchführung von rechenoperationen
US7881465B2 (en) * 2005-08-08 2011-02-01 Infineon Technologies Ag Circuit and method for calculating a logic combination of two encrypted input operands
DE102005037357B3 (de) * 2005-08-08 2007-02-01 Infineon Technologies Ag Logikschaltung und Verfahren zum Berechnen eines maskierten Ergebnisoperanden
DE102006006057B4 (de) 2006-02-09 2007-12-27 Infineon Technologies Ag Datenverschlüsselungsvorrichtung und Verfahren zum Verschlüsseln von Daten
US20100281092A1 (en) * 2006-08-09 2010-11-04 Thomas Kuenemund Standard cell for arithmetic logic unit and chip card controller
US7921148B2 (en) 2006-08-09 2011-04-05 Infineon Technologies Ag Standard cell for arithmetic logic unit and chip card controller
US8538012B2 (en) * 2007-03-14 2013-09-17 Intel Corporation Performing AES encryption or decryption in multiple modes with a single instruction
US20100246808A1 (en) * 2007-12-05 2010-09-30 Nec Corporation Side channel attack tolerance evaluation apparatus, method and program
JP5173563B2 (ja) * 2008-05-02 2013-04-03 キヤノン株式会社 ライセンス管理装置及び方法
US20100177889A1 (en) * 2009-01-15 2010-07-15 Kabushiki Kaisha Toshiba Image forming apparatus and encryption process control method
US8406423B2 (en) * 2010-03-16 2013-03-26 Telcordia Technologies, Inc. Multi-bit cryptographically secure encryptor for M-ary spectral phase encoder optical code division multiple access
KR20120070873A (ko) * 2010-12-22 2012-07-02 한국전자통신연구원 부채널 방지 마스킹 덧셈 연산 장치
US9065626B2 (en) 2011-10-25 2015-06-23 Cavium, Inc. Bit error rate impact reduction
US8855248B2 (en) * 2011-10-25 2014-10-07 Cavium, Inc. Word boundary lock
WO2013095648A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Three input operand vector add instruction that does not raise arithmetic flags for cryptographic applications
ES2717999T3 (es) * 2014-12-03 2019-06-26 Nagravision Sa Método criptográfico por bloques para cifrar/descifrar mensajes y dispositivos criptográficos para implementar este método
US10680796B2 (en) 2015-05-19 2020-06-09 Koninklijke Philips N.V. Computing with encrypted values
CN106339877A (zh) * 2015-07-13 2017-01-18 华中科技大学 一种基于产品特征变形组合与相互认证的防伪方法
US10083135B2 (en) * 2015-08-28 2018-09-25 Macronix International Co., Ltd. Cooperative overlay
DE102015116049B3 (de) 2015-09-23 2017-02-16 Infineon Technologies Ag Nulldetektionsschaltkreis und maskierter boolescher oder-schaltkreis
EP3217307B1 (en) * 2016-02-22 2018-11-07 Eshard Method of testing the resistance of a circuit to a side channel analysis of second order or more
RU2625049C1 (ru) * 2016-04-14 2017-07-11 ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "Военная академия Ракетных войск стратегического назначения имени Петра Великого" МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ Устройство поддержки защищенных логических вычислений
US10210323B2 (en) * 2016-05-06 2019-02-19 The Boeing Company Information assurance system for secure program execution
CN106528043A (zh) * 2016-10-27 2017-03-22 李玮 一种数学运算系统
US10642758B2 (en) * 2017-06-28 2020-05-05 Western Digital Technologies, Inc. Storage drive and method of executing a compare command
US11176278B2 (en) * 2018-12-29 2021-11-16 Intel Corporation Efficient rotate adder for implementing cryptographic basic operations
TWI700915B (zh) * 2019-02-01 2020-08-01 益力半導體股份有限公司 混合式雙重網路加密系統
CN112165380A (zh) * 2019-04-24 2021-01-01 吕志强 拆分式二进制数据加密法
TWI731407B (zh) * 2019-09-09 2021-06-21 新唐科技股份有限公司 具有旁通通道的金鑰管理裝置及處理器晶片
DE102021100538A1 (de) 2021-01-13 2022-07-14 Infineon Technologies Ag Schaltung und verfahren zur rotationsinvarianten ausführung einer oder mehrerer operationen mit mindestens einem operanden
CN113127911B (zh) * 2021-05-06 2022-05-20 国网河北省电力有限公司信息通信分公司 电力数据加密方法、装置及终端
US11726715B2 (en) 2021-10-11 2023-08-15 Western Digital Technologies, Inc. Efficient data path in compare command execution

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479512A (en) * 1991-06-07 1995-12-26 Security Dynamics Technologies, Inc. Method and apparatus for performing concryption
JP3276444B2 (ja) * 1993-03-22 2002-04-22 三菱電機株式会社 除算回路
US5504915A (en) * 1993-08-05 1996-04-02 Hyundai Electronics America Modified Wallace-Tree adder for high-speed binary multiplier, structure and method
JPH11143685A (ja) * 1997-06-24 1999-05-28 Internatl Business Mach Corp <Ibm> キャリー・スキップ・アダー
US6088800A (en) * 1998-02-27 2000-07-11 Mosaid Technologies, Incorporated Encryption processor with shared memory interconnect
US6356636B1 (en) * 1998-07-22 2002-03-12 Motorola, Inc. Circuit and method for fast modular multiplication
DE50015839D1 (ru) * 1999-12-02 2010-02-25 Infineon Technologies Ag
CN1192330C (zh) 2000-01-18 2005-03-09 因芬尼昂技术股份公司 微处理器加密装置

Also Published As

Publication number Publication date
US20050036618A1 (en) 2005-02-17
TW200415506A (en) 2004-08-16
EP1472587A2 (de) 2004-11-03
RU2279123C2 (ru) 2006-06-27
US7567668B2 (en) 2009-07-28
EP1472587B1 (de) 2005-06-08
AU2003206709A8 (en) 2003-07-30
DE50300633D1 (de) 2005-07-14
CN1331013C (zh) 2007-08-08
AU2003206709A1 (en) 2003-07-30
WO2003060691A3 (de) 2004-01-15
CN1701294A (zh) 2005-11-23
DE10201449C1 (de) 2003-08-14
WO2003060691A2 (de) 2003-07-24

Similar Documents

Publication Publication Date Title
RU2004121784A (ru) Вычислительный модуль и способ выполнения арифметической операции с зашифрованными операндами
US7949128B2 (en) Method and device for the encryption and decryption of data
US11546135B2 (en) Key sequence generation for cryptographic operations
JP2007288514A (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、及びメッセージ認証システム
KR20070039161A (ko) 암호화 시스템, 방법 및 결합 함수
JP4025722B2 (ja) データ暗号化のための方法および装置
JP2002521724A5 (ru)
JP2004363739A (ja) 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
EP1416664A2 (en) Data encryption method
US7113593B2 (en) Recursive cryptoaccelerator and recursive VHDL design of logic circuits
JP5102536B2 (ja) ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム
KR100564599B1 (ko) 역원 계산 회로, 역원계산 방법 및 상기 역원계산 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체
Mahmood et al. MATLAB Implementation of 128-key length SAFER+ Cipher System
Hazzazi et al. Asymmetric Key Cryptosystem for Image Encryption by Elliptic Curve over Galois Field GF (2 n).
Molaei et al. An effective cipher block scheme based on cellular automata
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기
Adebayo A Multilevel Data Encryption Standard Cryptosystem with Residue Number System
Nawaz et al. Redefining GCM’s resistance to cryptanalysis with offset mechanisms
RU2199826C2 (ru) Способ итеративного шифрования блоков цифровых данных
KR20210067961A (ko) 완전동형암호 기법으로 암호화된 데이터의 연산을 위한 장치 및 방법
RU2186466C2 (ru) Способ итеративного шифрования блоков дискретных данных
Padhiyar et al. An Improved Symmetric Key Encryption Method Using Randomized Matrix Generation
JP3795315B2 (ja) 暗号化・復号化回路
Singh et al. Secure computation for data privacy
Thiruchelvi Application of Linear Algebra in Cryptography

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20170111