RX72N TSIPドライバの使用

いつもお世話になっております。Mきちです。

暗号化/復号化に関して、TSIPドライバを使用したいと思いましたが

これはRX72Nでも、暗号機能付きの型式でないと使えないものでしょうか?

 例: 572NNHDxx=〇 572NNDDxx=×

以上、よろしくお願いします。

  • Mきちさん

    はい、TSIPドライバはTSIPハードウェアをドライブするドライバですので、暗号HW搭載の製品でなければ使えないですよ。

    以下のスレッドのように非搭載製品だとTSIPドライバは全く動かないです。

    https://community-ja.renesas.com/cafe_rene/forums-groups/mcu-mpu/rx/f/forum5/8205/tsip-api

  • Mきちさん

    こんにちはシェルティです、ルネサスの中の人です。

    TSIPドライバはじめ、TSIP活用のソリューションの設計を担当しています。

    PONSUKEさんがおっしゃる通りで、暗号機能付きの型式でないとTSIPドライバは全く動かないですね。

    最近のボードには暗号機能付きの型式のRXマイコンが載っているので、ボードのマニュアルを見て(あるいはMきちさんがボードを自作される場合は部品表でRXマイコンの型式をよく)確認してください。

    まだ検討中でボード試作もすこしさき、というフェーズで、「TSIPがどんなものか確認したい」という具合であればRX72N Envision KitかCK-RX65Nを買ってくるのがおすすめです。以下のような実験ができます。

    https://github.com/renesas/rx72n-envision-kit/wiki/1-Trusted-Secure-IP%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90

    少し応用するとTLSの加速もできます。ソフト(CPU演算のみ)だと4Mbpsくらいのところ、ハード(TSIP利用)だと30Mbpsくらいまで加速できます。

    https://github.com/renesas/rx72n-envision-kit/wiki/Trusted-Secure-IP%28TSIP%29%E3%81%AB%E3%82%88%E3%82%8BSSL%E3%81%AE%E5%8A%A0%E9%80%9F

    以上です

  • PONSUKE様、シェルティ様

    いつもお世話になっております。Mきちです。

    回答ありがとうございました。

    残念ながら、暗号機能なしのRX72Nを使用します。。。

    AESはソフトウェアで実装するよう検討します。

    また、よろしくお願いします。

  • Mきちさん

    こんにちは、シェルティです。

    そうなのですね、また将来のプロジェクトなどで暗号機能ありのRXマイコンを検討してみてください。

    AESのソフトウェア実装の場合は以下が使えるかもしれません。最近輸出管理の条件を整理し、ウェブからダウンロードできるようにしました。

    https://www.renesas.com/jp/ja/software-tool/crypto-library#document

    ⇒RXファミリ AESライブラリ Firmware Integration Technology Rev.1.07

    RL78版もアップしておきました。

    以上です

  • シェルティ様

    いつもありがとうございます。Mきちです。

    ご紹介のAESライブラリの先頭を読み始めました。

    ん? ハードウェア要件なし?

    これは暗号機能なしのRX72Nでも使用できる?

    読み進めます。

    ありがとうございます!

  • Mきちさん

    こんにちは、シェルティです。

    はい、暗号機能なしのRX72Nでも使用できます。全RXマイコンが持っている標準的なアセンブラ命令(XORとかANDとか)のみでAESの処理を組んであります。暗号機能ありほどではないですが、暗号処理速度が出るようにチューニングしてあります。ぜひ使ってみてください。

    以上です

  • シェルティ様

    いつもお世話になっております。Mきちです。 遅くなってすみません。

    教えていただいたFITのコンポーネントを組み込みました。

    拡大鍵を使用しないので、R_Aes_128_OtfEcbenc() を呼ぶと

    Undefined external symbol のエラーになってしまいます。

    FITの65用のDEMOプロジェクトでも

    #define _AES_OTF と追加すると同様のエラーになってしまいます。

    なにか設定で不足しているのかな? 調査中です。

    ちなみに拡大鍵を使用する場合の

    R_Aes_128_Keysch()+ R_Aes_128_Ecbenc() ではエラーしません。

  • Mきちさん

    シェルティです、こんにちは。

    xxx_OtfEcbenc()等はM16C等の小さいマイコン用のオプションですね。逆にRXマイコン用ではxxx_OtfEcbenc()等はライブラリに収録していません。すみませんが、R_Aes_128_Keysch()+ R_Aes_128_Ecbenc()でご活用ください。

    ユーザーズマニュアルはマイコン種別問わず共用としマイコン毎の別冊でオプションの有無を記載するようなマニュアル構造にしてあります。

    以上です

  • シェルティ様

    いつもお世話になっております。Mきちです。

    回答ありがとうございます。

    拡大鍵で使用してみます。

    今回も助かりました。感謝です。

  • R_Aes_128_Ecbenc()と R_Sha1_HashDigest() を実装してみました。

    これに加えて、MD5 も必要になりました。

    shaif.h を見ると、過去?には、R_Md5_HashDigest() もあったような?

    この機能も今ではサポートされていないのでしょうか?