CSIS 5857: Encoding and Encryption

Instructor:

Dr. John R. Sullins

Office hours: MW 1:30 – 3:00, TTh 10:00 – 11:00, or by appointment

Office: 314 Meshel Hall

Phone: (330) 941-1806

Email: john@cis.ysu.edu

Web site: http://cis.ysu.edu/~john/

   Check the web site regularly, as assignments and announcements will be posted here.

Description:

Securing computer and information systems through encoding and/or encryption. Private and public cryptographic methods, digital certificates and signatures, cryptovariable techniques, key management, and database security issues.


Objectives:

This course covers a number of widely used encryption algorithms and systems, with a focus on:

·         The underlying algorithm used for encryption and decryption of data.

·         Costs associated with implementing the encryption algorithm, and the potential vulnerabilities of the encryption algorithm, both now and in the future as hardware becomes faster.

·         Use of encryption algorithms for authentication and information integrity.

·         Issues related to the implementation of the algorithms (such as key exchange and management).

     

Prerequisites:

o     CSIS 1560: BASIC Programming, CSIS 2610: Programming and Problem Solving, or CSCI 6901: Principles of Computer Programming, or equivalent experience with programming. A minimum level of programming may be required for possible programming assignments.

o     MATH 1548 or MATH 1571, or equivalent background in math. While the mathematics of encryption is not the main focus of this course, some mathematics background is required in order to understand the algorithms.

Textbook:

Cryptography and Network Security, Behrooz Forouzan, McGraw-Hill, ISBN: 978-0-07-287022-0.

Some other notes on the textbook and references:

 

Assignments:

There will be a number of short assignments (possibly both written and programming) during the early portion of the course. As with any other course, work on these assignments must be your own. See the policy sheet for more details.

 

Research Presentation:

The final project will involve researching a topic in encryption, and presenting the results of that research to the rest of the class during the last week or two of the semester. This could involve an encryption algorithm not covered in class, the application of encryption to some area, or some other topic of interest. More details (including a list of suggested topics) will be provided later in the semester. However, if you already have an idea, feel free to speak with me sooner.

 

Graduate Students:

Graduate students in swing courses are required to perform additional work. In this course, you will be expected to choose a more complex research presentation topic, requiring research outside of the textbook. More details will be provided later in the course.

 

 Grading:

Midterm (week 8)

20%

Final Exam (Finals week)

25%

Homework Assignments

25%

Research Presentation (last week of class)

30%

      Last day to withdraw with a "W": Thursday, March 27.
The course grade will be based on the required material:

 

Tentative Course Outline:

WEEK

TOPICS

CHAPTERS

1/14

Introduction to encryption: goals and attacks

1

1/21

Historical background; properties of a good encryption algorithm

3

1/28

Structure of modern symmetrical block ciphers

2, 4, 5

2/4

The Digital Encryption Standard, 3DES

6

2/11

The Advanced Encryption Standard

7

2/18

Block cipher modes, stream ciphers

8

2/25

Public-key encryption: the RSA algorithm

9, 10

3/3

Public-key encryption: Rabin, El-Gamal, and elliptical curves

10

3/10

Spring Break

 

3/17

Message authentication and integrity, hash functions and algorithms

11

3/24

SHA-512 hashing, Digital signatures

12, 13

3/30

Key distribution schemes, Diffie-Hellman key exchange

15

4/7

Trust models: X.509 certificates, PGP

15, 16

4/14

Database Security and Key Management

 

4/21

Research Presentations

 

4/28

Research Presentations

 

5/5

Final Exam