Θεωρία Αριθμών

         Εαρινό Εξάμηνο 2012

                  Η πορεία του μαθήματος μετά τις 4-4-2012 και σχετικές οδηγίες

             Τα βασικά της Θεωρίας Αριθμών, όπως διδάχθηκαν από τον κ. Αντωνιάδη μέχρι το τέλος Μαρτίου. Για τα επόμενα θα γίνει μερική χρήση των Σημειώσεων (τελευταία ενημέρωση: 13-5-2012) στις οποίες και θα παραπέμπω.
             Για τη βασική θεωρία των ισοτιμιών μελετήστε τις παραγράφους 2.1 και 2.2
(σελ. 25 και εξής). Στις σημειώσεις, συνήθως, γίνεται χρήση της λέξης “μέτρω” αντί του mod, ή modulo. Π.χ. “a ισότιμο b μέτρω m” αντί “a ισότιμο b modulo m”.

                                   Z:=Integers();
                                   n:=49144364409017;  //  Μπορείτε να εισαγάγετε οποιοδήποτε άλλο n (π.χ. Γινόμενο δύο πρώτων p,q)
                                   phin:=EulerPhi(n);  //  Υπολογίζει το φ(n) 
                                   e:=1365911;         //  Μπορείτε να εισαγάγετε οποιοδήποτε άλλο e, αρκεί να είναι πρώτο προς φ(n). Πάρετε τυχαίο e και ελέγξτε.
                                   “gcd=”,Gcd(e,n);    //  Πρέπει να σας βγάλει gcd=1 για να είναι δεκτό το e, διαφορετικά, αλλάξτε το e. 
                                   Zn:=quo< Z | n >;   //  Εδώ ορίζεται ο δακτύλιος των κλάσεων mod n.
                                   Zphin:=quo<Z|phin>; //  Εδώ ορίζεται ο δακτύλιος των κλάσεων mod φ(n).
                                   d:=1/(Zphin!e);     //  Υπολογίζεται d, τέτοιο ώστε d*e = 1 (mod φ(n))
                                   d:=Z!d;             //  Επειδή το magma βλέπει το d ως κλάση, εδώ λέμε στο magma να δει το d ως ακέραιο.
                                   crypt:=map< Z -> Z | x :-> Z!((Zn!x)^e) >; // Η συνάρτηση “κρυπτογράφησης”: Για κάθε ακέραιο x, είναι crypt(x)=x^e (mod n).
                                   apocrypt:=map< Z -> Z | x:-> Z!((Zn!x)^d)>; // Η συνάρτηση “αποκρυπτογράφησης”: Για κάθε ακέραιο y, είναι apocrypt(y)=y^d (mod n).




            Τελευταία ενημέρωση: 13-5-2012