Code-Based Cryptography

Brought by: France Université Numerique

Overview

« This course is available in « Open Archived » mode: there is no animation of the pedagogical team (no forum or rated exercises such as quizzes) and the course does not deliver any certificate of successful completion or certificate. However, you have unlimited access to the videos and text resources. This mode of distribution allows you, while waiting for the opening of a future "animated session", to train yourself by having access to the main contents.
Note that this is a subject close to research, and the field has evolved since the MOOC's creation. This evolution will continue. Everything that is said remains accurate and provides a good basis for anyone interested in the subject, but the gap with the state of the art is increasing over time.»

About This Course

We all use cryptography in our daily lives. The security of the most popular Public-Key Cryptosystems are based either on the hardness of factoring or the presumed intractability of the discrete logarithm problem. Advances on these problems or the construction of large quantum computers would dramatically change the landscape: Code-Based Cryptography is a powerful and promising alternative.

The objective of this course is to present the state of the art of these cryptosystems. This MOOC covers the essentials that you should know about this hot topic in Cryptography and Coding Theory: the security-reduction proofs, the possible attacks, several proposals to reduce the key-size, etc.

Syllabus

Course Syllabus

  • Week 1: Error-Correcting Codes and Cryptography
  • Week 2: McEliece Cryptosystem
  • Week 3: Message Attacks (ISD)
  • Week 4: Key Attacks
  • Week 5: Other cryptographic constructions relying on coding theory
Code-Based Cryptography
Go to course

Code-Based Cryptography

Brought by: France Université Numerique

  • France Université Numerique
  • Free
  • English
  • Certificate Available
  • Certain days
  • All
  • N/A
