Rev 1.10.00

Renesas S7G2 用サンプル(e2studio WIRE_DHCP_UDP_AES_COMMAND)の説明（e2studio Version:2022-10 / SSP Version 2.4.0)
１． Sample の免責について
・Sample に関する Tel/Fax でのご質問に関してはお受けできません。ただし、メールでのご質問に関してはお答えするよう努力はしますが、都合によりお答えできない場合もありますので予めご了承願います。
・Sample ソフトの不具合が発見された場合の対応義務はありません。また、この関連ソフトの使用方法に関する質問の回答義務もありませんので承知の上ご利用下さい。
・Sample ソフトは、無保証で提供されているものであり、その適用可能性も含めて，いかなる保証も行いません。また，本ソフトウェアの利用により直接的または間接的に生じたいかなる損害に関しても，その責任を負わないものとします。

２．サンプルのプロジェクト名
ワークスペース名概要

プロジェクト名

S7G2_e2std_WIRE_NetX_1

有 線 LAN 接 続 し た WIRE_DHCP_UDP_AES_COMMAND
DHCP と UDP 通信のサ
Azure RTOS モードで動作
ンプル
セ キュ リティ エンジ ン(SCE7)
Crypto ドライバーの AESを使用したサンプル（暗号・復号）NetX DHCP Client(g_dhcp_client0)
UDP 通信(Client)(nx_udp_socket_.......)
暗号・復号(AES)(g_sce_aes_r.p_api->encrypt)(g_sce_aes_r.p_api->decrypt)

統合開発環境Renesas e2studio(Version 2022-10)
SSP(Version2.4.0)

1

３．Tera Term Pro のインストール①「teraterm-4.106.exe」を検索してダウンロードする。
②PC にインストールし実行する③シリアルポートの設定
COM 番号は、
PC 側でシリアル通信可能な番号を指定する。
115200BPS
8bit
none
1bit
none
の仕様にする。

④端末の設定USB シリアルコンバータ使用時に CR コ
ードがカットされる設定の場合は、受信：LF にして下さい。

赤枠の設定にする。

2

４．動作構成
【EV-SYNERGY-01】を使用の場合
有線 LAN 接続

JTAG
Debugger

DC5V 入力
1.＋5V
2.GND

MP-S7G2-01

JP5-2 側
JP6-2 側RS232C ポート
PC に接続EV-SYNERGY-01①PC 機と接続する RS232C ケーブルは、市販「クロスケーブル」でも可能です。
②USB-シリアル変換ケーブルを使用される場合は、「StarTech.com 社 ICUSB232FIN」推奨③自作する場合は、下記の配線になります。
PC-Windows
DSUB 9pin
オス
1
2
3
4
5
6
7
8
9

EV-SYNERGY-xx
DSUB 9pin
オス
1
NC
2
RXD
3
TXD
4
NC
5
GND
6
NC
7
RTS
8
CTS
9
NC

3

NC
RXD
TXD
DTR
GND
DSR
RTS
CTS
NC

【MP-S7G2-01】のみ使用の場合
DC5V 入力
1.＋5V
2.GND

RS232C ポート
PC に接続JTAG
DebuggerJP5-1 側
JP6-1 側MP-S7G2-01

有線 LAN 接続①PC 機と接続する RS232C ケーブルは、製作が必要です。
②「RS232C-Driver」は、下記 URL の「RS232CAB4」を推奨します。
http://tool-kobo.ddo.jp/Files/Product/RS232_422/RS232CAB.htm

MP-S7G2-01(CN8)
4pin
メス
1
DC3.3V
2
TXD2
3
RXD2
4
GND
H4P-SHF-AA

PC-Windows
DSUB 9pin
メス
1
2
3
4
5
6
7
8
9

RS232C
Driver

4

NC
RXD
TXD
DTR
GND
DSR
RTS
CTS
NC

