Isap
Implementations
Isap is a mode for lightweight authenticated encryption
that was designed with a focus on robustness against implementations
attacks such as power analysis and fault attacks.
The mode is based on the well-studied Ascon-p and
Keccak-p[400] permutation.
Software Implementations
ISAP-Code-Package
[git]
We developed generic and platform-optimized implementations of all Isap instances
for various CPU architectures such as x64, ARMv6, and ARMv7. The codebase thus
covers high performance scenarios like 64-bit CPUs, as well as more constrained devices
such as 32-bit ARM Cortex-A application processors and Cortex-M microprocessors, where
implementation security is often of particular interest.
Software performance of Isap instances in cycles/byte (X+0 encrypt)
|
|
Isap-A-128a |
|
Isap-K-128a |
Message Length in Bytes |
|
64 B |
1536 B |
long |
|
64 B |
1536 B |
long |
AMD EPYC 7742 (x64)2 |
|
- |
- |
18.94 |
|
- |
- |
47.05 |
AMD Ryzen 7 1700 (x64)1 |
|
85.7 |
24.5 |
21.9 |
|
295.0 |
64.1 |
54.3 |
ARM Cortex-A53 (ARMv8-A)2 |
|
- |
- |
41.5 |
|
- |
- |
162.0 |
STM32F303 (ARMv7-M)1 |
|
542.0 |
168.0 |
152.0 |
|
2135.0 |
415.0 |
338.0 |
ARM Cortex-M4F (ARMv7-M)3 |
|
614.0 |
- |
- |
|
2164.6 |
- |
- |
ATmega328P (AVR)3 |
|
450.0 |
- |
- |
|
543.0 |
- |
- |
1 Taken from the ISAP Code Package.
2 Taken from eBACS.
3 Taken from the NIST LWC benchmarks.
Hardware Implementations
ISAP-Hardware-Package
[git]
We developed generic generic HDL implementations of Isap-A-128a and Isap-K-128a. In the following, we present various benchmark results for FPGA and ASIC platforms.
FPGA metrics of Isap compared to the NIST standardized AES GCM mode. The
columns SCA and FI indicate if the designs offer some protection against side-channel / fault-injection attacks.
|
FPGA |
Slices |
SCA |
FI |
Throughput [cycles/byte] |
AES GCM1 |
Artix-7 |
1008 |
✘ |
✘ |
0.68 |
AES GCM1 |
Artix-7 |
810 |
✘ |
✘ |
2.06 |
AES GCM TI2 |
Virtex-7 |
3433 |
✔ |
✘ |
11.82 |
|
Isap-A-128a1 |
Artix-7 |
618 |
✔ |
✔ |
2.75 |
Isap-K-128a1 |
Artix-7 |
655 |
✔ |
✔ |
2.33 |
1 From [MHN+20].
2 From [MMNV18], area without RNG.
ASIC metrics for Isap-A-128a and Isap-K-128a for AEAD (long+0 enc.) at 50 MHz as reported in [AZ21].
Scheme |
Interface |
Cell Lib |
Synthesizer∗ |
Throughput [cycles/byte] |
Area [kGE] |
AES GCM |
32-bit |
STM65nm |
SDC + CE |
2.1 |
53.0 |
AES GCM |
32-bit |
STM65nm |
CG + CI |
2.1 |
27.0 |
AES GCM |
32-bit |
TSMC65nm |
SDC + CE |
2.1 |
25.8 |
AES GCM |
32-bit |
TSMC65nm |
CG + CI |
2.1 |
26.2 |
|
Isap-A-128a |
32-bit |
STM65nm |
SDC + CE |
3.2 |
17.2 |
Isap-A-128a |
32-bit |
STM65nm |
CG + CI |
3.2 |
12.9 |
Isap-A-128a |
32-bit |
TSMC65nm |
SDC + CE |
3.2 |
11.4 |
Isap-A-128a |
32-bit |
TSMC65nm |
CG + CI |
3.2 |
12.0 |
|
Isap-K-128a |
16-bit |
STM65nm |
SDC + CE |
2.3 |
19.6 |
Isap-K-128a |
16-bit |
STM65nm |
CG + CI |
2.3 |
14.0 |
Isap-K-128a |
16-bit |
TSMC65nm |
SDC + CE |
2.3 |
13.4 |
Isap-K-128a |
16-bit |
TSMC65nm |
CG + CI |
2.3 |
13.0 |
∗ SPC = Synopsys Design Compiler vP-2019.03, CE = Cadence Encounter v14.13, CG = Cadence Genus v18.10, CI = Cadence Innovus v18.10.
Hardware Accelerators
RISC-V Ascon-p Accelerator
[paper,
git]
A fast and compact accelerator design for Ascon and Isap that can perform AEAD/hashing with a performance of about 2 cycles/byte, or about 4 cycles/byte if protection against fault attacks and power analysis is desired.
This accelerator requires only 4.7 kGE, or about half the area of dedicated co-processor designs, and is easy to integrate into low-end embedded devices like 32-bit ARM Cortex-M or RISC-V microprocessors.
Runtime and code size comparison of ASM implementations of Ascon and Isap, with 1-round Ascon-p hardware acceleration on the RISC-V RI5CY core.
Scheme |
Cycles/Byte 64 B 1536 B long |
Code Size [Bytes] |
Ascon-128 |
4.2 |
2.2 |
2.1 |
888 |
Ascon-Hash |
4.6 |
2.6 |
2.5 |
484 |
Isap-A-128a |
29.1 |
5.2 |
4.2 |
1844 |
Isap-A-128 |
73.6 |
7.7 |
5.0 |
2552 |