Bei Verschlüsselungen und auch bei Signaturen mit Message-Recovery müssem wir den Text bei den bisher gezeigten Verfahren als Gruppenelement darstellen; dies wird als Einbettung von in bezeichnet. Die Einbettung soll effizient sein, und außerdem wollen wir aus eindeutig (und ebenfalls effizient) wiederherstellen können. Um in einbetten zu können, muß i.a. zunächst in Blöcke ,,passender'' Größe unterteilt werden, denn bei festem können höchstens unterschiedliche Texte eingebettet werden. Wir gehen im weiteren davon aus, daß binärcodiert auf offensichtliche Weise als natürliche Zahl interpretiert werden kann, und daß bereits eine ,,passende'' Größe hat. Wenn z.B. ist, dann ergibt sich eine natürliche Möglichkeit, auf abzubilden, denn hier ist identisch mit aufgefaßt als positive ganze Zahl.
Bei anderen Gruppen kann die Einbettung komplizierter werden. Wenn wir einen Text als Punkt einer elliptischen Kurve über kodieren wollen, dann müssen wir eine Repräsentation von als Paar finden. Auf den ersten Blick hat man keine andere Wahl, als z.B. auf die -Koordinate eines Punktes abzubilden, weil die - und die -Koordinaten eines Punktes nicht unabhängig voneinander sind. Gibt man nämlich die -Koordinate vor, so kann man maximal nur noch das Vorzeichen der -Koordinate auswählen.
An dieser Stelle wird aber noch eine ganz andere Schwierigkeit offenkundig, denn nicht zu jeder -Koordinate existiert ein Punkt auf der Kurve. In diesem Fall müßten wir die Möglichkeit haben, ersatzweise auf eine andere -Koordinate abzubilden, und zwar so, daß aus eindeutig rekonstruiert werden kann. Wenn als Element von interpretiert wird, z.B. durch mit und , dann kann für die Einbettung das folgende Schema angewendet werden:
In Abschnitt 2.2 hatten wir dazu bereits festgestellt, daß man bei zufälliger Wahl einer -Koordinate mit einer Wahrscheinlichkeit von etwa einen Punkt auf der Kurve erhält, d.h. man erhält mit einer Wahrscheinlichkeit von etwas keinen Punkt. Wenn wir für ein also Versuche für die Einbettung haben, dann kann mit einer Wahrscheinlichkeit von nicht auf die -Koordinate eines Punktes aus abgebildet werden. Dies geht natürlich mit einem Verlust einher, denn je größer ist, desto weniger Bits können für selber verwendet werden, d.h. die Einbettung wird ineffizienter. Wenn wir z.B. wählen, dann müssen wir dafür 8 Bits (für jedes ) aufwenden, allerdings ist die Wahrscheinlichkeit eines Fehlschlages mit verschwindend gering.
Bei anderen Gruppen kann das Einbettungs-Problem weitaus komplizierter sein. Um dieses Problem bei der Verschlüsselung zu vermeiden, kann man die folgende Variante der ElGamal-Verschlüsselung anwenden:
A führt die folgenden Schritte durch:
B führt die folgenden Schritte durch:
A führt die folgenden Schritte durch:
Die Vorteile liegen auf der Hand: wird direkt und deterministisch in die Verschlüsselung eingebracht, ohne die u. U. probabilistische, mühselige Suche nach einem Gruppenelement, in welches ansonsten eingebettet werden muß.