Asymmetric Cryptography and Key Management

بواسطة: Coursera

Overview

Welcome to Asymmetric Cryptography and Key Management!

In asymmetric cryptography or public-key cryptography, the sender and the receiver use a pair of public-private keys, as opposed to the same symmetric key, and therefore their cryptographic operations are asymmetric. This course will first review the principles of asymmetric cryptography and describe how the use of the pair of keys can provide different security properties. Then, we will study the popular asymmetric schemes in the RSA cipher algorithm and the Diffie-Hellman Key Exchange protocol and learn how and why they work to secure communications/access. Lastly, we will discuss the key distribution and management for both symmetric keys and public keys and describe the important concepts in public-key distribution such as public-key authority, digital certificate, and public-key infrastructure. This course also describes some mathematical concepts, e.g., prime factorization and discrete logarithm, which become the bases for the security of asymmetric primitives, and working knowledge of discrete mathematics will be helpful for taking this course; the Symmetric Cryptography course (recommended to be taken before this course) also discusses modulo arithmetic.

This course is cross-listed and is a part of the two specializations, the Applied Cryptography specialization and the Introduction to Applied Cryptography specialization.

Syllabus

  • Asymmetric Cryptography Overview
    • This module reviews the principles and requirements of asymmetric cryptography, which uses a pair of keys - with one party using a public key and the other using the corresponding private key or vice versa - in contrast to symmetric cryptography using a shared secret key.
  • RSA Algorithm
    • This module describes the RSA cipher algorithm from the key setup and the encryption/decryption operations to the Prime Factorization problem and the RSA security.
  • Diffie-Hellman Key Exchange
    • Diffie-Hellman Key Exchange is an asymmetric cryptographic protocol for key exchange and its security is based on the computational hardness of solving a discrete logarithm problem. This module explains the discrete logarithm problem and describes the Diffie-Hellman Key Exchange protocol and its security issues, for example, against a man-in-the-middle attack.
  • Key Distribution and Management
    • Cryptographic schemes build on cryptographic key, which provides asymmetry between the legitimate parties and the attacker. This module describes key distribution approaches and focuses on the approach based on public-key certificates/authority and public-key infrastructure that can support large number of parties, e.g., Internet.

Taught by

Sang-Yoon Chang

Asymmetric Cryptography and Key Management
الذهاب الي الدورة

Asymmetric Cryptography and Key Management

بواسطة: Coursera

  • Coursera
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • intermediate
  • Arabic, French, Portuguese, Italian, German, Russian, English, Spanish, Thai, Indonesian, Kazakh, Hindi, Swedish, Korean, Greek, Chinese, Ukrainian, Japanese, Polish, Dutch, Turkish