５．
「S7G2_e2std_WIRE_NetX_1」サンプルの説明
５－１．
「WIRE_DHCP_UDP_AES_COMMAND」フォルダ構成とファイル名
S7G2_e2std_WIRE_NetX_1¥ WIRE_DHCP_UDP_AES_COMMAND
Debug
WIRE_DHCP_UDP_AES_
ELF ファイル、JTAG で使用
COMMAND.elf
WIRE_DHCP_UDP_AES_
MAP ファイル、アドレス情報管理
COMMAND.map
WIRE_DHCP_UDP_AES_
モトローラーHEX ファイル
COMMAND.srec
その他
自動生成ファイル
Scriptr7fs7g27h3a01cfc.ld
ロケーション定義ファイル
Src
Command.c
コマンド入力処理のサンプルファイル
Command.hCommand.c 用ヘッダーファイル
udp_cmd_thread_entry.c
UDP Cmd Thread サンプルファイル
wire_dhcp_thred_entry.c
DHCP client Thread サンプルファイル
sce7_aes
sce7_aes.c
AES の暗号・復号化サンプルファイル
MP-S7G2-01（リンク指定）synergy_gen
Synergysynergy_cfg
Configuration.xml
PIN-MP-S7G201.pincfg
WIRE_DHCP_UDP_A
ES_COMMAND.jlink
その他

sce7_aes.h
e2p.c
e2p.h
led.c
led.h
sic2.csci2.hstchar.cstcahr.hsce7_aes.c 用ヘッダーファイル
E2PROM 処理モジュール
e2p.c 用ヘッダーファイル
LED 処理モジュール
led.c 用ヘッダーファイル
シリアル通信処理モジュール
sci2.c 用ヘッダーファイル
文字系処理モジュール
stchar.c 用ヘッダーファイル-

Generate を行うと作成されるファイル
Generate を行うと作成されるファイル
プロジェクト Generation ファイル
PIN configuration 用ファイル
Jlink デバッガー用ファイル
自動生成ファイル

5

５－２．サンプルの動作説明＜WIRE DHCP Thread＞
１）DHCP による IP アドレスの取得を待つ
Term 画面＜１＞「"<udp_thread waiting to get IP address>”」＜２＞「"<interface status check>”」
MP 基板に実装した EEPROM より MAC アドレス読みドライバにセットする。
＜３＞「<Start WIRE NetX DHCP>"”」＜４＞「"<Wait DHCP State Change>”」＜５＞「"<Start WIRE NetX DHCP>”」＜６＞「"<Wait DHCP BOUND>”」の順次処理して表示する。
・IP アドレス取得成功により、MP 基板上の LED3 を 100msec 毎に点滅
２）IP アドレス取得情報を Term 画面に表示する。

取得した IP アドレス

PC 側の IP アドレス

Crypto ドライバーオープン

コマンド入力6

＜UDP Cmd Thread＞
３）オープニングメッセージを表示してコマンド入力を待つ。
・UDP Thread 起動後、MP 基板上の LED4 を 100msec 毎に点滅
４）コマンドの説明（１）？（ヘルプコマンド）コマンド一覧の表示（２）ｓｅｎｄｉｐ（送信先ＩＰアドレスの登録と参照）＜機能＞
・送信先（PＣ機側）のＩＰアドレスを登録する。
＜例＞
xxx> sendip 192.168.21.51⏎
xxx> sendip⏎[send IP]: 192.168.21.51（３）ｓｅｎｄｐｏｒｔ（送信先ポート番号の登録と参照）＜機能＞
・送信先（PＣ機側）のポート番号を登録する。
＜例＞
xxx> sendport 50000⏎
xxx> sendport ⏎[send port]: 50000（４）ｓｅｎｄ（文字列の送信）＜機能＞
・送信先（PＣ機側）に文字列を送信する。
＜例＞
xxx> send 12345678123456781234567812345678⏎
7

