Secure Computation: Part I

Brought by: Swayam

Overview

This course will discuss about how using various cryptographic primitives, one can do computation on distributed and sensitive data, also known as secure multi-party computation (MPC), which arguably is one of the most fundamental problems in cryptography as well as distributed computing.The need for distributed computation on private data arises in several real-world applications that require computations involving sensitive data from two or more mutually distrusting entities. Consider the following example, which is one of the latest applications of secure computation: The Earth is orbited by thousands of man-made satellites and several thousands of orbital debris. The growing number of satellites and space debris orbiting the planet increases the danger of collisions. And this is not a hypothetical scenario, as several such “high-profile” collisions have been reported in the recent past. Given the expensive cost of satellites, the host countries would like to avoid collision. A collision can only be predicted if the detailed orbit information of the individual satellites is known. However, such information can be highly sensitive and in fact, it can even be a national secret. So, what is needed here is a way to determine whether two satellites are about to clash with each other based on the detailed locations of the satellites, but without the need of disclosing the locations of the satellites to other host countries.Secure MPC models the above and several such applications that make simultaneous demands for the privacy and usability of sensitive data. Other examples include secure e-voting, secure e-auction, secure signal-processing, secure bioinformatics, secure biometrics, secure machine-learning, secure outsourcing, privacy-preserving data mining, to name a few.INTENDED AUDIENCE : The course is intended for any student from the computer science and Mathematics disciplinePREREQUISITES : The participant should have done a basic course on Cryptography (such as the Foundations of Cryptography course available on NPTEL) and a basic course on Discrete Mathematics

Syllabus

Week 1: Secure Computation: motivation and real-world examples, various dimensions, recalling relevant topics from abstract algebra (groups, rings, fields) and cryptography Week 2: Secret sharing (motivation, definition and applications), Shamir secret-sharing, additive secret-sharing, replicated secret-sharing Week 3: Linear secret-sharing, monotone span programs (MSP), secure message transmission (SMT) Week 4: BenOr-Goldwasser-Wigderson (BGW) protocol: security proof and detailed analysis Week 5: Degree-Reduction problem and various solutions, efficient protocols for evaluating multiplication gates Week 6: Oblivious transfer (OT), OT protocols, OT extension Week 7: Goldreich-Micali-Wigderson (GMW) protocol: security proof and detailed analysis Week 8: Yao’s protocol for secure 2-party computation, various optimizations of Yao’s protocol Week 9: MPC for small number of parties, various optimizations Week 10: Mixed world MPC protocols Week 11: MPC protocols against general adversaries Week 12: Fail-stop corruptions: MPC and consensus protocols, asynchronous protocols

Taught by

Prof. Ashish Choudhury

Secure Computation: Part I
Go to course

Secure Computation: Part I

Brought by: Swayam

  • Swayam
  • Free
  • English
  • Certificate Available
  • Certain days
  • All
  • N/A
