1 / 30

Capstone Project Presentation A Tool for Cryptography Problem Generation

Capstone Project Presentation A Tool for Cryptography Problem Generation. CSc 499 Mark Weston Winter 2006. Introduction. Idea: Improve Math 121 Problem Generation Client: Professor Kathryn Lesh Current system: Excel based Goal: A better tool for problem generation. Outline.

serena
Télécharger la présentation

Capstone Project Presentation A Tool for Cryptography Problem Generation

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. Capstone Project PresentationA Tool for Cryptography Problem Generation CSc 499 Mark Weston Winter 2006

  2. Introduction • Idea: Improve Math 121 Problem Generation • Client: Professor Kathryn Lesh • Current system: Excel based • Goal: A better tool for problem generation

  3. Outline • Purpose  • A Strategy for Problem Generation • Design • Interface, Demo, Results

  4. Purpose Given a problem type from the course, can we generate “good” instances of the type?

  5. Outline • Purpose • A Strategy for Problem Generation  • Design • Interface, Demo, Results

  6. A Strategy for Problem Generation • How to address goodness? • Use student work • Extract measurements: metrics • Algorithms: close relationship • Example metrics • Steps of problem type algorithm(s) • Maximum, minimum values • Trial Count • And many more…

  7. A Strategy for Problem Generation • Idea of metrics gives us our strategy • “Generate and Test” Generate Problem Type Instance Input Desired Metrics Choose Problem Type Test Unsuccessful Test Solution Metrics Test Successful Solve Instance Done

  8. Feasibility of Generate and Test • Random generation • No guarantee • Initial design planned to improve this • Sufficient? • Yes (!)

  9. Problem List • Modular Addition, Subtraction, Multiplication • Properties of Divisibility • GCD • Extended Euclidean Algorithm • Linear Combination Theorem • Modular Exponentiation by Repeated Squares and Square-and-Multiply • Chinese Remainder Theorem Applications • Evaluating Jacobi Symbols • Solovay-Strassen Primality Testing • RSA Key Generation • RSA Signatures • Primitive Root Testing • Factoring by Pollard’s p-1 • Prime Factorization of a Composite • Cryptographic Coin Toss • Factoring by Dixon’s Random Squares

  10. Problem List • Modular Addition, Subtraction, Multiplication • Properties of Divisibility  Not needed • GCD • Extended Euclidean Algorithm • Linear Combination Theorem • Modular Exponentiation by Repeated Squares and Square-and-Multiply • Chinese Remainder Theorem Applications • Evaluating Jacobi Symbols • Solovay-Strassen Primality Testing • RSA Key Generation • RSA Signatures • Primitive Root Testing • Factoring by Pollard’s p-1 • Prime Factorization of a Composite • Cryptographic Coin Toss • Factoring by Dixon’s Random Squares

  11. Problem List • Modular Addition, Subtraction, Multiplication • Properties of Divisibility  Not needed • GCD • Extended Euclidean Algorithm  Collapse w/ LCT • Linear Combination Theorem  Collapse w/ EE • Modular Exponentiation by Repeated Squares and Square-and-Multiply • Chinese Remainder Theorem Applications • Evaluating Jacobi Symbols • Solovay-Strassen Primality Testing • RSA Key Generation • RSA Signatures  Collapse w/ Mod. Exp. • Primitive Root Testing • Factoring by Pollard’s p-1 • Prime Factorization of a Composite  Collapse w/ Pollard • Cryptographic Coin Toss • Factoring by Dixon’s Random Squares

  12. Problem List • Modular Addition, Subtraction, Multiplication • Properties of Divisibility  Not needed • GCD • Extended Euclidean Algorithm  Collapse w/ LCT • Linear Combination Theorem  Collapse w/ EE • Modular Exponentiation by Repeated Squares and Square-and-Multiply • Chinese Remainder Theorem Applications • Evaluating Jacobi Symbols • Solovay-Strassen Primality Testing • RSA Key Generation • RSA Signatures  Collapse w/ Mod. Exp. • Primitive Root Testing • Factoring by Pollard’s p-1 • Prime Factorization of a Composite  Collapse w/ Pollard • Cryptographic Coin Toss  Feasible? • Factoring by Dixon’s Random Squares  Feasible?

  13. Problem List (final) • Modular Addition, Subtraction, Multiplication • GCD • Extended Euclidean Algorithm • Modular Exponentiation by Repeated Squares and Square-and-Multiply • Chinese Remainder Theorem Applications • Evaluating Jacobi Symbols • Solovay-Strassen Primality Testing • RSA Key Generation • Primitive Root Testing • Factoring by Pollard’s p-1 • Factoring by Dixon’s Random Squares  Feasible • Cryptographic Coin Toss  Feasible

  14. Outline • Purpose • A Strategy for Problem Generation • Design  • Interface, Demo, Results

  15. Design, Requirements • Design • Follows from generation strategy • A component that generates problems • A component that solves problems • An interface to provide input • Implementation Choice • Java • Java Applet

  16. Other Requirements • Modular • Configure for students • Full Output • Data structures • To deal with number precision • Limit maximum number of digits

  17. Outline • Purpose • A Strategy for Problem Generation • Design • Interface, Demo, Results 

  18. Interface, Demo, Results • Go • Source: nsa.gov

  19. Conclusion • One tool – many features • Many problem types • Calculation / Generation • Variable precision, full algorithms • Full output • Refined interface • Students / Professors • Free • No install, lightweight, multiplatform • Support available

  20. Future work • More problems • Usability / Interface • Other improvements • New algorithms • Other Crypto-systems

  21. Thanks! • Client: Professor Kathryn Lesh • Advisor: Professor Brian Postow • Interface Consultants: Professors Chris Fernandes and Aaron Cass

  22. Questions?

  23. Extra slides

  24. Configuring an Applet • Sign it • Gives permissions to the machine it’s running on • Don’t want the configuration file there… • Want access to the machine the applet is running on • File system access here is tricky, once the applet starts running • Work around • Work around • Have the applet make a URL Connection to the machine it came from • This is legal, even for an unsigned applet • We can then read a file, and configure from that • Plain text • XML • Etc.

  25. Generation of complicated problems • Intelligence • Complexity source • Algorithm • Metrics • Composition • Target sub problems

  26. Old Interface

  27. New Interface (1)

  28. New Interface (2)

  29. Dealing with precision, size of numbers • Use a number class • Arithmetic with objects!? • Vary internal representation independently of the interface • Limit number of digits • Watch Number class for add/multiply - cause growth • Exception? • Restart the problem • Lower inputs • Try 10 times, give up

  30. An Example • Greatest Common Divisor (GCD) • A problem type has: • Inputs -> Instance • GCD(a, b), vary values a and b • Algorithm -> Metric of “Goodness” • The Euclidean Algorithm and the number of steps it takes

More Related