（５）ｍｏｄｅ（暗号モードの設定と参照）＜機能＞
・送信先（PＣ機側）に文字列を送信するための暗号モードを指定する。
①<PLAIN> 平文で送信②<ECB>文字列を「AES-ECB モード」で暗号化して送信する。
③<CBC>文字列を「AES-CBC モード」で暗号化して送信する。
④<CTR>文字列を「AES-CTR モード」で暗号化して送信する。
⑤<GCM>文字列を「AES-GCM モード」で暗号化して送信する。
⑥<XTS>文字列を「AES-XTS モード」で暗号化して送信する。
＜例＞
xxx> mode PLAIN⏎
xxx> mode ECB⏎
xxx> mode CBC⏎xxx> mode CTR⏎
xxx> mode GCM⏎
xxx> mode XTS⏎
xxx> mode⏎[Now mode]: ECB（６）ｋｅｙ（共通鍵の設定と参照）＜機能＞・暗号・復号化するための共通鍵を設定する。
（16 進数設定）＜AES-XTS 以外＞// key 長 128bit
xxx> key 0x11111111 0x22222222 0x33333333 0x44444444⏎// key 長 196bit
xxx> key 0x11111111 0x22222222 0x33333333 0x44444444 0x55555555 0x66666666 ⏎// key 長 256bit
xxx> key 0x11111111 0x22222222 0x33333333 0x44444444 0x55555555 0x66666666 0x77777777 0x88888888⏎
xxx> key⏎[Now Key]: 11111111 22222222 33333333 44444444＜AES-XTS は Key 長が倍になる＞// key 長 128bit
xxx> key 0x11111111 0x22222222 0x33333333 0x44444444 0x55555555 0x66666666 0x77777777 0x88888888⏎// key 長 256bit
xxx> key 0x11111111 0x22222222 0x33333333 0x44444444 0x55555555 0x66666666 0x77777777 0x88888888
0x99999999 0xaaaaaaaa 0xbbbbbbbb 0xcccccccc 0xdddddddd 0xeeeeeeee 0xfffffffff 0x11111111⏎

xxx> key⏎[Now Key]: 0x11111111 0x22222222 0x33333333 0x44444444:0x55555555 0x66666666 0x77777777 0x88888888:0x99999999 0xAAAAAAAA 0xBBBBBBBB 0xCCCCCCCC:0xDDDDDDDD 0xEEEEEEEE 0xFFFFFFFF 0x11111111

8

（７）ｉｖ（初期ベクタ値の設定と参照）＜機能＞・暗号・復号化（AES-ECB 以外）モード時の初期ベクタ値を設定する。
（16 進数設定）＜AES-GCM 以外＞
xxx>iv 0x02013B01 0x1DF2D6C7 0x846F189E 0xDB0A8254⏎
xxx>iv⏎[Now IV ]: 0x02013B01 0x1DF2D6C7 0x846F189E 0xDB0A8254＜AES-GCM は、128bit に Format された 96bitIV にする必要あり＞
xxx>iv 0x02013B01 0x1DF2D6C7 0x846F189E 0x01000000⏎
xxx>iv⏎[Now IV ]: 0x02013B01 0x1DF2D6C7 0x846F189E 0x01000000
96bitIV: 0x02013B01 0x1DF2D6C7 0x846F189E
128bit に Format された 96bitIV:バイト列で表記
0x01,0x3B,0x01,0x02,0xC7,0xD6,0xF2,0x1D,0x9E,0x18,0x6F,0x84,0x00,0x00,0x00,0x01
AES-GCM の IV の 96bit 以降は、必ず、バイト表記で 0x00,0x00,0x00,0x01 にする必要があります。
（８）ｌｅｎｇ（共通鍵長の設定と参照）＜機能＞・共通鍵の長さ(Key length 128/192/256)を設定する。
（10 進数設定）＜例＞
xxx>leng 128⏎xxx>leng 192⏎xxx>leng 256⏎xxx>leng⏎[[Now Key Length]: 128（９）ｍｙｉｐ（DHCP で取得した自ＩＰアドレスの参照）＜機能＞・DHCP で取得した自ＩＰアドレスを表示する。
＜例＞
xxx>myip⏎[My IP]: 192.168.21.51（１０）ｍｙｐｏｒｔ（基板側で登録したポート番号の参照）＜機能＞・基板側で登録したポート番号を表示する。
＜例＞
xxx>myport⏎[My port]: 50001

9

６．
「S7G2_e2std_WIRE_NetX_1」のワークスペースを指定する。
６－１．ワークスペース名の指定参照をクリック①ワークスペース名「S7G2_e2std_WIRE_NetX_1」を指定②「フォルダの選択」をクリック

起動をクリック

６－２．プロジェクトのインポート☆詳細操作は「e2studio_synergy_Import.pdf 」の 2 項を参照して下さい。

10

７．デバッグ操作
７－１．デバッグ構成の設定☆詳細操作は「e2studio_synergy_Import.pdf 」の３－１項を参照して下さい。
７－２．デバッグの開始☆詳細操作は「e2studio_synergy_Import.pdf 」の３－２項を参照して下さい。
＜WIRE_DHCP_UDP_AES_COMMAND 実行画面＞

11

７－３．Windows PC 側のテスト用プログラムで動作確認（PLAIN（平文）モード）
１）「UDP_IP_AES_OpenSSL」を起動する。
プログラム場所【ご購入 CD¥MCU サンプルプログラム¥_PC_Test_OpenSSL】を Read/Write
可能な適当なフォルダに Copy してからお使い下さい。

「UDP_IP_AES_OpenSSL.exe」を起動

２）「UDP_IP_AES_OpenSSL」の各項目を設定して「「基板」側からの送信を待つ。

PC 側の IP アドレス
自動検出

PC 側の port
固定

①DHCP で取得した
IP アドレスをセット③Plain モード選択

④クリック
接続を確認

12

②基板側の
Port 番号をセット

３）「基板」側の各項目の確認と設定。
①PC 側の IP アドレスを設定する。
ex) sendip 192.168.21.51⏎②PC 側のポート番号を設定する。
ex) sendport 50000⏎③「plain」（平文）モードを指定する。
ex) mode plain⏎
④実行画面

