컴퓨터를 난수 생성기로 사용하는 방법

난수 생성기 컴퓨터는 암호화에서 비디오 게임 및 도박에 이르기까지 모든 것에 대해 난수를 생성합니다. 난수에는 두 가지 범주가 있습니다. 진실 난수 및 의사 난수. 그리고 그 차이는 암호화 시스템의 보안에 중요합니다. 이 기사에서는 컴퓨터를 난수 생성기로 사용하는 방법에 대해 설명합니다. 의 시작하자!





이 주제는 최근 인텔의 내장 하드웨어 난수 생성기 칩이 신뢰할 수 있는지 여부에 대해 의문을 제기하는 많은 사람들과 함께 최근 더욱 논란이되고 있습니다. 신뢰할 수없는 이유를 이해하려면 이해해야합니다. 처음에 난수가 생성되는 방식과 그 용도.



난수가 사용되는 용도 | 난수 생성기

난수는 수천 년 동안 사용되었습니다. 동전 던지기 든 주사위 던지기 든 목표는 최종 결과를 임의의 기회에 남겨 두는 것입니다. 컴퓨터의 난수 생성기는 비슷합니다. 예측할 수없는 무작위 결과를 얻으려는 시도입니다.

난수 생성기는 다양한 목적에 매우 유용합니다. 도박을 목적으로 난수를 생성하거나 컴퓨터 게임에서 예측할 수없는 결과를 생성하는 것과 같은 명백한 응용 프로그램을 제외하고는 무작위성은 암호화에 정말 중요합니다.



암호화에는 공격자가 추측 할 수없는 숫자가 필요합니다. 우리는 같은 숫자를 계속해서 사용할 수 없습니다. 우리는 공격자가 추측 할 수 없도록 예측할 수없는 방식으로 이러한 수치를 생성하고자합니다. 이러한 난수는 보안 암호화에 중요합니다. 자신의 파일을 암호화하거나 인터넷에서 HTTPS 사이트를 사용하는지 여부.



진정한 난수 | 난수 생성기

컴퓨터가 실제로 난수를 생성하는 방법이 궁금 할 수 있습니다. 이것은 어디에서 무작위성 에서 왔습니까? 컴퓨터 코드의 일부인 경우 컴퓨터가 생성하는 숫자를 예측할 수 있지 않습니까?

우리는 일반적으로 난수 생성 컴퓨터를 두 가지 유형으로 그룹화합니다. 생성 방법에 따라 다릅니다. 진실 난수 및 의사 난수.



odin으로 twrp를 플래시하는 방법

생성하려면 진실 난수, 컴퓨터는 컴퓨터 외부에서 발생하는 어떤 유형의 물리적 현상을 측정합니다. 예를 들어, 컴퓨터는 원자의 방사능 붕괴를 측정 할 수 있습니다. 양자 이론에 따르면 방사성 붕괴가 언제 발생할지 확실하게 알 수있는 방법이 없습니다. 그래서 이것은 본질적으로 순수한 임의성 우주에서. 공격자는 방사능 붕괴가 언제 발생할지 예측할 수 없습니다. 그래서 그들은 임의의 값을 알지 못할 것입니다.



더 일상적인 예를 들어, 컴퓨터는 대기 소음에 의존하거나 단순히 키보드에서 키를 누르는 정확한 시간을 예측할 수없는 데이터 또는 엔트로피의 소스로 사용할 수 있습니다. 예를 들어 컴퓨터는 오후 2시 이후 정확히 0.23423523 초에 키를 눌렀 음을 알 수 있습니다. 이러한 키 누름과 관련된 특정 시간을 충분히 확보하면 다음을 생성하는 데 사용할 수있는 엔트로피 소스를 갖게됩니다. 진실 난수. 당신은 예측 가능한 기계가 아닙니다. 따라서 공격자는 이러한 키를 누를 때 정확한 순간을 추측 할 수 없습니다. 난수를 생성하는 Linux의 / dev / random 장치 블록 진정한 난수를 반환하기에 충분한 엔트로피를 수집 할 때까지 결과를 반환하지 않습니다.