8.1.2PHP Version330msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (212ms)
    • Application (117ms)
    • 1 x Booting (64.25%)
      212.24ms
      1 x Application (35.51%)
      117.29ms
      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 executed4.31ms
      • select * from `courses` where `slug_ar` = 'asymmetric-cryptography-and-key-management' limit 1
        2.76ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. asymmetric-cryptography-and-key-management
        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-02-10 21:21:35' where `id` = 263
        280μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-02-10 21:21:35
        • 1. 263
        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)
        250μ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)
        290μ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 (42) and `institutions`.`deleted_at` is null
        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 * from `providers` where `providers`.`id` in (2) and `providers`.`deleted_at` is null
        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 * from `html_files` where `html_files`.`id` = 257 limit 1
        290μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 257
        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
        HhqrxWZYAJMCppW6UROY06qtD0fxH9Y7vxZBFLNY
        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/asymme...
        _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/asymmetric-cryptography-and-key-management
        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 => "18.118.51.153" ] "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 => "18.118.51.153" ] "cf-ray" => array:1 [ 0 => "90ff264f7dc0eb01-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" => "18.118.51.153" "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" => "18.118.51.153" "HTTP_CF_RAY" => "90ff264f7dc0eb01-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" => "21300" "REMOTE_ADDR" => "172.71.254.85" "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/asymmetric-cryptography-and-key-management" "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" => 1739222494.9042 "REQUEST_TIME" => 1739222494 ]
        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, 10 Feb 2025 21:21:35 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjE0UUFEZ0JlVUUwQVdEUVhSaFJMZ3c9PSIsInZhbHVlIjoiRUlFcFBCNHR4dVZMc1lsS01RR21ZVFpFcmRBQ0thaVNPaGJMMTIzUlk2empMYU4vZDRTSUgwMm9wK0ZzT0FzOU0wUC9hSEhkTThCMW1jaHBkS2tqZnZoS2tycU1HbjVoZTAxaVZtbEMrdTlGWk51ZTVUSU5IR1VTMERibHc5L1ciLCJtYWMiOiIwODEwNjBhZWMyYjM3MmRiMDk3YTcyMTg1YjJmYzc4OWIxMmIyMmQ1MmI5Yjc0MDgyNzRlODVmNDdmOTVmZGVhIiwidGFnIjoiIn0%3D; expires=Mon, 10 Feb 2025 23:21:35 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IjE0UUFEZ0JlVUUwQVdEUVhSaFJMZ3c9PSIsInZhbHVlIjoiRUlFcFBCNHR4dVZMc1lsS01RR21ZVFpFcmRBQ0thaVNPaGJMMTIzUlk2empMYU4vZDRTSUgwMm9wK0ZzT0FzOU0wUC9hS" 1 => "laravel_session=eyJpdiI6IkRkMzhYYjZxYzQ4WUVYVUo4NVM5RHc9PSIsInZhbHVlIjoiR3VQWnJ6UWRhRmJvRmNsMGE5UEoySnBhaEpUTENTb3VtR3hEai9ScmU3OHhqZzR2cFRwWnNJeU10SXE4N0pNYUFrMmtiaGRrTzF5WUlzMnRWeG0rOFNFNGJOdU9uUG1IZ3gvMU9MRGRGdlRIUVhHSDd5VGFkSVhYM0tvOTVZejQiLCJtYWMiOiJiZmRmZjkzMjdmNzFjMjNhZDA1NTFiOWNkYTg5NGYxZmJhY2FmYjEzMTFkZWJmOGFlMjgzYjRmYWVmNGI5MWRmIiwidGFnIjoiIn0%3D; expires=Mon, 10 Feb 2025 23:21:35 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IkRkMzhYYjZxYzQ4WUVYVUo4NVM5RHc9PSIsInZhbHVlIjoiR3VQWnJ6UWRhRmJvRmNsMGE5UEoySnBhaEpUTENTb3VtR3hEai9ScmU3OHhqZzR2cFRwWnNJeU10SXE4N0pNYUFr" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjE0UUFEZ0JlVUUwQVdEUVhSaFJMZ3c9PSIsInZhbHVlIjoiRUlFcFBCNHR4dVZMc1lsS01RR21ZVFpFcmRBQ0thaVNPaGJMMTIzUlk2empMYU4vZDRTSUgwMm9wK0ZzT0FzOU0wUC9hSEhkTThCMW1jaHBkS2tqZnZoS2tycU1HbjVoZTAxaVZtbEMrdTlGWk51ZTVUSU5IR1VTMERibHc5L1ciLCJtYWMiOiIwODEwNjBhZWMyYjM3MmRiMDk3YTcyMTg1YjJmYzc4OWIxMmIyMmQ1MmI5Yjc0MDgyNzRlODVmNDdmOTVmZGVhIiwidGFnIjoiIn0%3D; expires=Mon, 10-Feb-2025 23:21:35 GMT; path=/XSRF-TOKEN=eyJpdiI6IjE0UUFEZ0JlVUUwQVdEUVhSaFJMZ3c9PSIsInZhbHVlIjoiRUlFcFBCNHR4dVZMc1lsS01RR21ZVFpFcmRBQ0thaVNPaGJMMTIzUlk2empMYU4vZDRTSUgwMm9wK0ZzT0FzOU0wUC9hS" 1 => "laravel_session=eyJpdiI6IkRkMzhYYjZxYzQ4WUVYVUo4NVM5RHc9PSIsInZhbHVlIjoiR3VQWnJ6UWRhRmJvRmNsMGE5UEoySnBhaEpUTENTb3VtR3hEai9ScmU3OHhqZzR2cFRwWnNJeU10SXE4N0pNYUFrMmtiaGRrTzF5WUlzMnRWeG0rOFNFNGJOdU9uUG1IZ3gvMU9MRGRGdlRIUVhHSDd5VGFkSVhYM0tvOTVZejQiLCJtYWMiOiJiZmRmZjkzMjdmNzFjMjNhZDA1NTFiOWNkYTg5NGYxZmJhY2FmYjEzMTFkZWJmOGFlMjgzYjRmYWVmNGI5MWRmIiwidGFnIjoiIn0%3D; expires=Mon, 10-Feb-2025 23:21:35 GMT; path=/; httponlylaravel_session=eyJpdiI6IkRkMzhYYjZxYzQ4WUVYVUo4NVM5RHc9PSIsInZhbHVlIjoiR3VQWnJ6UWRhRmJvRmNsMGE5UEoySnBhaEpUTENTb3VtR3hEai9ScmU3OHhqZzR2cFRwWnNJeU10SXE4N0pNYUFr" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "HhqrxWZYAJMCppW6UROY06qtD0fxH9Y7vxZBFLNY" "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/asymmetric-cryptography-and-key-management" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]