# ASCAD V1 Models Repository This repository contains all trained models for the ASCAD (ANSSI SCA Database) side-channel attack project. Models are organized by desynchronization level and architecture variant. ## Repository Structure ``` desync{N}/ {variant}/ # Multi-task models (LMIC-TSBN, HPS, MTAN Lite, LMIC) model.h5 # Trained Keras model results.json # Evaluation results (per-byte ranks) rank_curve_byte{X}.npy # Rank convergence curves {model_type}/ # Per-byte models (CNN, MLP) byte{X}/ model.h5 results.json rank_curve.npy ``` ## Model Inventory ### Multi-Task Models (all 16 bytes simultaneously) | Desync | Variant | Rank 0 Count | Max Rank | Mean Rank | Params | Epochs | Train Time | |--------|---------|-------------|----------|-----------|--------|--------|------------| | desync0 | hps | 2/16 | 129 | 49.8 | 5,250,688 | 134 | 193.2m | | desync0 | lmic | 15/16 | 14 | 0.9 | 1,508,224 | 68 | 26.0m | | desync0 | lmic_tsbn | 16/16 | 0 | 0.0 | 267,968 | 170 | 28.4m | | desync0 | lmic_tsbn_no_cosine | 16/16 | 0 | 0.0 | 1,023,232 | 400 | 257.5m | | desync0 | lmic_tsbn_no_dtp | 16/16 | 0 | 0.0 | 1,023,232 | 170 | 108.9m | | desync0 | lmic_tsbn_no_sd | 16/16 | 0 | 0.0 | 1,023,232 | 170 | 109.2m | | desync0 | lmic_tsbn_small | 16/16 | 0 | 0.0 | 267,968 | 170 | 28.4m | | desync0 | mtan_lite | 2/16 | 246 | 79.1 | 7,897,728 | 75 | 80.7m | | desync50 | lmic_tsbn | 16/16 | 0 | 0.0 | 1,023,232 | 170 | 36.2m | | desync100 | lmic_tsbn | 16/16 | 0 | 0.0 | 1,023,232 | 170 | 36.3m | ### Per-Byte Models (one model per byte) | Desync | Model Type | Bytes Available | Notes | |--------|-----------|----------------|-------| | desync0 | cnn | 1/16 | | | desync0 | mlp | 1/16 | | | desync50 | cnn | 1/16 | | | desync50 | mlp | 1/16 | | | desync100 | cnn | 1/16 | | | desync100 | mlp | 1/16 | | ## Detailed Per-Byte Results (Multi-Task Models) ### desync0/hps | Byte | Final Rank | Rank@500 | Rank@1000 | Pre-Rank | Min Rank | Max Rank | |------|-----------|----------|-----------|----------|----------|----------| | 0 | 0 | 0 | ? | ? | 0 | ? | | 1 | 0 | 0 | ? | ? | 0 | ? | | 2 | 2 | 14 | ? | ? | 1 | ? | | 3 | 66 | 211 | ? | ? | 29 | ? | | 4 | 57 | 66 | ? | ? | 29 | ? | | 5 | 86 | 194 | ? | ? | 19 | ? | | 6 | 27 | 40 | ? | ? | 0 | ? | | 7 | 19 | 33 | ? | ? | 1 | ? | | 8 | 41 | 161 | ? | ? | 39 | ? | | 9 | 91 | 61 | ? | ? | 16 | ? | | 10 | 129 | 71 | ? | ? | 29 | ? | | 11 | 14 | 3 | ? | ? | 0 | ? | | 12 | 39 | 26 | ? | ? | 13 | ? | | 13 | 88 | 194 | ? | ? | 78 | ? | | 14 | 109 | 198 | ? | ? | 98 | ? | | 15 | 28 | 5 | ? | ? | 1 | ? | ### desync0/lmic | Byte | Final Rank | Rank@500 | Rank@1000 | Pre-Rank | Min Rank | Max Rank | |------|-----------|----------|-----------|----------|----------|----------| | 0 | 0 | 0 | ? | ? | 0 | ? | | 1 | 0 | 0 | ? | ? | 0 | ? | | 2 | 0 | 1 | ? | ? | 0 | ? | | 3 | 0 | 1 | ? | ? | 0 | ? | | 4 | 14 | 171 | ? | ? | 10 | ? | | 5 | 0 | 0 | ? | ? | 0 | ? | | 6 | 0 | 20 | ? | ? | 0 | ? | | 7 | 0 | 0 | ? | ? | 0 | ? | | 8 | 0 | 0 | ? | ? | 0 | ? | | 9 | 0 | 20 | ? | ? | 0 | ? | | 10 | 0 | 0 | ? | ? | 0 | ? | | 11 | 0 | 0 | ? | ? | 0 | ? | | 12 | 0 | 0 | ? | ? | 0 | ? | | 13 | 0 | 6 | ? | ? | 0 | ? | | 14 | 0 | 0 | ? | ? | 0 | ? | | 15 | 0 | 4 | ? | ? | 0 | ? | ### desync0/lmic_tsbn | Byte | Final Rank | Rank@500 | Rank@1000 | Pre-Rank | Min Rank | Max Rank | |------|-----------|----------|-----------|----------|----------|----------| | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | 2 | 0 | 0 | 0 | 235 | 0 | 235 | | 3 | 0 | 0 | 0 | 228 | 0 | 228 | | 4 | 0 | 0 | 0 | 14 | 0 | 14 | | 5 | 0 | 0 | 0 | 20 | 0 | 57 | | 6 | 0 | 0 | 0 | 35 | 0 | 44 | | 7 | 0 | 0 | 0 | 7 | 0 | 7 | | 8 | 0 | 0 | 0 | 63 | 0 | 63 | | 9 | 0 | 0 | 0 | 14 | 0 | 14 | | 10 | 0 | 0 | 0 | 98 | 0 | 98 | | 11 | 0 | 0 | 0 | 57 | 0 | 89 | | 12 | 0 | 0 | 0 | 41 | 0 | 53 | | 13 | 0 | 0 | 0 | 209 | 0 | 209 | | 14 | 0 | 0 | 0 | 153 | 0 | 153 | | 15 | 0 | 0 | 0 | 1 | 0 | 1 | ### desync0/lmic_tsbn_no_cosine | Byte | Final Rank | Rank@500 | Rank@1000 | Pre-Rank | Min Rank | Max Rank | |------|-----------|----------|-----------|----------|----------|----------| | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | 2 | 0 | 0 | 0 | 193 | 0 | 193 | | 3 | 0 | 0 | 0 | 247 | 0 | 247 | | 4 | 0 | 0 | 0 | 32 | 0 | 52 | | 5 | 0 | 0 | 0 | 36 | 0 | 56 | | 6 | 0 | 0 | 0 | 35 | 0 | 35 | | 7 | 0 | 0 | 0 | 10 | 0 | 10 | | 8 | 0 | 0 | 0 | 76 | 0 | 76 | | 9 | 0 | 0 | 0 | 23 | 0 | 23 | | 10 | 0 | 0 | 0 | 146 | 0 | 146 | | 11 | 0 | 0 | 0 | 93 | 0 | 101 | | 12 | 0 | 0 | 0 | 47 | 0 | 61 | | 13 | 0 | 0 | 0 | 196 | 0 | 196 | | 14 | 0 | 0 | 0 | 131 | 0 | 131 | | 15 | 0 | 0 | 0 | 0 | 0 | 0 | ### desync0/lmic_tsbn_no_dtp | Byte | Final Rank | Rank@500 | Rank@1000 | Pre-Rank | Min Rank | Max Rank | |------|-----------|----------|-----------|----------|----------|----------| | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | 2 | 0 | 0 | 0 | 229 | 0 | 229 | | 3 | 0 | 0 | 0 | 229 | 0 | 229 | | 4 | 0 | 0 | 0 | 5 | 0 | 22 | | 5 | 0 | 0 | 0 | 10 | 0 | 10 | | 6 | 0 | 0 | 0 | 37 | 0 | 40 | | 7 | 0 | 0 | 0 | 11 | 0 | 11 | | 8 | 0 | 0 | 0 | 66 | 0 | 66 | | 9 | 0 | 0 | 0 | 24 | 0 | 24 | | 10 | 0 | 0 | 0 | 110 | 0 | 110 | | 11 | 0 | 0 | 0 | 86 | 0 | 87 | | 12 | 0 | 0 | 0 | 65 | 0 | 65 | | 13 | 0 | 0 | 0 | 193 | 0 | 206 | | 14 | 0 | 0 | 0 | 129 | 0 | 129 | | 15 | 0 | 0 | 0 | 2 | 0 | 2 | ### desync0/lmic_tsbn_no_sd | Byte | Final Rank | Rank@500 | Rank@1000 | Pre-Rank | Min Rank | Max Rank | |------|-----------|----------|-----------|----------|----------|----------| | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | 2 | 0 | 0 | 0 | 227 | 0 | 227 | | 3 | 0 | 0 | 0 | 237 | 0 | 237 | | 4 | 0 | 0 | 0 | 2 | 0 | 2 | | 5 | 0 | 0 | 0 | 5 | 0 | 5 | | 6 | 0 | 0 | 0 | 44 | 0 | 59 | | 7 | 0 | 0 | 0 | 2 | 0 | 2 | | 8 | 0 | 0 | 0 | 26 | 0 | 26 | | 9 | 0 | 0 | 0 | 38 | 0 | 38 | | 10 | 0 | 0 | 0 | 60 | 0 | 60 | | 11 | 0 | 0 | 0 | 33 | 0 | 47 | | 12 | 0 | 0 | 0 | 66 | 0 | 91 | | 13 | 0 | 0 | 0 | 193 | 0 | 194 | | 14 | 0 | 0 | 0 | 154 | 0 | 154 | | 15 | 0 | 0 | 0 | 4 | 0 | 4 | ### desync0/lmic_tsbn_small | Byte | Final Rank | Rank@500 | Rank@1000 | Pre-Rank | Min Rank | Max Rank | |------|-----------|----------|-----------|----------|----------|----------| | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | 2 | 0 | 0 | 0 | 235 | 0 | 235 | | 3 | 0 | 0 | 0 | 228 | 0 | 228 | | 4 | 0 | 0 | 0 | 14 | 0 | 14 | | 5 | 0 | 0 | 0 | 20 | 0 | 57 | | 6 | 0 | 0 | 0 | 35 | 0 | 44 | | 7 | 0 | 0 | 0 | 7 | 0 | 7 | | 8 | 0 | 0 | 0 | 63 | 0 | 63 | | 9 | 0 | 0 | 0 | 14 | 0 | 14 | | 10 | 0 | 0 | 0 | 98 | 0 | 98 | | 11 | 0 | 0 | 0 | 57 | 0 | 89 | | 12 | 0 | 0 | 0 | 41 | 0 | 53 | | 13 | 0 | 0 | 0 | 209 | 0 | 209 | | 14 | 0 | 0 | 0 | 153 | 0 | 153 | | 15 | 0 | 0 | 0 | 1 | 0 | 1 | ### desync0/mtan_lite | Byte | Final Rank | Rank@500 | Rank@1000 | Pre-Rank | Min Rank | Max Rank | |------|-----------|----------|-----------|----------|----------|----------| | 0 | 0 | 0 | ? | ? | 0 | ? | | 1 | 0 | 0 | ? | ? | 0 | ? | | 2 | 84 | 73 | ? | ? | 2 | ? | | 3 | 246 | 72 | ? | ? | 2 | ? | | 4 | 125 | 61 | ? | ? | 27 | ? | | 5 | 19 | 120 | ? | ? | 19 | ? | | 6 | 98 | 126 | ? | ? | 26 | ? | | 7 | 36 | 3 | ? | ? | 2 | ? | | 8 | 101 | 227 | ? | ? | 23 | ? | | 9 | 19 | 45 | ? | ? | 2 | ? | | 10 | 245 | 216 | ? | ? | 101 | ? | | 11 | 199 | 205 | ? | ? | 13 | ? | | 12 | 37 | 201 | ? | ? | 28 | ? | | 13 | 24 | 180 | ? | ? | 17 | ? | | 14 | 26 | 20 | ? | ? | 10 | ? | | 15 | 7 | 0 | ? | ? | 0 | ? | ### desync50/lmic_tsbn | Byte | Final Rank | Rank@500 | Rank@1000 | Pre-Rank | Min Rank | Max Rank | |------|-----------|----------|-----------|----------|----------|----------| | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | 2 | 0 | 0 | 0 | 179 | 0 | 179 | | 3 | 0 | 0 | 0 | 238 | 0 | 238 | | 4 | 0 | 0 | 0 | 5 | 0 | 5 | | 5 | 0 | 0 | 0 | 16 | 0 | 16 | | 6 | 0 | 0 | 0 | 31 | 0 | 36 | | 7 | 0 | 0 | 0 | 8 | 0 | 8 | | 8 | 0 | 0 | 0 | 72 | 0 | 72 | | 9 | 0 | 0 | 0 | 23 | 0 | 23 | | 10 | 0 | 0 | 0 | 86 | 0 | 86 | | 11 | 0 | 0 | 0 | 80 | 0 | 93 | | 12 | 0 | 0 | 0 | 42 | 0 | 52 | | 13 | 0 | 0 | 0 | 201 | 0 | 202 | | 14 | 0 | 0 | 0 | 151 | 0 | 151 | | 15 | 0 | 0 | 0 | 1 | 0 | 1 | ### desync100/lmic_tsbn | Byte | Final Rank | Rank@500 | Rank@1000 | Pre-Rank | Min Rank | Max Rank | |------|-----------|----------|-----------|----------|----------|----------| | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | 2 | 0 | 0 | 0 | 224 | 0 | 224 | | 3 | 0 | 0 | 0 | 241 | 0 | 241 | | 4 | 0 | 0 | 0 | 2 | 0 | 3 | | 5 | 0 | 0 | 0 | 14 | 0 | 14 | | 6 | 0 | 0 | 0 | 36 | 0 | 47 | | 7 | 0 | 0 | 0 | 10 | 0 | 10 | | 8 | 0 | 0 | 0 | 61 | 0 | 61 | | 9 | 0 | 0 | 0 | 54 | 0 | 54 | | 10 | 0 | 0 | 0 | 94 | 0 | 95 | | 11 | 0 | 0 | 0 | 80 | 0 | 82 | | 12 | 0 | 0 | 0 | 45 | 0 | 48 | | 13 | 0 | 0 | 0 | 188 | 0 | 214 | | 14 | 0 | 0 | 0 | 129 | 0 | 129 | | 15 | 0 | 0 | 0 | 2 | 0 | 2 | ## Additional Content | Directory | Description | |-----------|-------------| | `analysis/` | Research analysis: figures, findings, reports, scripts (28 files) | | `figures/` | Report figures (14 files) | | `report_v4.pdf` | Research report (PDF) | | `report_v4.tex` | Research report (LaTeX source) | ## Training Coverage Matrix This table shows which model/desync combinations have been trained. | Variant | desync0 | desync50 | desync100 | |---------|--------||--------||--------| | cnn | 1 bytes | 1 bytes | 1 bytes | | hps | 2/16 | **MISSING** | **MISSING** | | lmic | 15/16 | **MISSING** | **MISSING** | | lmic_tsbn | 16/16 | 16/16 | 16/16 | | lmic_tsbn_no_cosine | 16/16 | **MISSING** | **MISSING** | | lmic_tsbn_no_dtp | 16/16 | **MISSING** | **MISSING** | | lmic_tsbn_no_sd | 16/16 | **MISSING** | **MISSING** | | lmic_tsbn_small | 16/16 | **MISSING** | **MISSING** | | mlp | 1 bytes | 1 bytes | 1 bytes | | mtan_lite | 2/16 | **MISSING** | **MISSING** |