４）
「基板」側から「PC」(server) 側へ平文テキストを送信する。
①テキスト文を送信する。
ex) send 12345678(1)PC へ送信データ

13(2) PC からの受信データ

５）「UDP_IP_AES_OpenSSL」側の送受信を確認する。

(1)「基板」側からの受信データ(2)「基板」側への送信データ【Error 表示】
・受信異常「” error!! recvfrom()[error code]”」・送信異常「”error!! sendto()[error code]”」６）「UDP_IP_AES_OpenSSL」その他の操作（各モード共通）☑「Monitor」画面に送受信ダンプ表示

14「Monitor」表示を消去

７）UDP_IP-Port を「切断」する。
（各モード共通）

①クリック

切断を確認

15

７－４．Windows PC 側のテスト用プログラムで動作確認（AES-ECB モード）
１）
「UDP_IP_AES_OpenSSL」を起動する。
プログラム場所【ご購入 CD¥MCU サンプルプログラム¥_PC_Test_OpenSSL】を Read/Write
可能な適当なフォルダに Copy してからお使い下さい。

「UDP_IP_AES_OpenSSL.exe」を起動

２）「UDP_IP_AES_OpenSSL」の各項目を設定して「基板」側からの送信を待つ。

③Key 長に対応した共通鍵を設定①ECB モード選択
接続を確認

④クリック

16

②Key 長の選択
128 / 192 / 256

３）「基板」側の各項目の確認と設定。
①PC 側の IP アドレスを設定する。
ex) sendip 192.168.21.51⏎②PC 側のポート番号を設定する。
ex) sendport 50000⏎③「ECB」（AES-ECB）モードを指定する。
ex) mode ecb⏎④「Key Leng」を指定する。(128 / 192 / 256)
PC 側の「UDP_IP_AES_OpenSSL」と同じ Key 長にする。
ex) leng 128⏎⑤「共通鍵」を指定する。
PC 側の「UDP_IP_AES_OpenSSL」と同等の共通鍵(AES common key)にする。
ex) key 0x11111111 0x22222222 0x33333333 0x44444444⏎
⑥実行画面

17

４）
「基板」側から「PC」(server) 側へ ECB 暗号テキストを送信する。
①テキスト文を送信する。
ex) send 12345678(1)入力した平文の表示(2)入力した平文を暗号化（エンコード）して PC（Server）に送信したデー
タのダンプ表示(3)PC（server）が受信した暗号文を復号（デコード）
した文章を PC（server）で再度暗号化（エンコード）
したデータを受信したダン
プ表示(4)受信した PC からの暗号文を復号（デコード）した
データのダンプ表示②「(1)Plain data」と「(4)Create decode_data」が同等のダンプ表示の場合、基板側と PC 側が同等な復号処理（デコード）であることの実証になります。
③「(2)Send encode_data to server」と「(3)Receive encode_data from server(Abort with Ctrl-C)」
が同等のダンプ表示の場合、基板側と PC 側が同等な暗号処理（エンコード）であることの実証になります。

18

５）「UDP_IP_AES_OpenSSL」側の送受信を確認する。

