30
Capstone Project Presentation A Tool for Cryptography Problem Generation CSc 499 Mark Weston Winter 2006

Capstone Project Presentation A Tool for Cryptography Problem Generation

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Capstone Project Presentation A Tool for Cryptography Problem Generation

Capstone Project PresentationA Tool for Cryptography Problem Generation

CSc 499

Mark Weston

Winter 2006

Page 2: Capstone Project Presentation A Tool for Cryptography Problem Generation

Introduction

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

Page 3: Capstone Project Presentation A Tool for Cryptography Problem Generation

Outline

Purpose A Strategy for Problem Generation Design Interface, Demo, Results

Page 4: Capstone Project Presentation A Tool for Cryptography Problem Generation

Purpose

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

Page 5: Capstone Project Presentation A Tool for Cryptography Problem Generation

Outline

Purpose A Strategy for Problem Generation Design Interface, Demo, Results

Page 6: Capstone Project Presentation A Tool for Cryptography Problem Generation

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…

Page 7: Capstone Project Presentation A Tool for Cryptography Problem Generation

A Strategy for Problem Generation Idea of metrics gives us our strategy “Generate and Test”

ChooseProblem

Type

InputDesired Metrics

GenerateProblem

Type Instance

SolveInstance

TestSolutionMetrics

Test Successful

Test Unsuccessful

Done

Page 8: Capstone Project Presentation A Tool for Cryptography Problem Generation

Feasibility of Generate and Test Random generation

No guarantee Initial design planned to improve this Sufficient? Yes (!)

Page 9: Capstone Project Presentation A Tool for Cryptography Problem Generation

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

Page 10: Capstone Project Presentation A Tool for Cryptography Problem Generation

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

Page 11: Capstone Project Presentation A Tool for Cryptography Problem Generation

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

Page 12: Capstone Project Presentation A Tool for Cryptography Problem Generation

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?

Page 13: Capstone Project Presentation A Tool for Cryptography Problem Generation

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

Page 14: Capstone Project Presentation A Tool for Cryptography Problem Generation

Outline

Purpose A Strategy for Problem Generation Design Interface, Demo, Results

Page 15: Capstone Project Presentation A Tool for Cryptography Problem Generation

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

Page 16: Capstone Project Presentation A Tool for Cryptography Problem Generation

Other Requirements

Modular Configure for students

Full Output Data structures

To deal with number precision Limit maximum number of digits

Page 17: Capstone Project Presentation A Tool for Cryptography Problem Generation

Outline

Purpose A Strategy for Problem Generation Design Interface, Demo, Results

Page 18: Capstone Project Presentation A Tool for Cryptography Problem Generation

Interface, Demo, Results

Go

Source: nsa.gov

Page 19: Capstone Project Presentation A Tool for Cryptography Problem Generation

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

Page 20: Capstone Project Presentation A Tool for Cryptography Problem Generation

Future work

More problems Usability / Interface Other improvements

New algorithms Other Crypto-systems

Page 21: Capstone Project Presentation A Tool for Cryptography Problem Generation

Thanks!

Client: Professor Kathryn Lesh Advisor: Professor Brian Postow Interface Consultants: Professors Chris

Fernandes and Aaron Cass

Page 22: Capstone Project Presentation A Tool for Cryptography Problem Generation

Questions?

Page 23: Capstone Project Presentation A Tool for Cryptography Problem Generation

Extra slides

Page 24: Capstone Project Presentation A Tool for Cryptography Problem Generation

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.

Page 25: Capstone Project Presentation A Tool for Cryptography Problem Generation

Generation of complicated problems Intelligence Complexity source

Algorithm Metrics

Composition Target sub problems

Page 26: Capstone Project Presentation A Tool for Cryptography Problem Generation

Old Interface

Page 27: Capstone Project Presentation A Tool for Cryptography Problem Generation

New Interface (1)

Page 28: Capstone Project Presentation A Tool for Cryptography Problem Generation

New Interface (2)

Page 29: Capstone Project Presentation A Tool for Cryptography Problem Generation

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

Page 30: Capstone Project Presentation A Tool for Cryptography Problem Generation

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