Blinding

Aus testwiki
Zur Navigation springen Zur Suche springen

Als Blinding bezeichnet man in der Kryptographie ein Verfahren, bei dem ein Client einen Dienst in einer kodierten Form nutzen kann, ohne entweder die Eingabe oder die Ausgabe zu kennen. Das Verfahren findet insbesondere zum Verhindern von Seitenkanalattacken und bei der identitätsbasierten Verschlüsselung (Vorlage:EnS, IBE) Anwendung.[1]

Mathematische Definition

Beim Blinding-Verfahren gibt es zwei bijektive Funktionen, bei denen eine Funktion zum Blinding (Enkodierung) und die andere Funktion zum Deblinding (d. H. zur Aufhebung des Blindings; Dekodierung) benötigt wird.[1]

Als Verschlüsselungsfunktion kommt üblicherweise das RSA-Kryptosystem zum Einsatz. Es können aber auch andere asymmetrische Verschlüsselungsfunktionen verwendet werden. Im Weiteren werden die folgenden Definitionen verwendet:

Symbol Mathematische Definition Erläuterung
Nachrichten
m m:m der Klartext
c c:c der Geheimtext
RSA-Kryptosystem[1]
N N:NN>m Das Produkt aus zwei Primzahlen p,q [r 1]
e e:e der Exponent des Public-Keys[r 1]
d d:d der Exponent des Private-Keys[r 1]
(N,e)   der Public-Key[r 1]
(N,d)   der Private-Key[r 1]
f f:(m,(N,e))me(modN)=c die RSA-Verschlüsselungsfunktion, welche den Klartext und den Public-Key entgegennimmt und den Geheimtext ausgibt
g g:(c,(N,d))cd=(me(modN))d=(me)d(modN)=m(modN)=m die RSA-Entschlüsselungsfunktion, welche den Geheimtext und den Private-Key entgegennimmt und den Klartext ausgibt
Blinding-Funktionen[1]
r r:r]1,N[gcd(r,N)=1 Eine einmalig verwendete und im Klartext übermittelte Zufallszahl, welche teilerfremd zu N ist.
B B:(m,r)(mr)e(modN)=m die Blinding-Funktion
D D:(f(m),r)f(m)r1(modN)=f(m)(modN)=f(m) die Deblinding-Funktion

Hiermit gilt für das Blinding und Deblinding unter Vernachlässigung der Public- und Private-Keys, sowie von r:

m=g(c)=g(f(m))m=g(c)=g(D(f(B(m))))

Quellen