Arduino R4 MINIMA のハードウェア乱数生成器を使ってみる

概要 Arduino では開放状態のアナログ入力端子を読み取って乱数を生成するというのがしばしば行われるようです。 A/Dコンバータのノイズを拾って乱数を生成するのも電子工作ならではといった感じで面白そうですが、 Arduino R4 を持っているので、R4 ならではの機能を使って真乱数を生成してみようと思います。 Arduino R4 に搭載されている Renesas RA4M1 (R7FA4M1AB3CFM) には SCE5 という暗号化エンジンが搭載されており、TRNG (ハードウェア乱数生成器)が提供されているので、これを使ってみます。 SCE5 について SCE5 は Renesas が開発した暗号化アクセラレータです。AESによる暗号化・復号と、128ビットの真乱数生成器 (TRNG) をサポートしています。 仕様は以下の通り。 アクセス制御 暗号エンジン: AES キーサイズ: 128bit, 256bit 暗号利用モード ECB, CBC, CTR (NIST SP 800-38A 準拠) GCM (NIST SP 800-38D 準拠) XTS (NIST SP 800-38E 準拠) GCTR 認証付き暗号: AES-GCM キー管理 乱数の生成: 32ビットの真乱数生成器 ユニークID 低消費電力: モジュールストップ状態の設定が可能 出典: https://www.renesas.com/jp/ja/document/mah/renesas-ra4m1-group-users-manual-hardware?r=1054146 AES も今度試してみたい。 使い方を調べる マニュアルには上記の仕様やブロック図などが記載されているのですが詳しい使い方の説明はありません。 とりあえず SCE5 はデフォルトだと無効化されているので、有効化する必要があるということはマニュアルから読み取れました(それだけ・・・)。 ということで、マニュアルはそっ閉じしていくつか手掛かりになりそうなサイトを見てまわりました。...

2024/04/25 · 2 分 · 377 文字 · Me