feat: 해시 기반 간이 DRBG, 그에 기반한 RandUtil #208

Merged
Hide_D merged 6 commits from rng into devel 2022-03-12 23:53:16 +09:00
Owner

기존의 Util 내의 함수는 mt_rand에 기반하고 있어서 일반적으론 충분하지만,
게임 내부에서 랜덤 값을 정교하게 제어하고 싶은 경우에는 적절하지 않았음.

따라서 직접 seed를 제어할 수 있는 난수생성기를 추가.
SHA512(seed || blockIdx) 의 형태로 동작하는 DRBG이며, FIPS 표준을 따르는 RNG는 아니지만 암호학적으로 안전한 형태로 구현함.

PHP, TS 두가지 형태로 구현하고, 두가지 구현에 대해 동일한 유닛 테스트 진행

기존의 Util 내의 함수는 mt_rand에 기반하고 있어서 일반적으론 충분하지만, 게임 내부에서 랜덤 값을 정교하게 제어하고 싶은 경우에는 적절하지 않았음. 따라서 직접 seed를 제어할 수 있는 난수생성기를 추가. SHA512(seed || blockIdx) 의 형태로 동작하는 DRBG이며, FIPS 표준을 따르는 RNG는 아니지만 암호학적으로 안전한 형태로 구현함. PHP, TS 두가지 형태로 구현하고, 두가지 구현에 대해 동일한 유닛 테스트 진행
Hide_D added 6 commits 2022-03-12 23:52:49 +09:00
Hide_D merged commit 556d6be15e into devel 2022-03-12 23:53:16 +09:00
Hide_D deleted branch rng 2022-03-12 23:53:16 +09:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: devsam/core#208