Universität Klagenfurt Informatik – Systemsicherheit Dr. Raphael Wigoutschnigg PR Systemsicherheit für Informationsmanagement WS 2014 Übungstermine: www.syssec.at/ssim14 Übungsblatt 0 – (Wiederholung der mathematischen) Grundlagen Aufgabe 1: Umwandlung von Zahlendarstellungen a) Wiederholen Sie die Umwandlung ganzer Zahlen von der Dezimal- in die Binärdarstellung (und umgekehrt). Wandeln Sie die Dezimalzahl 7654321 in die Binärdarstellung um. Wie viele Binärstellen hat diese Zahl? b) Wiederholen Sie die Umwandlung ganzer Zahlen von der Dezimal- in die Hexadezimaldarstellung (und umgekehrt). Stellen Sie die Dezimalzahl 65535 und die Binärzahl 111101101101000001 als Hexadezimalzahlen dar. c) Überprüfen Sie Ihre Berechnungen mit Hilfe des Windows-Rechners (in “Wissenschaftliche” Ansicht umschalten!). Aufgabe 2: Bitweise logische Operatoren Ein bitweiser Operator ist ein Operator, der auf ein oder zwei Bitfolgen oder Binärzahlen auf der Ebene einzelner Bits angewendet wird. a) Wiederholen Sie die bitweisen Operationen NOT, AND, OR und XOR (⊕). b) Berechnen Sie den Wert NOT((01010101 AND 0xf3) XOR (0x66 OR 00111100)) und geben Sie alle Zwischenergebnisse an. c) Überprüfen Sie Ihre Berechnungen aus b) mit Hilfe des Windows-Rechners. Aufgabe 3: Rechnen mit Logarithmen Bekanntlich ist der Logarithmus von n zur Basis b jener Exponent, mit dem b potenziert werden muss, um n zu erhalten, x = logb (n) ⇔ bx = n. a) Wiederholen Sie die Rechenregeln für Logarithmen: log(a · b), log(a/b) und log(ab ). b) Zeigen Sie, dass loga (n) = logb (n)/ logb (a). c) Wie kann die Bitlänge einer Dezimalzahl abgeschätzt werden? Aufgabe 4: Modulo-Arithmetik Es sei m ≥ 2 eine natürliche Zahl, dann kann jede ganze Zahl a eindeutig durch a = k · m + r, 0 ≤ r ≤ m − 1, dargestellt werden (Divisionsalgorithmus von Euklid). Die ganzen Zahlen k und r können als Funktionswerte a DIV m =: k und a MOD m =: r aufgefasst werden. a) Es seien a und b ganze Zahlen. Zeigen Sie, dass für jeden der Operatoren op ∈ {+, −, · } die folgende Beziehung gilt: (a op b) MOD m = ((a MOD m) op (b MOD m)) MOD m. b) Welche praktischen Auswirkungen hat diese Beziehung aus a) auf Berechnungen MOD m? Aufgabe 5: Schnelles Potenzieren Vor Allem in der asymmetrischen Kryptographie werden sehr große Zahlen (mit 1024 bis 4096 Binärstellen bzw. 308 bis 1233 Dezimalstellen) verwendet. Der naive Algorithmus zum Potenzieren, nämlich wiederholtes Multiplizieren, ist daher praktisch nicht nutzbar. a) Recherchieren Sie zu ’Repeated-Squaring-and-Multiplying’, einem Algorithmus für schnelles Potenzieren. b) Berechnen Sie 1317 MOD 11 mittels ’Repeated-Squaring-and-Multiplying’ und geben Sie alle Zwischenergebnisse an. c) Überprüfen Sie Ihre Berechnungen aus b) mit Hilfe des Windows-Rechners.