Aufgabe 1: (21.05.2025)
Dokumentieren Sie alle Programme, die Sie im Computerlabor geschrieben haben, mit den Programmcodes und zugehörigen Erklärungen.
Sie dürfen die Texte auf meinen Webseiten, aus meinem Buch oder auch aus anderen Quellen verwenden. Bemühen Sie sich aber dennoch, Ihre eigenen Überlegungen und Ihren eigenen Stil sichtbar werden zu lassen.
Aufgabe 2: (11.06.2025)
Wenn Sie zwei Polynome vom Grad n miteinander multiplizieren, so benötigen Sie n2 Schritte, wenn Sie jeden der n Koeffizienten des einen Polynoms mit jedem der n Koeffizienten des anderen Polynoms multiplizieren.
Sie beschleunigen die Polynom-Multiplikation erheblich, wenn Sie die Polynome vorher von der Koeffizientendarstellung in die Stützstellendarstellung transformieren, dann in dieser Darstellung in n Schritten multiplizieren, und dann wieder zurücktransformieren. Die Transformation und die Rücktransformation benötigen lediglich n·log(n) Schritte. Insgesamt kommen Sie also bei dieser indirekten Methode mit etwa 2·n·log(n) Schritten aus, gegenüber den n2 Schritten bei der direkten Methode.
Grundsätzlich kommt die Fouriertransformation hierfür in Frage; jedoch speziell für die Polynomringe zugeschnitten, die in der Kryptografie verwendet werden, ist die als number-theoretic transform (NTT) bezeichnete Transformation.
Zur Kontrolle: Für das Polynom a = [99 52 0 7 0 29 33 100] ist a' = [78 59 59 62 65 60 81 102] das Ergebnis der NTT. Das Produkt c = a·b der beiden Polynome a und b ist c = [75 92 86 84 4 99 25 86].
Abgabe: bis zum 15.07.2025 durch Hochladen nach Stud.IP