暗号セキュリティ
emCrypt
Non-RTOS/RTOS・ハードウェア・開発環境の依存性なく利用できるセキュリティプラットフォーム

Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

emCryptとは？

It simply works

暗号セキュリティの基盤ソフトウェアとして利用できる暗号ライブラリ

完全オリジナルコードで高いセキュリティを実現

オープンソースを利用し続ける限りかかえるセキュリティホールのリスクを回避

多くのCipher / Hashアルゴリズム / 鍵生成認証アルゴリズム
ランダムビット生成をサポート
ソフトウェア処理でも高速実行（ハードウェアアクセラレータにも対応）

コンパクト実装

小さなフットプリントで実装

Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

幅広いCPU対応

Arm Cortex / RISC-V / RX
RH850 / RL78 / SH2A / AVR
PICxx / STM8 / MSP430他

ANSI-Cソースコード
MISRA-C2012コーディングルール
開発環境・コンパイラ依存なし

量産ロイヤリティなし
開発ライセンス量産に対しての継続コストなし

emCryptユーザメリット洗練されたソースコード

It simply works

信頼性・安定性の高いソースコード

emCrypt はFIPS PUB, NIST, IETF RFCなどスタンダード規格/ドキュメントに準拠し、SEGGERがコンパクトな組込機器向けに独自開発したオリジナルソースコードで低リソースの組込マイコンで安定性の高い運用を実現整理されたファイル構造とAPI構造・各種設定・導入を分かりやすいAPIで実装
・必要な暗号ライブラリだけを選択実装
・利用するマイコンに合わせた最適化を柔軟に設定可能

導入容易性
開発しやすさ習得しやすいサンプルソースコード

豊富な標準サンプルソースコードで利用方法の習得がしやすくなっています。

ウェブマニュアル提供で製品導入前に導入技術検証が可能

・導入前にすべての機能のAPI利用方法、設定などをウェブマニュアルで確認できます。

ソフトウェア
継続性を強化突然のマイコン変更や製品横展開を容易に実現

・ハードウェア依存性のないソースコードでハードウェア変更を容易に実現
・コア制限のユーザライセンスで、追加コストなしにマイコン変更も容易に可能

Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

3SEGGERソフトウェアの基本設計

It simply works

リソースの限られたマイコンでもハードウェアの性能を活かし、機能制限なく利用できるよう設計
ROM/RAM リソース

コンパクトなマイコンへの搭載を前提に開発
厳しいリソース要求にも対応

ROM/RAM リソース
ユーザアプリケーション
ユーザアプリケーション

ROM/RAM リソース

ユーザアプリケーション
SGGERソフト専用メモリバッファ(RAM)

SGGERソフト専用メモリバッファ(RAM)

SGGERソフト専用メモリバッファ(RAM)SEGGER RTOS/Middleware

SEGGER RTOS/Middleware

SEGGER RTOS/Middleware

32bit MCU

32bit MCUMPU

Cortex-A/R and moreHigh performance
Cortex-M / RX and more

Low energy
Cortex-M / RX and more

ROM/RAMリソース

ユーザアプリケーション
SGGERソフト専用メモリバッファ(RAM)SEGGER RTOS/Middleware

16bit MCU

RL78 / MSP430 / STM8 / AVR
and more

SEGGERソフト専用メモリバッファ:
SEGGERソフトウェアが処理速度を向上させるために使用する一時的なメモリプール。ユーザアプリケーション、ハードウェアリソースに合わせて、領域サイズを変更可能です。
Copyright © 2023 EmbiTeK Co., Ltd. All Rights Reserved.

4

emCrypt： 様々なプロトコル・サービスで利用できる共通ライブラリ

It simply works

