Stanford Seminar - How Not to Generate Random Numbers

بواسطة: YouTube

Overview

Stanford University's seminar explores the pitfalls of random number generation, covering RSA, Diffie-Hellman, and Linux generators in a 1-2 hour material.

Syllabus

Introduction.
Textbook RSA.
Textbook Diffie-Hellman.
Taiwan Citizen Digital Certificate Smartcards.
Should we expect to find key collisions in the wild?.
What happens if we look for repeated keys?.
Classifying repeated keys.
Attributing SSL and SSH vulnerabilities to implementations.
Random number generation in software.
Linux random number generators.
Devices generating weak DSA signatures.

Taught by

Stanford Online

Stanford Seminar - How Not to Generate Random Numbers
الذهاب الي الدورة

Stanford Seminar - How Not to Generate Random Numbers

بواسطة: YouTube

  • YouTube
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • الجميع
  • N/A
8.1.2PHP Version270msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (174ms)
    • Application (95.03ms)
    • 1 x Booting (64.55%)
      174.16ms
      1 x Application (35.22%)
      95.03ms
      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 executed5.46ms
      • select * from `courses` where `slug_ar` = 'stanford-seminar---how-not-to-generate-random-numbers' limit 1
        4.04ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. stanford-seminar---how-not-to-generate-random-numbers
        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-10 05:01:04' where `id` = 1614
        490μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-10 05:01:04
        • 1. 1614
        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 (1)
        180μ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)
        160μ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 (5) and `institutions`.`deleted_at` is null
        190μ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 (21) and `providers`.`deleted_at` is null
        180μ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` = 1606 limit 1
        220μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 1606
        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
        3svPyVoqxjbZOaUr8mYyA6TfvKKEdCvb7M625paV
        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/stanfo...
        _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/stanford-seminar---how-not-to-generate-random-numbers
        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 => "18.191.50.203" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "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 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "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 => "92dfaf212a1da162-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" ] "x-forwarded-for" => array:1 [ 0 => "18.191.50.203" ] "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" => "18.191.50.203" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "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" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "92dfaf212a1da162-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "18.191.50.203" "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" => "29418" "REMOTE_ADDR" => "172.69.17.206" "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/stanford-seminar---how-not-to-generate-random-numbers" "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" => 1744261263.8062 "REQUEST_TIME" => 1744261263 ]
        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 => "Thu, 10 Apr 2025 05:01:04 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkRKV0lqVkluMXpmdC9PNzlYK0ljdlE9PSIsInZhbHVlIjoidXd4RTBkWTR6cE1EUFNFU1FXMk1uOGU0WFpnOS9jMTllYVhiTS9tVjdsYnFxSklpUEFQMlNDZEluZjhldUJBMFJWNzg2RmJNSUtIRlo5K2dZbTdxWXJOd0dYV0M3THovQWZjcVhzVjZNMnNyVk54ZGdUbllveFJTNzZQNjNXTWMiLCJtYWMiOiJiNmY5NGYxNzliNWEwYTA5ZGEzMmI3MmYzYzJkNmVkMGFhYjUxNzkzNDljYzUxYmFjNjZlNjY4MjEwNGI4OTU2IiwidGFnIjoiIn0%3D; expires=Thu, 10 Apr 2025 07:01:04 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IkRKV0lqVkluMXpmdC9PNzlYK0ljdlE9PSIsInZhbHVlIjoidXd4RTBkWTR6cE1EUFNFU1FXMk1uOGU0WFpnOS9jMTllYVhiTS9tVjdsYnFxSklpUEFQMlNDZEluZjhldUJBMFJWNzg2R" 1 => "laravel_session=eyJpdiI6InVUR0JvVWxNMkN0Ni9tSkJVOUluQ0E9PSIsInZhbHVlIjoibHE2M3FoQVlMYVN5dGRPMWFsTDhCdytkOCtadk5jdmpUYkl2TG4xVEdraldyMzVjWmJUVUpLOFhxRWdCSFBHQWFobkJ0bHhQNVFpQnhINFp2WDhpaWhxYXc3K0h6VWlYa0d3bGl4aGllYythMmJnME9hSCtHYU4zQWpWRXIrYm8iLCJtYWMiOiI0MDc3MzA5Y2IyODViYjhmMzQwYjljMGY0YTU4YWYzNWU0ZTEzMzRjZTE2MWRlNjYyZGM1NWNmYmYwZTMyMmI4IiwidGFnIjoiIn0%3D; expires=Thu, 10 Apr 2025 07:01:04 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6InVUR0JvVWxNMkN0Ni9tSkJVOUluQ0E9PSIsInZhbHVlIjoibHE2M3FoQVlMYVN5dGRPMWFsTDhCdytkOCtadk5jdmpUYkl2TG4xVEdraldyMzVjWmJUVUpLOFhxRWdCSFBHQWFo" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkRKV0lqVkluMXpmdC9PNzlYK0ljdlE9PSIsInZhbHVlIjoidXd4RTBkWTR6cE1EUFNFU1FXMk1uOGU0WFpnOS9jMTllYVhiTS9tVjdsYnFxSklpUEFQMlNDZEluZjhldUJBMFJWNzg2RmJNSUtIRlo5K2dZbTdxWXJOd0dYV0M3THovQWZjcVhzVjZNMnNyVk54ZGdUbllveFJTNzZQNjNXTWMiLCJtYWMiOiJiNmY5NGYxNzliNWEwYTA5ZGEzMmI3MmYzYzJkNmVkMGFhYjUxNzkzNDljYzUxYmFjNjZlNjY4MjEwNGI4OTU2IiwidGFnIjoiIn0%3D; expires=Thu, 10-Apr-2025 07:01:04 GMT; path=/XSRF-TOKEN=eyJpdiI6IkRKV0lqVkluMXpmdC9PNzlYK0ljdlE9PSIsInZhbHVlIjoidXd4RTBkWTR6cE1EUFNFU1FXMk1uOGU0WFpnOS9jMTllYVhiTS9tVjdsYnFxSklpUEFQMlNDZEluZjhldUJBMFJWNzg2R" 1 => "laravel_session=eyJpdiI6InVUR0JvVWxNMkN0Ni9tSkJVOUluQ0E9PSIsInZhbHVlIjoibHE2M3FoQVlMYVN5dGRPMWFsTDhCdytkOCtadk5jdmpUYkl2TG4xVEdraldyMzVjWmJUVUpLOFhxRWdCSFBHQWFobkJ0bHhQNVFpQnhINFp2WDhpaWhxYXc3K0h6VWlYa0d3bGl4aGllYythMmJnME9hSCtHYU4zQWpWRXIrYm8iLCJtYWMiOiI0MDc3MzA5Y2IyODViYjhmMzQwYjljMGY0YTU4YWYzNWU0ZTEzMzRjZTE2MWRlNjYyZGM1NWNmYmYwZTMyMmI4IiwidGFnIjoiIn0%3D; expires=Thu, 10-Apr-2025 07:01:04 GMT; path=/; httponlylaravel_session=eyJpdiI6InVUR0JvVWxNMkN0Ni9tSkJVOUluQ0E9PSIsInZhbHVlIjoibHE2M3FoQVlMYVN5dGRPMWFsTDhCdytkOCtadk5jdmpUYkl2TG4xVEdraldyMzVjWmJUVUpLOFhxRWdCSFBHQWFo" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "3svPyVoqxjbZOaUr8mYyA6TfvKKEdCvb7M625paV" "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/stanford-seminar---how-not-to-generate-random-numbers" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]