Skip to content

Commit fea6334

Browse files
authored
Merge pull request #147 from tamasan238/wolfssl-porting
Follow for PR #132 (Japanese)
2 parents 3d20b5f + 509b84c commit fea6334

File tree

1 file changed

+19
-22
lines changed

1 file changed

+19
-22
lines changed

wolfSSL-Porting/src-ja/section02.md

+19-22
Original file line numberDiff line numberDiff line change
@@ -147,19 +147,25 @@ wc_GenerateSeed関数をどのように記述する必要があるかの例に
147147
Q:どういう場合このセクションが必要ですか?<br>
148148
A:標準のメモリ関数を使用できない場合、またはオプションの数学ライブラリ間のメモリ使用量の違いに関心があるような場合です。
149149

150-
wolfSSLは、デフォルトではmalloc()とfree()を使用しています。通常の整数演算ライブラリを使用する場合、wolfCryptはrealloc()も使用します。
150+
wolfSSLは、デフォルトではmalloc()とfree()を使用しています。
151+
旧来使用されてきた第1世代の整数演算ライブラリ(Normal Math)を使用する場合、wolfCryptはrealloc()も使用します。
151152

152-
デフォルトでは、wolfSSL/wolfCryptは、通常の整数ライブラリを使用します。これは、かなりの動的メモリを使用します。 wolfSSLを構築する場合、FastMathライブラリのほうを有効にすることができます。こちらは通常速度も速く、暗号操作(すべてのスタック上)には動的メモリーを使用しません。 Fastmathを使う場合、wolfSSLはrealloc()の実装を必要としません。 wolfSSLのSSL層はそのほかにもいくつかの処理で動的メモリを使用しているので、malloc()とfree()は依然として必要です。
153+
現在、整数演算ライブラリとして最初期に開発された第1世代のNormal Mathライブラリ、パブリックドメインのTFM(Tom's Fast Math)をベースに開発した第2世代のFast Mathライブラリ、SP(Single Precision)最適化を適用した第3世代のSP Mathライブラリが存在します。
154+
このうち、第2世代以降のFast Math, SP Mathライブラリでは、暗号操作において動的メモリを使用しません。
153155

154-
通常の整数演算ライブラリとFastMathライブラリ間のリソース使用量(スタック/ヒープ)の比較のドキュメントを参照ご希望のかたはお知らせください。
156+
メモリ使用量とスピードの観点から、私たちはSP Mathライブラリの使用を推奨しています。
157+
wolfSSL 5.4.0以降ではデフォルトで採用しており、第1世代のNormal Mathライブラリは廃止予定です。
158+
詳細は以下のページをご覧ください。
155159

156-
FastMathを有効にするには、USE_FAST_MATHを定義し ./wolfcrypt/src/integer.cではなく ./wolfcrypt/src/tfm.cを使用します。 fastmathを使用するときはスタックメモリが大きいので、TFM_TIMING_RESISTANTも定義することをお勧めします。
160+
- [wolfSSLの新たな Multi-Precision 演算ライブラリ](https://wolfssl.jp/wolfblog/2021/02/03/multi-precision-math-library/)
161+
- [wolfSSL Math Library Comparison Matrix](https://www.wolfssl.com/wolfssl-math-library-comparison-matrix/)
162+
- [レガシー数学ライブラリを廃止します](https://wolfssl.jp/wolfblog/2023/03/13/deprecation-of-wolfssl-normal-math-library/)
157163

158-
標準のmalloc()、free()を、およびreallocの()関数が利用できない場合、XMALLOC_USERを定義します。これによりターゲット環境依存のカスタムフックを  ./wolfssl/wolfcrypt/types.h内に定義することができます
164+
wolfSSLのSSL層はそのほかにもいくつかの処理で動的メモリを使用しているため、malloc()とfree()は依然として必要です
159165

160-
XMALLOC_USERの使用方法の詳細については、wolfSSLマニュアルのセクション5.1.1.1を参照してください
166+
標準のmalloc()、free()を、およびreallocの()関数が利用できない場合、XMALLOC_USERを定義します。これによりターゲット環境依存のカスタムフックを  ./wolfssl/wolfcrypt/types.h内に定義することができます
161167

162-
https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-5-portability.html
168+
XMALLOC_USERの使用方法の詳細については、wolfSSLマニュアルの[5.1.1.1節](https://www.wolfssl.com/documentation/manuals/jp/wolfssl/chapter05.html#_3)を参照してください。
163169

164170
## 時計      
165171

@@ -179,11 +185,10 @@ A:C標準ライブラリがない場合、またはカスタムライブラリ
179185

180186
wolfSSLは、C標準ライブラリを使用しなくても、開発者がより高いレベルの移植性と柔軟性を得ることができます。そのようなとき、ユーザーはC標準のものの代わりに使用したい機能をマップする必要があります。
181187

182-
上のセクション2.8では、メモリ機能について説明しました。メモリ関数の抽象化に加えて、wolfSSLは文字列関数と数学関数も抽象化します。それぞれの関数は抽象化される関数の名前に対応してX<FUNC>の形で定義されます。
188+
上の2.8節では、メモリ機能について説明しました。メモリ関数の抽象化に加えて、wolfSSLは文字列関数と数学関数も抽象化します。それぞれの関数は抽象化される関数の名前に対応してX<FUNC>の形で定義されます。
183189

184-
詳細については、wolfSSLマニュアルのセクション5.1をお読みください
190+
詳細については、wolfSSLマニュアルの[5.1節](https://www.wolfssl.com/documentation/manuals/jp/wolfssl/chapter05.html#_2)をお読みください
185191

186-
https://www.wolfssl.com/wolfSSL/Docs-wolfssl-manual-5-portability.html
187192

188193
## ロギング
189194
Q:どういう場合このセクションが必要ですか?<br>
@@ -193,9 +198,7 @@ A:デバッグメッセージを有効にしたいが、stderrは使用でき
193198

194199
stdderが利用できない環境や、デバッグメッセージを別の出力ストリームや別の形式で出力したい場合、wolfSSLではアプリケーションはロギングコールバックに登録できます。
195200

196-
詳細については、wolfSSLマニュアルの第8.1節をお読みください。
197-
198-
https://www.wolfssl.com/wolfSSL/Docs-wolfssl-manual-8-debugging.html
201+
詳細については、wolfSSLマニュアルの[8.1節](https://www.wolfssl.com/documentation/manuals/jp/wolfssl/chapter08.html#_2)をお読みください。
199202

200203
## 公開鍵演算
201204

@@ -212,9 +215,7 @@ wolfSSLを使用すると、SSL / TLS層が公開鍵操作を行う必要があ
212215
- RSA暗号化コールバック
213216
- RSA復号化コールバック
214217

215-
詳細は、wolfSSLマニュアルのセクション6.4を参照してください。
216-
217-
https://www.wolfssl.com/wolfSSL/Docs-wolfssl-manual-6-callbacks.html
218+
詳細は、wolfSSLマニュアルの[6.4節](https://www.wolfssl.com/documentation/manuals/jp/wolfssl/chapter06.html#_5)を参照してください。
218219

219220
## アトミックレコード層処理
220221

@@ -228,15 +229,11 @@ A:TLSレコード層の独自の処理、特にMAC /暗号化と解読/検証
228229
MAC /暗号化コールバック関数
229230
コールバック関数の復号化/検証
230231

231-
詳細は、wolfSSLマニュアルのセクション6.3を参照してください。
232-
233-
https://www.wolfssl.com/wolfSSL/Docs-wolfssl-manual-6-callbacks.html
232+
詳細は、wolfSSLマニュアルの[6.3節](https://www.wolfssl.com/documentation/manuals/jp/wolfssl/chapter06.html#_4)を参照してください。
234233

235234
## 機能
236235

237236
Q:どういう場合このセクションが必要ですか?<br>
238237
A:機能を無効にする場合。
239238

240-
適切な定義を使用してwolfSSLをビルドするとき、機能を無効にすることができます。利用可能な定義のリストについては、wolfSSL Manualの第2章を参照してください。
241-
242-
https://www.wolfssl.com/wolfSSL/Docs-wolfssl-manual-2-building-wolfssl.html
239+
適切な定義を使用してwolfSSLをビルドするとき、機能を無効にすることができます。利用可能な定義のリストについては、wolfSSLマニュアルの[2章](https://www.wolfssl.com/documentation/manuals/jp/wolfssl/chapter02.html)を参照してください。

0 commit comments

Comments
 (0)