(1)「基板」側から受信した暗号データ(2) 「基板」側から受信した暗号データを復号（デコード）したデータのダンプ表示(3)復号（デコード）したデータを「PC」
側で暗号（エンコード）して「基板」側に送信したデータのダンプ表示①「(1)Receive encode_data from client」と「(3)Send encode_data to client」が同等のダンプ表示の場合、基板側と PC 側が同等な暗号処理（エンコード）であることの実証になります。
②「(2)Create decode_data」と「基板」側 TeraTerm 画面の「(4)Create decode_data」が同等のダンプ表示の場合、基板側と PC 側が同等な復号処理（デコード）であることの実証になります。
【Error 表示】
・受信異常「” error!! recvfrom()[error code]”」・送信異常「”error!! sendto()[error code]”」19

７－５．Windows PC 側のテスト用プログラムで動作確認（AES-CBC モード）
１）
「UDP_IP_AES_OpenSSL」を起動する。
プログラム場所【ご購入 CD¥MCU サンプルプログラム¥_PC_Test_OpenSSL】を Read/Write
可能な適当なフォルダに Copy してからお使い下さい。

「UDP_IP_AES_OpenSSL.exe」を起動

２）「UDP_IP_AES_OpenSSL」の各項目を設定して「基板」側からの送信を待つ。

③Key 長に対応した共通鍵を設定⑤初期ベクタ値は自動計算により表示①CBC モード選択

接続を確認②Key 長の選択
128 / 192 / 256

⑥クリック

20

④Auto を☑すると、自動で初期化
ベクトル値を算出
する

３）「基板」側の各項目の確認と設定。
①PC 側の IP アドレスを設定する。
ex) sendip 192.168.21.51⏎②PC 側のポート番号を設定する。
ex) sendport 50000⏎③「CBC」（AES-CBC）モードを指定する。
ex) mode cbc⏎④「Key Leng」を指定する。(128 / 192 / 256)
PC 側の「UDP_IP_AES_OpenSSL」と同じ Key 長にする。
ex) leng 128⏎⑤「共通鍵」を指定する。
PC 側の「UDP_IP_AES_OpenSSL」と同等の共通鍵(AES common key)にする。
ex) key 0x11111111 0x22222222 0x33333333 0x44444444⏎⑥「初期ベクタ値」を指定する。
PC 側の「UDP_IP_AES_OpenSSL」と同等の初期ベクタ値(AES Initial vector)にする。
ex) iv 0x02013B01 0x1DF2D6C7 0x846F189E 0xDB0A8254⏎
⑦実行画面

21

４）
「基板」側から「PC」(server) 側へ CBC 暗号テキストを送信する。
①テキスト文を送信する。
（未接続の場合は、接続を実行）ex) send 12345678(1)入力した平文の表示(2)入力した平文を暗号化（エンコード）して PC（Server）に送信したデー
タのダンプ表示(3)PC（server）が受信した暗号文を復号（デコード）
した文章を PC（server）で再度暗号化（エンコード）
したデータを受信したダン
プ表示(4)受信した PC からの暗号文を復号（デコード）した
データのダンプ表示②「(1)Plain data」と「(4)Create decode_data」が同等のダンプ表示の場合、基板側と PC 側が同等な復号処理（デコード）であることの実証になります。
③「(2)Send encode_data to server」と「(3)Receive encode_data from server(Abort with Ctrl-C)」
が同等のダンプ表示の場合、基板側と PC 側が同等な暗号処理（エンコード）であることの実証になります。

22

５）「UDP_IP_AES_OpenSSL」側の送受信を確認する。

(1)「基板」側から受信した暗号データ(2) 「基板」側から受信した暗号データを復号（デコード）したデータのダンプ表
示(3)復号（デコード）したデータを「PC」
側で暗号（エンコード）して「基板」側に送信したデータのダンプ表示①「(1)Receive encode_data from client」と「(3)Send encode_data to client」が同等のダンプ表示の場合、基板側と PC 側が同等な暗号処理（エンコード）であることの実証になります。
②「(2)Create decode_data」と「基板」側 TeraTerm 画面の「(4)Create decode_data」が同等のダンプ表示の場合、基板側と PC 側が同等な復号処理（デコード）であることの実証になります。
【Error 表示】
・受信異常「” error!! recvfrom()[error code]”」・送信異常「”error!! sendto()[error code]”」23

