1 / 21

Sabbatical Report Spring 2010

This report explores the integration of the Knapsack Cryptosystem into undergraduate computer science curriculum, emphasizing the importance of mathematical reasoning in algorithm development and problem-solving. The study discusses the benefits of using real-world examples and promoting the role of mathematics in computer science education. The findings highlight the effectiveness of integrating the Knapsack Cryptosystem as a case study to teach important concepts in computer science and mathematics.

rolfc
Download Presentation

Sabbatical Report Spring 2010

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. Sabbatical ReportSpring 2010 Yana Kortsarts Computer Science Department, Widener University, PA

  2. Acknowledgment • Widener University, College of Arts and Sciences, Science Division, Computer Science Department • Provost Grant

  3. Sabbatical Research Topics • Computer Science Education • Integration of the mathematical reasoning into undergraduate computer science curriculum • Integrating Knapsack Cryptosystem in Undergraduate Computer Science Curriculum • Merkle-Hellman Knapsack Cryptosystem

  4. Results Conference Talk: • Yana Kortsarts, Yulia Kempner, Merkle-Hellman Knapsack Cryptosystem in Undergraduate Computer Science Curriculum, FECS'10: The 2010 International Conference on Frontiers in Education: Computer Science and Computer Engineering, Held jointly with 2010 World Congress in Computer Science, Computer Engineering, and Applied Computing (WORLDCOMP'10), July 12-15, 2010, Las-Vegas, Nevada, USA Peer Reviewed Proceedings Publication: • Yana Kortsarts, Yulia Kempner, Merkle-Hellman Knapsack Cryptosystem in Undergraduate Computer Science Curriculum, Proceedings of the 2010 International Conference on Frontiers in Education: Computer Science & Computer Engineering, FECS 2010, July 12-15, 2009, Las Vegas Nevada, USA Faculty Poster Presentation: • Yana Kortsarts, Yulia Kempner, Integrating Merkle-Hellman Knapsack Cryptosystem into the Undergraduate Computer Science Curriculum, 15th Annual CCSCNE Consortium for Computer Science in Colleges Conference, April 16-17, 2010, University of Hartford, Connecticut. Poster Abstract Publication in Peer Reviewed Journal: • Yana Kortsarts, Yulia Kempner, Integrating Merkle-Hellman Knapsack Cryptosystem into the Undergraduate Computer Science Curriculum, Journal of Computing Sciences in Colleges, June 2010, Volume 25, Issue 6, pp. 239-240, ISSN:1937-4771

  5. Additional Results Panel Presentation • Writing intensive and writing extensive: a continuumfor advancing writing in computer science education, Yana Kortsarts (Moderator) Widener University, Mark E. Hoffman, Quinnipiac University, Adam Fischbach, Widener University, Janine Utell, Widener University, Timothy Dansdill, Quinnipiac University, 15th Annual CCSCNE Conference, April 16-17, 2010, The University of Hartford, West Hartford, CT Conference Talk and Peer Reviewed Proceedings Publication • Yana Kortsarts, Work in Progress - Women in Computing Honors Course, 40th Annual Frontiers in Education Conference, October 27-30, 2010, Arlington, Virginia. Published in FIE 2010 Proceedings.

  6. Sabbatical Goals and Research Questions • Integration of the mathematical reasoning into undergraduate computer science curriculum • Mathematical Reasoning (math-thinking discussion group: http://www.math-in-cs.org/) • Applying mathematical techniques, concepts, and processes, either explicitly or implicitly, in the solution of problems • In the most general interpretation, every problem-solving activity is an application of mathematical reasoning. • Mathematics organizes our minds - Michael Lomonosov (1711-1765)

  7. Sabbatical Goals and Research Questions • Importance of the mathematical reasoning for computer science and for computer science students • Root for algorithm development, program validation and solution verification. • There are deep connections between algorithmic and mathematical thinking. • Devising efficient algorithms and demonstrating their practicality is an important application of mathematics in computer science. • Computer science students need to exercise their mathematical as well as their computational abilities • It is important to promote the role of mathematics in computer science. • How mathematical reasoning could be integrated into undergraduate computer science curriculum? • By integrating real-world examples that demonstrate effective use of mathematics within the context of computing science and software engineering and could be used to teach important concepts of computer science and mathematics. • The use of suitable examples is a key to teach abstract, theoretical concepts.

  8. Integrating Knapsack Cryptosystem in Undergraduate Computer Science Curriculum • Knapsack cryptosystemis one of the earliest public key cryptosystems. • In classical symmetric or private-key cryptosystems the encryption and decryption keys are either the same or can be easily found from each other. • A new type of cryptosystem, call a public-key cryptosystem was invented in the 1970s. • In a public key cryptosystem the fact that one knows how to encrypt the message does not mean that it can be easily decrypted.

  9. Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations RSA: Rivest-Shamir-Adleman [3] Based on integer factorization Merkle-Hellman Knapsack Cryptosystem [1] Based on the subset-sum problem, variant of knapsack problem Additive Knapsack Cryptosystem Multiplicative Knapsack Cryptosystem Multiply-Iterated Knapsack Cryptosystem

  10. Merkle-Hellman Knapsack Cryptosystem • Merkle offered $100 award for breaking singly - iterated knapsack • Singly-iterated Merkle - Hellman KC was broken by Adi Shamir in 1982 [4,5,6] • At the CRYPTO ’83 conference, Adleman used an Apple II computer to demonstrate Shamir’s method [8] • Merkle offered $1000 award for breaking multiply-iterated knapsack • Multiply-iterated Merkle-Hellman knapsack was broken by Brickell in 1985 [9], a system of 40 iterations was breaking in about an hour of Cray-1 time

  11. Why Knapsack Cryptosystem Makes a Perfect Example? • Elegant and rich underlying mathematics • Promotes development of mathematical reasoning • Provides an opportunity to make connections between mathematics and computer science topics • Real-world problem with the real-world applications which could be successfully “translated” to the undergraduate students’ level. • Derived from the current computer science research and helps to make connection between research and curriculum at the early stages of students’ career.

  12. Knapsack Cryptosystem in CS Curriculum Cryptology Design and Analysis of Algorithms Introduction to Computer Science • Concept of • public key • cryptosystem • Minor • disadvantage- • elective course • Multiplicative, • multiply-iterated • knapsacks Knapsack problem Subset-sum problem Algorithmic techniques- dynamic programming Concept of NP-completeness Concept of public key cryptosystem Real-world example Connection between theory and practice • Computational Problems: • Prime numbers and • relatively-prime numbers • checker • GCD, Euclidian Algorithm • Modular Exponentiation • Modular multiplicative • inverse • Primitive roots for primes Undergraduate Student Research Projects

  13. Cryptology Course • Most natural choice • Could be introduced while covering public key cryptology concept. • Simple variants of Merkle-Hellman knapsack – multiplicative and multiply-iterated knapsacks - could be integrated as well, providing further enrichment of the course curriculum. • Cryptology course has a minor disadvantage being an elective course that is not always offered and not taken by all students.

  14. Design and Analysis of Algorithms Course • Additive knapsack is related to general knapsack problem, sub-set sum problem, algorithmic techniques, including dynamic programming • Additive knapsack provides an interesting real-world example to illustrate the above mentioned concepts. • Cryptology topic is well accepted by students and provides an opportunity to show connection between theoretical topics learned in class and practical applications. • The knapsack cryptosystem topic will also enrich part of the course dealing with the NP-completeness connecting theoretical and practical issues.

  15. Introductory Programming Courses • Excellent source for programming assignments. • Could be introduced after covering modular integer arithmetic, if-else statements, loops, functions, and one-dimensional and two-dimensional arrays – topics usually covered in all introductory programming courses • Computational solutions for number theory related problems • Basic cryptology concepts; additive knapsack encryption and decryption algorithms and their programming implementations • Advanced Topic: ciphertext-only cryptanalysis, dynamic programming algorithm and its programming implementation

  16. Undergraduate Student Research Projects • Multiplicative and multiply iterated knapsacks - good starting point for the project. • For advanced projects: research of complicated variants of general knapsack cryptosystem, design programming implementation of these systems, and create visualizations. • The research of the cryptanalysis techniques • Project that implementing the polynomial time algorithm for breaking the basic Merkle-Hellman cryptosystem that was proposed by Adi Shamir

  17. SUMMARY Integration basic Merkle-Hellman cryptosystem into undergraduate computer science curriculum provides unique opportunity to enrich various core and elective courses by connecting theory with practice, and promotes development of the mathematical reasoning.

  18. Merkle-Hellman Additive Knapsack Cryptosystem Alice: 1. Chooses secret (private) key 2. Creates and publishes the public key 3. Receives encrypted message - ciphertext 4. Decrypts ciphertext using secret key to recover the original message - plaintext • Bob: • Uses public key to encrypt the plaintext • Sends ciphertext to Alice

  19. Merkle-Hellman Additive Knapsack Alice constructs cryptosystem: • Private key: A = {a1, …, an} super-increasing sequence (easy knapsack) • Calculates a1+ …+ an = E and chooses M > E. • Chooses W, 2  W < M and (W, M) = 1 • Public (hard) knapsack B = {b1, …., bn}, bi = Wai (mod M), 1 i  n • Keeps Private Key: A, W, M • Public key: B Bob using Alice public key encrypts the plaintext: • Binary Plaintext P breaks up into sets of n elements long: P = {P1, …, Pk} • For each set Pi computes • Ci is the ciphertext that corresponds to plaintext Pi • C = {C1, …, Ck) is ciphertext that corresponds to the plaintext P • C is sent to Alice

  20. Alice – Decryption Process • Since (W, M) = 1, W is invertible mod M and Alice computes w, the multiplicative inverse of W mod M: wW  1 (mod M) • Easy and hard knapsacks connection: wbi= ai (mod M), 1 i  n • For each Ci computes: Si = wCi(mod M) • Since Si < M and M > E = a1+ …+ an , plaintext Picould be found using polynomial time algorithm for easy knapsack from:

  21. Bob Alice Creates Cryptosystem Decrypts Ciphertext Plaintext: P=1001 Private Key A = {1, 2, 4, 8} M = 17, W = 7 w = 5 Public Key B ={7, 14, 11, 5} Encryption: Using Public Key 1*7 +0* 14 +0*11+1* 5 = 12 Decryption: 5*12 (mod 17) = 9 9 = 1*1 + 0*2 + 0*4 + 1*8 Ciphertext: 12 Plaintext: 1001

More Related