8.1.2PHP Version299msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (187ms)
    • Application (111ms)
    • 1 x Booting (62.65%)
      187.39ms
      1 x Application (37.11%)
      111.02ms
      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 executed7.6ms
      • select * from `courses` where `slug_en` = 'code-based-cryptographyKae' limit 1
        5.73ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. code-based-cryptographyKae
        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-04 22:19:44' where `id` = 2740
        500μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-04 22:19:44
        • 1. 2740
        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)
        220μ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)
        190μ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 (128) and `institutions`.`deleted_at` is null
        420μ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 (47) and `providers`.`deleted_at` is null
        300μ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` = 2731 limit 1
        240μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2731
        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
        PWOpdei3602buuUSqhD8zOpmSvPX24je474NjrUf
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/code-based-cryptographyKae" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/code-based-cryptographyKae
        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.145.88.217" ] "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.145.88.217" ] "cf-ray" => array:1 [ 0 => "92b43061090e5078-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.145.88.217" "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.145.88.217" "HTTP_CF_RAY" => "92b43061090e5078-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" => "32112" "REMOTE_ADDR" => "172.70.100.183" "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/code-based-cryptographyKae" "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" => 1743805184.4363 "REQUEST_TIME" => 1743805184 ]
        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 => "Fri, 04 Apr 2025 22:19:44 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkxwdnJOVlFUcm5Oc2JXYks2azhlMXc9PSIsInZhbHVlIjoiYTZoOUgzZHBhVzNSc1NETVlkZmo0em5ZU2taa0xmVnJ0eUltN3h1bXBYMXBBZnRNUlhVdmVRTURHcWcydkM3N2J1T1ovMFNaSXZHcXBZS2FoWFhnWWpuM1M3S3Y2aTl0cXpyS1ErYVZUVm9kNXl3TEdzd0RtYitFaURDeERyVjkiLCJtYWMiOiJiZGE3OTgzNWQ3NDRmYWE3ZDlkM2RjYWJhZjhmOTdjNjc4ZDVlZDBiMDAxNWQxMjEyYWYyMDdiNjA1Nzc1OGIxIiwidGFnIjoiIn0%3D; expires=Sat, 05 Apr 2025 00:19:44 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IkxwdnJOVlFUcm5Oc2JXYks2azhlMXc9PSIsInZhbHVlIjoiYTZoOUgzZHBhVzNSc1NETVlkZmo0em5ZU2taa0xmVnJ0eUltN3h1bXBYMXBBZnRNUlhVdmVRTURHcWcydkM3N2J1T1ovM" 1 => "laravel_session=eyJpdiI6IjJ5Vi91KzQwbW9OZ3FBcVArK3dwc0E9PSIsInZhbHVlIjoiUW9Kbm5wbDBIdnNKNnVsVHRvL0RxYk5JZWZGZXVPT3dPY2RnNEpOcHNubm9wcU8vc25JbTRFQ3NkbVdoZWplSUxLVXAzSFhnbm9jYWt4a3FLOGhnTlRVUDBabTVmTTUxQ2NiTDd2elo3MXhPMi9Zbks1VW51WDdLODlhb2FCWkkiLCJtYWMiOiJlMTgwMTE2Yjk1NTIzNDQ2NDQ4MTE3N2ExYjFiMDRhODQ5ZTA2OGJiYzA0ODNhNzBhNzRhMTY3ZTc4ZDcwZTZiIiwidGFnIjoiIn0%3D; expires=Sat, 05 Apr 2025 00:19:44 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IjJ5Vi91KzQwbW9OZ3FBcVArK3dwc0E9PSIsInZhbHVlIjoiUW9Kbm5wbDBIdnNKNnVsVHRvL0RxYk5JZWZGZXVPT3dPY2RnNEpOcHNubm9wcU8vc25JbTRFQ3NkbVdoZWplSUxL" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkxwdnJOVlFUcm5Oc2JXYks2azhlMXc9PSIsInZhbHVlIjoiYTZoOUgzZHBhVzNSc1NETVlkZmo0em5ZU2taa0xmVnJ0eUltN3h1bXBYMXBBZnRNUlhVdmVRTURHcWcydkM3N2J1T1ovMFNaSXZHcXBZS2FoWFhnWWpuM1M3S3Y2aTl0cXpyS1ErYVZUVm9kNXl3TEdzd0RtYitFaURDeERyVjkiLCJtYWMiOiJiZGE3OTgzNWQ3NDRmYWE3ZDlkM2RjYWJhZjhmOTdjNjc4ZDVlZDBiMDAxNWQxMjEyYWYyMDdiNjA1Nzc1OGIxIiwidGFnIjoiIn0%3D; expires=Sat, 05-Apr-2025 00:19:44 GMT; path=/XSRF-TOKEN=eyJpdiI6IkxwdnJOVlFUcm5Oc2JXYks2azhlMXc9PSIsInZhbHVlIjoiYTZoOUgzZHBhVzNSc1NETVlkZmo0em5ZU2taa0xmVnJ0eUltN3h1bXBYMXBBZnRNUlhVdmVRTURHcWcydkM3N2J1T1ovM" 1 => "laravel_session=eyJpdiI6IjJ5Vi91KzQwbW9OZ3FBcVArK3dwc0E9PSIsInZhbHVlIjoiUW9Kbm5wbDBIdnNKNnVsVHRvL0RxYk5JZWZGZXVPT3dPY2RnNEpOcHNubm9wcU8vc25JbTRFQ3NkbVdoZWplSUxLVXAzSFhnbm9jYWt4a3FLOGhnTlRVUDBabTVmTTUxQ2NiTDd2elo3MXhPMi9Zbks1VW51WDdLODlhb2FCWkkiLCJtYWMiOiJlMTgwMTE2Yjk1NTIzNDQ2NDQ4MTE3N2ExYjFiMDRhODQ5ZTA2OGJiYzA0ODNhNzBhNzRhMTY3ZTc4ZDcwZTZiIiwidGFnIjoiIn0%3D; expires=Sat, 05-Apr-2025 00:19:44 GMT; path=/; httponlylaravel_session=eyJpdiI6IjJ5Vi91KzQwbW9OZ3FBcVArK3dwc0E9PSIsInZhbHVlIjoiUW9Kbm5wbDBIdnNKNnVsVHRvL0RxYk5JZWZGZXVPT3dPY2RnNEpOcHNubm9wcU8vc25JbTRFQ3NkbVdoZWplSUxL" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "PWOpdei3602buuUSqhD8zOpmSvPX24je474NjrUf" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/code-based-cryptographyKae" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]