== Instructor == '''Kent Seamons''' \\ Office: 2230 TMCB\\ Office Hours: by appointment\\ Email: seamons AT cs dot byu dot edu\\ == TAs == Location: 1156 TMCB. Please check our hours for any changes before coming in. | | Monday | Tuesday | Wednesday | Thursday | Friday | | 8AM | | | | | | | 9AM |Ryan | |Ryan | |Ryan | | 10AM |TA Meeting | |Ryan | |Ryan | | 11AM | |Brian | |Brian | | | 12PM |Ryan |Ryan |Ryan |Ryan |Ryan | | 1PM |Brian |Brian |Brian |Brian |Brian | | 2PM |Ryan, Brian |Ryan |Ryan, Brian |Ryan |Brian | | 3PM |Brian | CLASS |Brian | CLASS || | 4PM | | CLASS | | CLASS | | | 5PM | || || | | 6PM | | | | | | | 6:30PM | CLOSE | CLOSE | CLOSE | CLOSE | CLOSE | Email: ryssavage@gmail.com, tiu.brian@gmail.com == Discussion Group == We will use Slack for online class discussions Link to join the slack channel: https://join.slack.com/t/cs465byufall2017/shared_invite/MjM3MzEwMjIwNDg1LTE1MDQ3MjM1ODEtOGNkMzI2MGIxZQ == Lecture == Section 001: TTh 3:00 ~ 4:15 pm, 2107 JKB == Description == This course will cover fundamental principles of computer security. The course consists of two parts: *Part 1: '''Applied Cryptography''' - We will study and experiment with basic cryptographic primitives (symmetric encryption, asymmetric encryption, MAC, and cryptographic hash functions). We will learn how these primitives are used to achieve certain security properties. We will then study real-world protocols like HTTPS and secure email to see how these primitives are used in real systems. *Part 2: '''Software Security''' - We will learn about some of the most common errors that software developers make that attackers then exploit. We will learn how to avoid or prevent these mistakes. == Prerequisites == CS 324 (concurrent) or Instructor Consent == Classroom Procedures == Student learning activities consist of exams, homework, and hands-on programming projects. '''Projects:''' Each week that a project is assigned, it is due before midnight on Friday. Students are encouraged to meet project deadlines. I want to see all students complete every lab by the end of the semester. Late Project Policy * As an incentive to help you stay current, late days and early days (maximum of 5) for each project will be recorded (weekends and university holidays excluded). * A total of '''five (5)''' free early days for the semester will be given. * At the end of the semester, you will receive a penalty if your late day balance exceeds your early day balance. Your overall project points may be penalized up to 2% for each late day on your final balance. If all projects are completed, the penalty for late days will be capped at 10% so that your grade is reduced by a maximum of one letter grade. '''Project Pass-off Policies''' *Projects may be written in the language of your choice unless instructed otherwise. *Projects must be passed off by the TA in person, unless instructed otherwise. *You may pass off a project after the deadline for full credit, and without using late days, provided you email a SHA-1 checksum of all files associated with your project to the TA before the deadline. You can generate the checksum again at passoff to convince the TA that your assignment was completed on time. You can generate a checksum on linux using openssl (e.g., >openssl dgst -sha1 ). Search online for how to do this on other systems. '''Homework:''' Homework is due on Tuesday at the beginning of class. Submit it online in LearningSuite before it is due.\\ Submitted homework must be one of the following file types: .doc .docx .pdf .txt - Don't make us have to work hard\\ to read your assignments. Code can be submitted as .zip or .tar.gz Grading: Each homework is worth 25 points Late Homework Policy: *Submitted by the following class period after it is due: max 15 pts *Submitted by the next exam: max 10 pts '''Study Habits''' Successful students attend class regularly and complete assignments on time. Students are encouraged to work together in groups to discuss topics and assignments. A good rule of thumb is that only your hands should be on the keyboard when you are entering your solution. Do not share your work with any other students in the class or with students in a future class. '''Learning Outcomes''' 1) Build a system: Implement a cryptographic algorithm from a standards specification.\\ 2) Break and fix a system: Demonstrate how attackers compromise real-world systems, and then show how to prevent these attacks. '''Grading Scale''' {| class="wikitable" style="text-align:Left; width:50%; height:100px" border="0" |- | A 93-100 | B- 80-82 | D+ 67-69 |- | A- 90-92 | C+ 77-79 | D 63-66 |- | B+ 87-89 | C 73-76 | D- 60-62 |- | B 83-86 | C- 70-72 | E 59 and lower |} == Syllabus == The course syllabus is located here: https://learningsuite.byu.edu/view/0wRNqhSV6yrb.html Notify the TAs if you see a discrepency between the schedule in the syllabus and the schedule on the wiki. The wiki schedule is the official schedule.