辅导案例-CSC 332
MAT/CSC 332: Cryptology - Projects Fall 2020
Name:
Semester Projects
This semester you will complete two projects: one must include a writing component and one
must have a programming component. You may work in groups of up to 2-3 on your projects; the
groups need not be the same for your two projects.
Cryptology is a wide-ranging field with too many branches of study and too much depth in each
branch to cover a significant amount in a one-semester course. These projects will serve as your
chance to study cryptology beyond those topics we discuss in the class and at a deeper level than
what we can cover in the course. A list of possible themes is on the last page but you are free to
choose a theme that is not on the list – avoid topics that we’ll cover in depth in the course, and
make sure that your topic is going to be of interest to you.
There is no “one size fits all” project. Every student in this class comes with a different back-
ground, different skills, and different interests. Create projects that suit your interests, expand your
skills, and broaden your background.
Tentative Due Dates
Proposal #1: Friday, September 11 Proposal #2: Friday, October 2
Due by 5 pm, email a pdf with all team members cc’d.
Project proposals can be turned in earlier, and revised until the due dates. Order doesn’t matter
– if the paper project proposal is accepted first or second, it’s all the same to me. However, you will
loose an entire letter grade on your project if you do not turn in your proposal and have it accepted
on time. Projects without an accepted proposal will receive half credit.
Writing-Component Project: For each component, email a pdf by 5 pm.
First Draft – Friday, Oct. 16
Final Draft – Friday, Oct. 30
Programming-Component Project: Turn in materials after public demo.
Practice Demo – Week of Nov. 23 - Nov. 25
Public Demo – Week of Dec. 7 - Dec. 11
Naming Conventions
• If you are turning in multiple files for any of these assignments, make a single archive file
(.zip?) and follow the naming convention on the archive file. Make sure the files in the archive
are named in a way that someone besides you will know what to open and what to leave alone.
• Proposals:
– LastName1FirstInitial1 LastName2FirstInitial2 Etc-WritingProjectProposal
– LastName1FirstInitial1 LastName2FirstInitial2 Etc-ProgrammingProjectProposal
Example: WilcoxE LeaD EarlyJ-WritingProjectProposal.pdf
• Writing-Component Project First Draft: LastName1FirstInitial1 Etc-WritingFirstDraft
• Writing-Component Project Final Draft: LastName1FirstInitial1 Etc-WritingFinalDraft
c© 2020 Elizabeth Wilcox – Reproduction prohibited without author consent 1
MAT/CSC 332: Cryptology - Projects Fall 2020
• Programming-Component Project: LastName1FirstName1 Etc-ProgrammingProject
Project Requirements
Your projects are a great opportunity for collaboration. Your project needs more than the history or
the context of your topic. This is a math and computer science class! Give the history and context,
the social values, etc. and then highlight, explain, analyze the mathematics and the computer
science involved in the topic.
All writing should use complete sentences and be proof-read for typos, grammatical errors, and
content editing. Writing typically involves multiple paragraphs – a two-page blob of run-on text
that is impossible for a normal human to read without a terrible headache guarantees an irritated
grader and a low grade.
Proposals
For each project, you will submit a proposal that must be accepted by me before anything can be
graded. The proposal must:
• describe the topic,
• list the individuals working on the project,
• outline the goals for the project, and
• list potential references.
Make sure that the outline you submit demonstrates how your project is truly worth 20% of
your course grade. For example, if someone submitted “I want to write about a famous old cipher”
for their paper project, the proposal would be rejected – you and I know that person would end up
with a 2-3 page paper having one or two unreliable references and some lousy examples that were
made up the night before the paper was due, not anything that’s worth 20% of the course grade.
On the other hand, if you know that you want to write your paper on famous old ciphers and don’t
know any famous old ciphers, then you should come to office hours so we can try to develop your
idea into a full-blown paper project that really knocks my socks off – it’s possible, with sufficient
research and development, and proper planning. Your proposal will reflect the planning.
Your proposal should also explain how the different people working on the project are all con-
tributing to the project. If I read a proposal and have to ask, “These are all things that YOU can
do on your own. How is your partner contributing?” then chances are that I’ll tell you to work
individually.
References/Bibliographies
Mathematicians have non-standard expectations regarding in-text references and bibliographies.
Your projects must be grounded in published, peer-reviewed literature or original
sources. Papers written for a course or random documents found on the internet are not reliable
sources! Evaluate your sources critically: Who wrote this? Why is that person’s knowledge trust-
worthy? How can I tell if the information is correct? When was this information considered current
and is it still current?
• Materials and claims should be cited within the text. One may use numbers (for example, [5]
or [5, 3]) or last name (such as [Wilcox, et. al.]), or any other uniquely identifying system.
c© 2020 Elizabeth Wilcox – Reproduction prohibited without author consent 2
MAT/CSC 332: Cryptology - Projects Fall 2020
• A bibliography/references/works cited section should be included after the main report but
before any appendices. Choose your favorite format (MLA, Chicago, APA, LMNOP, . . . )
but make sure to include enough information about each source so that another person can
actually find the same source independently. A sample bibliography is provided, so you can
see an example of acceptable formatting.
• The web address, title of the page, author (if known), and the date accessed must be provided
for online-only sources in the bibliographic entry. Check out [2] for an example.
• You may provide bibliographic entries for sources not cited in the report, provided they
actually pertain to your work.
• Many mathematicians use bibtex to keep track of their bibliographies. I would love to show
you how. Please ask, and ask early so that you can make your life much, much easier. Many
databases will supply you with a bibtex entry, so you need only copy and paste the source
information into your .bib file . . . super convenient!
Writing-Component Project
• You are strongly encouraged to write up your paper using LATEX. It’s good for you and many
of the demands placed on you in the following bullets are automated in LATEX. If you’ve never
heard of LATEX, come to office hours sometime for a jump-start on the system.
• Your writing must be in a reasonably sized font (10 pt - 12 pt), with reasonably sized margins,
using reasonably sized paper. The content of your writing matters deeply to me and your grade
will reflect the depth and quality of the written content. Don’t waste our time by writing
nonsense or fiddling with margins, font size, spacing, etc. just to fill white space.
• Please 1.5-space or double space your paper to make it easier for me to grade.
• Any figures or tables in the written component should be embedded in the body of the text
in the vicinity where it’s referred to, unless the float is so big that it must be included as an
appendix. Figures and tables should be labelled (“Figure 1” or “Table 3.2”) and should be
referred to by label (“As Figure 2.3.5(b) depicts, . . . ”).
• Avoid plagiarism, copying, and other academic integrity violations at all costs. When in
doubt, cite your source. It’s ok to to cite in text.
If you hate writing, think outside of the box. You do not need to write a 10-page paper for this
project, although such a product is perfectly welcome. Perhaps working with someone will help you
complete this project in a less teeth-pulling manner. Perhaps, instead of an essay-style project, you
might write a technical report. Perhaps you could write a 2-act play or craft a catchy folk song. I
am open to creative approaches.
Programming-Component Project
The project with a programming component will have two “products”: a demo for me in my virtual
office and a demo for the class during finals week. Everyone working on the project must be present
at both demos and should be prepared to answer questions about the project. This is a professional
demonstration of your work; prepare, dress, and act professionally.
c© 2020 Elizabeth Wilcox – Reproduction prohibited without author consent 3
MAT/CSC 332: Cryptology - Projects Fall 2020
At the time of your demos, you must have a prepared list of references and resources to give
to me and/or the class. Treat the class demo like a presentation – dress neatly, rehearse your
presentation, convince your audience of the value and quality of your work.
There are no specifications on the language or platform that you must use, or what you end up
with. It would be good for everyone working on the project to have an understanding of what is
happening with the “computer stuff” and also the “math stuff”. Ideally, every team member will
learn more and push their own personal boundaries for programming skills. Whatever you create,
I would like a “souvenir” to keep to show future students so make sure that the end product is
something an amateur like me can use.
If you are a programming novice, I welcome you to my company. If you know or want to
know some of the students in the class then join a group doing something interesting. Otherwise,
come talk to me early and I will try to brainstorm some ideas for you that will be interesting, yet
approachable for your skill level. There’s some nice cryptographic software out there, and there’s
some great math software out there that might give you a chance to learn a little programming, a
little crypto, and a little more math.
References
[1] Online Cipher Wheel. https://inventwithpython.com/cipherwheel/. Accessed: 2018-08-20.
[2] Certicom. The Certicom ECC Challenge. https://www.certicom.com/index.php/
the-certicom-ecc-challenge. Accessed: 2016-11-25.
[3] Jeffrey Hoffstein, Jill Pipher, and Joseph H. Silverman. An Introduction to Mathematical Cryp-
tography. Springer, 2008.
[4] Manuel Blum. How to Prove a Theorem So No One Else Can Claim It. In Proceedings of the
1986 International Congress of Mathematicians, pages 1444–1451. AMS, 1987.
[5] Nick Sullivan. A (relatively easy to understand) primer on elliptic curve cryptography. Web:
Ars Technica - Biz & IT, October 24, 2013.
This is a bogus references section, just to demonstrate acceptable formatting.
A Sampling of Project Topics
1. Side-channel attacks
2. The 2009 hacking of the algorithm that generated iTunes gift vouchers
3. eSTREAM
4. Attacks against DES
5. Steganography
6. Lightweight cryptography
7. Elliptic curve cryptography history: infamous problems and how they have been resolved
8. Digital signatures
c© 2020 Elizabeth Wilcox – Reproduction prohibited without author consent 4
MAT/CSC 332: Cryptology - Projects Fall 2020
9. What is block chain and what are the details of how it works?
10. Differential privacy
11. Multivariate cryptography
12. Homomorphic encryption
13. Verifiable secret sharing
14. Shor’s quantum algorithm for factoring and the security of RSA in the post-quantum world
15. Lattice-based cryptography
16. Web security
17. Hybrid cryptography
18. Proposed cryptosystems for the post-quantum world
19. Explore the gap between “schoolbook” techniques and real-world cryptology
20. Create a module of projects for someone to learn cryptography through programming in an
approachable language (Python?)
Project Topics That I’m Weary Of
1. Cracking the Enigma
2. Kryptos
3. A program to break the Vigenere cipher
4. The history and value of cryptocurrency
5. Quantum computers: What are they? How do they work?
You could potentially focus on one of these topics for your project, but you must do so in an
original and creative way. Many students have submitted projects on these topics in the past and
I need a break.
c© 2020 Elizabeth Wilcox – Reproduction prohibited without author consent 5
51作业君 51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: ITCSdaixie