Skip to content

Commit

Permalink
add wc_encrypt.o as target
Browse files Browse the repository at this point in the history
add Makefile to make all
  • Loading branch information
miyazakh committed Oct 27, 2024
1 parent a322264 commit 661dd3a
Show file tree
Hide file tree
Showing 11 changed files with 80 additions and 57 deletions.
20 changes: 20 additions & 0 deletions embedded/signature/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
CC = gcc
#CC = clang
SRCROOT = .
ECCSRCDIRS := $(shell ls -d $(SRCROOT)/ecc_*)
RSASRCDIRS := $(shell ls -d $(SRCROOT)/rsa_*)

all: ecc rsa

ecc:
@for d in $(ECCSRCDIRS); do echo $$d ; $(MAKE) -C $$d CC=$(CC) ; done

rsa:
@for d in $(RSASRCDIRS); do echo $$d ; $(MAKE) -C $$d CC=$(CC) ; done

clean: FORCE
@for d in $(ECCSRCDIRS); do echo $$d ; $(MAKE) -C $$d clean; done
@for d in $(RSASRCDIRS); do echo $$d ; $(MAKE) -C $$d clean; done

FORCE:
.PHONY: FORCE
7 changes: 4 additions & 3 deletions embedded/signature/ecc_sign_verify/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ OBJ=\
$(WOLFROOT)/wolfcrypt/src/coding.o\
$(WOLFROOT)/wolfcrypt/src/memory.o\
$(WOLFROOT)/wolfcrypt/src/wolfmath.o\
$(WOLFROOT)/wolfcrypt/src/wc_encrypt.o\

OBJ_SP_C32 := \
$(WOLFROOT)/wolfcrypt/src/sp_int.o\
Expand All @@ -38,7 +39,7 @@ OBJ_TFM := \

.PHONY: all clean mem size bench

ifeq ($(math) $(arch),sp x64)
ifeq ($(math) $(arch),sp x64)
ASFLAGS+= -DSP_X86_64_FLAG
CFLAGS += -DSP_X86_64_FLAG
OBJ += $(OBJ_SP_X86_64)
Expand All @@ -54,15 +55,15 @@ OBJ += $(OBJ_SP_C32)
else ifeq ($(math), tfm)
CFLAGS += -DTFM_FLAG
OBJ += $(OBJ_TFM)
else
else
CFLAGS += -DSP_C64_FLAG
OBJ += $(OBJ_SP_C64)
endif

all : ecc_sign_verify bench mem

ecc_sign_verify: clean $(OBJ)
$(CC) $(CFLAGS) -o ecc_sign_verify ecc_sign_verify.c $(OBJ)
$(CC) $(CFLAGS) -o ecc_sign_verify ecc_sign_verify.c $(OBJ)

bench: clean $(OBJ)
$(CC) $(CFLAGS) -DBENCHMARK -o ecc_sign_verify_bench ecc_sign_verify.c $(OBJ) -lpthread
Expand Down
2 changes: 1 addition & 1 deletion embedded/signature/ecc_sign_verify/user_settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,4 @@

#ifdef BENCHMARK
#undef DEBUG_MEMORY
#endif
#endif
7 changes: 4 additions & 3 deletions embedded/signature/ecc_vfy_only/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ OBJ=\
$(WOLFROOT)/wolfcrypt/src/coding.o\
$(WOLFROOT)/wolfcrypt/src/memory.o\
$(WOLFROOT)/wolfcrypt/src/wolfmath.o\
$(WOLFROOT)/wolfcrypt/src/wc_encrypt.o\

OBJ_SP_C32 := \
$(WOLFROOT)/wolfcrypt/src/sp_int.o\
Expand All @@ -38,7 +39,7 @@ OBJ_TFM := \

.PHONY: all clean mem size bench

ifeq ($(math) $(arch),sp x64)
ifeq ($(math) $(arch),sp x64)
ASFLAGS+= -DSP_X86_64_FLAG
CFLAGS += -DSP_X86_64_FLAG
OBJ += $(OBJ_SP_X86_64)
Expand All @@ -54,7 +55,7 @@ OBJ += $(OBJ_SP_C32)
else ifeq ($(math), tfm)
CFLAGS += -DTFM_FLAG
OBJ += $(OBJ_TFM)
else
else
CFLAGS += -DSP_C64_FLAG
OBJ += $(OBJ_SP_C64)
endif
Expand All @@ -66,7 +67,7 @@ ecc_verify: clean $(OBJ)
$(CC) $(CFLAGS) -o ecc_verify ecc_verify.c $(OBJ)

