EP1615098A2

Calculation of a masked value protected against spy out

Abstract

The method involves computing a masked table (T), whereby all predefined images (T 1,T 2) are entered into each table entry, and computing the masked result value, whereby the masked table and the at least one further image are evaluated. During computation of each entry in the masked table at least one input value of one of the defined images is determined depending on at least one input value of another of the predefined images. Independent claims are also included for the following: (A) a computer program product for implementing the inventive method (B) and a device, especially a portable data medium. For implementing the inventive method.

EP1615098A2, drawing sheet 1
Sheet 1 of 19

Term

Term ended

Projected expiry passed 30 June 2025, 1.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

15 claims: 15 independent, 0 dependent

  1. 1
    Method for spy-protected calculation of a masked result value (y1; y2) from a masked input value (x1; x2) according to a predetermined first figure (T1; T2), whereby at least one further figure (T2; T1), with the steps:Calculating a masked table (T (28)), wherein in each table entry all given mappings (T1. T2;T2. T1) come in, and- Calculate the masked result value (y1;y2), wherein the masked table (T (28)) and the at least one further illustration (T2;T1) be evaluated,characterized in that- in the calculation of each entry (y = T (x)) in the masked table (T (28)) at least one input value of one of the given mappings (T1;T2) depending on at least one result value of another of the given figures (T2;T1) is determined. Verfahren zum ausspähungsgeschützten Berechnen eines maskierten Ergebniswertes (y1;y2) aus einem maskierten Eingangswert (x1;x2) gemäß einer vorgegebenen ersten Abbildung (T1;T2), wobei mindestens eine weitere Abbildung (T2;T1) vorgegebenen ist, mit den Schritten: - Berechnen einer maskierten Tabelle (T (28)), wobei in jeden Tabelleneintrag alle vorgegebenen Abbildungen (T1, T2;T2, T1) eingehen, und- Berechnen des maskierten Ergebniswerts (y1;y2), wobei die maskierte Tabelle (T (28)) und die mindestens eine weitere Abbildung (T2;T1) ausgewertet werden,dadurch gekennzeichnet, daß- bei der Berechnung jedes Eintrags (y=:T(x)) in der maskierten Tabelle (T (28)) zumindest ein Eingangswert einer der vorgegebenen Abbildungen (T1;T2) in Abhängigkeit von mindestens einem Ergebniswert einer anderen der vorgegebenen Abbildungen (T2;T1) bestimmt wird.
  2. 2
    Method according to claim 1, characterized in that in the calculation of each entry (y) in the masked table (T (28)) all given mappings (T1. T2) are connected in series. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß bei der Berechnung jedes Eintrags (y) in der maskierten Tabelle (T (28)) alle vorgegebenen Abbildungen (T1, T2) hintereinandergeschaltet werden.
  3. 3
    A method according to claim 1 or claim 2, characterized in that when calculating the masked result value (y1;y2) the at least one further illustration (T2;T1) in a relation to the calculation of the used entry of the masked table (T (28)) reverse direction (T2-1;T1-1) in order to evaluate the application of this figure (T2;T1) in the calculation of this table entry. Verfahren nach Anspruch 1 oder Anspruch 2, dadurch gekennzeichnet, daß bei der Berechnung des maskierten Ergebniswerts (y1;y2) die mindestens eine weitere Abbildung (T2;T1) in einer gegenüber der Berechnung des herangezogenen Eintrags der maskierten Tabelle (T (28)) umgekehrten Richtung (T2-1;T1-1) ausgewertet wird, um die Anwendung dieser Abbildung (T2;T1) bei der Berechnung dieses Tabelleneintrags rückgängig zu machen.
  4. 4
    Method according to claim 3, characterized in that when calculating the masked result value (y1;y2) the first given image (T1;T2) is not evaluated. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß bei der Berechnung des maskierten Ergebniswerts (y1;y2) die erste vorgegebene Abbildung (T1;T2) nicht ausgewertet wird.
  5. 5
    Method according to one of claims 1 to 4, characterized in that the given pictures (T1. T2) are specified for unmasked input and result values. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die vorgegebenen Abbildungen (T1, T2) für unmaskierte Eingangs- und Ergebniswerte vorgegeben sind.
  6. 6
    Method according to one of claims 1 to 5, characterized in that the given pictures (T1. T2) are reversible. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die vorgegebenen Abbildungen (T1, T2) umkehrbar sind.
  7. 7
    Method according to claim 6, characterized in that Reversals (T2-1;T1-1) of the given figures (T1. T2) are at least partially defined by a respective table (24, 26) located in a read-only memory (18). Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß Umkehrungen (T2-1;T1-1) der vorgegebenen Abbildungen (T1, T2) zumindest teilweise durch je eine in einem Festwertspeicher (18) befindliche Tabelle (24, 26) definiert sind.
  8. 8
    Method according to claim 7, characterized in that at least one of the tables (24, 26) empty data (Padding) having. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß mindestens eine der Tabellen (24, 26) Leerdaten (padding) aufweist.
  9. 9
    Method according to one of claims 1 to 8, characterized in that the masked table (T (28)) is written into a working memory (20). Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß die maskierte Tabelle (T (28)) in einen Arbeitsspeicher (20) eingeschrieben wird.
  10. 10
    Method according to one of claims 1 to 9, characterized in that the method is adapted to be executed by a processor (12) of a portable data carrier (10). Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß das Verfahren dazu eingerichtet ist, von einem Prozessor (12) eines tragbaren Datenträgers (10) ausgeführt zu werden.
  11. 11
    Method according to one of claims 1 to 10, characterized in that the method of protection against data spying by side channel attacks (Side Channel Attacks) serves. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß das Verfahren zum Schutz gegen eine Datenausspähung durch Nebenkanalangriffe (Side Channel Attacks) dient.
  12. 12
    Method according to one of claims 1 to 11, characterized in that the calculation of the entries (y=T(x)) in the masked table (T (28)) for all permissible index values ​​(x) of the masked table (T (28)) and for given permutations (ρi, σi) for masking input values ​​or result values ​​according to one of the following equations:T(x) :=y     With     y=σ2(T2(ρ2-1(σ1(T1(ρ1-1(x)))))) and or T(x) :=y     With     y=σ2(T2(σ1(T1(ρ1-1(x))))), Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß die Berechnung der Einträge (y=:T(x)) in der maskierten Tabelle (T (28)) für alle zulässigen Indexwerte (x) der maskierten Tabelle (T (28)) und für vorgegebene Permutationen (ρi, σi) zur Maskierung von Eingangswerten bzw. Ergebniswerten gemäß einer der folgenden Gleichungen erfolgt: T(x) :=y     mit     y=σ2(T2(ρ2-1(σ1(T1(ρ1-1(x)))))) und/oder T(x) :=y     mit     y=σ2(T2(σ1(T1(ρ1-1(x))))).
  13. 13
    Method according to claim 12, characterized in that the calculation of the masked result value (y1; y2) from the masked input value (x1; x2) according to one of the following equations:y1=ρ2(T2-1(σ2-1(T(x1)))) and or y2=T(ρ1(T1-1(σ1-1(T(x2))))) and or y1=T2-1(σ2-1(T(x1))) and or y2=T(ρ1(T1-1(x2))), Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß die Berechnung des maskierten Ergebniswerts (y1;y2) aus dem maskierten Eingangswert (x1;x2) gemäß einer der folgenden Gleichungen erfolgt: y1=ρ2(T2-1(σ2-1(T(x1)))) und/oder y2=T(ρ1(T1-1(σ1-1(T(x2))))) und/oder y1=T2-1(σ2-1(T(x1))) und/oder y2=T(ρ1(T1-1(x2))).
  14. 14
    A computer program product having a plurality of program instructions for causing at least one processor (12) to perform a method according to any one of claims 1 to 13. Computerprogrammprodukt mit einer Vielzahl von Programmbefehlen, die mindestens einen Prozessor (12) dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 13 auszuführen.
  15. 15
    Device, in particular portable data carrier (10), having at least one processor (12) and at least one memory (14), the device being adapted to carry out a method according to one of Claims 1 to 13. Vorrichtung, insbesondere tragbarer Datenträger (10), mit mindestens einem Prozessor (12) und mindestens einem Speicher (14), wobei die Vorrichtung dazu eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 13 auszuführen.