This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
152
unikernel/duniverse/mirage-crypto/ec/native/GNUmakefile
Normal file
152
unikernel/duniverse/mirage-crypto/ec/native/GNUmakefile
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
# This file is part of mirage-crypto-ec, and used to generate C files
|
||||
# As a prerequisite, fiat-crypto (https://github.com/mit-plv/fiat-crypto)
|
||||
# needs to be cloned and "make standalone-ocaml" invoked
|
||||
# The lowest bound of fiat-crypto is git commit
|
||||
# dabaf4b3132e8bb4a3f5fcd8366eec6ac9bb4232 (July 16th 2021)
|
||||
# Generated on FreeBSD 12.2p2 with coq 8.13.1 (OCaml 4.12.0)
|
||||
# with fiat-crypto 2a07751f37af74edeac47b19bd51810bc99b91a1 (May 29th 2022)
|
||||
|
||||
WBW_MONT ?= ../../../fiat-crypto/src/ExtractionOCaml/word_by_word_montgomery --static --use-value-barrier --inline-internal
|
||||
UNSAT_SOLINAS ?= ../../../fiat-crypto/src/ExtractionOCaml/unsaturated_solinas --static --use-value-barrier --inline-internal
|
||||
N_FUNCS=mul add opp from_montgomery to_montgomery one msat divstep_precomp divstep to_bytes from_bytes selectznz
|
||||
|
||||
GEN_TABLE=../../_build/default/ec/gen_tables/gen_tables.exe
|
||||
|
||||
# The NIST curve P-256 (AKA SECP256R1)
|
||||
P256="2^256 - 2^224 + 2^192 + 2^96 - 1"
|
||||
|
||||
.PHONY: p256_64.h
|
||||
p256_64.h:
|
||||
$(WBW_MONT) p256 64 $(P256) > $@
|
||||
|
||||
.PHONY: p256_32.h
|
||||
p256_32.h:
|
||||
$(WBW_MONT) p256 32 $(P256) > $@
|
||||
|
||||
# The group order N of P-256
|
||||
P256N="0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"
|
||||
|
||||
.PHONY: np256_64.h
|
||||
np256_64.h:
|
||||
$(WBW_MONT) np256 64 $(P256N) $(N_FUNCS) > $@
|
||||
|
||||
.PHONY: np256_32.h
|
||||
np256_32.h:
|
||||
$(WBW_MONT) np256 32 $(P256N) $(N_FUNCS) > $@
|
||||
|
||||
.PHONY: p256_tables_64.h
|
||||
p256_tables_64.h:
|
||||
$(GEN_TABLE) p256 64 > $@
|
||||
|
||||
.PHONY: p256_tables_32.h
|
||||
p256_tables_32.h:
|
||||
$(GEN_TABLE) p256 32 > $@
|
||||
|
||||
.PHONY: p256
|
||||
p256: p256_64.h p256_32.h np256_64.h np256_32.h
|
||||
|
||||
p256_tables: p256_tables_64.h p256_tables_32.h
|
||||
|
||||
# The NIST curve P-384 (AKA SECP384R1)
|
||||
P384="2^384 - 2^128 - 2^96 + 2^32 - 1"
|
||||
|
||||
.PHONY: p384_64.h
|
||||
p384_64.h:
|
||||
$(WBW_MONT) p384 64 $(P384) > $@
|
||||
|
||||
.PHONY: p384_32.h
|
||||
p384_32.h:
|
||||
$(WBW_MONT) p384 32 $(P384) > $@
|
||||
|
||||
# The group order N of P-384
|
||||
P384N="0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"
|
||||
|
||||
.PHONY: np384_64.h
|
||||
np384_64.h:
|
||||
$(WBW_MONT) np384 64 $(P384N) $(N_FUNCS) > $@
|
||||
|
||||
.PHONY: np384_32.h
|
||||
np384_32.h:
|
||||
$(WBW_MONT) np384 32 $(P384N) $(N_FUNCS) > $@
|
||||
|
||||
.PHONY: p384_tables_64.h
|
||||
p384_tables_64.h:
|
||||
$(GEN_TABLE) p384 64 > $@
|
||||
|
||||
.PHONY: p384_tables_32.h
|
||||
p384_tables_32.h:
|
||||
$(GEN_TABLE) p384 32 > $@
|
||||
|
||||
.PHONY: p384
|
||||
p384: p384_64.h p384_32.h np384_64.h np384_32.h
|
||||
|
||||
p384_tables: p384_tables_64.h p384_tables_32.h
|
||||
|
||||
# The NIST curve P-521 (AKA SECP521R1)
|
||||
P521="2^521 - 1"
|
||||
|
||||
.PHONY: p521_64.h
|
||||
p521_64.h:
|
||||
$(WBW_MONT) p521 64 $(P521) > $@
|
||||
|
||||
.PHONY: p521_32.h
|
||||
p521_32.h:
|
||||
$(WBW_MONT) p521 32 $(P521) > $@
|
||||
|
||||
# The group order N of P-521
|
||||
P521N="0x01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409"
|
||||
|
||||
.PHONY: np521_64.h
|
||||
np521_64.h:
|
||||
$(WBW_MONT) np521 64 $(P521N) $(N_FUNCS) > $@
|
||||
|
||||
.PHONY: np521_32.h
|
||||
np521_32.h:
|
||||
$(WBW_MONT) np521 32 $(P521N) $(N_FUNCS) > $@
|
||||
|
||||
.PHONY: p521_tables_64.h
|
||||
p521_tables_64.h:
|
||||
$(GEN_TABLE) p521 64 > $@
|
||||
|
||||
.PHONY: p521_tables_32.h
|
||||
p521_tables_32.h:
|
||||
$(GEN_TABLE) p521 32 > $@
|
||||
|
||||
.PHONY: p521
|
||||
p521: p521_64.h p521_32.h np521_64.h np521_32.h
|
||||
|
||||
p521_tables: p521_tables_64.h p521_tables_32.h
|
||||
|
||||
# 25519
|
||||
25519="2^255 - 19"
|
||||
25519_FUNS=carry_mul carry_square carry add sub opp selectznz to_bytes from_bytes carry_scmul121666
|
||||
|
||||
.PHONY: curve25519_64.h
|
||||
curve25519_64.h:
|
||||
$(UNSAT_SOLINAS) 25519 64 '(auto)' $(25519) $(25519_FUNS) > $@
|
||||
|
||||
.PHONY: curve25519_32.h
|
||||
curve25519_32.h:
|
||||
$(UNSAT_SOLINAS) 25519 32 '(auto)' $(25519) $(25519_FUNS) > $@
|
||||
|
||||
.PHONY: curve25519
|
||||
curve25519: curve25519_64.h curve25519_32.h
|
||||
|
||||
.PHONY: tables
|
||||
tables: p256_tables p384_tables p521_tables
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(RM) p256_32.h p256_64.h np256_32.h np256_64.h
|
||||
$(RM) p384_32.h p384_64.h np384_32.h np384_64.h
|
||||
$(RM) p521_32.h p521_64.h np521_32.h np521_64.h
|
||||
$(RM) curve25519_32.h curve25519_64.h
|
||||
|
||||
.PHONY: clean_tables
|
||||
clean_tables:
|
||||
$(RM) p256_tables_32.h p256_tables_64.h
|
||||
$(RM) p384_tables_32.h p384_tables_64.h
|
||||
$(RM) p521_tables_32.h p521_tables_64.h
|
||||
|
||||
.PHONY: all
|
||||
all: p256 p384 p521 curve25519
|
||||
Loading…
Add table
Add a link
Reference in a new issue