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

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

Info

Publication number
RU2017114868A
RU2017114868A RU2017114868A RU2017114868A RU2017114868A RU 2017114868 A RU2017114868 A RU 2017114868A RU 2017114868 A RU2017114868 A RU 2017114868A RU 2017114868 A RU2017114868 A RU 2017114868A RU 2017114868 A RU2017114868 A RU 2017114868A
Authority
RU
Russia
Prior art keywords
integer
ring
list
input
multiplication
Prior art date
Application number
RU2017114868A
Other languages
English (en)
Other versions
RU2701716C2 (ru
RU2017114868A3 (ru
Inventor
Леандро МАРИН
Альфонс Антониус Мария Ламбертус БРЮКЕРС
Паулус Матхиас Хюбертус Мехтилдис Антониус ГОРИССЕН
Original Assignee
Конинклейке Филипс Н.В.
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 Конинклейке Филипс Н.В. filed Critical Конинклейке Филипс Н.В.
Publication of RU2017114868A publication Critical patent/RU2017114868A/ru
Publication of RU2017114868A3 publication Critical patent/RU2017114868A3/ru
Application granted granted Critical
Publication of RU2701716C2 publication Critical patent/RU2701716C2/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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • 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/50Adding; Subtracting
    • 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • 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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Claims (79)

1. Электронное вычислительное устройство (100) для выполнения арифметики с обфускацией в коммутативном кольце (
Figure 00000001
), причем кольцо имеет конечное количество кольцевых элементов, кольцевое сложение и кольцевое умножение определены над кольцевыми элементами, вычислительное устройство оперирует на целочисленных списках (
Figure 00000002
), кодирующих кольцевые элементы (
Figure 00000003
), целочисленные списки содержат по меньшей мере два целых числа, целочисленный список (
Figure 00000004
) кодирует кольцевой элемент (
Figure 00000005
) так, что кольцевой элемент равен линейной комбинации степеней (
Figure 00000006
;
Figure 00000007
) одного или нескольких кольцевых элементов основания (
Figure 00000008
;
Figure 00000009
), степени имеют показатели, определенные целочисленным списком, причем вычислительное устройство содержит
- хранилище (110), выполненное с возможностью хранить таблицу приращений (
Figure 00000010
), определенную для фиксированного приращения кольцевого элемента (1;
Figure 00000011
),
- таблицу приращений, отображающую входной кольцевой элемент (
Figure 00000012
) в выходной целочисленный список (
Figure 00000013
), кодирующий выходной кольцевой элемент (
Figure 00000014
) так, что выходной кольцевой элемент равен кольцевому элементу приращения, кольцевым образом сложенному с входным кольцевым элементом (
Figure 00000015
),
- блок (130) кольцевого сложения, выполненный с возможностью
- принимать первый входной для сложения целочисленный список (
Figure 00000002
), кодирующий первый входной для сложения кольцевой элемент, и второй входной для сложения целочисленный список (
Figure 00000016
), кодирующий второй входной для сложения кольцевой элемент, причем кольцевой элемент приращения не зависит от первого и второго входного для сложения кольцевого элемента,
- определять выходной для сложения целочисленный список, кодирующий выходной для сложения кольцевой элемент путем применения таблицы приращений к кольцевым элементам, определенным из первого и второго входных для сложения целочисленных списков, причем входной для сложения кольцевой элемент равен кольцевому сложению первого входного для сложения кольцевого элемента и второго входного для сложения кольцевого элемента, причем определение выходного для сложения целочисленного списка содержит этапы, на которых
- определяют промежуточный целочисленный список сложения (
Figure 00000017
), кодирующий промежуточный кольцевой элемент сложения, путем первого применения таблицы приращений к кольцевому элементу (
Figure 00000018
), который является линейной комбинацией степеней одного или нескольких элементов основания, причем степени определяются из первого и второго входных для сложения целочисленных списков, (
Figure 00000019
),
- определяют выходной для сложения целочисленный список, содержащий второе применение таблицы приращений к кольцевым элементам, определенным из промежуточного целочисленного списка сложения и определенным из второго входного для сложения целочисленного списка.
2. Вычислительное устройство по п.1, содержащее
- блок (140) кольцевого умножения, выполненный с возможностью
- принимать первый входной для умножения целочисленный список (
Figure 00000020
), кодирующий первый входной для умножения кольцевой элемент, и второй входной для умножения целочисленный список (
Figure 00000021
), кодирующий второй входной для умножения кольцевой элемент,
- определять выходной для умножения целочисленный список, кодирующий выходной для умножения кольцевой элемент, путем применения таблицы приращений к кольцевым элементам, определенным из первого и второго входных для умножения целочисленных списков, причем выходной для умножения кольцевой элемент равен кольцевому умножению первого входного для умножения кольцевого элемента и второго входного для умножения кольцевого элемента.
3. Вычислительное устройство по п.1 или 2, в котором целочисленный список (
Figure 00000002
) кодирует кольцевой элемент (
Figure 00000022
) так, что
- кольцевой элемент равен элементу основания, возведенному в степень, определенную первым целым из целочисленного списка, минус элемент основания, возведенный в степень, определенную вторым целым из целочисленного списка (
Figure 00000023
), опционально умноженному на константу (
Figure 00000024
), или
- кольцевой элемент равен элементу основания, возведенному в степень, определенную первым целым из целочисленного списка, плюс элемент основания, возведенный в степень, определенную вторым целым из целочисленного списка (
Figure 00000025
), опционально умноженному на константу, или
- кольцевой элемент равен элементу основания, возведенному в степень, определенную первым целым из целочисленного списка, умноженному на результат элемента основания, возведенного в степень, определенную вторым целым из целочисленного списка, минус элемент основания, возведенный в степень, определенную противоположным числом второго целого из целочисленного списка (
Figure 00000026
), опционально умноженному на константу, (
Figure 00000027
), или
- кольцевой элемент равен элементу основания, возведенному в степень, которая является первой линейной комбинацией первого целого и второго целого из целочисленного списка, плюс или минус элемент основания, возведенный в степень, которая является второй линейной комбинацией первого целого и второго целого из целочисленного списка, (
Figure 00000028
или
Figure 00000029
при заданной матрице
Figure 00000030
такой, что
Figure 00000031
), опционально умноженному на константу.
Figure 00000017
Figure 00000018
Figure 00000019
4. Вычислительное устройство по п.1, в котором
- определение промежуточного целочисленного списка сложения (
Figure 00000017
) дополнительно содержит этап, на котором прибавляют целое, определенное из первого и второго входных для сложения целочисленных списков, к целым в целочисленном списке, получаемом из первого применения.
5. Вычислительное устройство по любому из предыдущих пунктов, в котором
- таблица приращений применяется к кольцевому элементу (
Figure 00000018
;
Figure 00000032
), формируемому одним или несколькими кольцевыми элементами основания (
Figure 00000033
), возведенными в степень первого целого из первого целочисленного списка (
Figure 00000034
) минус первое целое из второго целочисленного списка (
Figure 00000035
), плюс или минус
кольцевой элемент основания (
Figure 00000033
), возведенный в степень второго целого из первого целочисленного списка (
Figure 00000036
) минус первое целое из второго целочисленного списка (
Figure 00000035
); или
- таблица приращений применяется к кольцевому элементу (u
Figure 00000037
;
Figure 00000037
), формируемому одним или несколькими кольцевыми элементами основания (
Figure 00000033
), возведенными в степень первого целого из первого целочисленного списка (
Figure 00000034
) минус второе целое из первого целочисленного списка (
Figure 00000036
), плюс или минус
кольцевой элемент основания (
Figure 00000033
), возведенный в степень первого целого из второго целочисленного списка (
Figure 00000035
) минус второе целое из первого целочисленного списка (
Figure 00000036
); или
- таблица приращений применяется к кольцевому элементу (
Figure 00000038
;
Figure 00000039
), формируемому одним или несколькими кольцевыми элементами основания (
Figure 00000033
), возведенными в степень второго целого из первого целочисленного списка (
Figure 00000036
) минус первое целое из первого целочисленного списка (
Figure 00000034
) плюс или минус
кольцевой элемент основания (
Figure 00000033
), возведенный в степень первого целого из второго целочисленного списка (
Figure 00000035
) минус первое целое из первого целочисленного списка (
Figure 00000034
).
6. Вычислительное устройство по любому из предыдущих пунктов, в котором
- для промежуточного кольцевого элемента сложения, представленного промежуточным целочисленным списком сложения, выполняется отрицание перед вторым применением таблицы приращений.
7. Вычислительное устройство по любому из предшествующих пунктов, в котором
- для кольцевого элемента, представленного целочисленным списком, выполняется отрицание путем перестановки целочисленного списка, и/или
- для кольцевого элемента, представленного целочисленным списком, выполняется отрицание путем прибавления константы к каждому целому из целочисленного списка, и/или
- для кольцевого элемента, представленного целочисленным списком (
Figure 00000040
), выполняется отрицание путем перестановки целочисленного списка и умножения одного или нескольких целых из целочисленного списка на константу (
Figure 00000041
.
8. Вычислительное устройство по любому из предшествующих пунктов, в котором таблица приращений получает в качестве входных данных входной целочисленный список (
Figure 00000042
), представляющий входной кольцевой элемент (
Figure 00000012
).
9. Вычислительное устройство по п.2 и любому из предшествующих пунктов, в котором определение выходного для умножения целочисленного списка содержит этапы, на которых
- определяют из первого и второго входных для умножения целочисленных списков первый промежуточный целочисленный список умножения (
Figure 00000043
) и второй промежуточный целочисленный список умножения (
Figure 00000044
), кодирующие первый и второй промежуточный кольцевой элемент умножения соответственно,
- складывают первый и второй промежуточный целочисленный список умножения посредством блока кольцевого сложения.
10. Вычислительное устройство по п.9, в котором
- первое целое (
Figure 00000045
) из первого промежуточного целочисленного списка умножения содержит
первое целое (
Figure 00000046
) из первого входного для умножения целочисленного списка плюс
первое целое (
Figure 00000047
) из второго входного для умножения целочисленного списка, и
- второе целое (
Figure 00000048
) из первого промежуточного целочисленного списка умножения содержит
первое целое (
Figure 00000046
) из первого входного для умножения целочисленного списка плюс
второе целое (
Figure 00000049
) из второго входного для умножения целочисленного списка (
Figure 00000050
), и
- первое целое (
Figure 00000051
) из второго промежуточного целочисленного списка умножения содержит
второе целое (
Figure 00000052
) из первого входного для умножения целочисленного списка плюс
второе целое (
Figure 00000053
) из второго входного для умножения целочисленного списка, и
- второе целое (
Figure 00000054
) из второго промежуточного целочисленного списка умножения содержит
второе целое (
Figure 00000052
) из первого входного для умножения целочисленного списка плюс
первое целое (
Figure 00000047
) из второго входного для умножения целочисленного списка (
Figure 00000055
).
11. Вычислительное устройство по любому из предшествующих пунктов, в котором
- коммутативное кольцо является кольцом, формируемым целыми по модулю целочисленного модуля (
Figure 00000056
), или
- коммутативное кольцо является кольцом, формируемым целочисленными многочленами по модулю целочисленного многочленного модуля (
Figure 00000057
).
12. Устройство (170) кольцевого кодирования
Figure 00000001
, причем устройство кольцевого кодирования содержит
- хранилище (172), выполненное с возможностью хранить таблицу кодирования, определенную для одного или нескольких кольцевых элементов основания (
Figure 00000033
), причем таблица кодирования отображает кольцевой элемент (
Figure 00000058
) в целочисленный список (
Figure 00000059
) так, что кольцевой элемент равен линейной комбинации степеней одного или нескольких кольцевых элементов основания (
Figure 00000060
), причем степени имеют показатели, определенные целочисленным списком, причем устройство (170) кольцевого кодирования сконфигурировано с возможностью
- кодировать кольцевой элемент коммутативного кольца (
Figure 00000061
) в качестве целочисленного списка для использования с вычислительным устройством по п.1, сконфигурированным с возможностью принимать закодированную информацию по компьютерной сети.
13. Устройство (160) кольцевого декодирования
Figure 00000059
Figure 00000058
Figure 00000001
, причем устройство кольцевого декодирования выполнено с возможностью
- декодировать целочисленный список (
Figure 00000059
) в кольцевой элемент (
Figure 00000058
) коммутативного кольца (
Figure 00000001
) для использования с вычислительным устройством по п.1, сконфигурированным с возможностью принимать закодированную информацию по компьютерной сети, причем декодирование содержит этап, на котором
- определяют для одного или нескольких кольцевых элементов основания (
Figure 00000033
) кольцевой элемент (
Figure 00000058
) так, что кольцевой элемент равен линейной комбинации степеней одного или нескольких кольцевых элементов основания (
Figure 00000060
), причем степени имеют показатели, определенные целочисленным списком.
14. Устройство (200) вычисления таблицы для вычисления таблицы приращений для использования в вычислительном устройстве для выполнения арифметики с обфускацией в коммутативном кольце (
Figure 00000001
), причем кольцо имеет конечное количество кольцевых элементов, кольцевое сложение и кольцевое умножение определены над кольцевыми элементами, вычислительное устройство оперирует над целочисленными списками (
Figure 00000002
), кодирующими кольцевые элементы (
Figure 00000003
), целочисленные списки содержат по меньшей мере два целых, причем устройство вычисления таблицы содержит
- блок (210) создания таблицы, выполненный с возможностью строить таблицу приращений, причем блок создания таблицы выполнен с возможностью
- многократно выбирать входной кольцевой элемент,
- определять выходной кольцевой элемент, который равен фиксированному кольцевому элементу приращения, кольцевым образом сложенному с входным кольцевым элементом,
- определять выходной целочисленный список, кодирующий выходной кольцевой элемент,
- добавлять в таблицу приращений запись, отображающую входной кольцевой элемент в выходной целочисленный список, причем устройство (200) вычисления таблицы выполнено с возможностью хранить построенную таблицу приращений в вычислительном устройстве.
15. Способ электронного вычисления для выполнения арифметики с обфускацией в коммутативном кольце (
Figure 00000001
), причем кольцо имеет конечное количество кольцевых элементов, кольцевое сложение и кольцевое умножение определены над кольцевыми элементами, способ вычисления оперирует над целочисленными списками (
Figure 00000002
), кодирующими кольцевые элементы (
Figure 00000003
), целочисленные списки содержат по меньшей мере два целых, целочисленный список (
Figure 00000004
) кодирует кольцевой элемент (
Figure 00000005
) так, что кольцевой элемент равен линейной комбинации степеней (
Figure 00000006
;
Figure 00000007
) одного или нескольких кольцевых элементов основания (
Figure 00000008
;
Figure 00000009
), причем степени имеют показатели, определенные целочисленным списком, причем способ вычисления содержит этапы, на которых
- сохраняют таблицу приращений (
Figure 00000010
), определенную для фиксированного приращения кольцевого элемента (1;
Figure 00000011
), причем таблица приращений отображает входной кольцевой элемент (
Figure 00000012
) в выходной целочисленный список (
Figure 00000013
), кодирующий выходной кольцевой элемент (
Figure 00000014
), так, что выходной кольцевой элемент равен кольцевому элементу приращения, кольцевым образом сложенному с входным кольцевым элементом (
Figure 00000015
),
- осуществляют кольцевое сложение, причем кольцевое сложение содержит этапы, на которых
- принимают первый входной для сложения целочисленный список (
Figure 00000002
), кодирующий первый входной для сложения кольцевой элемент, и второй входной для сложения целочисленный список (
Figure 00000016
), кодирующий второй входной для сложения кольцевой элемент,
- определяют выходной для сложения целочисленный список, кодирующий выходной для сложения кольцевой элемент, путем применения таблицы приращений к кольцевым элементам, определенным из первого и второго входных для сложения целочисленных списков, причем выходной для сложения кольцевой элемент равен кольцевому сложению первого входного для сложения кольцевого элемента и второго входного для сложения кольцевого элемента, причем определение выходного для сложения целочисленного списка содержит этапы, на которых
- определяют промежуточный целочисленный список сложения (
Figure 00000017
), кодирующий промежуточный кольцевой элемент сложения, путем первого применения таблицы приращений к кольцевому элементу (
Figure 00000018
), который является линейной комбинацией степеней одного или нескольких элементов основания, причем степени определяются из первого и второго входных для сложения целочисленных списков, (
Figure 00000019
),
- определяют выходной для сложения целочисленный список, содержащий второе применение таблицы приращений к кольцевым элементам, определенным из промежуточного целочисленного списка сложения и определенным из второго входного для сложения целочисленного списка.
16. Способ электронного вычисления по п.15, содержащий этап, на котором
- осуществляют кольцевое умножение, причем кольцевое умножение содержит этапы, на которых
- принимают первый входной для умножения целочисленный список (
Figure 00000020
), кодирующий первый входной для умножения кольцевой элемент, и второй входной для умножения целочисленный список (
Figure 00000021
), кодирующий второй входной для умножения кольцевой элемент,
- определяют выходной для умножения целочисленный список, кодирующий выходной для умножения кольцевой элемент путем применения таблицы приращений к кольцевым элементам, определенным из первого и второго входных для умножения целочисленных списков, причем выходной для умножения кольцевой элемент равен кольцевому умножению первого входного для умножения кольцевого элемента и второго входного для умножения кольцевого элемента.
17. Компьютерная программа, содержащая компьютерные программные инструкции, выполненные с возможностью выполнять способ по п.15 или 16, когда компьютерная программа запущена на программируемом устройстве.
18. Машиночитаемый носитель, содержащий
- компьютерную программу по п.17.
RU2017114868A 2014-09-30 2015-09-30 Электронное вычислительное устройство для выполнения арифметики с обфускацией RU2701716C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14186951 2014-09-30
EP14186951.1 2014-09-30
PCT/EP2015/072635 WO2016050884A1 (en) 2014-09-30 2015-09-30 Electronic calculating device for performing obfuscated arithmetic

Publications (3)

Publication Number Publication Date
RU2017114868A true RU2017114868A (ru) 2018-11-07
RU2017114868A3 RU2017114868A3 (ru) 2019-04-24
RU2701716C2 RU2701716C2 (ru) 2019-09-30

Family

ID=51625935

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017114868A RU2701716C2 (ru) 2014-09-30 2015-09-30 Электронное вычислительное устройство для выполнения арифметики с обфускацией

Country Status (7)

Country Link
US (1) US10496372B2 (ru)
EP (1) EP3201758A1 (ru)
JP (1) JP6621813B2 (ru)
CN (1) CN106716345A (ru)
BR (1) BR112017006236A2 (ru)
RU (1) RU2701716C2 (ru)
WO (1) WO2016050884A1 (ru)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106716345A (zh) 2014-09-30 2017-05-24 皇家飞利浦有限公司 用于执行混淆算术的电子计算设备
RU2698764C2 (ru) 2014-11-27 2019-08-29 Конинклейке Филипс Н.В. Электронное вычислительное устройство для выполнения замаскированных арифметических действий
BR112017012092A2 (pt) 2014-12-12 2018-01-16 Koninklijke Philips Nv dispositivo e método de geração eletrônicos, e programa de computador
US10505710B2 (en) * 2014-12-22 2019-12-10 Koninklijke Philips N.V. Electronic calculating device
EP3488553A1 (en) * 2016-07-21 2019-05-29 Koninklijke Philips N.V. Device and method for performing obfuscated arithmetic
BR112019012368A2 (pt) 2016-12-20 2020-02-27 Koninklijke Philips N.V. Dispositivo de cálculo eletrônico, método de cálculo eletrônico, e mídia legível por computador

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1418394A (en) 1921-01-27 1922-06-06 Joseph W Parks Tipping hand tool
FR2622713A1 (fr) * 1987-10-30 1989-05-05 Thomson Csf Circuit de calcul utilisant une arithmetique residuelle
US5069547A (en) 1988-11-23 1991-12-03 The Boeing Company Multitrack multilevel sensing system with error detecting
SU1667059A2 (ru) * 1989-07-11 1991-07-30 Научно-Исследовательский Институт Бытовой Радиоэлектронной Аппаратуры Устройство дл умножени двух чисел
US5270956A (en) * 1991-03-18 1993-12-14 University Of Maryland System and method for performing fast algebraic operations on a permutation network
US6760742B1 (en) * 2000-02-18 2004-07-06 Texas Instruments Incorporated Multi-dimensional galois field multiplier
CA2327911A1 (en) 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
US7218734B2 (en) 2001-05-02 2007-05-15 Nciper Corporation Limited Ring arithmetic method, system, and apparatus
CA2369304A1 (en) 2002-01-30 2003-07-30 Cloakware Corporation A protocol to hide cryptographic private keys
EP1636932A2 (en) 2003-06-13 2006-03-22 Koninklijke Philips Electronics N.V. Multiplication in a finite field
DE602004028849D1 (de) * 2003-10-14 2010-10-07 Panasonic Corp Datenumsetzer
US7434898B2 (en) 2004-03-31 2008-10-14 Matsushita Electric Industrial Co., Ltd. Computer system, computer program, and addition method
CN101167114A (zh) 2005-04-28 2008-04-23 松下电器产业株式会社 程序转换装置、加密处理装置以及加密处理方法
IE20050277A1 (en) 2005-05-04 2006-11-29 Nat Univ Ireland Method and apparatus for generating error-correcting and error-detecting codes using zero-divisors and units in group rings
US8106463B2 (en) 2005-12-06 2012-01-31 Arm, Inc. Memory cells for read only memories
JP4938766B2 (ja) 2006-04-28 2012-05-23 パナソニック株式会社 プログラム難読化システム、プログラム難読化装置及びプログラム難読化方法
CN1909555A (zh) * 2006-08-25 2007-02-07 华为技术有限公司 一种实现生成树协议局部计算的方法和交换环网系统
US8090097B2 (en) * 2006-10-11 2012-01-03 Frank Rubin Device, system and method for cryptographic key exchange
GB0621951D0 (en) * 2006-11-03 2006-12-13 Univ Oxford Brookes Polynonomial synthesis
US8752032B2 (en) 2007-02-23 2014-06-10 Irdeto Canada Corporation System and method of interlocking to protect software-mediated program and device behaviours
WO2009076669A1 (en) 2007-12-13 2009-06-18 Massachusetts Institute Of Technology Private data processing
ATE533104T1 (de) 2008-03-05 2011-11-15 Irdeto Bv White-box-implementierung
US8667301B2 (en) 2010-04-01 2014-03-04 Apple Inc. Obfuscating transformations on data array content and addresses
CN101969374B (zh) * 2010-10-27 2012-06-20 北京航空航天大学 分组密码算法中混淆层的实现方法
FR2968104B1 (fr) 2010-11-30 2013-07-12 Logiways France Procede et systeme de protection d'un dispositif de cryptographie
US8817974B2 (en) * 2011-05-11 2014-08-26 Nxp B.V. Finite field cryptographic arithmetic resistant to fault attacks
RU2467389C1 (ru) * 2011-06-07 2012-11-20 Антон Андреевич Краснопевцев Способ защиты программно-информационного обеспечения от несанкционированного использования
EP2831797B1 (en) 2012-03-30 2018-05-02 Irdeto B.V. Securing accessible systems using dynamic data mangling
US9313028B2 (en) 2012-06-12 2016-04-12 Kryptnostic Method for fully homomorphic encryption using multivariate cryptography
US10536361B2 (en) 2012-06-27 2020-01-14 Ubiquiti Inc. Method and apparatus for monitoring and processing sensor data from an electrical outlet
US20150324199A1 (en) * 2012-07-06 2015-11-12 Koninklijke Philips N.V. Computer processor and system without an arithmetic and logic unit
US9350543B2 (en) 2012-07-26 2016-05-24 Cisco Technology, Inc. Method and system for homomorphicly randomizing an input
KR102050732B1 (ko) 2012-09-28 2019-12-02 삼성전자 주식회사 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법
BR112015014470A2 (pt) * 2012-12-21 2017-07-11 Koninklijke Philips Nv compilador configurado para compilar um programa de computador, dispositivo de computação configurado para executar um programa de computador compilado por um compilador, método para executar um programa de computador compilado por um compilador e programa de computador
US9576116B2 (en) * 2013-12-26 2017-02-21 Nxp B.V. Secure software components anti-reverse-engineering by table interleaving
WO2015149826A1 (en) 2014-03-31 2015-10-08 Irdeto B.V. Protecting an item of software
CN106716345A (zh) 2014-09-30 2017-05-24 皇家飞利浦有限公司 用于执行混淆算术的电子计算设备
RU2698764C2 (ru) 2014-11-27 2019-08-29 Конинклейке Филипс Н.В. Электронное вычислительное устройство для выполнения замаскированных арифметических действий
US9288039B1 (en) 2014-12-01 2016-03-15 Xerox Corporation Privacy-preserving text language identification using homomorphic encryption

Also Published As

Publication number Publication date
RU2701716C2 (ru) 2019-09-30
WO2016050884A1 (en) 2016-04-07
JP2017533458A (ja) 2017-11-09
US10496372B2 (en) 2019-12-03
US20170220320A1 (en) 2017-08-03
CN106716345A (zh) 2017-05-24
EP3201758A1 (en) 2017-08-09
RU2017114868A3 (ru) 2019-04-24
JP6621813B2 (ja) 2019-12-18
BR112017006236A2 (pt) 2017-12-12

Similar Documents

Publication Publication Date Title
RU2017114868A (ru) Электронное вычислительное устройство для выполнения арифметики с обфускацией
RU2017122260A (ru) Электронное вычислительное устройство для выполнения замаскированных арифметических действий
JP2019523492A5 (ru)
JP2017533458A5 (ru)
CN105099467B (zh) Qc-ldpc码的编码方法及编码装置
CN110119265A (zh) 乘法运算实现方法、装置、计算机存储介质及电子设备
ES2696530T3 (es) Procedimiento de cálculo, dispositivo de cálculo y producto de software de cálculo para dominio de Montgomery
JP6368051B2 (ja) 電子生成装置
RU2698763C2 (ru) Электронное вычислительное устройство
JP2018503862A5 (ru)
RU2018124780A (ru) Вычислительное устройство и способ
JP2014021237A (ja) 縮約装置、縮約方法、およびプログラム
Sivatski The Witt ring kernel for a fourth degree field extension and related problems
US8355501B1 (en) Method of collision-free hashing for near-match inputs
RU2018125606A (ru) Вычислительное устройство и способ
Cheng Improvement on asymptotic density of packing families derived from multiplicative lattices
RU2015121473A (ru) Устройство мажоритарного декодирования кода Рида-Соломона по k-элементным участкам кодовой комбинации
KR101524661B1 (ko) 재배치를 통한 트리플-베이스 체인 기반 타원곡선 스칼라 곱셈을 위한 연산 장치 및 방법
Gulannanavar et al. DESIGN AND SYNTHESIS OF VEDIC FLOATING POINT MULTIPLIER
Iannucci On primitive weird numbers of the form $2^ kpq$
Brzeziński et al. Normal Extensions
JP2013195453A (ja) 演算装置
Tajima et al. Simultaneous code/error-trellis reduction for convolutional codes using shifted code/error-subsequences
Poulakis Computational Number Theory
Vassalos et al. Efficient architectures for modulo 2 n− 2 arithmetic units

Legal Events

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

Effective date: 20201001