aboutsummaryrefslogtreecommitdiffhomepage
path: root/pyecsca/codegen/templates/mult.c
blob: 0603bc01eb253d7670694d7ec1378c0f5d4cbf4d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

{%- if isinstance(scalarmult, LTRMultiplier) -%}

	{% include "mult_ltr.c" %}

{%- elif isinstance(scalarmult, RTLMultiplier) -%}

	{% include "mult_rtl.c" %}

{%- elif isinstance(scalarmult, CoronMultiplier) -%}

	{% include "mult_coron.c" %}

{%- elif isinstance(scalarmult, LadderMultiplier) -%}

	{% include "mult_ldr.c" %}

{%- elif isinstance(scalarmult, SimpleLadderMultiplier) -%}

	{% include "mult_simple_ldr.c" %}

{%- elif isinstance(scalarmult, DifferentialLadderMultiplier) -%}

	{% include "mult_diff_ldr.c" %}

{%- elif isinstance(scalarmult, BinaryNAFMultiplier) -%}

	{% include "mult_bnaf.c" %}

{%- endif %}


#include "action.h"
{% from "action.c" import start_action, end_action %}

void scalar_mult(bn_t *scalar, point_t *point, curve_t *curve, point_t *out) {
	{{ start_action("mult") }}
	scalar_mult_inner(scalar, point, curve, out);
	{{ end_action("mult") }}
}