Chris Pollett >
Students >
Molina
( Print View)
[Bio]
[Blog]
[CS 297 Proposal]
[Deliverable 1]
[Deliverable 2]
[Deliverable 3]
[Deliverable 4]
[McEliece System]
[Regev System]
[RSA System]
[CS 297 ReportPDF]
[CS 298 Proposal]
[CS298 SlidesPDF]
[CS298 ReportPDF]

Project Blog
Week 15  May 10, 2022
Minutes
ToDo
 Do revisions on report draft
 Start slides
Week 14  May 3, 2022
Minutes
 Go over what should be in the report
 Discuss implementation of cipher block chaining
ToDo
 Start working on slides
 Have report draft by next week
Week 13  April 26, 2022
Minutes
 List of bugs found:
 Forgot to scramble generator matrix; the generator matrix is G' = SGP, not G
 Patterson's algorithm finds the moved errors, and the moved errors are equal to eP^1
 In the last step of decryption use the unscrambled generator in [G^t(mSG)^t]
 Other miscellaneous things found after it was mostly working:
 When finding rref form columns are swapped to make the identity matrix appear on the left. After creating the nullspace, they must be swapped back in reverse order
 In the last step of decryption, a modified rref was run on the top half of the matrix. Instead run it on the whole matrix and just don't clear the rightmost column
 Rust cannot find a large, nonsingular matrix whith a high density and sometimes crashes when calculating the determinant. Use a lower density (half of the matrix) and reduce the length of the code (which is the size of the matrix) and it still works
 In reduce() in both GF(2^m) and GF(2^tm), loop ranges were decreasing which doesn't work in Rust. For example 5..0 doesn't work and 1..6.rev() must be used
ToDo
 Finish implementing the Regev system
Week 12  April 19, 2022
Minutes
 Show demo of McEliece system working
ToDo
 Keep implementing the Regev system
Week 11  April 12, 2022
Minutes
 Go over error distribution in the Regev system
ToDo
 Start implementing the Regev system
Week 10  April 5, 2022
Minutes
 Discuss where I am at on implementing McEliece
ToDo
 Finish the last decoding steps of McEliece
Week 9  March 29, 2022
Minutes
 Learn how to find the square root of a polynomial over GF(2^mt)
ToDo
 Implement the square root of a polynomial over GF(2^mt)
Week 8  March 22, 2022
Minutes
 Discuss finishing McEliece by end of spring break
ToDo
 Find more suitable methods for finite fields
Week 7  March 15, 2022
Minutes
ToDo
Week 6  March 8, 2022
Minutes
 Discuss what to do for next week
ToDo
 Finish encoding
 Work on decoding
 Read next paper
Week 5  March 1, 2022
Minutes
 Do the points from last week
ToDo
 Finish generator matrix
 Finish encoding part
 Think about tests to run
 Work on decoding
Week 4  February 22, 2022
Minutes
 Discuss the irreducible polynomial for the generator matrix
 Learn about subgroups and extension fields
ToDo
 Finish generator matrix
 Finish encoding part
 Think about tests to run
 Work on decoding
Week 3  February 15, 2022
Minutes
 Discuss how to create the generator matrix
ToDo
 Finish the generator matrix by next week
 Read about decoding for next week
Week 2  February 8, 2022
Minutes
 Discuss how to find the generator matrix
ToDo
 Implement creating the generator matrix
Week 1  February 1, 2022
Minutes
ToDo
 Get caught up to the point of last Fall
Week 4  September 14, 2021
Minutes
 Discuss the 3 matrices for the system
ToDo
 Implement some of the matrices for the system before next week
Week 3  September 7, 2021
Minutes
 Discuss the 3 matrices for the system
ToDo
 Implement the 3 matrices for the system
 Implement encryption
Week 2  August 31, 2021
Minutes
 Pay attention to aspects of Rust that make implementation challenging
 How to make a random permutation with a single for loop
 Irreducible polynomials
 How to generate irreducible polynomials
ToDo
 Post CS 298 Proposal on Project Page
 Implement up to Algorithm E
 Implement Algorithm E and D if there is extra time
Week 1  August 24, 2021
Minutes
 Discuss how to finish 298 report
ToDo
Week 15  May 11, 2021
Finished
Week 14  May 4, 2021
Minutes
 Discuss what to do for next week
 Discuss CS 298 Proposal
Finished
Not Finished
 Finish description for Deliverable 3 and Deliverable 4
 Debug Deliverable 3 by trying different seeds for random number
 Continue reading [Dwork1997]
 Make a graph that shows that the dual lattice is the set of points that are intersections of n hyperplanes
ToDo
 Finish Deliverable 4 by next week
 Finish CS 297 Report by next week
 Finish everything else by next week
Week 13  April 27, 2021
Minutes
 Show slides from Deliverable 3
 Discuss Report
 Discuss what to do for next week
Finished
 Coded Impagliazzo and Naor hash function, ran tests and made a distribution graph. Made slides showing graph.
 Started reading [Hoffstein1998]. Updated proposal with what the next deliverable will be.
 Finished pages 14 of [Ajtai1996] because it discusses ImpagliazzoNaor hash functions.
 For Deliverable 1 and Deliverable 2, added description to explain what code is doing.
 Under references, added links to papers.