７－６．Windows PC 側のテスト用プログラムで動作確認（AES-CTR モード）
１）
「UDP_IP_AES_OpenSSL」を起動する。
プログラム場所【ご購入 CD¥MCU サンプルプログラム¥_PC_Test_OpenSSL】を Read/Write
可能な適当なフォルダに Copy してからお使い下さい。

「UDP_IP_AES_OpenSSL.exe」を起動

２）「UDP_IP_AES_OpenSSL」の各項目を設定して「基板」側からの送信を待つ。

③Key 長に対応した共通鍵を設定⑤初期ベクタ値は自動計算により表示①CTR モード選択

接続を確認②Key 長の選択
128 / 192 / 256

⑥クリック

24

④Auto を☑すると、自動で初期化
ベクトル値を算出
する

３）「基板」側の各項目の確認と設定。
①PC 側の IP アドレスを設定する。
ex) sendip 192.168.21.54⏎②PC 側のポート番号を設定する。
ex) sendport 50000⏎③「CTR」（AES-CTR）モードを指定する。
ex) mode ctr⏎④「Key Leng」を指定する。(128 / 192 / 256)
PC 側の「UDP_IP_AES_OpenSSL」と同じ Key 長にする。
ex) leng 128⏎⑤「共通鍵」を指定する。
PC 側の「UDP_IP_AES_OpenSSL」と同等の共通鍵(AES common key)にする。
ex) key 0x11111111 0x22222222 0x33333333 0x44444444⏎⑥「初期ベクタ値」を指定する。
PC 側の「UDP_IP_AES_OpenSSL」と同等の初期ベクタ値(AES Initial vector)にする。
ex) iv 0x02013B01 0x1DF2D6C7 0x846F189E 0xDB0A8254⏎
⑦実行画面

25

４）
「基板」側から「PC」(server) 側へ CTR 暗号テキストを送信する。
①テキスト文を送信する。
（未接続の場合は、接続を実行）ex) send 12345678(1)入力した平文の表示(2)入力した平文を暗号化（エンコード）して PC（Server）に送信したデー
タのダンプ表示(3)PC（server）が受信した暗号文を復号（デコード）
した文章を PC（server）で再度暗号化（エンコード）
したデータを受信したダン
プ表示(4)受信した PC からの暗号文を復号（デコード）した
データのダンプ表示②「(1)Plain data」と「(4)Create decode_data」が同等のダンプ表示の場合、基板側と PC 側が同等な復号処理（デコード）であることの実証になります。
③「(2)Send encode_data to server」と「(3)Receive encode_data from server(Abort with Ctrl-C)」
が同等のダンプ表示の場合、基板側と PC 側が同等な暗号処理（エンコード）であることの実証になります。

26

５）「UDP_IP_AES_OpenSSL」側の送受信を確認する。

(1)「基板」側から受信した暗号データ(3)復号（デコード）したデータを「PC」
側で暗号（エンコード）して「基板」側に送信したデータのダンプ表示(2) 「基板」側から受信した暗号データを復号（デコード）したデータのダンプ表
示①「(1)Receive encode_data from client」と「(3)Send encode_data to client」が同等のダンプ表示の場合、基板側と PC 側が同等な暗号処理（エンコード）であることの実証になります。
②「(2)Create decode_data」と「基板」側 TeraTerm 画面の「(4)Create decode_data」が同等のダンプ表示の場合、基板側と PC 側が同等な復号処理（デコード）であることの実証になります。
【Error 表示】
・受信異常「” error!! recvfrom()[error code]”」・送信異常「”error!! sendto()[error code]”」27

７－７．Windows PC 側のテスト用プログラムで動作確認（AES-GCM モード）
１）
「UDP_IP_AES_OpenSSL」を起動する。
プログラム場所【ご購入 CD¥MCU サンプルプログラム¥_PC_Test_OpenSSL】を Read/Write
可能な適当なフォルダに Copy してからお使い下さい。

「UDP_IP_AES_OpenSSL.exe」を起動

２）「UDP_IP_AES_OpenSSL」の各項目を設定して「基板」側からの送信を待つ。

③Key 長に対応した共通鍵を設定⑤初期ベクタ値は自動計算により表示(96bit)①GCM モード選択

接続を確認②Key 長の選択
128 / 192 / 256

⑥クリック

28

④Auto を☑すると、自動で初期化
ベクトル値を算出
する

