2008-09-19 11 views

답변

29

없음 계산 가능한 알고리즘을해야합니다

  • 는 씨앗을 복구하거나
  • 는 안전한 난수 생성기에 대해 "다음 비트"

을 예측하고있다.

예 : 선형 피드백 시프트 레지스터는 많은 양의 난수를 생성하지만 출력이 충분하면 시드를 발견하고 모든 후속 숫자를 예측합니다.

1

"임의의 숫자"로만 보통 의사 난수를 의미합니다. 이것은 의사 난수이므로 공격자가 (쉽게) 예측할 수 있습니다.

보안 임의 번호는 진정한 임의 데이터 소스의 임의 번호입니다. 어떤 종류의 엔트로피 풀을 포함합니다.

+1

이것은 실제로 실제로 정말 정확하지 않습니다. 무작위로 생성 된 숫자는 무작위로 생성되는 것을 의미합니다. 다이를 굴려 소리에서 백색 잡음을 듣습니다. 카드, 무작위. –

+1

의사 난수 생성기는 알고리즘에 따라 난수를 생성합니다. 예를 들어 Mersenne Twister. 암호로 강력한 난수 생성기는 알고리즘 적으로 숫자를 생성하는 '의사'적지도 않습니다. –

+2

그러나 일반적으로 엔트로피 풀이 비밀로 유지되면 예측하기가 어렵습니다. 암호 학적으로 강력한 pseudo 난수 생성기 (prng)의 예로는 Yarrow가 있으며, Mac OS X에서/dev/random 및/dev/urandom을 구현하는 데 사용되며 Bruce가 설계했습니다. –

0

이것은 아마도 컨텍스트에 따라 다르지만 이와 같이 비교할 때 "임의 번호"는 pseduo random number이고 "안전한 임의 번호"는 실제로 무작위라고 말하고 싶습니다. 전자는 시드와 알고리즘을 기반으로 한 숫자를 제공하고, 다른 하나는 상속받지 않는 임의의 함수를 사용합니다.

+0

보안 임의 번호는 진정한 무작위 소스가 될 필요는 없습니다. 예를 들어, 좋은 의사 랜덤 소스를 사용하고 MD5 체크섬 결과를 보안 임의 결과로 사용하여 보안 난수를 생성하는 것은 일반적으로 매우 안전합니다. 이것은 이상적인 해결책은 아니지만 괜찮은 해결책입니다. –

0

AES와 ROT13의 차이점과 같습니다.

경미한 일이 없도록하기 위해 일반적으로 얼마나 어려운지와 시퀀스의 다음 하나가 몇 번 보았을 때 얼마나 예측 가능한지간에 임의의 숫자를 생성 할 때 일반적으로 트레이드 오프가 있습니다. 귀하의 언어에 내장 된 rand()가 반환하는 난수는 일반적으로 저렴하고 예측 가능한 다양성을 갖습니다.

1

Purfiedeas와 동의하십시오. 그것에 관한 멋진 기사도 있습니다. Cheat Online Poker

5

이전에 생성 된 난수 목록에서도 보안 임의 번호를 예측해서는 안됩니다. 일반적으로 암호화 루틴의 키로 사용하기 때문에 추측하거나 예측할 수 없습니다. 물론 추측 할 수있는 것은 컨텍스트에 따라 다르지만 공격자가 알고 있고 임의의 숫자를 생성하는 데 사용할 수있는 모든 것을 알고 있다고 가정해야합니다.

안전한 임의 번호를 생성하는 다양한 웹 사이트가 있습니다. 신뢰할 수있는 하나는 hotbits입니다. 난수 생성을 일회성 활동으로 만 수행하는 경우 추측 결과가 무작위이므로 추첨 결과를 사용하지 않는 것이 좋습니다. 물론, 추첨과 추첨을하는 사람에게 아무에게도 말하지 말고, 적절한 수의 망글을 통해 그 숫자를 넣어 원하는 범위를 얻으십시오.

1

난수는 아마도 '시드'를 사용하여 알고리즘에 의해 반환되는 의사 난수를 의미합니다.

안전한 난수는 세슘 기반 난수 생성기 (세슘의 감쇠율을 사용하여 숫자를 반환)와 같은 장치에서 반환 된 진정한 난수입니다. 이것은 자연 발생적이며 예측할 수 없습니다.

5

숫자는 임의 번호가 아닙니다. "임의성"은 특정 숫자의 속성이 아닙니다 (XKCD에서 다르게 알려주는 경우조차도 아닙니다).

숫자 생성 프로세스 만 "임의성"으로 평가 될 수 있습니다. 이 주제에 대한 논의는 What Colour are your bits을 읽으십시오.

+4

XKCD 참조를 가진 모든 의견은 승인을 얻습니다. :) –