Selected Courses for Cryptography
Credit: 0(0-0); ECTS: 50.0The Program of research leading to M.S. degree arranged between the student and a faculty member. Students register to this course in all semesters while the research program or write up of thesis is in progress. Student must start registering to this course no later than the second semester of his/her M.S. study.
Credit: 3(3-0); ECTS: 8.0Historical Introduction to Cryptography: General Principles, Monographic-Polygraphic Systems, Monoalphabetic-Polyalphabetic Systems, Substitution Ciphers, Transposition Ciphers, Frequency Analysis, Kasiski Analysis. Shannon's Theory: Perfect Secrecy, Entropy. Cryptographic Evaluation Criteria and Cryptanalysis. Public and Private Key Cryptography. Block Ciphers: Diffusion, Confusion, Feistel Structure. Stream Ciphers: Shift Registers, Synchronous and Self-synchronous Ciphers, Linear Complexity. Public Key Cryptography: Fundamental Concepts, NP-Hard Problems, Discrete Logarithm, Factorization, Subset Sum, RSA, Diffie Hellman Key Exchange Protocol, DSA, Cryptographic Protocols.
Credit: 3(3-0); ECTS: 8.0Linear Feedback Shift Registers: Generating Functions, Minimal Polynomial and Families of Recurring Sequences, Characterizations and Properties of Linear Recurring Sequences. Design and Analysis of Stream Ciphers: Stream Ciphers Using LFSRs, Additive Generators, Gifford, Algorithm M, PKZIP. Other Stream Ciphers and Real Random Sequence Generators: RC4, SEAL, WAKE, Feedback with Carry Shift Registers, Stream Ciphers using FCSRs, Non-Linear-Feedback Shift Registers. Cascading Multiple Stream Ciphers, Generating Multiple Streams from a Single Pseudo-Random-Sequence Generator.
Credit: 3(3-0); ECTS: 8.0Elliptic curves over finite fields, group structure, Weil conjectures, Super singular curves, efficient implementation of elliptic curves, determining the group order, Schoof algorithm, the elliptic curve discrete logarithm problem, the Weil pairing, MOV attack.
Credit: 3(3-0); ECTS: 8.0Algebraic Enumeration Methods: Bijections, generating functions, free monoids. Lagrange inversion, multisets and partitions. Inclusion-Exclusion, Mobius inversion, symmetric functions. Asymptotic Enumeration: Estimation of sums, formal power series, elementary estimates for convergent generating functions, analytical generating functions, singularities, Darboux’s theorem, algorithmic and automated asymptotics. External set systems: Intersecting families, families with prescribed intersection sizes, s-wise t-intersection families, covering number. Computational complexity.
Credit: 3(3-0); ECTS: 8.0Basic concepts: Walks, connection, external graphs, search trees, hyper graphs, Hamilton paths. Fundamental Parameters: Connectivity, edge connectivity, stability number, matching number, chromatic number, toughness. Bipartite graphs, line graphs, Thowrason’s lemma, Pora’s lemma, Woodall’s hopping lemma. Lengths of circuits. Packing's and coverings. External graphs. Ramsey theory.
Credit: 3(3-0); ECTS: 8.0Number systems and elementary arithmetic with (arbitrary large) integers, Polynomial arithmetic, Fast Fourier transforms, Resultants and Sub-resultants, Factorization of polynomials, Arithmetic with power series, Gröbner bases. Applications of Gröbner basis algorithms. Coursework and computer lab with MATLAB.
Credit: 3(3-0); ECTS: 8.0Cryptography based on Groups, Discrete Logarithm Problem (DLP) in finite fields, The ElGamal Cryptosystem, Diffie-Hellman and Digital Signature Algorithm. Algorithms to attack DLP in finite fields: The Silver-Pohling-Hellman, The Index-Calculus, Basic facts on Elliptic Curves, Group structure, Elliptic Curve cryptosystems Elliptic curve primality test, Elliptic curve factorizaton. Lucas, GH and XTR cryptosystems.
Credit: 3(3-0); ECTS: 8.0The aim of this course is to introduce the basic of quantum information theory with an emphasis on quantum cryptography and quantum algorithms. A short review of classical information theory. Basic notions of quantum mechanics: Hilbert spaces, postulates of quantum mechanics, qubits, density operator, entanglement, EPR and Bell inequality. Quantum gates, quantum circuits. Quantum Fourier transform. Quantum algorithms: Deutsch`s, Deutsch-Jozsa, Grover`s and Shor`s algorithms. Quantum cryptography: quantum key distribution, BB84, B92, and EPR protocols.
Credit: 3(3-0); ECTS: 8.0Formal techniques for design and analysis of algorithms, methods for specifying algorithms,proving an algorithm´s correctness, basics of algorithmic efficiency, asymptotic notations and basic efficiency classes, computational complexity, complexity classes P, NP,NP-completeness/hardness, mathematical analysis of algorithms, divide-and-conquer, space and time trade-offs, and number-theoretical algorithms.
Credit: 3(3-0); ECTS: 8.0Block Cipher Systems: Building Blocks and Design Criteria. Modes of Operation: ECB, CBC, CFB, OFB, PCBC. Boolean Functions, Correlations and Walsh Transforms. Cryptographic Criteria: Propagation Characteristics, Nonlinearity, Resiliency and Generalization to S-Boxes. Differential and Linear Cryptanalysis, Algebraic Attacks. Descriptions of DES, SAFER, IDEA and AES Semi-Finalist Algorithms: Rijndael, Mars, Serpent, Twofish and RC6. Statistical Evaluation and Performance Comparison of AES Semi-Finalist Algorithms.
Credit: 3(3-0); ECTS: 8.0Basic properties of Integers, Divisibility, Primes, The fundamental theorem of arithmetic, Fermat numbers, Factorization methods, Diophantine equations, Congruences, Theorems of Fermat, Euler, Chinese Remainder and Wilson. Arithmetical functions, Primitive roots, Quadratic congruences.
Credit: 3(3-0); ECTS: 8.0Algebraic Preliminaries: Group, Ring, Ideals, Prime and Maximal ideals, Homomorphisms, Isomorphism theorems, Field, Polynomials, Field extensions, Finite fields, Factorization of polynomials, Splitting field. Quadratic residues and quadratic reciprocity.
Credit: 2(2-0); ECTS: 6.0
LaTeX and Matlab; Basic Commands and Syntax of LaTeX and Matlab; Working within a Research Group via Subversion; Arrays and Matrices; Scripts and Function in Matlab; Commands and Environments in LaTeX; More on Matlab Functions; Toolboxes of Matlab; Packages in LaTeX; Graphics in Matlab; Handling Graphics and Plotting in LaTeX; Advanced Techniques in Matlab: memory allocation, vectoristaion, object orientation, scoping, structures, strings, file streams.
Credit: 2(2-0); ECTS: 6.0
Review of Programming and Toolboxes, Packages, Modules; Iterative Linear Algebra Problems; Root Finding Programs; Recursive Functions and Algorithms; Optimisation Algorithms; Data Fitting and Interpolation; Extrapolation; Numerical Integration; Numerical Solutions of Differential Equations: IVPs and BVPs; Selected Topics (algorithms and coding in different fields).
Credit: 0(0-0); ECTS: 130.0Program of research leading to Ph.D. degree arranged between the student and a faculty member. Students register to this course in all semesters starting from the beginning of their second semester while the research program or write up of thesis is in progress.
Credit: 3(3-0); ECTS: 8.0The Geometry of Elliptic Curves: Weirstrass equations, The group law, j-invariants, Isogenies, The dual isogeny, The Tate module, The Weil pairing. The Formal Group of an Elliptic Curve: Expansion around 0, Formal groups, Groups associated to formal groups, The invariant differential, The formal logarithm, Formal Groups over discrete valuation rings. Elliptic Curves over Finite Fields: Number of rational points, The Weil conjectures, The Endomorphism rings, Calculating Hasse invariant.
Credit: 3(3-0); ECTS: 8.0AG-Codes: Constructions and properties, Duality and spectra, Codes of small genera, Elliptic codes, Other families of AG-Codes, Decoding: Basic algorithm, modified algorithm, Asymptotic results: Basic AG-bounds, Expurgation bound. Constructive bounds, Other bounds.
Credit: 3(3-0); ECTS: 8.0The aim of computational number theory is the design, implementation and analysis of algorithms for solving problems in number theory. This includes efficient algorithms for computing fundamental invariants in algebraic number fields and algebraic function fields, as well as deterministic and probabilistic algorithms for solving the discrete logarithm problem in any structure. Computational methods in quadratic fields.
Credit: 3(3-0); ECTS: 8.0Nonlinear Feedback Shift Registers: Generating Functions, and Families of Recurring Sequences, Characterizations and Properties of Nonlinear Recurring Sequences. Boolean Functions, Linear Complexity and Nonlinear Complexity (span). Combining NFSR’s. Steam Ciphers Using NFSRs. GRAIN.
Credit: 3(3-0); ECTS: 8.0The primary focus of this course is to give structure theory of Finite Fields and the related mathematical tools that are needed in Cryptography: Polynomials over finite fields, factorization of Polynomials over finite fields, Exponential Sums, Gröbner Basis Algorithms and Their Applications to Cryptography will be discussed.
Credit: 3(3-0); ECTS: 8.0The aim of this course is to study the various constructions of elliptic curves having large prime-order subgroups with small embedding degrees. We will study complex multiplication and other methods for this constructions and study the recommended pairing –friendly elliptic curves so far discussed in the litarature. We will also give efficient implementations of Tate Pairing and Pairing Based-Protocols.
Credit: 3(3-0); ECTS: 8.0Finite fields and finite rings, Sequnces, power series, Linear feedback shift registers and linear recurrences, Algebraic feedback shift register sequences, Pseudo-random sequences, Correlation, Special types of good sequences, Sequence synthesis, Some codes over rings.
Credit: 3(3-3); ECTS: 8.0Design principles of block ciphers. Differential cryptanalysis and linear cryptanalysis. Differential cryptanalysis of FEAL, LOKI, MacGuffin. Linear cryptanalysis of FEAL, DES. Combined attacks: differential-linear cryptanalysis, impossible differentials, boomerang attack, rectangle attack. Key schedule analysis: related key attacks, slide attack, reflection attack. Other attacks: interpolation attack, integral cryptanalysis.
Credit: 3(3-0); ECTS: 8.0The aim of this course is to introduce advanced topics in algorithmic number theory for cryptographic purposes such as number field sieve algorithm for integer factorization and cryptography based on ideal class groups of quadratic number fields.
Credit: 3(3-0); ECTS: 8.0The students are expected to know the theory of Finite Fields. The aim of this course is to teach how to construct algebraic sequences over finite rings for cryptographic purposes. We will generalize certain algebraic sequences over Finite Fields to finite commutative rings and in particular Galois Rings. There has been an increasing interest on this topic in the last decade.
Credit: 3(3-0); ECTS: 8.0Combinational and sequential logic design, digital systems; hardware description languages (HDLs), reconfigurable logic devices; basic building blocks for cryptography; hardware design block ciphers, stream ciphers, asymmetrical cipher; design examples.
Credit: 3(3-0); ECTS: 8.0This course gives an introduction in the complexity theory of basic arithmetic operations. We will study the inherent difficulties of solving them. By this way, we will give arithmetic complexity bounds of some operations used in cryptographic implementations.
Credit: 3(3-0); ECTS: 8.0The primary focus of this course is to focus on the advanced cryptographic primitives,their use in cryptographic applications; security and privacy weaknesses of the current protocols.Topics include homomorphic encryption,threshold cryptography, commitments, oblivious transfer,zero-knowledge protocols,secure multi-party computation and Yao`s garbled circuit approach.