Um Daten zu verschlüsseln, müssen diese zunächst in das Binärsystem
übertragen und in Blöcke mit je
Elementen aufgeteilt werden, wobei
die Anzahl der Elemente der Gruppe
ist. Die so erhaltene Menge sei
, wobei jedes
für ein Bit, also entweder
oder
steht.
Werden die beiden Mengen als mehrdimensionale Vektoren interpretiert, so
ist das Skalarprodukt der beiden der Cipher-Text
:
 |
(8) |
Um ,,den Rucksack wieder auszupacken`` benötigt der Empfänger lediglich
und
. Mit folgender Rechnung erhält er eine Summe
, die sich
aus Elementen der Menge
zusammensetzt. Da in dieser Menge
jedes nächst größere Element größer ist als die Summe aller
vorherigen Elemente, kann leicht auf die einzelnen Elemente geschlossen
werden.
 |
(9) |
Nun kann der Empfänger das in 6.1 beschriebene Verfahren
nutzen, um aus
wieder
des Plain-Textes zu
bestimmen.
Florian octo Forster, 2003-01-31