３）「基板」側の各項目の確認と設定。
①PC 側の IP アドレスを設定する。
ex) sendip 192.168.21.54⏎②PC 側のポート番号を設定する。
ex) sendport 50000⏎③「初期ベクタ値」を指定する。
PC 側の「UDP_IP_AES_OpenSSL」と同等の初期ベクタ値(AES Initial vector)にする。
ex) iv 0x02013B01 0x1DF2D6C7 0x846F189E 0x01000000⏎
AES-GCM の IV の 96bit 以降は、必ず、バイト表記で 0x00,0x00,0x00,0x01 にする必要があります。
④「GCM」（AES-GCM）モードを指定する。
ex) mode gcm⏎⑤「Key Leng」を指定する。(128 / 192 / 256)
PC 側の「UDP_IP_AES_OpenSSL」と同じ Key 長にする。
ex) leng 128⏎⑥「共通鍵」を指定する。
PC 側の「UDP_IP_AES_OpenSSL」と同等の共通鍵(AES common key)にする。
ex) key 0x11111111 0x22222222 0x33333333 0x44444444⏎

⑦実行画面

29

４）
「基板」側から「PC」(server) 側へ GCM 暗号テキストを送信する。
①テキスト文を送信する。
（未接続の場合は、接続を実行）ex) send 12345678(1)入力した平文の表示(2)入力した平文を暗号化（エンコード）したデータと 認 証 用 TAG デ ー タ(16byte)を PC（Server）に送信したデータのダンプ表
示(3)PC（server）が受信した暗号文を復号（デコード）
したデータと認証用 TAG
デ ー タ (16byte) を PC
（ server ） で 再 度 暗 号 化（エンコード）したデータを受信したダンプ表示(4)受信した PC からの暗号文を復号（デコード）した
データのダンプ表示②「(1)Plain data」と「(4)Create decode_data」が同等のダンプ表示の場合、基板側と PC 側が同等な復号処理（デコード）であることの実証になります。
③「(2)Send encode_data to server」と「(3)Receive encode_data from server(Abort with Ctrl-C)」
が同等のダンプ表示の場合、基板側と PC 側が同等な暗号処理（エンコード）であることの実証になります。

30

５）「UDP_IP_AES_OpenSSL」側の送受信を確認する。

(1)「基板」側から受信した暗号データと認証用 TAG データ(16byte)(3)復号（デコード）したデータを「PC」
側で暗号（エンコード）と認証用 TAG データ(16byte)を「基板」側に送信したデー
タのダンプ表示(2) 「基板」側から受信した暗号データを復号（デコード）したデータのダンプ表
示①「(1)Receive encode_data from client」と「(3)Send encode_data to client」が同等のダンプ表示の場合、基板側と PC 側が同等な暗号処理（エンコード）であることの実証になります。
②「(2)Create decode_data」と「基板」側 TeraTerm 画面の「(4)Create decode_data」が同等のダンプ表示の場合、基板側と PC 側が同等な復号処理（デコード）であることの実証になります。
【Error 表示】
・受信異常「” error!! recvfrom()[error code]”」・送信異常「”error!! sendto()[error code]”」31

７－８．Windows PC 側のテスト用プログラムで動作確認（AES-XTS モード）
１）
「UDP_IP_AES_OpenSSL」を起動する。
プログラム場所【ご購入 CD¥MCU サンプルプログラム¥_PC_Test_OpenSSL】を Read/Write
可能な適当なフォルダに Copy してからお使い下さい。

「UDP_IP_AES_OpenSSL.exe」を起動

２）「UDP_IP_AES_OpenSSL」の各項目を設定して「基板」側からの送信を待つ。

③Key 長の２倍にした共通鍵を設定⑤初期ベクタ値は自動計算により表示②Key 長の選択
128 / 256

①XTS モード選択

接続を確認

⑥クリック

32

④Auto を☑すると、自動で初期化
ベクトル値を算出
する