bench: clean $(OBJ)
$(CC) $(CFLAGS) -DBENCHMARK -o ecc_verify_bench ecc_verify.c $(OBJ)
$(CC) $(CFLAGS) -DBENCHMARK -o ecc_verify_bench ecc_verify.c $(OBJ)

mem: clean $(OBJ)
$(CC) $(CFLAGS) -DDEBUG_MEMORY -o ecc_verify_mem ecc_verify.c $(OBJ) -lpthread
Expand Down
5 changes: 3 additions & 2 deletions embedded/signature/ecc_vfy_only_nonblock/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ OBJ=\
$(WOLFROOT)/wolfcrypt/src/coding.o\
$(WOLFROOT)/wolfcrypt/src/memory.o\
$(WOLFROOT)/wolfcrypt/src/wolfmath.o\
$(WOLFROOT)/wolfcrypt/src/wc_encrypt.o\

OBJ_SP_C32 := \
$(WOLFROOT)/wolfcrypt/src/sp_int.o\
Expand All @@ -37,7 +38,7 @@ OBJ_TFM := \
$(WOLFROOT)/wolfcrypt/src/tfm.o\


ifeq ($(math) $(arch),sp x64)
ifeq ($(math) $(arch),sp x64)
ASFLAGS+= -DSP_X86_64_FLAG
CFLAGS += -DSP_X86_64_FLAG
OBJ += $(OBJ_SP_X86_64)
Expand All @@ -53,7 +54,7 @@ OBJ += $(OBJ_SP_C32)
else ifeq ($(math), tfm)
CFLAGS += -DTFM_FLAG
OBJ += $(OBJ_TFM)
else
else
CFLAGS += -DSP_C64_FLAG
OBJ += $(OBJ_SP_C64)
endif
Expand Down
11 changes: 6 additions & 5 deletions embedded/signature/rsa_buffer/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ OBJ = \
$(WOLFROOT)/wolfcrypt/src/wc_port.o\
$(WOLFROOT)/wolfcrypt/src/coding.o\
$(WOLFROOT)/wolfcrypt/src/memory.o\
$(WOLFROOT)/wolfcrypt/src/wc_encrypt.o\

OBJ_SP_C32 := \
$(WOLFROOT)/wolfcrypt/src/sp_int.o\
Expand Down Expand Up @@ -39,7 +40,7 @@ OBJ_TFM := \

.PHONY: all clean size mem bench

ifeq ($(math) $(arch),sp x64)
ifeq ($(math) $(arch),sp x64)
ASFLAGS+= -DSP_X86_64_FLAG
CFLAGS += -DSP_X86_64_FLAG
OBJ += $(OBJ_SP_X86_64)
Expand All @@ -55,22 +56,22 @@ OBJ += $(OBJ_SP_C32)
else ifeq ($(math), tfm)
CFLAGS += -DTFM_FLAG
OBJ += $(OBJ_TFM)
else
else
CFLAGS += -DSP_C64_FLAG
OBJ += $(OBJ_SP_C64)
endif

all: verify sign bench mem

