Courses for Cryptography


IAM500 - M.S. Thesis

Credit: 0(0-0); ECTS: 50.0

The 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Historical 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Linear 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Structure of Finite Fields, Polynomials over Finite Fields, Factorization of Polynomials, Construction of Irreducible Polynomials, Normal and Optimal Normal Basis.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Idea of Public Key Cryptography, Computational Complexity and Number-theoretical algorithms. The Merkle-Hellman Knapsack System, Attacks on Knapsack Cryptosystems, Attacks to RSA; Primality and Factoring, Algorithms.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Elliptic 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Algebraic 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Basic 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Number 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Cryptography 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Formal 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Block 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Basic 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Algebraic 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 4(4-0); ECTS: 10.0

Groups, Rings, Polynomials, Prime and maximal ideals, Divisibility, Concurrences, Euler, Chinese Remainder and Wilson’s Theorems, PIDs, UFDs, Fields, Arithmetical functions, Quadratic residues and quadratic reciprocity.

See the course in IAM Catalogue or METU Catalogue


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.

See the course in IAM Catalogue or METU Catalogue


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).

See the course in IAM Catalogue or METU Catalogue


Credit: 0(0-0); ECTS: 130.0

Program 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.

See the course in IAM Catalogue or METU Catalogu


Credit: 3(3-0); ECTS: 8.0

The 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

AG-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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

The 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Nonlinear 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Algorithms to compute the number of points of an Elliptic Curve, Divisors, Pairings, The crypto system based on pairings, isomorphism attacks to elliptic curve discrete logarithm problem (ECDLP) and the other attacks.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

The 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

The 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Linear codes over finite fields, bounds, cyclic codes, MDS codes, Goppa codes and McEilece-Niederreiter cryptosystems, quasi-cyclic codes and BIKE, HQC, information set decoding and algebraic attacks, further applications of codes in cryptography.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Finite 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-3); ECTS: 8.0

Design 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

The 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

The 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

This course introduces various aspects of nonlinearity in cryptography together with its connections to geometry, number theory, design theory, coding theory and related areas.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Combinational 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

This 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

The aim of this course is to introduce basic and advanced topics of combinatorics.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

This course introduces some fundamental results in normal bases of low complexity together with its connections to cryptography and related areas.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(0-0); ECTS: 8.0

Quantum Information Theory: density matrix, composite systems, Shannon entropy; Quantum Data Compression; Decoherence: decoherence models for a single qubit, quantum black box; Quantum Error Correction: general properties of quantum error correction; Experimental Implementations: NMR quantum computation, cavity quantum electro dynamics.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Hardware implementation and optimization of block ciphers, lightweight cryptosystems: Attacks and design strategies for lightweight block ciphers.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

The 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.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Courses not listed in catalogue. Contents vary from year to year according to the interest of students and instructor in charge.

See the course in IAM Catalogue or METU Catalogue


Credit: 3(3-0); ECTS: 8.0

Prime field arithmetic. Extension field arithmetic. Efficient algorithms and implementation techniques for RSA, DSA, elliptic curve cryptography, DES, AES, selected random number generators and hash algorithms.

See the course in IAM Catalogue or METU Catalogue


IAM737 - Special Topics: Post-Quantum Cryptography

Credit: 3(3-0); ECTS: 8.0

Prerequisites: Consent of Instructor(s)

Course Catalogue Description

Public Key Cryptosystems, multivariate public key cryptosystems, Matsumato-Imai system, oil-vinegar signature scheme, lattice-based cryptography, hashed-based cryptography, isogeny-based cryptograph.

See the course in IAM Catalogue or METU Catalogue

IAM738 - Special Topics: Blockchain and Cryptocurrencies: Security & Privacy

Credit: 3(3-0); ECTS: 8.0

Public Key Cryptosystems; Pairing-based Cryptography; Hashed-based Cryptography; Zero Knowledge Proofs; Bitcoin; Cryptocurrencies; Blockchain; Distributed Ledger Technologies; Security; Privacy.

See the course in IAM Catalogue or METU Catalogue