8.1.2PHP Version868msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (567ms)
    • Application (299ms)
    • 1 x Booting (65.35%)
      567.22ms
      1 x Application (34.4%)
      298.55ms
      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 en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed11.18ms
      • select * from `courses` where `slug_en` = 'secure-computation:-part-i' limit 1
        9.12ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. secure-computation:-part-i
        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-06-09 09:39:21' where `id` = 2720
        570μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-09 09:39:21
        • 1. 2720
        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)
        260μ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)
        230μ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
        210μ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
        200μ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` = 2711 limit 1
        590μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2711
        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
        tbSvSP6BbUEzJu3wDkw3RkCMiL46vxjNEcTO6i1G
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/secure-computation:-part-i" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/secure-computation:-part-i
        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 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "216.73.216.81" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.81" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "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" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "94cfa9482c041049-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "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_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "216.73.216.81" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.81" "HTTP_SEC_FETCH_SITE" => "none" "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_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "94cfa9482c041049-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "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" => "12632" "REMOTE_ADDR" => "172.69.58.10" "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" => "/en/courses/secure-computation:-part-i" "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" => 1749461961.2582 "REQUEST_TIME" => 1749461961 ]
        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 => "Mon, 09 Jun 2025 09:39:21 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImVNV3NITGZtalp1MWVxWWNlQXdkMlE9PSIsInZhbHVlIjoiMkxSQ1p6VkxZblptNVJ5MG14c25zSlRrWnRWbVFXZFRTTExOQ0pUL1FaSEhzMkJwQklNdTZpRllFMTVLUklZdVdDZ3gzYXphanVoTWNZTmxsdS91cnpTZUlaQWM0MUZLaUdlVlZ2ejhXOWNGYm1VK0FsajZ4RmM2Mk1qa2VuNm4iLCJtYWMiOiI0YWQwYjZlODUyNmVjNGE3OTYwODJhZmRiZTU0M2JmYzk1NDc1NjRlN2Q3NjQxNGFhNDBhYzNiYTVjNjAzZmE0IiwidGFnIjoiIn0%3D; expires=Mon, 09 Jun 2025 11:39:22 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6ImVNV3NITGZtalp1MWVxWWNlQXdkMlE9PSIsInZhbHVlIjoiMkxSQ1p6VkxZblptNVJ5MG14c25zSlRrWnRWbVFXZFRTTExOQ0pUL1FaSEhzMkJwQklNdTZpRllFMTVLUklZdVdDZ3gzY" 1 => "laravel_session=eyJpdiI6IkFrTXpTL0ZSUFMwK3Mwb0dmb3h6WFE9PSIsInZhbHVlIjoidm9aZWlqd3YyN3c0SE5UU3Zhb1A5REZ4MzJuVUpwcjNiVE0zY0dsajhkU2FzTVNkU0hIMktjMW1VeTQvRmFZaVJpU3p6OXJVR1hWT3UvcEVKWmtrUVZFMmppdWxPZDQ2VTJuOXNYaDBaRmxHWDhVTzkyMllJZ0M0YndEM2c4b2UiLCJtYWMiOiJjZGRkOGUzZjllOThiYmU2ZDMzOGU0OWZlYTg2N2EzMzA3ZThjYWYzYjA5ODRmYTZjYWFiOWEzMjJmMjMxNzY2IiwidGFnIjoiIn0%3D; expires=Mon, 09 Jun 2025 11:39:22 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IkFrTXpTL0ZSUFMwK3Mwb0dmb3h6WFE9PSIsInZhbHVlIjoidm9aZWlqd3YyN3c0SE5UU3Zhb1A5REZ4MzJuVUpwcjNiVE0zY0dsajhkU2FzTVNkU0hIMktjMW1VeTQvRmFZaVJp" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImVNV3NITGZtalp1MWVxWWNlQXdkMlE9PSIsInZhbHVlIjoiMkxSQ1p6VkxZblptNVJ5MG14c25zSlRrWnRWbVFXZFRTTExOQ0pUL1FaSEhzMkJwQklNdTZpRllFMTVLUklZdVdDZ3gzYXphanVoTWNZTmxsdS91cnpTZUlaQWM0MUZLaUdlVlZ2ejhXOWNGYm1VK0FsajZ4RmM2Mk1qa2VuNm4iLCJtYWMiOiI0YWQwYjZlODUyNmVjNGE3OTYwODJhZmRiZTU0M2JmYzk1NDc1NjRlN2Q3NjQxNGFhNDBhYzNiYTVjNjAzZmE0IiwidGFnIjoiIn0%3D; expires=Mon, 09-Jun-2025 11:39:22 GMT; path=/XSRF-TOKEN=eyJpdiI6ImVNV3NITGZtalp1MWVxWWNlQXdkMlE9PSIsInZhbHVlIjoiMkxSQ1p6VkxZblptNVJ5MG14c25zSlRrWnRWbVFXZFRTTExOQ0pUL1FaSEhzMkJwQklNdTZpRllFMTVLUklZdVdDZ3gzY" 1 => "laravel_session=eyJpdiI6IkFrTXpTL0ZSUFMwK3Mwb0dmb3h6WFE9PSIsInZhbHVlIjoidm9aZWlqd3YyN3c0SE5UU3Zhb1A5REZ4MzJuVUpwcjNiVE0zY0dsajhkU2FzTVNkU0hIMktjMW1VeTQvRmFZaVJpU3p6OXJVR1hWT3UvcEVKWmtrUVZFMmppdWxPZDQ2VTJuOXNYaDBaRmxHWDhVTzkyMllJZ0M0YndEM2c4b2UiLCJtYWMiOiJjZGRkOGUzZjllOThiYmU2ZDMzOGU0OWZlYTg2N2EzMzA3ZThjYWYzYjA5ODRmYTZjYWFiOWEzMjJmMjMxNzY2IiwidGFnIjoiIn0%3D; expires=Mon, 09-Jun-2025 11:39:22 GMT; path=/; httponlylaravel_session=eyJpdiI6IkFrTXpTL0ZSUFMwK3Mwb0dmb3h6WFE9PSIsInZhbHVlIjoidm9aZWlqd3YyN3c0SE5UU3Zhb1A5REZ4MzJuVUpwcjNiVE0zY0dsajhkU2FzTVNkU0hIMktjMW1VeTQvRmFZaVJp" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "tbSvSP6BbUEzJu3wDkw3RkCMiL46vxjNEcTO6i1G" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/secure-computation:-part-i" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]