----------------------------------------------------------------------------
Course Title:   Special Topics: Cryptology-I
----------------------------------------------------------------------------

Course Number:  CIS 4930 Sec. 1057X    and    CIS 6930 Sec. 4501
Credits:        3
Exam Group:     16A

Prerequisites:  computer programming skills, knowledge of algorithms,
                elementary probability theory, discrete mathematics.

Class Room:     CSE 221
Class Hours:    MWF 1:55pm-2:45pm (Period 7)

Professors:     R.E. Newman-Wolfe  (nemo@cise.ufl.edu) - CSE 346 (392-1488) 
                M.S. Schmalz       (mssz@cise.ufl.edu) - CSE 576 (392-3984) 

Office Hours: 

        Newman-Wolfe: MWF 10:30am-11:30am, MW 3:00pm-3:30pm or by appointment
        Schmalz:      MW  11:45am- 1:40pm, or by appointment

Required Text:

        Stinson, D.R. Cryptography - Theory and Practice, CRC Press (1995).

Reference Texts:        

        Vanstone, S.  Handbook of Cryptography. CRC Press (in press).

        Schneier, B.  Applied Cryptography, 2nd Edition, John Wiley & Sons  
                        Softcover, ISBN 0-471-11709-9

     *  Patterson, W. Mathematical Cryptology for Computer Scientists
                        and Mathematicians, Rowman & Littlefield (1987).

     *  Sinkov, A.    Elementary Cryptanalysis, a Mathematical Approach.
                        Mathematical Association of America (1966).

(*) - Patterson and Sinkov texts will be placed on reserve in UF's Marston
        Science Library.  This will be announced in class.

Notes:	Notes will be made available on the World-Wide Web at:

        http://www.cise.ufl.edu/~mssz/Class-Crypto-I/Top-Level.html

Grading:
        50%  programming projects (five projects, 10% each)
        30%  homework (4-5 of easy to moderate difficulty)
        20%  examinations

Examinations:  Two incremental midterms and one cumulative final.

        The final is on Monday, December 16 from 7:30am to 9:30am.
        All exams will be normalized to a scale of 10 points.  

        The midterms are required, but the final is optional, with the 
        normalized final exam score replacing the lower of the two normalized
        midterm scores.

----------------------------------------------------------------------------
Course Title:   Special Topics: Cryptology-I                         page 2
----------------------------------------------------------------------------

Homework Policy:  Homeworks will be collected at the start of the class on
        the due date.  Each student will be prepared to present homework 
        answers in class.  You are encouraged to discuss the course and the 
        assignments with each other, however, your project and exams should 
        be your own work.  Late homework will not be accepted for any reason,
	because the answers will be given in class.

Projects:  
        Four projects will be assigned, in addition to an independent project.
        Each student will design and implement the independent project after 
        discussion with the instructors.  Each project will count ten percent
        of total grade.  Ten percent of maximum score will be deducted
        for each day late without excuse, up to two days, after which the
        late project will not be accepted.  Documented CISE system outages
	to the general computing laboratory will be cause for extension.

Introduction:  
        The growing field of computer security is providing both lucrative 
        employment and implementational challenges for computer scientists 
        and engineers.  UF's CISE Department is offering CIS4930/6930 - 
        Crytology I: Algorithms, Attack, and Analysis, a 3-credit class
        of moderate difficulty only, with emphasis on practical issues.

        The class will not overlap significantly with previous Computer and
	Network Security classes, as our focus will be on cryptographic and 
	cryptanalytic algorithms.  Introductory material (statistics, field 
	theory, etc.) will be presented in order to accomodate those students 
        who may have a suboptimal background in mathematics but are profic-
        ient algorithm and code developers.  Discrete math is a prerequisite.

Overview:
        Crypto-I will provide useful practical and theoretical background 
        in data encryption and code-breaking, to support students' future 
        employment or graduate-level research.  Algorithms include:

                1) Transpositions and monoalphabetic substitution
                2) Polyalphabetic ciphers and Vigenere cryptosystems
                3) Vernam cipher, Hill's n-gram cipher, and rotor machines
                4) Data Encryption Standard (DES), RSA, and Pretty
                     Good Privacy (PGP) algorithms
                5) The IDEA cipher, MD4, MD5, and secure hashing
                6) Advanced methods such as encryption using conic
                     sections, signature authentication schemes, and an 
                     overview of quantum cryptography.

        For each algorithm, we plan to emphasize the following development:

                - History, practical rationale, and functionality
                - Underlying theory needed to understand the algorithm
                    and rigorously formulate successful cryptanalytic
                    methods of attack (versus ad-hoc attack)
                - Algorithm structure, coding, and performance analysis
                - Analysis of practical cryptanalytic methods
                - Use of the algorithm in practical computing scenarios


----------------------------------------------------------------------------
Course Title:   Special Topics: Cryptology-I                         page 3
----------------------------------------------------------------------------

Objectives:
        Introduce graduate and upper-division undergraduate 
        students to concepts of cryptosystems, as well as
        cryptogaphic algorithms and salient cryptanalytic
        theory and practice.

        Provide contextual framework and underlying theory to
        facilitate understanding of algorithm development
        rationale, security, and performance issues.
                
        Provide sufficient applications information to render
        the coursework valuable for students seeking employ-
        ment in security-related fields, particularly in
        a business environment.

Method:
        Course organization would be algorithm-specific, with practical 
        orientation and the following order of presentation for each 
        algorithm:

                1) Concept and Practical Utility
                        - what does the algorithm do?
                        - why was it designed this way?
                        - what are (were) practical applications?

                2) Underlying Theory
                        - what theory beyond that given in the course 
                            introduction is required to understand the
                            current algorithm?
                        - how does theory relate to that required to 
                            understand other algorithms in this class?

                3) Algorithm Formulation and Performance Analysis
                        - pseudocode version  (programming project in C)
                        - data security analysis
                        - computational complexity and computational error

                4) Cryptanalytic Perspective
                        - key vulnerabilities of algorithm to attack
                        - relationship to deficiencies of other algorithms
                        - how vulnerabilities might be exploited (concealed)
                            in practice
UF Honor Code:
	We, the members of the University of Florida community, pledge to
	hold ourselves and our peers to the highest standards of honesty
	and integrity.

----------------------------------------------------------------------------
Course Title:   Special Topics: Cryptology-I                          page 4
----------------------------------------------------------------------------

Course Outline Topics:

        Basic theory of cryptosystems, statistical analysis,
                with an outline of field theory as time permits.

        1) Simple Historical Algorithms
                - substitutions and transpositions
                - Examples: Caesar cipher, monoalphabetic
                        substitutions, shuffling

        2) More Involved Historical Methods
                - Polyalphabetic Ciphers
                - Vigenere Cryptosystem
                - Semantic Ciphers

        3) Early 20th Century Ciphers
                - Vernam Cipher (One-time pad)
                - Hill's n-gram Cipher
                - Rotor Machines (incl. ENIGMA)

        4) Mid-20th Century Ciphers
                - Data Encryption Standard (DES)
                - Public-key cryptosystems
                - RSA and PGP (Pretty Good Privacy)
                        
        5) Late 20th Century Ciphers
                - Encryption with Conic Sections
                - Cryptologic Protocols (message passing, 
                    key distribution, authentication)
                - Overview of recent advances in cryptologic technology
                    quantum encoding methods, knapsack systems, and 
                    signature schemes