의사 난수 | 난수 생성기

의사 난수는 다음에 대한 대안입니다. 진실 난수. 컴퓨터는 시드 값과 알고리즘을 사용하여 무작위로 보이는 숫자를 생성 할 수 있지만 실제로는 예측 가능합니다. 컴퓨터는 환경에서 임의의 데이터를 수집하지 않습니다.

이것은 모든 상황에서 반드시 나쁜 것은 아닙니다. 예를 들어, 비디오 게임을하는 경우. 해당 게임에서 발생하는 이벤트가 원인인지 여부는 실제로 중요하지 않습니다. 진실 난수 또는 의사 난수. 반면에. 암호화를 사용하는 경우 공격자가 추측 할 수있는 의사 난수를 사용하지 않으려 고합니다.

예를 들어 공격자가 의사 난수 생성기가 사용하는 알고리즘과 시드 값을 알고 있다고 가정 해 보겠습니다. 그리고 암호화 알고리즘이이 알고리즘에서 의사 난수를 얻는다고합시다. 추가 임의성을 추가하지 않고 암호화 키를 생성하는 데 사용합니다. 공격자가 충분히 알고 있으면 역방향으로 작업하여 의사 난수를 확인할 수 있습니다. 이 경우 암호화 알고리즘을 선택하여 암호화를 깨뜨 렸어 야합니다.

파란색 화살표 바탕 화면 아이콘

NSA 및 Intel의 하드웨어 난수 생성기

개발자를 더 쉽게 만들고 안전한 난수 생성을 지원합니다. 인텔 칩에는 RdRand로 알려진 하드웨어 기반 난수 생성기가 포함되어 있습니다. 이 칩은 프로세서의 엔트로피 소스를 사용하고 소프트웨어가 요청할 때 소프트웨어에 난수를 제공합니다.

여기서 문제는 난수 생성기가 본질적으로 블랙 박스이고 그 안에서 무슨 일이 일어나고 있는지 알지 못한다는 것입니다. RdRand에 NSA 백도어가 포함 된 경우 정부는 암호화 키를 깰 수 있습니다. 난수 생성기에서 제공 한 데이터로만 생성되었습니다.

이것은 심각한 문제입니다. 2013 년 12 월, FreeBSD의 개발자들은 RdRand를 무작위 소스로 직접 사용하는 것에 대한 지원을 제거했습니다. 신뢰할 수 없다고 말했습니다. [Source] RdRand 장치의 출력은 추가 엔트로피를 추가하는 다른 알고리즘에 입력됩니다. 그러면 난수 생성기의 백도어가 중요하지 않습니다. Linux는 이미 이러한 방식으로 작동하여 백도어가 있어도 예측할 수 없도록 RdRand에서 오는 임의 데이터를 추가로 무작위 화했습니다. [출처] 최근 AMA ( 무엇이든 물어보세요 ) Reddit에서 인텔 CEO Brian Krzanich는 이러한 우려에 대한 질문에 답변하지 않았습니다. [출처]

물론 이것은 인텔 칩의 문제 만은 아닙니다. FreeBSD의 개발자들도 Via의 칩을 이름으로 불렀습니다. 이 논란은 정말로 무작위적이고 예측할 수없는 난수를 생성하는 것이 왜 그렇게 중요한지를 보여줍니다.

생성 진실 난수, 난수 생성기 수집 엔트로피, 또는 주변의 물리적 세계에서 온 겉보기에 임의의 데이터입니다. 그렇지 않은 난수 정말 무작위이어야합니다. 알고리즘과 시드 값만 사용할 수 있습니다.

결론

좋아, 그게 모든 사람들이었다! 이 난수 생성기 기사가 마음에 드시고 도움이 되었기를 바랍니다. 그것에 대한 의견을 보내주십시오. 또한 이와 관련된 추가 질문을 원할 경우. 그런 다음 아래 댓글 섹션에 알려주십시오. 곧 연락 드리겠습니다.

좋은 하루 되세요!

참조 : NSFW : 의미와 실제 작동 방식