1 / 18

Tonelli - Shanks Algorithm

Tonelli - Shanks Algorithm. C# implementation. Introduction. Daniel Shanks(1917-1996) 1973 Alberto Tonelli (1849-1921) 1891. Χρήση του Αλγορίθμου. Όπου χρειάζεται υπολογισμός της τετραγωνικής ρίζας a(mod p) . Κρυπτοσύστημα Rabin Υπολογισμός σημείων σε Ελλειπτικές Καμπύλες.

tarmon
Télécharger la présentation

Tonelli - Shanks Algorithm

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tonelli-Shanks Algorithm C# implementation

  2. Introduction • Daniel Shanks(1917-1996) 1973 • Alberto Tonelli(1849-1921) 1891

  3. Χρήση του Αλγορίθμου • Όπου χρειάζεται υπολογισμός της τετραγωνικής ρίζας a(mod p). • Κρυπτοσύστημα Rabin • Υπολογισμός σημείων σε Ελλειπτικές Καμπύλες

  4. Ισοδυναμία (mod p) • Δυο αριθμοί a,bλέγονται ισοδύναμοι (mod p) αν ισχύει : Αυτό σημαίνει ότι: Το a αποκαλείται βάση και το b υπόλειμμα.

  5. Τετραγωνική Ρίζα (mod p) • Εαν έχουμε την ισοδυναμία: Τότε το x είναι η τετραγωνική ρίζα του a(mod p).

  6. Ταξη του a(mod m) • Τάξη του a(mod m), είναι το μικρότερο j για το οποίο ισχύει: Συμβολίζεται : Παράδειγμα:

  7. Θεώρημα Fermat-Euler-Lagrange Αν ισχύουν: • a,mείναι σχετικά πρώτοι μεταξύ τους , • p μονός πρώτος , • a,pσχετικά πρώτοι. Τότε: • πάντα υπάρχει. • (Μικρό Θεώρημα Fermat) • Αν τότε • (Κριτήριο Euler) σημαίνει ότι έχει ή δεν έχει ρίζα ο α(mod p).

  8. Λήμμα 1 • Αν p πρώτος και ισχύει : • Έχει ώς συνέπεια:

  9. Αλγόριθμος • Επιλέγουμε έναν αριθμό a και έναν πρώτο p>2 , με gcd(a,p) = 1. Θέλουμε να υπολογίσουμε το . Από το Μικρό Θεώρημα του Fermat έχουμε ότι: Άρα από το λήμμα 1 βρίσκουμε ότι:

  10. Αλγόριθμος 2) Αν το πρόσημο της παραπάνω αναλογίας είναι -1 τότε βάσει του κριτηρίου του Euler το a δεν έχει τετραγωνική ρίζα (mod p). Ο αλγόριθμός σταματάει εδω.

  11. Αλγόριθμος 3) Αν όμως το πρόσημο του 1 είναι + τότε παραγοντοποιούμε το p με τον εξής τρόπο: Με s περιττό και e θετικό.

  12. Αλγόριθμος 4) Εύρεση ενός αιρθμού n ο οποίος δεν έχει ρίζα (mod p) δηλαδή:

  13. Αλγόριθμος 5) Αρχικοποιούμε τις παρακάτω μεταβλητές (όλες οι αναλογίες είναι (mod p)) : (πρώτη πρόβλεψη για την τετραγωνική ρίζα) (πρώτη πρόβλεψη για τον fudge factor) (οι δυνάμεις του g θα ανανεώνουν τα x και b) (θα μειώνεται με κάθε ανανέωση του αλγορίθμου)

  14. Αλγόριθμος 6) Από το 3ο σημείο στο θεώρημα FEL υπάρχει ένας ακέραιος m για τον οποίο ισχύει: και Εύρεσηm για το οποίο ισχύει :

  15. Αλγόριθμος 7) Αν το m είναι 0 τότε τελιώσαμε,επιστρέφουμε την τιμή του x .

  16. Αλγόριθμος 8) Αν m > 0 τότε ανανεώνουμε τις μεταβλητές :

  17. Αλγόριθμος 9) Πάμε πίσω στο βήμα 6 με την νέα τιμή του r που είναι η παλιά τιμή του m. To m μειώνεται σε κάθε loop μέχρι να γίνει 0 και να σταματήσει στο βήμα 7.

  18. Πηγή: http://www.math.vt.edu/people/ezbrown/doc/sqrts.pdf

More Related