ctf/IERAE CTF 2024 writeup.md
... ...
@@ -224,8 +224,17 @@ if __name__ == "__main__":
224 224
</details>
225 225
226 226
## Weak PRNG
227
+
227 228
[Mersenne Twister (MT19937) で未来と過去の乱数列を予測してみる【Python】](https://zenn.dev/hk_ilohas/articles/mersenne-twister-previous-state)のプログラムを拝借したところそのまま動作した。
228 229
230
+Pythonの`random`モジュールは疑似乱数生成であり、メルセンヌツイスタでは生成された乱数を数百通り程度与えるだけで元の乱数生成器を複製できる。
231
+
232
+確かに[randomモジュールのドキュメント](https://docs.python.org/ja/3/library/random.html)にも
233
+> 警告
234
+> このモジュールの擬似乱数生成器をセキュリティ目的に使用してはいけません。セキュリティや暗号学的な用途については secrets モジュールを参照してください。
235
+
236
+と書いてある。
237
+
229 238
#### `io_lib.py`
230 239
231 240
<details>