RU2012131957A - Способ применения контрмер против атак по сторонним каналам - Google Patents

Способ применения контрмер против атак по сторонним каналам Download PDF

Info

Publication number
RU2012131957A
RU2012131957A RU2012131957/08A RU2012131957A RU2012131957A RU 2012131957 A RU2012131957 A RU 2012131957A RU 2012131957/08 A RU2012131957/08 A RU 2012131957/08A RU 2012131957 A RU2012131957 A RU 2012131957A RU 2012131957 A RU2012131957 A RU 2012131957A
Authority
RU
Russia
Prior art keywords
function
adr
variable
bit
returned
Prior art date
Application number
RU2012131957/08A
Other languages
English (en)
Other versions
RU2586020C2 (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 RU2012131957A publication Critical patent/RU2012131957A/ru
Application granted granted Critical
Publication of RU2586020C2 publication Critical patent/RU2586020C2/ru

Links

Classifications

    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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
    • 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
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • 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/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

1. Способ принятия контрмер против атак по сторонним каналам, при этом способ содержит исполнение алгоритма блочного шифра, чтобы маскировать промежуточные переменные, при этом алгоритм блочного шифра содержит одну или более нелинейных функций, отличающийся тем, что, по меньшей мере, одна из нелинейных функций реализуется с использованием функции сопоставления по месту.2. Способ по п.1, в котором функция сопоставления по месту является рандомизированной по битам функцией сопоставления по месту (.3. Способ по п.2, в котором рандомизированная по битам функция сопоставления по месту определяется как:,гдеявляется адресом в памяти,является переменной, которая может храниться по адресу в памяти, и b является значением, которое возвращается, если переменнаяравняется фактическим данным, которые присутствуют по адресув памяти; иначе возвращается дополнение b.4. Способ по п.3, в котором, гдеявляется дополнением b.5. Способ по п.2, в котором упомянутая, по меньшей мере, одна из нелинейной функции содержит функцию compare, определенную посредством:,где x является первой входной переменной функции compareи y является второй входной переменной функции compare, и b является значением, которое возвращается, если x равняется y, иявляется значением, которое возвращается, если x не равняется y, так что функция compareможет реализовываться посредством: записи переменной x по адресув памяти; исполнения рандомизированной по битам функции сопоставления по месту, определенной как:,и возвращения.6. Способ по п.1, в котором нелинейная функция содержится в операции SubByte.7. Способ по п.1, в котором алгоритм блочного шифра дополнительно содержит одну или более линей

Claims (11)

1. Способ принятия контрмер против атак по сторонним каналам, при этом способ содержит исполнение алгоритма блочного шифра, чтобы маскировать промежуточные переменные, при этом алгоритм блочного шифра содержит одну или более нелинейных функций, отличающийся тем, что, по меньшей мере, одна из нелинейных функций реализуется с использованием функции сопоставления по месту.
2. Способ по п.1, в котором функция сопоставления по месту является рандомизированной по битам функцией сопоставления по месту (MIP I (data; adr,b)).
3. Способ по п.2, в котором рандомизированная по битам функция сопоставления по месту определяется как:
Figure 00000001
,
где adr является адресом в памяти, data является переменной, которая может храниться по адресу в памяти, и b является значением, которое возвращается, если переменная data равняется фактическим данным, которые присутствуют по адресу adr в памяти; иначе возвращается дополнение b.
4. Способ по п.3, в котором MIP I (data; adr; b)=MIP(data; adr)
Figure 00000002
, где
Figure 00000003
является дополнением b.
5. Способ по п.2, в котором упомянутая, по меньшей мере, одна из нелинейной функции содержит функцию compareb, определенную посредством:
Figure 00000004
,
где x является первой входной переменной функции compareb и y является второй входной переменной функции compareb, и b является значением, которое возвращается, если x равняется y, и
Figure 00000005
является значением, которое возвращается, если x не равняется y, так что функция compareb может реализовываться посредством: записи переменной x по адресу adr в памяти; исполнения рандомизированной по битам функции сопоставления по месту, определенной как:
Figure 00000006
,
и возвращения MIP I (y; adr,b).
6. Способ по п.1, в котором нелинейная функция содержится в операции SubByte.
7. Способ по п.1, в котором алгоритм блочного шифра дополнительно содержит одну или более линейных функций, при этом, по меньшей мере, одна из упомянутых одной или более линейных функций шифруются посредством применения операции XOR к переменным функции.
8. Способ по п.1, в котором алгоритм блочного шифра является алгоритмом Расширенного стандарта шифрования (AES).
9. Машиночитаемый носитель, содержащий компьютерную программу, которая сконфигурирована с возможностью осуществлять способ по п.1.
10. Способ вычисления маскированной функции Sbox второго порядка по маскированному вводу второго порядка, содержащий этапы
(i) b
Figure 00000007
rand(1).
(ii) Для a=0 по 2n-1 делать (a) запись
Figure 00000008
,
(b) cmp
Figure 00000009
,
(c) Rcmp
Figure 00000010
.
(iii) Возвратить Rb,
где b является переменной, которая представляет случайный бит, который индексирует регистр, и a является переменной, которая представляет индекс, который определяет количество, сколько раз этапы (a)-(c) должны выполняться, r1, r2 являются парой входных масок,
Figure 00000011
является маскированным значением, где
Figure 00000012
Figure 00000013
, и s1, s2 являются парой выходных масок, и adr является свободным адресом памяти, cmp является битовой переменной, которая индексирует регистр и является выводом функции MIPI(r 2 ; adr; b), и Rcmp и Rb являются, каждое, регистровыми адресами регистра микропроцессора, и при этом MIPI(r 2 ; adr; b) является рандомизированной по битам функцией сопоставления по месту, определенной как:
Figure 00000014
.
11. Машиночитаемый носитель, содержащий компьютерную программу, которая сконфигурирована с возможностью выполнять способ по п.10.
RU2012131957/08A 2011-07-26 2012-07-25 Способ применения контрмер против атак по сторонним каналам RU2586020C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP11290337 2011-07-26
EPEP11290337 2011-07-26

Publications (2)

Publication Number Publication Date
RU2012131957A true RU2012131957A (ru) 2014-01-27
RU2586020C2 RU2586020C2 (ru) 2016-06-10

Family

ID=47576770

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012131957/08A RU2586020C2 (ru) 2011-07-26 2012-07-25 Способ применения контрмер против атак по сторонним каналам

Country Status (5)

Country Link
US (1) US8971526B2 (ru)
JP (1) JP5892887B2 (ru)
KR (1) KR20130012940A (ru)
CN (1) CN102904716A (ru)
RU (1) RU2586020C2 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2711193C2 (ru) * 2015-11-09 2020-01-15 Конинклейке Филипс Н.В. Криптографическое устройство, приспособленное для вычисления целевого блочного шифра
RU2715021C2 (ru) * 2014-12-22 2020-02-21 Конинклейке Филипс Н.В. Скрытие исполнения программы

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3012234B1 (fr) * 2013-10-23 2017-02-24 Proton World Int Nv Protection de l'execution d'un algorithme contre des attaques par canaux caches
EP2884387B1 (en) * 2013-12-13 2016-09-14 Thomson Licensing Efficient modular addition resistant to side-channel attacks
KR20150123476A (ko) * 2014-04-25 2015-11-04 한국전자통신연구원 부채널 공격 방지를 위한 대칭키 암호 알고리즘의 함수 마스킹 장치 및 그 방법
CN106161005B (zh) * 2015-03-31 2019-05-07 北京南瑞智芯微电子科技有限公司 一种分组加密算法防攻击的掩码方法和装置
FR3040515B1 (fr) 2015-09-02 2018-07-27 St Microelectronics Rousset Verification de la resistance d'un circuit electronique a des attaques par canaux caches
FR3040514B1 (fr) * 2015-09-02 2017-09-15 Stmicroelectronics Rousset Protection dpa d'un algorithme de rijndael
US10103873B2 (en) 2016-04-01 2018-10-16 Intel Corporation Power side-channel attack resistant advanced encryption standard accelerator processor
WO2017223509A1 (en) 2016-06-23 2017-12-28 Cryptography Research, Inc. Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks
US10256973B2 (en) * 2016-09-30 2019-04-09 Intel Corporation Linear masking circuits for side-channel immunization of advanced encryption standard hardware
CN108234107B (zh) * 2016-12-21 2022-11-22 国民技术股份有限公司 一种带仿射掩码的s盒变换方法及装置
EP3367606B1 (en) * 2017-02-24 2019-09-18 Secure-IC SAS Automatic insertion of masking into an algorithm
EP3422176A1 (en) * 2017-06-28 2019-01-02 Gemalto Sa Method for securing a cryptographic process with sbox against high-order side-channel attacks
CN108809622B (zh) * 2018-06-15 2021-10-26 上海科技大学 一种抗功耗侧信道攻击对策验证方法
RU2738321C1 (ru) * 2018-09-20 2020-12-11 Общество с ограниченной ответственностью "Цифра" Способ криптографического преобразования и устройство для его осуществления
CN111339577B (zh) * 2020-02-12 2022-06-07 南京师范大学 一种具有优良dpa抗性s盒的构造方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7848514B2 (en) * 2004-05-24 2010-12-07 Research In Motion Limited Table masking for resistance to power analysis attacks
JP2007006184A (ja) * 2005-06-24 2007-01-11 Nippon Telegr & Teleph Corp <Ntt> 暗号処理装置及び認証アプリケーションプログラム
FR2893796B1 (fr) * 2005-11-21 2008-01-04 Atmel Corp Procede de protection par chiffrement
JP2010515945A (ja) * 2007-01-11 2010-05-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 実装のコピーの追跡
JP2008233683A (ja) * 2007-03-22 2008-10-02 Toshiba Corp 暗号処理装置及びプログラム
JP4962165B2 (ja) * 2007-06-22 2012-06-27 大日本印刷株式会社 暗号処理装置,暗号処理プログラム及び暗号処理方法
US8615078B2 (en) * 2009-08-21 2013-12-24 Electronics And Telecommunications Research Institute Method and apparatus for processing F-function in seed encryption system
FR2950721B1 (fr) * 2009-09-29 2011-09-30 Thales Sa Procede d'execution d'un algorithme de protection d'un dispositif electronique par masquage affine et dispositif associe
CN101938349A (zh) * 2010-10-01 2011-01-05 北京航空航天大学 一种适用于硬件实现的s盒及其电路实现方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2715021C2 (ru) * 2014-12-22 2020-02-21 Конинклейке Филипс Н.В. Скрытие исполнения программы
RU2711193C2 (ru) * 2015-11-09 2020-01-15 Конинклейке Филипс Н.В. Криптографическое устройство, приспособленное для вычисления целевого блочного шифра

Also Published As

Publication number Publication date
JP2013029835A (ja) 2013-02-07
US8971526B2 (en) 2015-03-03
KR20130012940A (ko) 2013-02-05
CN102904716A (zh) 2013-01-30
US20130028412A1 (en) 2013-01-31
RU2586020C2 (ru) 2016-06-10
JP5892887B2 (ja) 2016-03-23

Similar Documents

Publication Publication Date Title
RU2012131957A (ru) Способ применения контрмер против атак по сторонним каналам
US8184806B2 (en) Table masking for resistance to power analysis attacks
CN112002210B (zh) 用于测试并且加固软件应用的方法
CA2508160C (en) Table masking for resistance to power analysis attacks
US10461924B2 (en) Format-preserving cipher
US20170235552A1 (en) Computing device comprising a table network
CN107004084B (zh) 用于加密操作的乘法掩码
US7720225B2 (en) Table splitting for cryptographic processes
US8619985B2 (en) Table splitting for cryptographic processes
WO2020192366A1 (zh) 一种基于动态白盒的数据处理方法、装置及设备
ATE447737T1 (de) Verfahren zum schutz einer kryptographischen einheit mittels homographischer maskierung
CN109600232B (zh) 针对sm2签名算法的攻击验证、防护方法及装置
Zhang et al. Cryptanalyzing a novel image cipher based on mixed transformed logistic maps
CN106788978B (zh) 变元分解限门掩码方法
US10680796B2 (en) Computing with encrypted values
CN115277266B (zh) 一种实验室数据加密方法、装置、终端及介质
CN111585579B (zh) 基于布尔函数的分组密码s盒快速实现方法及装置
EP3439225A1 (en) Method to secure a software code performing accesses to look-up tables
US20170272236A1 (en) Encrypting apparatus and method using logical complement values for enhanced security against side channel analysis
US9900149B2 (en) Area efficient cryptographic method and apparatus
WO2015101012A1 (zh) 一种实现解扰解扩的方法和矢量运算器、计算机存储介质
Kerckhof et al. From new technologies to new solutions: Exploiting FRAM memories to enhance physical security
US10157128B2 (en) Method for access to all the cells of a memory area for purposes of writing or reading data blocks in said cells
KR102405821B1 (ko) Aria 블록 암호의 개선된 화이트 박스 암호 장치
CN118536150A (zh) 基于同态秘密共享的隐私保护数据库join类型查询方法、系统及设备