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

Slides:



Advertisements
Similar presentations
Number Theory Algorithms and Cryptography Algorithms Prepared by John Reif, Ph.D. Analysis of Algorithms.
Advertisements

RSA COSC 201 ST. MARY’S COLLEGE OF MARYLAND FALL 2012 RSA.
COMP 170 L2 Page 1 L06: The RSA Algorithm l Objective: n Present the RSA Cryptosystem n Prove its correctness n Discuss related issues.
WS Algorithmentheorie 03 – Randomized Algorithms (Primality Testing) Prof. Dr. Th. Ottmann.
Cryptography and Network Security
Chapter 8 – Introduction to Number Theory. Prime Numbers prime numbers only have divisors of 1 and self –they cannot be written as a product of other.
Section 4.1: Primes, Factorization, and the Euclidean Algorithm Practice HW (not to hand in) From Barr Text p. 160 # 6, 7, 8, 11, 12, 13.
Public Key Cryptosystems - RSA Receiver Sender Eavesdroppe r p q p q p q p and q prime.
22C:19 Discrete Structures Integers and Modular Arithmetic
Public Key Encryption Algorithm
Lecture 8: Primality Testing and Factoring Piotr Faliszewski
Introduction to Modern Cryptography Lecture 6 1. Testing Primitive elements in Z p 2. Primality Testing. 3. Integer Multiplication & Factoring as a One.
22C:19 Discrete Math Integers and Modular Arithmetic Fall 2010 Sukumar Ghosh.
Notation Intro. Number Theory Online Cryptography Course Dan Boneh
and Factoring Integers (I)
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2009 Tuesday, 28 April Number-Theoretic Algorithms Chapter 31.
The RSA Cryptosystem and Factoring Integers (II) Rong-Jaye Chen.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Tuesday, 26 November Number-Theoretic Algorithms Chapter 31.
The Algebra of Encryption CS 6910 Semester Research and Project University of Colorado at Colorado Springs By Cliff McCullough 20 July 2011.
Capstone Project Proposal: A Cryptography Tool for Problem Generation Mark Weston CSc 197.
and Factoring Integers
Chapter 8 – Introduction to Number Theory Prime Numbers  prime numbers only have divisors of 1 and self they cannot be written as a product of other numbers.
CSE 321 Discrete Structures Winter 2008 Lecture 8 Number Theory: Modular Arithmetic.
Lecture 3.2: Public Key Cryptography II CS 436/636/736 Spring 2012 Nitesh Saxena.
Mathematics of Cryptography Part I: Modular Arithmetic, Congruence,
Chapter 8 – Introduction to Number Theory Prime Numbers
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 7 Tuesday, 11/6/01 Number-Theoretic Algorithms Chapter.
Chapter 8 – Introduction to Number Theory Prime Numbers  prime numbers only have divisors of 1 and self they cannot be written as a product of other numbers.
Public key ciphers 1 Session 5.
CSE 321 Discrete Structures Winter 2008 Lecture 10 Number Theory: Primality.
Foundations of Network and Computer Security J J ohn Black Lecture #14 Oct 1 st 2007 CSCI 6268/TLEN 5831, Fall 2007.
The RSA Algorithm Rocky K. C. Chang, March
Mathematics of Cryptography Part I: Modular Arithmetic, Congruence,
Chapter 9 Mathematics of Cryptography Part III: Primes and Related Congruence Equations Copyright © The McGraw-Hill Companies, Inc. Permission required.
Software Security Seminar - 1 Chapter 11. Mathematical Background 발표자 : 안병희 Applied Cryptography.

Introduction to Modular Arithmetic and Public Key Cryptography.
Mathematics of Cryptography Part I: Modular Arithmetic
MATH 224 – Discrete Mathematics
Information Security and Management 4. Finite Fields 8
Lecture 2 Basic Number Theory and Algebra. In modern cryptographic systems,the messages are represented by numerical values prior to being encrypted and.
Implementing RSA Encryption in Java
Introduction to Algorithms Second Edition by Cormen, Leiserson, Rivest & Stein Chapter 31.
CSE 311: Foundations of Computing Fall 2014 Lecture 12: Primes, GCD.
22C:19 Discrete Structures Integers and Modular Arithmetic Fall 2014 Sukumar Ghosh.
Lecture 6.1: Misc. Topics: Number Theory CS 250, Discrete Structures, Fall 2011 Nitesh Saxena.
Ch1 - Algorithms with numbers Basic arithmetic Basic arithmetic Addition Addition Multiplication Multiplication Division Division Modular arithmetic Modular.
Slide Copyright © 2009 Pearson Education, Inc. Unit 1 Number Theory MM-150 SURVEY OF MATHEMATICS – Jody Harris.
Implementation Issues for Public Key Algorithms
6.3 Primality Testing. p2. (1) Prime numbers 1. How to generate large prime numbers? (1) Generate as candidate a random odd number n of appropriate size.
9.1 Primes and Related Congruence Equations 23 Sep 2013.
CSE 311: Foundations of Computing Fall 2013 Lecture 12: Primes, GCD, modular inverse.
Dan Boneh Intro. Number Theory Arithmetic algorithms Online Cryptography Course Dan Boneh.
CSE 311: Foundations of Computing Fall 2013 Lecture 11: Modular arithmetic and applications.
Slide Copyright © 2009 Pearson Education, Inc. Slide Copyright © 2009 Pearson Education, Inc. Chapter 1 Number Theory and the Real Number System.
Implementation of Public Key Encryption Algorithms
Lecture 2-3 Basic Number Theory and Algebra. In modern cryptographic systems, the messages are represented by numerical values prior to being encrypted.
Chapter 1 Algorithms with Numbers. Bases and Logs How many digits does it take to represent the number N >= 0 in base 2? With k digits the largest number.
Copyright © Zeph Grunschlag, RSA Encryption Zeph Grunschlag.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
Efficient Montgomery Modular Multiplication Algorithm Using Complement and Partition Techniques Speaker: Te-Jen Chang.
Revision. Cryptography depends on some properties of prime numbers. One of these is that it is rather easy to generate large prime numbers, but much harder.
Introduction to Number Theory
Number Theory (Chapter 7)
Parallel Quadratic Sieve
Lecture 20 Guest lecturer: Neal Gupta
Tuesday, 27 April Number-Theoretic Algorithms Chapter 31
Mathematical Background for Cryptography
Cryptography Lecture 16.
Lecture 2-3 Basic Number Theory and Algebra
Presentation transcript:

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 Purpose  A Strategy for Problem Generation Design Interface, Demo, Results

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

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

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…

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

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

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

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

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

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?

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

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

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

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

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

Interface, Demo, Results Go Source: nsa.gov

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

Future work More problems Usability / Interface Other improvements  New algorithms  Other Crypto-systems

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

Questions?

Extra slides

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.

Generation of complicated problems Intelligence Complexity source  Algorithm Metrics  Composition Target sub problems

Old Interface

New Interface (1)

New Interface (2)

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

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