Foundations of Cryptography

بواسطة: Swayam

Overview

The course provides the basic paradigm and principles of modern cryptography. The focus of this course will be on definitions and constructions of various cryptographic objects. We will try to understand what security properties are desirable in such objects, how to formally define these properties, and how to design objects that satisfy the definitions. The aim is that at the end of this course, the students are able to understand a significant portion of current cryptography research papers and standards.INTENDED AUDIENCE :Computer science and Mathematics studentsPREREQUISITES : There are no pre-requisites for this course. However it is expected that the students who are interested to take this course have had some exposure to a basic course on discrete mathematics, algorithms, or theory of computation. Having said that, I ensure that a significant effort will be made from my side to simplify the overall presentation of the course and make it easily accessible.INDUSTRY SUPPORT : The course will be relevant for any IT related company

Syllabus

Week 1: Course Overview, Symmetric-key Encryption, Historical Ciphers, Perfect Security and Its Limitations
Week2: Computational Security, Semantic Security and Pseudorandom Generators (PRGs)
Week 3: Stream Ciphers, Provably-secure Instantiation of PRG, Practical Instantiation of PRG, CPA-security and Pseudo-random Functions (PRFs)
Week4: CPA-Secure Ciphers from PRF, Modes of Operations of Block Ciphers, Theoretical Constructions of Block Ciphers and Practical Constructions of Block Ciphers
Week5: DES, AES and Message Authentication Codes (MAC)
Week6: Information-theoretic Secure MAC, Cryptographic Hash Functions, Ideal-Cipher Model, Davies-Meyer construction and Merkle-Damgård Paradigm
Week7: Birthday Attacks on Cryptographic Hash Functions, Applications of Hash Functions, Random Oracle Model and Authenticated Encryption
Week 8: Generic Constructions of Authenticated Encryption Schemes, Key-exchange Problem, One-way Trapdoor Functions and Cyclic Groups
Week9: Discrete-Logarithm Problem, Computational Diffie-Hellman Problem, Decisional Diffie-Hellman Problem, Elliptic-Curve Based Cryptography and Public-Key Encryption
Week10:El Gamal Encryption Scheme, RSA Assumption, RSA Public-key Cryptosystem, KEM-DEM Paradigm and CCA-security in the Public-key Domain
Week11: CCA-secure Public-key Hybrid Ciphers Based on Diffie-Hellman Problems and RSA-assumption, Digital Signatures, RSA Signatures and Schnorr Identification Scheme
Week 12:Schnorr Signature, Overview of TLS/SSL, Number Theory, Interactive Protocols and Farewell

Taught by

Prof. Ashish Choudhury

Foundations of Cryptography
الذهاب الي الدورة

Foundations of Cryptography

بواسطة: Swayam

  • Swayam
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • الجميع
  • N/A
