Kadi Sarva Vishwavidyalaya: Faculty of Engineering & Technology
Kadi Sarva Vishwavidyalaya: Faculty of Engineering & Technology
Kadi Sarva Vishwavidyalaya: Faculty of Engineering & Technology
Sarva Vishwavidyalaya
Faculty of Engineering & Technology
Fourth Year Bachelor of Engineering (Computer/IT)
(To be Proposed For: Academic Year 2020‐21)
Subject Code: CT703B‐N Subject Title: Computational Number Theory
Pre‐requisite Discrete Mathematics, Algorithms, Probability
Teaching Scheme (Credits and Hours)
Teaching scheme Evaluation Scheme
Total Mid Sem
L T P Total Theory CIA Pract. Total
Credit Exam
Hrs Hrs Hrs Hrs Hrs Marks Marks Marks Marks Marks
04 00 02 06 05 03 70 30 20 30 150
Course Objective:
The emphasis of the course is on the application of the number theory in the design of
cryptographic algorithms. Putting them together we will see how we can design several
cryptographic algorithms.
The course will start with the notion of time complexity and with several elementary number
theoretic algorithms.
Computational number theory is a very important area of mathematics that became more
prominent in the 70’s due to newly discovered applications to cryptography, coding theory,
communications and other areas of applied science and technology. It is not an exaggeration that
electronic commerce, for example, would be impossible without these recent advances.
Outline of the Course:
Sr. Minimum
Title of the Unit
No Hour
1 Algorithms for integer arithmetic 8
2 Representation of finite fields 9
3 Algorithms for polynomials 6
4 Elliptic curves 8
5 Primality testing algorithms 9
6 Integer factoring algorithms 8
7 Computing discrete logarithms over finite fields 9
8 Key Exchange and Applications of Number Theory 7
Total hours (Theory):64
Total hours (Lab): 32
Total hours: 96
Kadi Sarva Vishwavidyalaya
Faculty of Engineering & Technology
Fourth Year Bachelor of Engineering (Computer/IT)
(To be Proposed For: Academic Year 2020‐21)
Detailed Syllabus
Sr. Topic Lecture Weight
No Hours age (%)
Algorithms for integer arithmetic: Divisibility, GCD Computation: (Euclid’s
1 Algorithm, Extended Euclid’s Algorithm), Modular Arithmetic (Groups,
Solving Modular Linear Equations. Chinese Remainder Theorem. Modular
Exponentiation, Discrete Logarithm Problem), Montgomery arithmetic, 8 12
congruence, Hensel lifting, orders and primitive roots, integer and
modular square roots, prime number theorem, continued fractions and
rational approximations.
2 Representation of finite fields: Prime and extension fields,
representation of extension fields, polynomial basis, primitive elements, 9 15
normal basis, optimal normal basis, irreducible polynomials.
4 Elliptic curves: The elliptic curve group and method, elliptic curves over
finite fields, Schoof's point counting algorithm. 8 12
No Name of Experiment
1 Practical based on Rings, Groups and Fields.
2 Program for Chinese Remainder Theorem.
3 Program for Euclid’s Algorithm, Extended Euclid’s Algorithm.
4 Program based on Integer Arithmetic.
5 Define Hensel lifting for roots and factorizations of polynomials over Henselian rings
6 Write a function that lifts a root of a polynomial (defined to sufficient precision) up one precision
or upto two precision.
7 Write a function that lifts a coprime factorization up one precision precision or upto two
8 Program to implement Lenstra‐Lenstra‐Lovasz algorithm.
9 Program to implement Coppersmith's algorithm
10 Program to implement various elliptic curve algorithms.
11 Program to implement various primality testing.
12 Program to implement Baby‐step‐giant‐step, Pollard rho and Pohlig‐Hellman method.
13 Write a program to compute the n‐th cyclotomic polynomial on input n
14 Using the CRT to Speed Up RSA Decryption