




Real World Cryptography with TLS 1.3 and Rust
It took four years of collaboration among cryptographers, engineers, and computer scientists for the IETF to finalize the TLS 1.3 specification (RFC 8446). This major revision eliminated many legacy cryptographic features from TLS 1.2, simplifying the protocol and strengthening its security. Since its release, TLS 1.3 has been adopted by over 80% of websites and is now widely used by numerous application-level protocols, including secure messaging systems and client-server architectures.
At the heart of TLS 1.3 lies a small set of well-understood cryptographic primitives and sub-protocols. These are foundational tools used across many secure systems. Understanding how they work—and how to use them correctly—is essential for anyone building modern, secure applications.
Rust has emerged as a leading language for secure system development, thanks to its strong safety guarantees and innovative features. In this course, we will use Rust to implement a full-featured TLS 1.3 client. Along the way, we’ll explore key elements of Rust’s security model, including the borrow checker, immutability, traits, structured composition, and robust error handling.
Whether you’re interested in cryptographic protocols or systems programming, this course offers a hands-on introduction to both—with real-world relevance and modern tools.
Dates: 2nd and 3rd week of July 2025 (Two credit program)
Learning Outcomes
On completion, students will be able to:
- Explain how the TLS 1.3 protocol ensures secure communication on the web.
- Understand and apply the core principles of Rust programming for systems-level development.
- Identify and analyze key cryptographic primitives, constructions, and protocols.
- Implement and correctly use cryptographic tools such as HMAC, HKDF, ECDHE, and AEAD in secure applications
- Design and develop secure software using Rust, with an emphasis on safety, performance, and maintainability.
Course Contents
- RFC 8446
- Rust programming
- Message Authentication Code (MAC and HMAC)
- Diffie-Hellman key exchange
- Elliptic curve – curve25519
Fee Details
The Program fee is USD 955 (Appx).
Included in the Fee:
- Accommodation at University Guest House (on a twin sharing basis) for the duration
- Breakfast and Lunch on all working days
- Internal Transport
- Medicare and Wi-Fi
Not Included in the Fee:
- Flight Tickets
- Travel other than that specified in Program
Pre-requisites
- Aptitude for programming: should enjoy programming.
- Programming in C/C++ or Java
- Basic knowledge of client-server software architecture.
- Strong motivation to learn cryptography as well as required mathematics.
- Essential linear algebra for deep learning
- Fundamentals of linear classification: weights, bias, scores, and loss functions
- Calculus for the gradient descent algorithm
- Forward and backward propagation with regularization
- Batch processing for large datasets
- Linear to nonlinear classification via activation functions
- Computational setup of a shallow neural network
- Tuning neural network performance
- Pre-processing data and batch normalization
- Cross-validation for validating model performance
- Extending the computational setup from a shallow to a deep neural network
- Introduction to the TensorFlow library
- Application projects: implementing shallow and deep neural network models using TensorFlow; implementing machine learning models on edge devices using Edge Impulse.
Name of the Coordinators



Coordinator Details
- Department: Department of Pharmacology, MCOPS, MAHE, Manipal.
- Official email ID: nandakumar.k@manipal.edu
- Contact number: +91 7892573537
Program Highlights
- This hands-on course explores the design and implementation of the TLS 1.3 protocol using the Rust programming language. Students will gain a practical understanding of modern cryptographic primitives—such as HMAC, HKDF, ECDHE, and AEAD—and learn how they're applied in securing internet communications. By developing a full-featured TLS 1.3 client in Rust, participants will also build a solid foundation in secure systems programming, mastering key Rust concepts like the borrow checker, immutability, traits, and structured error handling.
Offered by
Manipal School of Information Sciences.