Атака по ошибкам вычислений на эллиптические кривые, использующие алгоритм Монтгомери: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Добавлены новые разделы
Исправлено представление ссылок
Строка 1: Строка 1:
{{В инкубаторе}}
{{В инкубаторе}}


'''Атака по ошибкам вычислений на эллиптические кривые, использующие алгоритм Монтгомери''' — это один из способов [[Атака по сторонним каналам|атаки по сторонним каналам]], направленный на конкретный алгоритм скалярного умножения (алгоритм Монтгомери), использующийся в криптосистемах построенных на эллиптических кривых.
'''Атака по ошибкам вычислений на эллиптические кривые, использующие алгоритм Монтгомери''' — это один из способов [[Атака по сторонним каналам|атаки по сторонним каналам]]
<ref>
{{cite journal
| last = Kocher
| first = P.
| title = Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems
| journal = Advances in Cryptology — CRYPTO ’96
| year = 1996
| volume = 1109
| pages = 104-113
| doi = 10.1007/3-540-68697-5_9
}}
</ref>
, направленный на конкретный алгоритм скалярного умножения (алгоритм Монтгомери), использующийся в криптосистемах построенных на эллиптических кривых.


== Краткие сведения об эллиптических кривых ==
== Краткие сведения об эллиптических кривых ==
Эллиптические кривые (ЭК) являются надежным инструментом, при помощи которого можно построить [[Криптосистема с открытым ключом|криптосистему с открытым ключом]].
Эллиптические кривые (ЭК) являются надежным инструментом, при помощи которого можно построить [[Криптосистема с открытым ключом|криптосистему с открытым ключом]]
<ref>
{{cite journal
| last = Miller
| first = V.
| title = Use of elliptic curves in cryptography
| journal = Conference on the theory and application of cryptographic techniques
| year = 1985
| volume = 218
| pages = 417-426
| doi = 10.1007/3-540-39799-X_31
}}
</ref>
.



=== Определение ===
=== Определение ===
Строка 50: Строка 77:
=== Недостатки предыдущих алгоритмов ===
=== Недостатки предыдущих алгоритмов ===


Описанный выше алгоритм скалярного умножения не рекомендуется использовать при просторении криптосистем на ЭК, поскольку он подвержен [[Атака по энергопотреблению|атаке по энергопотреблению]]. Шаги <code>3:</code> и <code>5:</code> позволяют злоумышленнику, перехватывающему значения <math>Q</math> на очередной итерации цикла, побитово восстановить значение секретного ключа <math>k</math>.
Описанный выше алгоритм скалярного умножения не рекомендуется использовать при просторении криптосистем на ЭК, поскольку он подвержен [[Атака по энергопотреблению|атаке по энергопотреблению]]
<ref>
{{cite journal
| last = Kocher
| first = P.
| last2 = Jaffe
| first2 = J.
| last3 = Jun
| first3 = B.
| title = Differential Power Analysis
| journal = Advances in Cryptology — CRYPTO’ 99
| year = 1999
| volume = 1666
| pages = 388–397
| doi = 10.1007/3-540-48405-1_25
}}
</ref>
. Шаги <code>3:</code> и <code>5:</code> позволяют злоумышленнику, перехватывающему значения <math>Q</math> на очередной итерации цикла, побитово восстановить значение секретного ключа <math>k</math>.