暗号セキュリティで共通化された暗号ライブラリ■ 広範な暗号アルゴリズムをサポート■ 小さなメモリフットプリントで動作可能■ リソースの割り当てを増やすことで高速処理■ オープンソースコード・GPL コードを含みません■ 暗号アルゴリズムを除外・追加も簡単に対応■ RTOS の有無にかかわらず利用可能■ ハードウェアアクセラレータ対応（オプション）
すべてソースコードで提供されるため、コードの脆弱性やオブジェクト提供ではチェックできないバックドアの懸念を回避することができます。
実装に必要なROM/RAM はユーザアプリケーション要求の暗号・アルゴリズムによって異なります。
5
Copyright © 2023 EmbiTeK Co., Ltd. All Rights Reserved.

emCrypt 提供ライブラリ

It simply works

対応する暗号・アルゴリズムなど

6
Copyright © 2023 EmbiTeK Co., Ltd. All Rights Reserved.

emCrypt ライセンスパッケージ

It simply works

暗号セキュリティで共通化された暗号ライブラリ

BASEパッケージ

PROパッケージ
自己診断
サンプルコード含む

Ciphers

AES-128, AES-192, AES-256, DES
TripleDES (also known as 3DES or TDES) with all keying options

hash algorithms

MD5, RIPEMD-160
SHA-1, SHA-224, SHA-256. SHA-384, SHA-512, SHA-512/224, SHA-512/256

Ciphers

AES, XTS-AES, DES, TripleDES, ARIA, SEED, Camellia, Blowfish, Twofish, IDEA

hash algorithms

MD5, RIPEMD-160, SHA-1, SHA-2 family, SHA-3 family, SM3MAC algorithms

HMAC, CMAC, GMAC, KMAC, Michael

key derivation algorithms

KDF1, KDF2, HKDF, PBKDF2, X9.63 KDF

key agreement protocols

DH, ECDH, X25519, X448

digital signature protocols

RSASSA-PSS, RSASSA-PKCS1, DSA, ECDSA, Ed25519, Ed448

key generation algorithms

RSA and DSA, probabilistic and proven primes

random bit generators

Fortuna, Hash_DRBG, HMAC_DRBG, CTR_DRBG

extendable output functions

SHAKE128, SHAKE256, cSHAKE128, cSHAKE256

key encapsulation functions

RSAES-OAEP, AESKW, Camellia-KW, ARIA-KW, SEED-KW, Twofish-KW

NIST prime curves

P-192, P-224, P-256, P-384, P-521

Brainpool curves / twisted curves

brainpoolP160r1 through brainpoolP512r1

7

emCrypt – ハードウェアアクセラレータベンチマーク

It simply works

HALオプション

emCrypt ハードウェアアクセラレータ
暗号化・復号化をハードウェアアクセラレータ利用で高速処理

暗号・復号製品はCPUメーカ各社の暗号ハードウェアアクセラレータに対応したドライバモジュールをオプション提供しています。ソフトウェア処理に変えてハードウェア処理する事により高速な演算が可能になります。emCrypt, emSSL, emSSH, emSecureで利用可能です。
（ハードウェアアクセラレータはそれぞれの製品毎に設定されています）

CPUメーカNXP
Silicon Labs
STHAL

対応暗号・アルゴリズム

Kinetis-CAU

DES in ECB and CBC modes.
TDES in ECB and CBC modes with keying options 1, 2, and 3.
AES-128, AES-192, and AES-256 in ECB and CBC modes.
MD5, SHA-1, SHA-256, RNG

LPC18S / LPC43S HAL

AES-128 in ECB and CBC modes.

EFM32 CRYPTO

SHA-1, RSA, DSA

STM32 CRYP

DES in ECB and CBC modes.
TDES in ECB and CBC modes with keying options 1, 2, and 3.
AES-128, AES-192, and AES-256 in ECB and CBC modes.

8emCrypt – ハードウェアアクセラレータベンチマーク

It simply works

HALオプションの適用で暗号化・復号化処理を高速化

emCrypt ハードウェアアクセラレータ ベンチマーク
NXP Kinetis-CAU

SpeedupMode

SoftwarePerformance

HardwarePerformance

