ふと、Raspberry piで”ps -AL”をやってプロセスのリストを見ていたら、見慣れないrngdというものが見えた。
なんなのか、ちょっと調べてビックリ!
Raspberry Pi に搭載されている SoCには、ハードウェア乱数発生器(Random Number Generator, RNG)が搭載されている
はえー、ハードウェア乱数発生器ってちょっと前は何十万円もして手が出なかったんだよ?
数式で計算した疑似乱数はいつも「やーい、まがい物」と軽蔑されてきた長い歴史がありました。
ツェナーダイオードのノイズを使ってみたり、トランジスタのコレクタを開放してノイズを取ってみたりして本当にランダムを発生する回路はあったけど、どれもメジャーになった感じはないですねぇ。
数千円から数万円で本当の乱数発生器が入手できるというだけでRaspberry Pi 4Bはメチャクチャ価値があがったと思います。
/dev/hwrng があれば、ドライバーも動作しているようです。
rngtest -c 1000 < /dev/random
で、乱数のランダム性を検査できるらしいっす。
結果がものすごい速さで帰ってくるのが、ハードウェアでランダム数を発生しているおかげでソフトウェアだと、もっとトロイのだとか。
Pythonで使うにはこれでいい???
import os
b=os.urandom(16)
c=b.hex()
print(c)
Pythonについてのビッグニュース
最近、導入したRaspberry PI OSはついにPython2が消え、python3のみ導入されています。
“python -V”ではpython 3が帰ってきます。
ついにpython2との使い分けとか、pyenvとか、うっとうしいことをやらずに済むようになりました。
バンザイ!