Аналогичным проблемам подвержены более сложные алгоритмы скалярного умножения, использующие <math>y</math>-координату. Существует множество вариантов атак по ошибкам вычисления. Например можно применять атаку смены знака[https://link.springer.com/chapter/10.1007/11889700_4].
Аналогичным проблемам подвержены более сложные алгоритмы скалярного умножения, использующие <math>y</math>-координату. Существует множество вариантов атак по ошибкам вычисления. Например можно применять атаку смены знака
<ref>
{{cite journal
| last = Blömer
| first = J.
| last2 = Otto
| first2 = M.
| last3 = Seifert
| first3 = J.
| title = Sign change fault attacks on elliptic curve cryptosystems
| journal = International Workshop on Fault Diagnosis and Tolerance in Cryptography
| year = 2006
| volume = 4236
| pages = 36-52
| doi = 10.1007/11889700_4
}}
</ref>
.




=== Описание алгоритма Монтгомери===
=== Описание алгоритма Монтгомери===
Монтгомери предложил алгоритм
Монтгомери предложил алгоритм, в котором не требуется использование <math>y</math>-координаты, что позволило значительно ускорить создание открытого ключа, а также полностью защититься от атак по энергопотреблению:
<ref>
{{cite journal
| last = Montgomery
| first = P.
| title = Speeding the Pollard and elliptic curve methods of factorization
| year = 1987
| doi = 10.1090/s0025-5718-1987-0866113-7
}}
</ref>
, в котором не требуется использование <math>y</math>-координаты, что позволило значительно ускорить создание открытого ключа, а также полностью защититься от атак по энергопотреблению:
<syntaxhighlight>
<syntaxhighlight>
Input: k, P
Input: k, P
Строка 76: Строка 147:
Подсчет <math>Q_0</math> и <math>Q_1</math> на очередном шаге алгоритма заслуживает отдельного внимания. Поскольку Монтгомери отказывается от использования <math>y</math>-координаты необходимо иметь точный порядок действий для вычисления проективных координат на очередной итерации.
Подсчет <math>Q_0</math> и <math>Q_1</math> на очередном шаге алгоритма заслуживает отдельного внимания. Поскольку Монтгомери отказывается от использования <math>y</math>-координаты необходимо иметь точный порядок действий для вычисления проективных координат на очередной итерации.


В статье
В статье (ссылка) приводится полное подробное описание вычисления проективных координат, получающихся удвоением и суммированием соответствующих значений. Всего требуется 18 операций сложения, 13 суммирования и 4 возведения в квадрат для случая <math>A \ne -3</math>, и, соответственно, 23 сложения, 11 суммирования и 4 возведения в квадрат иначе.
<ref>
{{cite journal
| last = Izu
| first = T.
| last2 = Möller
| first2 = B.
| last3 = Takagi
| first3 = T.
| title = Improved Elliptic Curve Multiplication Methods Resistant against Side Channel Attacks
| journal = Progress in Cryptology — INDOCRYPT 2002
| year = 2002
| volume = 2551
| pages = 296-313
| doi = 10.1007/3-540-36231-2_24
}}
</ref>
приводится полное подробное описание вычисления проективных координат, получающихся удвоением и суммированием соответствующих значений. Всего требуется 18 операций сложения, 13 суммирования и 4 возведения в квадрат для случая <math>A \ne -3</math>, и, соответственно, 23 сложения, 11 суммирования и 4 возведения в квадрат иначе.




Строка 89: Строка 177:
Как было показано, вычисление значения точки на ЭК производится лишь на последней итерации цикла. Во время промежуточных шагов проверка принадлежности полученной точки эллиптической кривой не производится. Отсюда возникает возможность для атаки по ошибке вычислений.
Как было показано, вычисление значения точки на ЭК производится лишь на последней итерации цикла. Во время промежуточных шагов проверка принадлежности полученной точки эллиптической кривой не производится. Отсюда возникает возможность для атаки по ошибке вычислений.


В статье
Предлагается[https://ieeexplore.ieee.org/document/4599562] использовать вспомогательную ЭК <math>E'</math>. Вводимая кривая является изоморфной основной ЭК <math>E</math> в поле <math>F_{p^2}</math>, но не в <math>F_{p}</math>. Таким образом:
<ref>
{{cite journal
| last = Fouque
| first = P.
| last2 = Lercier
| first2 = R.
| last3 = Réal
| first3 = D.
| last4 = Valette
| first4 = F.
| title = Fault attack on elliptic curve Montgomery ladder implementation
| journal = 2008 5th Workshop on Fault Diagnosis and Tolerance in Cryptography
| year = 2008
| pages = 92-98
| doi = 10.1109/FDTC.2008.15
}}
</ref>
предлагается использовать вспомогательную ЭК <math>E'</math>. Вводимая кривая является изоморфной основной ЭК <math>E</math> в поле <math>F_{p^2}</math>, но не в <math>F_{p}</math>. Таким образом:


:<math>\forall x \in F_p: g(x) \equiv x^3 + ax + b \neq 0</math>,
:<math>\forall x \in F_p: g(x) \equiv x^3 + ax + b \neq 0</math>,
Строка 109: Строка 215:


=== Защита Эбейд-Ламберта ===
=== Защита Эбейд-Ламберта ===
Для избавления от дорогостоящих вычислений, предлагается
Для избавления от дорогостоящих вычислений, предлагается[https://ieeexplore.ieee.org/document/5412859] оценивать значение точки <math>Q_0 = (x_0, y_0) = (X_0 : Y_0 : Z_0)</math> в проективных координатах, а именно <math>Y_0</math>. После этого с помощью всего одной операции инверсии получится нужное для проверки <math>y_0</math>. Для начала, формулу для вычисления значения <math>y_0</math> приводится к следующему виду[https://ieeexplore.ieee.org/document/5412859], путем подстановки проективных координат точек <math>Q_0 = (X_0 : \;.\; : Z_0)</math> и <math>Q_1 = (X_1 : \;.\; : Z_1)</math>:
<ref>
{{cite journal
| last = Ebeid
| first = N.
| last2 = Lambert
| first2 = R.
| title = Securing the Elliptic Curve Montgomery Ladder against Fault Attacks
| journal = 2009 Workshop on Fault Diagnosis and Tolerance in Cryptography (FDTC)
| year = 2009
| pages = 46-50
| doi = 10.1109/FDTC.2009.35
}}
</ref>
оценивать значение точки <math>Q_0 = (x_0, y_0) = (X_0 : Y_0 : Z_0)</math> в проективных координатах, а именно <math>Y_0</math>. После этого с помощью всего одной операции инверсии получится нужное для проверки <math>y_0</math>. Для начала, формулу для вычисления значения <math>y_0</math> приводится к следующему виду
<ref>
{{cite journal
| last = Brier
| first = É.
| last2 = Joy
| first2 = M.
| title = Weierstraß Elliptic Curves and Side-Channel Attacks
| journal = International Workshop on Public Key Cryptography
| year = 2002
| pages = 335-345
| doi = 10.1007/3-540-45664-3_24
}}
</ref>
, путем подстановки проективных координат точек <math>Q_0 = (X_0 : \;.\; : Z_0)</math> и <math>Q_1 = (X_1 : \;.\; : Z_1)</math>:


:<math>y_0 = \dfrac{2B + (A + x\dfrac{X_0}{Z_0})(x + \dfrac{X_0}{Z_0}) - \dfrac{X_1}{Z_1}(x - \dfrac{X_0}{Z_0})^2}{2y}</math>, где <math>(x, y)</math> -- координаты точки <math>(Q_1 - Q_0)</math>
:<math>y_0 = \dfrac{2B + (A + x\dfrac{X_0}{Z_0})(x + \dfrac{X_0}{Z_0}) - \dfrac{X_1}{Z_1}(x - \dfrac{X_0}{Z_0})^2}{2y}</math>, где <math>(x, y)</math> -- координаты точки <math>(Q_1 - Q_0)</math>
Строка 121: Строка 255:


=== Алгоритм LOEDAR ===
=== Алгоритм LOEDAR ===
Более эффективным способом отражения описанной выше атаки является алгоритм LOEDAR
Более эффективным способом отражения описанной выше атаки является алгоритм LOEDAR[https://ieeexplore.ieee.org/document/5763164]. Авторы заявляют, что простейшей идеей являлась бы проверка того, что на каждом шаге выполнено равенство <math>Q_0 + P \equiv Q_1</math>. Однако проведение такой проверки в исходных координатах затруднительно, поскольку требует непосредственного вычисления <math>y</math>-координат всех трех точек. В проективных же координатах необходимо знать <math>Q_1 - P = (X_{Q_1 - P} : \;.\; : Z_{Q_1 - P})</math>, что также требует дополнительных вычислений
<ref>
{{cite journal
| last = Ma
| first = K.
| last2 = Wu
| first2 = K.
| title = LOEDAR: A low cost error detection and recovery scheme for ECC
| journal = 2011 Design, Automation & Test in Europe
| year = 2011
| pages = 1-6
| doi = 10.1109/DATE.2011.5763164
}}
</ref>
.
Авторы заявляют, что простейшей идеей являлась бы проверка того, что на каждом шаге выполнено равенство <math>Q_0 + P \equiv Q_1</math>. Однако проведение такой проверки в исходных координатах затруднительно, поскольку требует непосредственного вычисления <math>y</math>-координат всех трех точек. В проективных же координатах необходимо знать <math>Q_1 - P = (X_{Q_1 - P} : \;.\; : Z_{Q_1 - P})</math>, что также требует дополнительных вычислений


Предлагается использовать "верификационную точку" <math>Q_v</math>. Особенность заключается в том, что все вычисления и проверки будут по-прежнему осуществляться в проективных координатах <math>(X : \;.\; : Z)</math>, поскольку на любом шаге алгоритма выполняется соотношение <math>Q_1 + Q_v = 2Q_0</math>. Таким образом алгоритм будет выглядеть следующим образом:
Предлагается использовать "верификационную точку" <math>Q_v</math>. Особенность заключается в том, что все вычисления и проверки будут по-прежнему осуществляться в проективных координатах <math>(X : \;.\; : Z)</math>, поскольку на любом шаге алгоритма выполняется соотношение <math>Q_1 + Q_v = 2Q_0</math>. Таким образом алгоритм будет выглядеть следующим образом:
Строка 142: Строка 291:


== Ссылки ==
== Ссылки ==
{{Примечания}}
# [https://link.springer.com/chapter/10.1007/11889700_4 Blömer, Johannes, Martin Otto, and Jean-Pierre Seifert. "Sign change fault attacks on elliptic curve cryptosystems." International Workshop on Fault Diagnosis and Tolerance in Cryptography. Springer, Berlin, Heidelberg, 2006.]
# [https://ieeexplore.ieee.org/document/4599562 Fouque P. A. et al. Fault attack on elliptic curve Montgomery ladder implementation //2008 5th Workshop on Fault Diagnosis and Tolerance in Cryptography. – IEEE, 2008. – С. 92-98.]
# [https://ieeexplore.ieee.org/document/5412859 Ebeid, Nevine, and Rob Lambert. "Securing the elliptic curve montgomery ladder against fault attacks." 2009 Workshop on Fault Diagnosis and Tolerance in Cryptography (FDTC). IEEE, 2009.]
# [https://link.springer.com/chapter/10.1007%2F3-540-45664-3_24 Brier E., Joye M. Weierstraß elliptic curves and side-channel attacks //International Workshop on Public Key Cryptography. – Springer, Berlin, Heidelberg, 2002. – С. 335-345.]
# [https://ieeexplore.ieee.org/document/5763164 Ma K., Wu K. LOEDAR: A low cost error detection and recovery scheme for ECC //2011 Design, Automation & Test in Europe. – IEEE, 2011. – С. 1-6.]


<!-- Скрывайте категорию, используя [[:Категория вместо [[Категория -->
<!-- Скрывайте категорию, используя [[:Категория вместо [[Категория -->

Версия от 09:26, 19 ноября 2019

Атака по ошибкам вычислений на эллиптические кривые, использующие алгоритм Монтгомери — это один из способов атаки по сторонним каналам [1] , направленный на конкретный алгоритм скалярного умножения (алгоритм Монтгомери), использующийся в криптосистемах построенных на эллиптических кривых.

Краткие сведения об эллиптических кривых

Эллиптические кривые (ЭК) являются надежным инструментом, при помощи которого можно построить криптосистему с открытым ключом [2] .


Определение

Предполагается, что существует конечное поле нечетной характеристики , обозначаемое . Тогда в поле может быть задана ЭК в форме Вейерштрасса:

Для удобства вычислений данный вид может быть преобразован переходом к проективным координатам Якоби. В таком случае ЭК будет иметь вид:


Сложение двух точек эллиптической кривой

Сложение двух точек и на ЭК легче всего понять при помощи геометрической иллюстрации.

ECClines.svg


В простейшем случае (1), когда сложение производится путем проведения прямой через суммируемые точки. Данная прямая пересечет ЭК в третьей точке . Тогда симметричную эй точку и называют суммой двух точек и на ЭК.

Существуют и другие "специальные ситуации" (2–4), определение сложения в которых требует особого рассмотрения.


Скалярное умножение

Далее определим операцию умножения точек ЭК на число. Пускай выбрана точка на ЭК и целое число длиной бит. Затем путем -кратного сложения точки самой с собой получается точка , лежащая на той же ЭК, в силу свойств поля, в котором производится операция многократного сложения.

Пример простейшего алгоритма скалярного умножения:

Input: k, P
Output: kP

1: Q = P
2: for i = n-2 down to 0:
3:     Q = 2Q
4:     if k[i] == 1:
5:         Q = Q + P
6: return Q


Алгоритм Монтгомери

Недостатки предыдущих алгоритмов

Описанный выше алгоритм скалярного умножения не рекомендуется использовать при просторении криптосистем на ЭК, поскольку он подвержен атаке по энергопотреблению [3] . Шаги 3: и 5: позволяют злоумышленнику, перехватывающему значения на очередной итерации цикла, побитово восстановить значение секретного ключа .

Аналогичным проблемам подвержены более сложные алгоритмы скалярного умножения, использующие -координату. Существует множество вариантов атак по ошибкам вычисления. Например можно применять атаку смены знака [4] .


Описание алгоритма Монтгомери

Монтгомери предложил алгоритм [5] , в котором не требуется использование -координаты, что позволило значительно ускорить создание открытого ключа, а также полностью защититься от атак по энергопотреблению:

Input: k, P
Output: kP

1: Q[0] = P, Q[1] = 2P
2: for i = k-2 down to 0:
3:     Q[1 - k[i]] = Q[0] + Q[1]
4:     Q[k[i]] = 2Q[k[i]]
5: return Q[0]

Предлагается в самом начале помимо точки рассчитывалать также точку . Основная идея заключается в том, что во время очередной итерации цикла разница между точками и остается неизменно равной . Это позволяет при помощи проективынх координат быстро вычислять значение в точках и , с помощью которых подновляются значения и . В самом же конце используя вычисляется значение открытого ключа .

В дальнейшем будет показано, что главная особенность алгоритма оказалась слабым местом, дающим возможность для атаки и расшифровки секретного ключа.


Особенность реализации

Подсчет и на очередном шаге алгоритма заслуживает отдельного внимания. Поскольку Монтгомери отказывается от использования -координаты необходимо иметь точный порядок действий для вычисления проективных координат на очередной итерации.

В статье [6] приводится полное подробное описание вычисления проективных координат, получающихся удвоением и суммированием соответствующих значений. Всего требуется 18 операций сложения, 13 суммирования и 4 возведения в квадрат для случая , и, соответственно, 23 сложения, 11 суммирования и 4 возведения в квадрат иначе.


Области применения

Алгоритм Монтгомери применяется как в протоколе Диффи-Хэлмана, так и в алгоритмах электронной подписи, в случае, когда оба строятся на эллиптических кривых (ECDH и ECDSA соответственно). В обоих случаях –– это вычисление открытых ключей агентов, собирающихся обмениваться информацией по незащищенному каналу.

Основным преимуществом криптосистемы, использующей ЭК, является относительно небольшая длина закрытого ключа (минимум 163 бита). Для примера в алгоритме RSA минимальная длина секретного ключа составляет 1024 бит. Данная возможность появляется благодаря особенности вычисления открытого ключа, задача дискретного логарифмирования для которого решается намного сложнее, чем для алгоритмов, построенных на целых числах.


Предложенная атака

Как было показано, вычисление значения точки на ЭК производится лишь на последней итерации цикла. Во время промежуточных шагов проверка принадлежности полученной точки эллиптической кривой не производится. Отсюда возникает возможность для атаки по ошибке вычислений.

В статье [7] предлагается использовать вспомогательную ЭК . Вводимая кривая является изоморфной основной ЭК в поле , но не в . Таким образом:

,

если является квадратичным остатком, то будет являться абсциссой точки на .

В противном случае существует две возможности:

  1. Рассмотреть новую группу точек на таких что
  2. Использовать абсциссу точки на кривой , получая то же самое значение

Предположив, что вспомогательная кривая является криптографически более слабой, можно внести ошибку в значение абсциссы входной точки, переводя ее с основной кривой на вспомогательную. А прямо перед окончанием вычислений вносится еще одна ошибка, для перемещения точки обратно на основную кривую.

Учитывая особенности алгоритма Монтгомери такой перенос будет незаметным с точки зрения вычислений. Дополнительно будет пройдена одна из самых часто встречающихся проверок: принадлежность итоговой точки исходной ЭК.


Способы отражения атаки

Простейшей идеей является проверка промежуточных значений . Но поскольку все операции производятся в проективных координатах, непосредственное нахождение значения в точке на каждой итерации цикла будет вычислительно сложной задачей, что значительно снизит эффективность алгоритма, полученную за счет отказа от -координаты. Поэтому необходимы другие способы отражения атаки.

Защита Эбейд-Ламберта

Для избавления от дорогостоящих вычислений, предлагается [8] оценивать значение точки в проективных координатах, а именно . После этого с помощью всего одной операции инверсии получится нужное для проверки . Для начала, формулу для вычисления значения приводится к следующему виду [9] , путем подстановки проективных координат точек и :

, где -- координаты точки

Далее с помощью одной операции инверсии получается искомое проверочное значение для .

Дополнительно можно вычислить, и произвести подстановку в уравнение ЭК, получив проверочное соотношение:

Алгоритм LOEDAR

Более эффективным способом отражения описанной выше атаки является алгоритм LOEDAR [10] . Авторы заявляют, что простейшей идеей являлась бы проверка того, что на каждом шаге выполнено равенство . Однако проведение такой проверки в исходных координатах затруднительно, поскольку требует непосредственного вычисления -координат всех трех точек. В проективных же координатах необходимо знать , что также требует дополнительных вычислений

Предлагается использовать "верификационную точку" . Особенность заключается в том, что все вычисления и проверки будут по-прежнему осуществляться в проективных координатах , поскольку на любом шаге алгоритма выполняется соотношение . Таким образом алгоритм будет выглядеть следующим образом:

Input: k, P
Output: kP
Commentary: Q[2] := Q_v

1: Q[0] = P, Q[1] = 2P, Q[2] = 0
2: for i = k-2 down to 0:
3:     Q[1 - k[i]] = Q[0] + Q[1]
4:     Q[k[i]] = 2Q[k[i]]
5:     Q[2] = Q[2] + Q[k[i]]
6:     # verification part
7:     (Q[2] + Q[1] == 2Q[0]) ? continue : break     
8: return Q[0]


Ссылки

  1. Kocher, P. (1996). "Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems". Advances in Cryptology — CRYPTO ’96. 1109: 104–113. doi:10.1007/3-540-68697-5_9.
  2. Miller, V. (1985). "Use of elliptic curves in cryptography". Conference on the theory and application of cryptographic techniques. 218: 417–426. doi:10.1007/3-540-39799-X_31.
  3. Kocher, P.; Jaffe, J.; Jun, B. (1999). "Differential Power Analysis". Advances in Cryptology — CRYPTO’ 99. 1666: 388—397. doi:10.1007/3-540-48405-1_25.
  4. Blömer, J.; Otto, M.; Seifert, J. (2006). "Sign change fault attacks on elliptic curve cryptosystems". International Workshop on Fault Diagnosis and Tolerance in Cryptography. 4236: 36–52. doi:10.1007/11889700_4.
  5. Montgomery, P. (1987). "Speeding the Pollard and elliptic curve methods of factorization". doi:10.1090/s0025-5718-1987-0866113-7. {{cite journal}}: Cite journal требует |journal= (справка)
  6. Izu, T.; Möller, B.; Takagi, T. (2002). "Improved Elliptic Curve Multiplication Methods Resistant against Side Channel Attacks". Progress in Cryptology — INDOCRYPT 2002. 2551: 296–313. doi:10.1007/3-540-36231-2_24.
  7. Fouque, P.; Lercier, R.; Réal, D.; Valette, F. (2008). "Fault attack on elliptic curve Montgomery ladder implementation". 2008 5th Workshop on Fault Diagnosis and Tolerance in Cryptography: 92–98. doi:10.1109/FDTC.2008.15.
  8. Ebeid, N.; Lambert, R. (2009). "Securing the Elliptic Curve Montgomery Ladder against Fault Attacks". 2009 Workshop on Fault Diagnosis and Tolerance in Cryptography (FDTC): 46–50. doi:10.1109/FDTC.2009.35.
  9. Brier, É.; Joy, M. (2002). "Weierstraß Elliptic Curves and Side-Channel Attacks". International Workshop on Public Key Cryptography: 335–345. doi:10.1007/3-540-45664-3_24.
  10. Ma, K.; Wu, K. (2011). "LOEDAR: A low cost error detection and recovery scheme for ECC". 2011 Design, Automation & Test in Europe: 1–6. doi:10.1109/DATE.2011.5763164.