verify: clean $(OBJ)
$(CC) $(CFLAGS) -o verify verify.c $(OBJ)
$(CC) $(CFLAGS) -o verify verify.c $(OBJ)
sign: clean $(OBJ)
$(CC) $(CFLAGS) -o sign sign.c $(OBJ)
$(CC) $(CFLAGS) -o sign sign.c $(OBJ)
bench: clean $(OBJ)
$(CC) $(CFLAGS) -DBENCHMARK -o verify_bench verify.c $(OBJ) -lpthread
mem: clean $(OBJ)
$(CC) $(CFLAGS) -DDEBUG_MEMORY -o verify_mem verify.c $(OBJ) -lpthread
clean:
rm -f sign verify verify_bench verify_mem $(WOLFROOT)/wolfcrypt/src/*.o
size :
size $(OBJ) sign verify
size $(OBJ) sign verify
11 changes: 6 additions & 5 deletions embedded/signature/rsa_sign_verify/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ OBJ = \
$(WOLFROOT)/wolfcrypt/src/coding.o\
$(WOLFROOT)/wolfcrypt/src/memory.o\
$(WOLFROOT)/wolfcrypt/src/wolfmath.o\
$(WOLFROOT)/wolfcrypt/src/wc_encrypt.o\

OBJ_SP_C32 := \
$(WOLFROOT)/wolfcrypt/src/sp_int.o\
Expand All @@ -39,7 +40,7 @@ OBJ_TFM := \

.PHONY: all clean size mem bench

ifeq ($(math) $(arch),sp x64)
ifeq ($(math) $(arch),sp x64)
ASFLAGS+= -DSP_X86_64_FLAG
CFLAGS += -DSP_X86_64_FLAG
OBJ += $(OBJ_SP_X86_64)
Expand All @@ -55,12 +56,12 @@ OBJ += $(OBJ_SP_C32)
else ifeq ($(math), tfm)
CFLAGS += -DTFM_FLAG
OBJ += $(OBJ_TFM)
else
else
CFLAGS += -DSP_C64_FLAG
OBJ += $(OBJ_SP_C64)
endif

all: rsa_sign_verify bench mem
all: rsa_sign_verify bench mem
rsa_sign_verify: clean $(OBJ)
$(CC) $(CFLAGS) -o rsa_sign_verify rsa_sign_verify.c $(OBJ)

Expand All @@ -70,10 +71,10 @@ mem: clean $(OBJ)
$(CC) $(CFLAGS) -DDEBUG_MEMORY -o rsa_sign_verify_mem rsa_sign_verify.c $(OBJ) -lpthread

nonblock: CFLAGS += -DNONBLOCK
nonblock: clean $(OBJ)
nonblock: clean $(OBJ)
$(CC) -DNONBLOCK $(CFLAGS) -DDEBUG_MEMORY -o rsa_sign_verify_nonblock rsa_sign_verify_nonblock.c $(OBJ) -lpthread

clean:
rm -f rsa_sign_verify rsa_sign_verify_bench rsa_sign_verify_mem rsa_sign_verify_nonblock $(WOLFROOT)/wolfcrypt/src/*.o
size :
size $(OBJ) sign verify
size $(OBJ) sign verify
55 changes: 25 additions & 30 deletions embedded/signature/rsa_sign_verify/rsa_sign_verify.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,16 @@

/* This file is an example of signing and verifying an RSA signature.
* The signature can be PKCS#1.5 formatted and PSS formatted.
*
*
* - PKCS#1.5
* 1. hash -> encSig
* 2. encSig -> signature
* 2. encSig -> signature
* 3. signature -> decSig
*
*
* - PSS
* 1. hash -> signature
* 1. hash -> signature
* 2. signature -> decSig
*
*
* PKCS#1.5 is used for the Signature by default.
* To turning on PSS, define PSS_PADDING
*/
Expand All @@ -49,10 +49,6 @@
/* RSA Key size bits */
#define RSA_KEY_SIZE 2048





#define CHECK_RET(a, b, eLabel, msg) { \
if (a != b) { \
printf("failed %s\n", msg); \
Expand Down Expand Up @@ -115,21 +111,21 @@ int sign(){
ret = wc_MakeRsaKey(&key, RSA_KEY_SIZE, e, &rng);
CHECK_RET(ret, 0, finish, "wc_MakeRsaKey()");

/* Encode digest with algorithm information as per PKCS#1.5 */
encSigLen = wc_EncodeSignature(encSig, hash, sizeof(hash), SHA256h);
if ((int)encSigLen < 0)
ret = (int)encSigLen;
CHECK_RET(ret, 0, finish, "wc_EncodeSignature()");

#ifdef PSS_PADDING
sigLen = wc_RsaPSS_Sign(hash, sizeof(hash), signature, sizeof(signature)\
, WC_HASH_TYPE_SHA256, WC_MGF1SHA256, &key, &rng);
sigLen = wc_RsaPSS_Sign(hash, sizeof(hash), signature, sizeof(signature),
WC_HASH_TYPE_SHA256, WC_MGF1SHA256, &key, &rng);
if ((int)sigLen < 0)
ret = (int)sigLen;
CHECK_RET(ret, 0, finish, "wc_RsaPSS_Sign()");

#else /* PKCS#1.5 */
sigLen = wc_RsaSSL_Sign(encSig, encSigLen, signature, sizeof(signature),\
/* Encode digest with algorithm information as per PKCS#1.5 */
encSigLen = wc_EncodeSignature(encSig, hash, sizeof(hash), SHA256h);
if ((int)encSigLen < 0)
ret = (int)encSigLen;
CHECK_RET(ret, 0, finish, "wc_EncodeSignature()");

sigLen = wc_RsaSSL_Sign(encSig, encSigLen, signature, sigBuffLen,
&key, NULL);
if ((int)sigLen < 0)
ret = (int)sigLen;
Expand Down Expand Up @@ -182,7 +178,7 @@ int verify(){
return -1;
}

#ifdef BENCHMARK
#ifdef BENCHMARK
count = 0;
printf("Running benchmark...\n");
printf("Please Wait %.2f seconds\n", (double)BENCH_TIME_SEC);
Expand All @@ -191,15 +187,16 @@ int verify(){
#endif

/* Verify the signature by decrypting the value. */

#ifdef PSS_PADDING
decSigLen = wc_RsaPSS_VerifyCheck(signature, sizeof(signature),
decSig, sizeof(decSig), hash, sizeof(hash), WC_HASH_TYPE_SHA256, WC_MGF1SHA256, &key);

decSig, sizeof(decSig), hash, sizeof(hash),
WC_HASH_TYPE_SHA256, WC_MGF1SHA256, &key);

if ((int)decSigLen < 0)
ret = (int)decSigLen;
CHECK_RET(ret, 0, finish, "wc_RsaPSS_VerifyCheck()");

#else /* PKCS#1.5 */
decSigLen = wc_RsaSSL_Verify(signature, sizeof(signature),
decSig, sizeof(decSig), &key);
Expand All @@ -220,11 +217,11 @@ int verify(){

#endif

#ifdef BENCHMARK
#ifdef BENCHMARK
count++;
}

printf("Takes %1.2f Sec for %d times, %6.2f Cycles/sec\n", total_time, count, count/total_time);
printf("Takes %1.2f Sec for %d times, %6.2f Cycles/sec\n",
total_time, count, count/total_time);
printf("Finished Benchmark \n");
#elif defined(DEBUG_MEMORY)

Expand All @@ -248,8 +245,6 @@ int verify(){
return ret;
}



int main(){
int ret = 0;
#ifdef BENCHMARK
Expand All @@ -270,7 +265,7 @@ int main(){

#ifdef DEBUG_MEMORY
ret = StackSizeCheck(NULL, (thread_func)sign);
#else
#else
ret = sign();
#endif

Expand All @@ -280,7 +275,7 @@ int main(){

#ifdef DEBUG_MEMORY
ret = StackSizeCheck(NULL, (thread_func)verify);
#else
#else
ret = verify();
#endif
return ret;
Expand Down
9 changes: 5 additions & 4 deletions embedded/signature/rsa_sign_verify/user_settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
/* asn */
#define NO_ASN_TIME
#define IGNORE_NAME_CONSTRAINTS
#define WOLFSSL_NO_ASN_STRICT
#define WOLFSSL_NO_ASN_STRICT


#ifdef DEBUG_MEMORY
Expand All @@ -33,11 +33,11 @@
#endif


#ifdef SP_C32_FLAG
#ifdef SP_C32_FLAG
#define WOLFSSL_HAVE_SP_RSA
#define WOLFSSL_SP_MATH_ALL
#undef USE_FAST_MATH
#endif
#endif

#ifdef SP_C64_FLAG
#define WOLFSSL_HAVE_SP_RSA
Expand Down Expand Up @@ -76,7 +76,7 @@
#undef DEBUG_MEMORY
#endif

// #define PSS_PADDING
#define PSS_PADDING
#ifdef PSS_PADDING
#define WC_RSA_PSS
#define WC_RSA_BLINDING
Expand All @@ -91,3 +91,4 @@
#define WOLFSSL_SP_NO_MALLOC
#undef BENCHMARK
#endif /* NONBLOCK */

Loading

0 comments on commit 661dd3a

Please sign in to comment.