# ElectroMagnetic Mining Array (EMMA)
EMMA is a framework for capturing and attacking traces of electromagnetic radiation emitted by an electronic device, in order to obtain encryption keys or other sensitive data.
## Installation
The recommended way of installing EMMA is via `venv`:
```bash
$ cd <emma_root_directory>
$ python -m venv env
$ source env/bin/activate
$ pip install -r requirements.txt
$ emma.py -h
```
## Configuration
Two config files should be added to the EMMA root directory: `settings.conf` and `datasets.conf`.
### `settings.conf`
#### Example configuration
```
[Network]
broker = redis://:password@redisserver:6379/0
backend = redis://:password@redisserver:6379/0
[Datasets]
datasets_path = /home/user/my-dataset-directory/
stream_interface = eth0
[EMMA]
remote = True
```
### `datasets.conf`
#### Example configuration
```
# Custom dataset (train)
[em-corr-arduino]
format=cw
reference_index=0
# Custom dataset (test)
[em-cpa-arduino]
format=cw
reference_index=0
# ASCAD database
[ASCAD]
format=ascad
reference_index=0
```
## Getting started
Although EMMA can run on a single machine, ideally at least two machines should be used to perform an analysis: a master (low-end device for sending commands) and one or more slaves (high-end devices for performing calculations). At least one device must have `redis` installed and configured. Before continuing, make sure this device is listed as the backend in `settings.conf` (see above).
On each slave that should perform computations, run the following command to automatically spawn worker processes for each available CPU:
```
$ celery -A emma_worker worker -l info -Q celery,priority.high
```
Note that each slave should be able to access the datasets listen in `datasets.conf`. Now, the master can issue commands to process these datasets.
```
$ emma.py plot ASCAD:Profiling_traces
```
Most ops can be executed locally (without distributing tasks to worker nodes):
```
$ emma.py plot ASCAD:Profiling_traces --local
```
See `emma.py -h` for a full list of available commands.
## EMcap
EMcap is a tool that allows for convenient capturing and storage of EM trace datasets using Software Defined Radios (SDRs).
See `emcap.py -h` for a full list of available commands.
## Running tools
```bash
$ cd <emma_root_directory>
$ PYTHONPATH=. tools/visualize_dataset.py em-cpa-arduino
```
## Citing
If this project was helpful to you and you wish to credit the project, you could list the following citation in your work:
Robyns, P., Quax, P. and Lamotte, W. 2018. Improving CEMA using Correlation Optimization. IACR Transactions on Cryptographic Hardware and Embedded Systems. 2019, 1 (Nov. 2018), 1-24. DOI:https://doi.org/10.13154/tches.v2019.i1.1-24.
没有合适的资源?快使用搜索试试~ 我知道了~
电磁采矿阵列,一种在密码学背景下 对电磁辐射进行分布式分析的工具_python_代码_下载
共64个文件
py:59个
license_ascad:1个
md:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 135 浏览量
2022-07-04
02:21:10
上传
评论
收藏 100KB ZIP 举报
温馨提示
电磁采矿阵列 (EMMA) EMMA 是一个框架,用于捕获和攻击电子设备发出的电磁辐射痕迹,以获得加密密钥或其他敏感数据。 更多详情、使用方法,请下载后阅读README.md文件
资源推荐
资源详情
资源评论
收起资源包目录
emma-master.zip (64个子文件)
emma-
ascad
ASCAD_test_models.py 9KB
ASCAD_generate.py 7KB
LICENSE_ASCAD 273B
__init__.py 0B
ASCAD_train_models.py 9KB
tools
visualize_ascad.py 1KB
simulation.py 14KB
visualize_dataset.py 2KB
convert_screaming_to_cw.py 4KB
pca_transform_dataset.py 2KB
paper_tools.py 21KB
get_dataset_statistics.py 2KB
emma_worker.py 1KB
LICENSE 1KB
emma
metrics
distancelist.py 936B
correlationlist.py 2KB
__init__.py 0B
processing
action.py 1KB
__init__.py 0B
ops.py 39KB
dsp.py 2KB
activities.py 14KB
emcap
types.py 216B
sdr.py 4KB
online_client.py 1KB
streamserver.py 2KB
__init__.py 0B
ttywrapper.py 956B
tests
test_attacks.py 4KB
unittestsettings.py 108B
test_emma.py 30KB
__init__.py 47B
__init__.py 0B
ai
models.py 34KB
iterators.py 12KB
rankcallbacks.py 8KB
inputs.py 6KB
__init__.py 0B
saliency.py 4KB
lossfunctions.py 4KB
io
traceset.py 3KB
io.py 7KB
dataset.py 3KB
__init__.py 0B
emresult.py 669B
attacks
leakagemodels.py 15KB
lut.py 2KB
cpa_attack.py 2KB
__init__.py 26B
utils
configargumentparser.py 2KB
utils.py 7KB
debug.py 14B
visualizations.py 8KB
socketwrapper.py 2KB
__init__.py 0B
memstore.py 452B
namedtuples.py 19B
registry.py 3KB
emcap-compress.py 2KB
emcap.py 14KB
requirements.txt 667B
.gitignore 106B
README.md 3KB
emma.py 13KB
共 64 条
- 1
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功