주사위 시뮬레이션 Python
- 최초 등록일
- 2021.04.09
- 최종 저작일
- 2021.03
- 12페이지/ MS 워드
- 가격 1,000원
목차
없음
본문내용
암호학에서 RNG의 필요성 :
암호학 관점에서 충분히 안전한 난수를 활용. 암호학적으로 안전하다는 것은 통계를 냈을 때 정해진 규칙이나 암시할 수 있는 표현들을 찾을 수 없는 정도를 의미.
사용자가 어떤 문서를 암호화 하고자 할때 항상 예측할 수 없게 개인키, 비밀키등 항상 초기화 되야하고 새로운 키값이 나와야함.
게임에서 RNG의 필요성 :
게임의 결과를 예측할 수 없게 하기위해 난수를 발생시킴.
이로인해 유저들을 더 흥미진진한 모험을 할 수 있게 유도함.
결과를 예측 할 수 있으면 게임성, 재미가 떨어짐.
RNG는 유저들이 예상하지 못했던 새로운 도전 과제를 지속적으로 추가해 신선하고 흥미진진한 게임을 유지하는데 도움.
아이템을 고를 확률 , 특정 이벤트를 고를 확률등 대부분의 게임 산업은 RNG를 채택.
RNG의 대표적인 2가지
True Random Numbers VS Pseudorandom Numbers
True Random Numbers :
숫자들의 예측가능성은 불확실하고, 사용자가 랜덤 알고리즘을 결정할 수 없음. 예측 불가능한 최상의 결과를 낼 수 있지만 현실적으로 많은 걸림돌이 있음.
만약 사용자가 정말로 무작위적인 숫자를 만들어내기 위해 노력한다면, 자연적으로 발생하는 물리적 현상에 기초해야 할 것으로 예상.
예를 들어 전기저항 소음, 방사성 붕괴, 공중파에서의 정적 , 바다의 파동같이 자연현상을 시스템에 포함해야 할 수도 있으며, 이는 Pseudorandom과 비교했을때 비용적으로도 효율적이지는 않을 것.
실제로 소프트웨어에 의존하지 않고 하드웨어적 무작위성을 만들어내는 Hardware random number generators 장치가 있으나 사용범위가 매우 한정적. 이 장치는 디스크 회전, 온도 측정, 네트워크 타이밍, 마우스 및 키보드 기계적이동성등을 반영해 랜덤을 발생시킴.
참고 자료
없음