8.20 MB/s

x3.8

DES-ECB

Encrypt

1.05 MB/s

11.74 MB/s

x11.2

1.86 MB/s

6.87 MB/s

x3.7

DES-EDE2-ECB

Encrypt

0.36 MB/s

11.74 MB/s

x32.6

Encrypt

1.62 MB/s

6.09 MB/s

x3.8

DES-EDE3-ECB

Encrypt

0.36 MB/s

11.74 MB/s

x32.6

AES-128-CBC

Encrypt

1.72 MB/s

7.91 MB/s

x4.6

DES-CBC

Encrypt

0.90 MB/s

11.84 MB/s

x13.1

AES-192-CBC

Encrypt

1.52 MB/s

6.56 MB/s

x4.3

DES-EDE2-CBC

Encrypt

0.34 MB/s

11.85 MB/s

x34.7

AES-256-CBC

Encrypt

1.36 MB/s

5.85 MB/s

x4.3

DES-EDE3-CBC

Encrypt

0.34 MB/s

11.85 MB/s

x34.7

AES-128-CBC

Decrypt

1.61 MB/s

6.67 MB/s

x4.2

DES-CBC

Decrypt

0.84 MB/s

9.48 MB/s

x11.3

AES-192-CBC

Decrypt

1.43 MB/s

5.77 MB/s

x4.0

DES-EDE2-CBC

Decrypt

0.33 MB/s

9.48 MB/s

x28.7

AES-256-CBC

Decrypt

1.29 MB/s

5.08 MB/s

x3.9

DES-EDE3-CBC

Decrypt

0.33 MB/s

9.48 MB/s

x28.7

CipherMode

SoftwareHardwarePerformance Performance

AES-128-ECB

Encrypt

2.17 MB/s

AES-192-ECB

Encrypt

AES-256-ECB

Speedupハードウェアアクセラレータを利用することで処理速度を大幅に向上させることができます。
9

emLib – 提供機能を限定したライブラリ製品

It simply works

単機能を実現するライブラリ製品

emLib

アプリケーションの目的に合わせて利用可能なシンプルライブラリ「emLib」は暗号化モジュール「AES」「DES」やデータ整合性チェックモジュール「CRC」「ECC」のみを提供するローコストなライブラリ製品となります。お客様のアプリケーションに必要となるライブラリを選択実装して、暗号化、データ整合性チェックを必要に応じて呼び出すことができます。

暗号ライブラリ

データ整合性チェック

emLib AES

emLib DES

emLib CRC

emLib ECC

AES-128, AES-256ライブラ
リ。16バイトを超えるデー
タの暗号化/復号化のためのチェーンブロック処理

DES（56ビット）ライブラ
リ、DES関数を複数回呼び出して、より高いセキュリティ（TDES、TripleDES）も実現可能

汎用CRC機能に加えて、CRC-CCITT、CRC-16、CRC-32など一般的なCRCの最適化されたライブラリ

複数ビットエラーの検出と修正のためのルーチンを提供。
4、8、24、および40ビットのエラー訂正ライブラリ10emCrypt 性能ベンチマーク■ 必要リソース■ 速度ベンチマーク

最小のリソースで高速な処理を実現。

Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

emCrypt – 必要ROM/RAMリソース（実装例）

It simply works

各機能ごとの必要リソース (Cortex-M3マイコン実装時）｜MD5｜SHA-512

Setting

Context size

LUT

LUT size

Code size

Total size

Setting

Context size

LUT

LUT size

Code size

Total size

00.16 KB

Flash

0.3 KB

0.4 KB

0.7 KB

00.20 KB

Flash

0.7 KB

1.1 KB

1.8 KB

10.16 KB

-2.0 KB

2.0 KB

10.20 KB

Flash

0.7 KB

10.3 KB

11.0 KB

20.20 KB

Flash

0.1 KB

41.5 KB

41.6 KB｜RIPEMD-160
Setting

Context size

LUT

LUT size

Code size

Total size

｜DES

00.16 KB

Flash

0.3 KB

0.7 KB

1.0 KB

Setting

Context size

LUT

LUT size

Code size

Total size

10.16 KB-

4.6 KB

4.6 KB

00.38 KB

Flash

2.1 KB

1.3 KB

3.4 KB

10.38 KB

Flash

2.1 KB

2.1 KB

4.2 KB

20.38 KB

Flash

2.1 KB

5.3 KB

7.4 KB

30.38 KB

RAM

2.1 KB

1.3 KB

3.4 KB

40.38 KB

RAM

2.1 KB

2.1 KB

4.2 KB

50.38 KB

RAM

2.1 KB

5.3 KB

7.4 KB｜SHA-1
Setting

Context size

LUT

00.16 KB

1

0.16 KB

LUT size

Code size

Total sizeFlash

0.6 KB

0.6 KB-

3.6 KB

3.6 KB｜SHA-256
Setting

Context size

LUT

LUT size

Code size

Total size

00.17 KB

Flash

0.3 KB

0.5 KB

0.8 KB

10.17 KB--

7.7 KB

7.7 KB12

emCrypt – 必要ROM/RAMリソース（実装例）

It simply works

各機能ごとの必要リソース (Cortex-M3マイコン実装時）｜ARIA｜AESSetting

Context size

LUT

LUT size

Code size

Total size

Setting

Context size

LUT

LUT size

Code size

Total size

00.24 KB

Flash

2.0

3.2

5.2

00.28

Flash

1.0 KB

1.9 KB

2.9 KB

10.24 KB

Flash

2.0

2.7

4.7

10.28

RAM

1.0 KB

1.9 KB

2.9 KB

20.24 KB

Flash

8.5

2.4

10.9

30.24 KB

Flash

1.9

12.5

14.4

4

0.24 KB

RAM

2.0

3.2

5.2Setting

Context size

LUT

LUT size

Code size

Total size

50.24 KBRAM

2.02.74.700.10

F lash

8.0 KB

3.5

11.5

60.24 KB

RAM

8.5

2.4

10.9

10.10

RAM

8.0 KB

3.7

11.7

7

0.24 KB

RAM

1.912.5

14.4Setting

Context size

LUT

LUT size

Code size

Total size

00.27 KB

Flash

1.0 KB

28.8 KB

29.8 KB

10.27 KB

Flash

4.0 KB

20.7 KB

24.7 KB

20.27 KB

RAM

1.0 KB

28.8 KB

29.8 KB

30.27 KB

RAM

4.0 KB

20.7 KB

24.7 KB｜SEEDSetting

Context size

LUT

LUT size

Code size

Total size

00.14

Flash

0.5

0.5

1.0

10.14

Flash

4.0

0.4

4.4

20.14

RAM

0.5

0.5

1.0

30.14

RAM

4.0

0.4

4.4

｜CAST

｜Camelia

13emCrypt – 必要ROM/RAMリソース（実装例）

It simply works

各機能ごとの必要リソース (Cortex-M3マイコン実装時）｜TwofishSetting

Context size

LUT

LUT size

Code size

Total size

Setting

Context size

LUT

LUT size

Code size

Total size

00.2

Flash0.6 KB

3.4

4.0

80.2

RAM

0.6

3.4

4.0

1

0.2

Flash4.6

3.1

7.7

90.2

RAM

4.6

3.1

7.7

20.2

Flash8.5

3.2

11.7100.2

RAM

8.5

3.2

11.7

3

0.2

Flash

12.5

2.8

15.3

110.2

RAM

12.5

2.8

15.3

4

4.2

Flash

0.6

3.4

4.0

124.2

RAM

0.6

3.4

4.0

5

4.2

Flash

4.6

3.1

7.7

13

4.2

RAM

4.6

3.1

7.7

6

4.2

Flash

8.5

3.2

11.7

144.2

RAM

8.5

3.2

11.7

7

4.2

Flash

12.5

2.8

15.3

154.2

RAM

12.5

2.8

15.3

Setting

Context size

LUT

LUT size

Code size

Total size

0

4.0 KBFlash

4.0 KB

0.7 KB

4.7 KB1

4.0 KBRAM

4.0 KB

1.1 KB

5.1 KB｜Blowfish

14

emCrypt – 各種CPU毎のベンチマークデータ

It simply works

各機能・マイコンごとの速度ベンチマーク｜AES benchmark｜ECDSA benchmark

15emCrypt – 各種CPU毎のベンチマークデータ

It simply works

各機能・マイコンごとの速度ベンチマーク｜Modular exponentiation benchmark

SEGGER社Wikiページでデータ提供
https://wiki.segger.com/emCrypt16

emCrypt 開発・導入支援■ ウェブ公開の製品マニュアル■ サンプルアプリケーション■ 評価ボード無償評価版

使いやすいAPIでアプリケーション開発

Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

emCrypt – HTMLマニュアルで日本語表示対応
製品マニュアルをライセンス導入前から閲覧可能
https://www.segger.com/doc/UM12006_emCrypt.html

ブラウザの翻訳機能で日本語表示可能
Google Chrome推奨

Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

18

emCrypt – サンプルアプリケーション
emCryptライブラリを使った「End-to-End 暗号化通信」「emCrypt」を利用することで、SEGGER暗号ライブラリをユーザアプリケーションから直接利用し、独自の暗号処理を実現することができます。
SEGGER社サンプルアプリケーション「End-to-End 暗号化通信」
2 つのクライアント間で、End-toEnd暗号化通信を簡単に有効にする方法を示します。このサンプルは、300行未満のコードで構成される、認証および暗号化された通信のリファレンスです。

https://www.segger.com/downloads/emcrypt/
Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

19

emCrypt – サンプルアプリケーション
emCryptライブラリを使った「ECDHE鍵交換」

サンプルソースコード

https://www.segger.com/products/security-iot/emcrypt/examples/ecdhe-key-agreement/
Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

20評価ボード無償評価版
各種評価ボードで評価サンプルを利用できます。

ウェブからダウンロード可能

https://www.embitek.co.jp/download/evalsamples/21
Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

emCryptライセンスモデル

ニーズに合わせて選択可能なライセンスモデル

Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

SEGGER社ソフトウェアライセンスモデル
永久ライセンス・量産ロイヤリティなしで継続的な費用は必須ではありません。
シングルプロダクト

プロダクトファミリ（個別提案）

シングルデベロッパ（ユーザ）（個別提案）

開発可能製品数

1製品型番

1製品ファミリ

無制限

無制限

利用可能開発者数

無制限

無制限

1名

無制限

1CPU型番1CPU型番

1CPUアーキテクチャ

1CPUアーキテクチャ

1種類

1種類

1種類

1種類CPUコンパイラ

多数の開発者で1つの製品を開発する。
プロジェクト単位で予算計上

Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

CPU

複数の開発プロジェクトで共通利用
開発プラットフォーム化に最適

23

開発プラットフォームとして最適なシングルデベロッパ／CPUライセンス
開発プロジェクトは無制限／開発者人数に応じたライセンス

シングルデベロッパ（ユーザ）

開発可能製品数

利用可能開発者数

CPU

コンパイラ

無制限

１名

1CPUアーキテクチャ

1種類「シングルデベロッパライセンス」は開発プロジェクトに制限されず、無制限に製品開発が可能です。開発者様が複数の開発プロジェクトを担当するなど、多品種開発に最適なライセンスです。
CPUアーキテクチャが同じCPUであれば、製品毎のCPU変更（デバイスメーカ変更）も対応可能です。

CPU

開発可能製品数

利用可能開発者数

CPU

コンパイラ

無制限

無制限

1CPUアーキテクチャ

1種類「CPUライセンス」は同一CPUアーキテクチャのCPUで複数の開発プロジェクト、開発者の人数に係わらず利用可能です。本ライセンスにより、SEGGER社製RTOS/ミドルウェアを含むソースコードを企業内で、共有ができます。御社内のソフトウェア
プラットフォーム化に最適なライセンスです。
本ライセンスは、すべてお客様のご要望に従い都度提案となりますので、必ずしもCPUの制限事項が１CPUアーキテクチャになるわけではなく、ご要望に応じたライセンス提案をさせていただいています。

Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

24大規模な開発プロジェクトに最適なシングルプロダクト／プロダクトファミリライセンス
開発者の人数は無制限（外部協力会社含む）で特定の製品開発に利用可能なライセンス

シングルプロダクト

開発可能製品数

利用可能開発者数

CPU

コンパイラ

1製品型番

無制限

1デバイス型番

1種類

複数の開発者で１つの製品（製品型番）開発が可能です。開発者様が多い大規模開発や品種展開を想定しない製品開発に最適。
製品メーカ様へのライセンスで、該当製品開発に係わる開発者は本ライセンスで利用可能です。受託開発で利用検討の場合は、ライセンス契約者として、受託元様での契約をお願いいたします。
例）「J-Link BASE」で契約し、「J-Link BASE」を開発する。

プロダクトファミリ

開発可能製品数

利用可能開発者数

CPU

コンパイラ

1製品ファミリ無制限

1デバイス型番1種類「プロダクトライセンス」の適用範囲を広げて、１製品シリーズの開発が可能です。開発者様が多い大規模開発で、派生製品開発を行う場合に最適となります。プロダクトファミリの定義は、お客様の要望に応じて、都度SEGGER社と協議の上、ライセンス費用提示となります。
例）「J-Linkシリーズ」で契約し、「J-Link BASE」「J-Link PLUS」「J-Link PRO」を開発する。
※適用範囲について、適宜ご相談ください。

Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

25

提供会社
EmbiTeK | SEGGER

Copyright © 2023 SEGGER | EmbiTeK Co., Ltd. All Rights Reserved.

26

SEGGER Microcontroller GmbH

組込みシステムで30年以上の経験を持ち、最先端のRTOSおよびソフトウェアライブラリを開発ハードウェアツール(開発 / 生産用)とソフトウェアツールをカバーします。
CEO : Ivo Geilenbruegge設 立：1992年
本 社：モーンハイム・アム・ライン（ドイツ）
拠 点：米国 / 中国
30カ国以上に販売代理店を通して展開
RTOS/ミドルウェア

IDE

Copyright © 2023 SEGGER | EmbiTeK Co., Ltd. All Rights Reserved.

デバッグツール

書込みツール株式会社エンビテック

お客様の要件に合わせ、様々なシナリオで適合できる最適なソフトウェア開発環境
ソフトウェアコンポーネントを提供します。
代表取締役 : サントシュ パワル
設 立：2007年
本 社：東京都墨田区菊川2-3-6 菊川栄光ビル 601
日本国内唯一のSEGGER社製品販売オフィシャルパートナー
テクニカルサポート／ポーティング受託開サービスを提供
都営新宿線「菊川駅」徒歩3分
Copyright © 2023 SEGGER | EmbiTeK Co., Ltd. All Rights Reserved.

Arm Cortex/RXソフトウェア開発から量産をサポート

製品開発フローの課題に合わせて対応

デバッガ

開発ツール

Arm Cortex / RX CPU
量産書込
Copyright © 2023 SEGGER | EmbiTeK Co., Ltd. All Rights Reserved.

29

製品については、お気軽に以下窓口へお問い合わせください。

TELFAXe-mailwebsite: 03-6240-2655: 03-6240-2656: sales@embitek.co.jp: https://www.embitek.co.jp

EmbiTeK Online Shop
https://www.embitek.shop/

http://www.youtube.com/@embitek

Copyright © 2024 EmbiTeK Co., Ltd. All Rights Reserved.

30