pyecsca.codegen.common module¶
- class pyecsca.codegen.common.Platform(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
Bases:
EnumDefine
Platform to build for.
- HOST = 'HOST'¶
- XMEGA = 'CW308_XMEGA'¶
- STM32F0 = 'CW308_STM32F0'¶
- STM32F3 = 'CW308_STM32F3'¶
- NANO = 'CWNANO'¶
- class pyecsca.codegen.common.DeviceConfiguration(model, coords, formulas, scalarmult, hash_type, mod_rand, mult, sqr, red, inv, platform, keygen, ecdh, ecdsa, defines=None)[source]¶
Bases:
Configuration
A device configuration that includes the platform and choices specific to the pyecsca-codegened implementations.
-
keygen:
bool
¶ Whether the key-generation command is present.
-
ecdh:
bool
¶ Whether the ECDH command is present.
-
ecdsa:
bool
¶ Whether the ECDSA command is present.
-
defines:
Optional
[MutableMapping
[str
,Any
]] = None¶ Optional defines passed to the compilation.
- model: CurveModel¶
- coords: CoordinateModel¶
- formulas: FrozenSet[Formula]¶
- scalarmult: ScalarMultiplier¶
- hash_type: HashType¶
- mod_rand: RandomMod¶
- mult: Multiplication¶
- sqr: Squaring¶
- red: Reduction¶
- inv: Inversion¶
-
keygen: