Ich lese dieses Intel-Whitepaper zur Multiplikation ohne Übertrag . Es beschreibt die Multiplikation von Polynomen in. Auf hoher Ebene wird dies in zwei Schritten durchgeführt: (1) Multiplikation von Polynomen überund (2) Reduzieren des Ergebnismoduls zu einem irreduziblen Polynom. Wir verwenden die "Standard" -Bitstring-Darstellung von Polynomen, d. H..
Das Papier enthält einen Algorithmus zur Berechnung des Restpolynoms auf Seite 16 in Algorithmus 3. Ich habe jedoch Probleme, den Reduktionsalgorithmus auf den Seiten 16-17 (Algorithmus 4) zu verstehen. Im Wesentlichen denke ich, dass wir Algorithmus 4 für größere Felder benötigen, wenn unsere oder Teilergebnisse nicht mehr auf 128 Bit passen. Sie geben ein Beispiel für die Multiplikation zweier Polynome in.
Woher kommen die "magischen Konstanten" 63, 62 und 57 für Rechtsverschiebungen und die "magischen Konstanten" 1, 2 und 7 für Linksverschiebungen?
Wie verallgemeinert man beispielsweise den Algorithmus für kleinere Felder? ? Würden die entsprechenden Verschiebungswerte dann 15, 14, 9 und 1, 2, 7 sein?
Im letzten Schritt 4 fordert der Algorithmus Sie auf, "XOR" , , und miteinander und ".
Warum machen wir das? Soweit ich sehen kann, wird das Ergebnis dieser XOR-Operation weder irgendwo gespeichert noch irgendwo verwendet. Wird es irgendwie zum Rechnen verwendet??