ToDo
 Finish description for Deliverable 3
 Debug Deliverable 3 by trying different seeds for random number
 Debug Deliverable 2 and show test cases
 Continue reading [Dwork1997]
 Look at CS 255 to read about Extended Euclidean Algorithm for Deliverable 4
 Finish Deliverable 4 by next week
 Do outline of Report by next week
 Make a graph that shows that the dual lattice is the set of points that are intersections of n hyperplanes
Week 12  April 20, 2021
Minutes
 Finished ImpagliazzoNaor hash function (Deliverable 3)
 Discussed what to do for the distribution graph of the hash function
 Discussed dual lattices and hyperplanes
 Discussed why inverting the hash function is equivalent to finding a short vector
ToDo
 Under references, add links to paper
 For Deliverable 1 and Deliverable 2, add description to explain what code is doing
 Debug md5 and show test cases
 For Deliverable 3, Code Impagliazzo and Naor hash function. Run tests and make a distribution graph.
 Continue reading [Dwork1997]
 Start reading [Hoffstein1998]. Make slides on what the next deliverable will be.
 Make a graph that shows that the dual lattice is the set of points that are intersections of n hyperplanes
Week 11  April 13, 2021
Minutes
 Finish Deliverable 3 by next week
Week 10  April 5, 2021
Minutes
 Discuss [Dwork1997] paper
 Discuss what Deliverable 3 is
ToDo
 Under references, add links to paper
 For Deliverable 1 and Deliverable 2, add description to explain what code is doing
 For Deliverable 2, show some test cases for md5 to show that it works
 For Deliverable 3, Code Impagliazzo and Naor hash function. Run tests and make a distribution graph.
 Continue reading [Dwork1997]
 Start reading [Hoffstein1998]
Week 9  March 23, 2021
Minutes
 Discuss not able to finish anything
ToDo
 Have md5 finished by end of break
 Continue reading [Dwork1997]
 Work on hash function from [Dwork1997]
 Update Deliverable 2 description
Week 8  March 16, 2021
Minutes
 Discuss when to finish Deliverable 2
ToDo
 Have md5 finished by next Tuesday
 Have questions on [Dwork1997] prepared by next Tuesday so that I can code the hash function
 Have [Dwork1997] hash function finished by the Tuesday after Spring Break
 Update Deliverable 2 description
Week 7  March 9, 2021
Minutes
 Discuss Dwork paper [Dwork1997]
 Discuss dual vector space
 Discuss linear transformations
 Discuss the hash function from Dwork paper
ToDo
 On website, get rid of download links to Deliverable 1 and create a new link on the green menu that opens a new page
 Modify proposal to show correct paper for Paper 2: [Dwork1997] instead of [Miklos1996]
 Continue reading Paper 1 [Dwork1997]
 When reading article, take pictures of notes and doodles to show next time
 When reading article, write down notes of things I don't understand
 Code md5
 Remind Professor Pollett next Monday to look for material that explains lattices
 Next deliverable:
 Continue coding md5
 Code the hash function from [Dwork1997] with hardcoded input vectors, save generation of input vector for later
 Code cipherblock chaining for each of the two hash functions
 Update Proposal to show details of Deliverable 2
Week 6  March 2, 2021
Minutes
 Discuss what lattices are
 Discuss what a shortest vector is
 Discuss modular matrices
 Discuss some lattice problems (Small Integer Solutions, Learning With Error, Decision Learning With Errors)
 Discuss that it's better to show examples instead of lists
 Use Microsoft Paint as scratch paper for next time
ToDo
 Align blog content to the left
 Continue reading [Miklos1995] if possible
 Work out what the hash problem is from [Miklos1995] by reading other material that explains it
 Work out how to code that
 Code md5
 Remind Professor Pollett the day before next Tuesday to go over Miklos article [Miklos1996]
 Add link to slides and deliverable from last week
Week 5  February 23, 2021
Minutes
 Finished Deliverable 1 (See "Deliverable 1")
 Showed slides about compiling Rust and using crates
 Discuss what to do for next week
ToDo
 Read journal version of Miklos article
 Decide which parts I want to code
 Look up libraries for the hash function
 Look up homomorphic cryptography
 Create slides about Miklos article
 Update proposal to be more specific regarding which component to code
 Make a table around schedule on Proposal
 Think of any questions for next week
Week 4  February 16, 2021
Minutes

Went over account and website, learned how to edit, copy, delete, and add pages.

Made change to proposal to replace 3 with 'three'.

Updated proposal with deliverable for next week
ToDo

Update Blog with summary of each meeting

Deliverable for next week: write a short program that demonstrates 3 functions from crate; Create slides to explain what the function does, and how to compile Rust; create no more than 8 slides.
Week 3  February 9, 2021
Minutes

Discussed improvements to make on proposal

Arranged 10 AM Tuesday meetings for the future
ToDo

Split up proposal deliverables into smaller pieces
Week 2  February 2, 2021
Minutes

Decided on topic: latticebased cryptography
ToDo

Write first draft of proposal
Week 1  January 27, 2021
Minutes
ToDo