8.1.2PHP Version193msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (115ms)
    • Application (77.11ms)
    • 1 x Booting (59.7%)
      114.91ms
      1 x Application (40.05%)
      77.11ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed6.2ms
      • select * from `courses` where `slug_ar` = 'foundations-of-cryptography' limit 1
        4.77ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. foundations-of-cryptography
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-08 14:55:25' where `id` = 2631
        280μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-08 14:55:25
        • 1. 2631
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (8)
        240μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        200μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (131) and `institutions`.`deleted_at` is null
        240μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (14) and `providers`.`deleted_at` is null
        230μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 2622 limit 1
        240μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2622
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        iizhPCvoAmQwknqrILUij8DOIUeGM9S2hvqs9l9a
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/founda...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/foundations-of-cryptography
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "priority" => array:1 [ 0 => "u=0, i" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-connecting-ip" => array:1 [ 0 => "3.21.122.131" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "x-forwarded-for" => array:1 [ 0 => "3.21.122.131" ] "cf-ray" => array:1 [ 0 => "92d29b057db60009-ORD" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_PRIORITY" => "u=0, i" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_CONNECTING_IP" => "3.21.122.131" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "3.21.122.131" "HTTP_CF_RAY" => "92d29b057db60009-ORD" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "9800" "REMOTE_ADDR" => "172.70.127.68" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/foundations-of-cryptography" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744124125.2969 "REQUEST_TIME" => 1744124125 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Tue, 08 Apr 2025 14:55:25 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IlNrV2FKUUpseVUwQ2tWb3lHR0xFU3c9PSIsInZhbHVlIjoicitpbk84ZkQrSFdWMWlJNXVLOXBHUjEvSXpZeFNXWXNBdTZsT3dLQTlUOXZJdFVYdStHOUxFT3k4MXJibThpU3E4M08zZ1phL3VTdzE5R1BIZFFpMk1MdTJRRVpVTkM1aEV6OXA0Nnphcm5pRWpiSEhVRml3NlFkY0JkNXdKQzQiLCJtYWMiOiI0OGVjMTQ4MmRiOWY1MWEzY2U4NTgxMjY0NDI3NGY3NDVlZWM3YmMzN2Q2ZTJjNGNkM2U3NDFiODk4MGZkYjQyIiwidGFnIjoiIn0%3D; expires=Tue, 08 Apr 2025 16:55:25 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IlNrV2FKUUpseVUwQ2tWb3lHR0xFU3c9PSIsInZhbHVlIjoicitpbk84ZkQrSFdWMWlJNXVLOXBHUjEvSXpZeFNXWXNBdTZsT3dLQTlUOXZJdFVYdStHOUxFT3k4MXJibThpU3E4M08zZ" 1 => "laravel_session=eyJpdiI6ImZIcXZjWFNPUGtVc0QyQU54SnlGRXc9PSIsInZhbHVlIjoiTnZsK1RtNThtQmo1bWRhUWV6MDgraGg1czVhR1M0L05BQXFRM2s5YUN0ZmhCUm1BU1ZOUFV2OFREazRHeXJLQmt2MU1lNzBhZlQrSzVDTFJXSUZyVUZibkNNRjlqdVc4VE9TUzA5TDMzc1ZlMElrT3BYcGRlUldUaFVtbm0wZzgiLCJtYWMiOiJjOTUzYjhiM2UzN2RiNjk2NDI5ODk4YjRlZWRjNDE3NGJhNzRiZjA1MjZmYmMwOTlhNjhmZTA0Y2Y4MGQ5OGMzIiwidGFnIjoiIn0%3D; expires=Tue, 08 Apr 2025 16:55:25 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImZIcXZjWFNPUGtVc0QyQU54SnlGRXc9PSIsInZhbHVlIjoiTnZsK1RtNThtQmo1bWRhUWV6MDgraGg1czVhR1M0L05BQXFRM2s5YUN0ZmhCUm1BU1ZOUFV2OFREazRHeXJLQmt2" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IlNrV2FKUUpseVUwQ2tWb3lHR0xFU3c9PSIsInZhbHVlIjoicitpbk84ZkQrSFdWMWlJNXVLOXBHUjEvSXpZeFNXWXNBdTZsT3dLQTlUOXZJdFVYdStHOUxFT3k4MXJibThpU3E4M08zZ1phL3VTdzE5R1BIZFFpMk1MdTJRRVpVTkM1aEV6OXA0Nnphcm5pRWpiSEhVRml3NlFkY0JkNXdKQzQiLCJtYWMiOiI0OGVjMTQ4MmRiOWY1MWEzY2U4NTgxMjY0NDI3NGY3NDVlZWM3YmMzN2Q2ZTJjNGNkM2U3NDFiODk4MGZkYjQyIiwidGFnIjoiIn0%3D; expires=Tue, 08-Apr-2025 16:55:25 GMT; path=/XSRF-TOKEN=eyJpdiI6IlNrV2FKUUpseVUwQ2tWb3lHR0xFU3c9PSIsInZhbHVlIjoicitpbk84ZkQrSFdWMWlJNXVLOXBHUjEvSXpZeFNXWXNBdTZsT3dLQTlUOXZJdFVYdStHOUxFT3k4MXJibThpU3E4M08zZ" 1 => "laravel_session=eyJpdiI6ImZIcXZjWFNPUGtVc0QyQU54SnlGRXc9PSIsInZhbHVlIjoiTnZsK1RtNThtQmo1bWRhUWV6MDgraGg1czVhR1M0L05BQXFRM2s5YUN0ZmhCUm1BU1ZOUFV2OFREazRHeXJLQmt2MU1lNzBhZlQrSzVDTFJXSUZyVUZibkNNRjlqdVc4VE9TUzA5TDMzc1ZlMElrT3BYcGRlUldUaFVtbm0wZzgiLCJtYWMiOiJjOTUzYjhiM2UzN2RiNjk2NDI5ODk4YjRlZWRjNDE3NGJhNzRiZjA1MjZmYmMwOTlhNjhmZTA0Y2Y4MGQ5OGMzIiwidGFnIjoiIn0%3D; expires=Tue, 08-Apr-2025 16:55:25 GMT; path=/; httponlylaravel_session=eyJpdiI6ImZIcXZjWFNPUGtVc0QyQU54SnlGRXc9PSIsInZhbHVlIjoiTnZsK1RtNThtQmo1bWRhUWV6MDgraGg1czVhR1M0L05BQXFRM2s5YUN0ZmhCUm1BU1ZOUFV2OFREazRHeXJLQmt2" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "iizhPCvoAmQwknqrILUij8DOIUeGM9S2hvqs9l9a" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/foundations-of-cryptography" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]