３）「基板」側の各項目の確認と設定。
①PC 側の IP アドレスを設定する。
ex) sendip 192.168.21.54⏎②PC 側のポート番号を設定する。
ex) sendport 50000⏎③「XTS」（AES-XTS）モードを指定する。
ex) mode xts⏎④「Key Leng」を指定する。(128 / 256)
PC 側の「UDP_IP_AES_OpenSSL」と同じ Key 長にする。
ex) leng 128⏎⑤「共通鍵」を指定する。
PC 側の「UDP_IP_AES_OpenSSL」と同等の共通鍵(AES common key)にする。
ex) key 0x11111111 0x22222222 0x33333333 0x44444444 0x55555555 0x66666666 0x77777777 0x88888888⏎⑥「初期ベクタ値」を指定する。
PC 側の「UDP_IP_AES_OpenSSL」と同等の初期ベクタ値(AES Initial vector)にする。
ex) iv 0x02013B01 0x1DF2D6C7 0x846F189E 0xDB0A8254⏎
⑦実行画面

33

４）
「基板」側から「PC」(server) 側へ XTS 暗号テキストを送信する。
①テキスト文を送信する。
（未接続の場合は、接続を実行）ex) send 12345678(1)入力した平文の表示(2)入力した平文を暗号化（エンコード）して PC（Server）に送信したデー
タのダンプ表示(3)PC（server）が受信した暗号文を復号（デコード）
した文章を PC（server）で再度暗号化（エンコード）
したデータを受信したダン
プ表示(4)受信した PC からの暗号文を復号（デコード）した
データのダンプ表示②「(1)Plain data」と「(4)Create decode_data」が同等のダンプ表示の場合、基板側と PC 側が同等な復号処理（デコード）であることの実証になります。
③「(2)Send encode_data to server」と「(3)Receive encode_data from server(Abort with Ctrl-C)」
が同等のダンプ表示の場合、基板側と PC 側が同等な暗号処理（エンコード）であることの実証になります。

34

５）「UDP_IP_AES_OpenSSL」側の送受信を確認する。

(1)「基板」側から受信した暗号データ(3)復号（デコード）したデータを「PC」
側で暗号（エンコード）して「基板」側に送信したデータのダンプ表示(2) 「基板」側から受信した暗号データを復号（デコード）したデータのダンプ表
示①「(1)Receive encode_data from client」と「(3)Send encode_data to client」が同等のダンプ表示の場合、基板側と PC 側が同等な暗号処理（エンコード）であることの実証になります。
②「(2)Create decode_data」と「基板」側 TeraTerm 画面の「(4)Create decode_data」が同等のダンプ表示の場合、基板側と PC 側が同等な復号処理（デコード）であることの実証になります。
【Error 表示】
・受信異常「” error!! recvfrom()[error code]”」・送信異常「”error!! sendto()[error code]”」

７－９．デバッグの終了☆詳細操作は「e2studio_synergy_Import.pdf 」の３－３項を参照して下さい。

35

８．注意事項
・本文書の著作権は、エーワン（株）が保有します。
・本文書を無断での転載は一切禁止します。
・本文書に記載されている内容についての質問やサポートはお受けすることが出来ません。
・本文章に関して、ルネサス エレクトロニクス社への問い合わせは御遠慮願います。
・本文書の内容に従い、使用した結果、損害が発生しても、弊社では一切の責任は負わないものとします。
・本文書の内容に関して、万全を期して作成しましたが、ご不審な点、誤りなどの点がありましたら弊社までご連絡くだされば幸いです。
・本文書の内容は、予告なしに変更されることがあります。
９．商標
・e2studio は、ルネサス エレクトロニクス株式会社の登録商標、または商品名称です。
・Renesas Synergy™および S3A7/S5D9/S7G2 は、ルネサス エレクトロニクス株式会社の登録商
標、または商品名です。
・その他の会社名、製品名は、各社の登録商標または商標です。
１０．参考文献・「S3A7 ユーザーズマニュアル ハードウェア編」 ルネサス
・「S5D9 ユーザーズマニュアル ハードウェア編」 ルネサス
・
「S7G2 ユーザーズマニュアル ハードウェア編」 ルネサス
・ルネサス エレクトロニクス株式会社提供のサンプル集
・「e2studio ユーザーズマニュアル 入門ガイド」
ルネサス
・「SSP vx.x.x User’s Manual 」
ルネサス・「X-Ware Component Documents for Renesas Synergy™ 」ルネサス
・その他

エレクトロニクス株式会社
エレクトロニクス株式会社
エレクトロニクス株式会社
エレクトロニクス株式会社
エレクトロニクス株式会社
エレクトロニクス株式会社〒486-0852
愛知県春日井市下市場町 6-9-20
エーワン株式会社

https://www.robin-w.com
36