From 11d55eb918e81de2efcfb28d9a4085fafb462f95 Mon Sep 17 00:00:00 2001 From: Michael Preisach Date: Tue, 29 Sep 2020 11:09:07 +0000 Subject: [PATCH] tested base64 encoding and fixed minor issues --- common.c | 38 ++++++++++++++++++++++++++------------ common.h | 17 +++++------------ ecdaa_issuer | Bin 22768 -> 22984 bytes ecdaa_member | Bin 27696 -> 36104 bytes ecdaa_verifier | Bin 22560 -> 26976 bytes member.c | 2 +- verifier.c | 5 ++++- verifier.h | 1 + 8 files changed, 37 insertions(+), 26 deletions(-) diff --git a/common.c b/common.c index 3fd8f48..63b6e6f 100644 --- a/common.c +++ b/common.c @@ -33,25 +33,31 @@ uint8_t hex2bin(char hex) { return byte; } -void ecdaa_hextobin(const char *in_hex, uint8_t *out_bin, size_t outlen) { - for (size_t i = 0, j = 0; i < outlen; i++, j+=2) { +size_t hex_decode(const char *in_hex, uint8_t *out_bin, size_t outlen) { + size_t i = 0; + size_t j = 0; + for (; i < outlen; i++, j+=2) { uint8_t val = hex2bin(in_hex[j]); val += hex2bin(in_hex[j+1]) * 16; out_bin[i] = (char) val; } + return i; } -void ecdaa_bintohex(const uint8_t *in_bin, char *out_hex, size_t inlen) { - for (size_t i = 0, j = 0; i < inlen; i++, j+=2) { +size_t hex_encode(const uint8_t *in_bin, char *out_hex, size_t inlen) { + size_t i = 0; + size_t j = 0; + for (; i < inlen; i++, j+=2) { out_hex[j] = bin2hex(in_bin[i]); out_hex[j+1] = bin2hex(in_bin[i] >> 4); } + return i; } -int ecdaa_encode(const uint8_t *in_dec, char *out_enc, size_t inlen) { - int outlen = 4 * ((inlen + 2) / 3); - int i = 0; - int j = 0; +size_t base64_encode(const uint8_t *in_dec, char *out_enc, size_t inlen) { + size_t outlen = 4 * ((inlen + 2) / 3); + size_t i = 0; + size_t j = 0; while(i < inlen) { uint32_t octet_a = i < inlen ? in_dec[i++] : 0; @@ -76,10 +82,10 @@ int ecdaa_encode(const uint8_t *in_dec, char *out_enc, size_t inlen) { return j; } -int ecdaa_decode(const char *in_enc, uint8_t *out_dec, size_t outlen) { - int inlen = 4 * ((outlen + 2) / 3); - int i = 0; - int j = 0; +size_t base64_decode(const char *in_enc, uint8_t *out_dec, size_t outlen) { + size_t inlen = 4 * ((outlen + 2) / 3); + size_t i = 0; + size_t j = 0; while (i < inlen) { uint32_t sextet_a = in_enc[i] == '=' ? 0 & i++ : base64_index[in_enc[i++]]; @@ -95,3 +101,11 @@ int ecdaa_decode(const char *in_enc, uint8_t *out_dec, size_t outlen) { } return i; } + +size_t ecdaa_encode(const uint8_t *in_dec, char *out_enc, size_t inlen) { + return base64_encode(in_dec, out_enc, inlen); +} + +size_t ecdaa_decode(const char *in_enc, uint8_t *out_dec, size_t outlen) { + return base64_decode(in_enc, out_dec, outlen); +} diff --git a/common.h b/common.h index b28108a..e457015 100644 --- a/common.h +++ b/common.h @@ -1,9 +1,6 @@ -// -// Created by root on 10/30/19. -// -#ifndef ECDAA_ISSUER_COMMON_H -#define ECDAA_ISSUER_COMMON_H +#ifndef ECDAA_COMMON_H +#define ECDAA_COMMON_H #include #include @@ -27,12 +24,8 @@ typedef int (*conn_handler)(char *buffer); void ecdaa_rand(void *buffer, size_t buflen); -void ecdaa_hextobin(const char *in_hex, uint8_t *out_bin, size_t outlen); +size_t ecdaa_decode(const char *in_enc, uint8_t *out_dec, size_t outlen); -void ecdaa_bintohex(const uint8_t *in_bin, char *out_hex, size_t inlen); +size_t ecdaa_encode(const uint8_t *in_dec, char *out_enc, size_t inlen); -int ecdaa_decode(const char *in_enc, uint8_t *out_dec, size_t outlen); - -int ecdaa_encode(const uint8_t *in_dec, char *out_enc, size_t inlen); - -#endif //ECDAA_ISSUER_COMMON_H +#endif //ECDAA_COMMON_H diff --git a/ecdaa_issuer b/ecdaa_issuer index a8f83e8e6c69846873af4b6d3d17bd82f9519068..7b8f186b4449584c159d5ddbf893b51bf09005b5 100755 GIT binary patch delta 4634 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 delta 3075 zcmZ8j4NO#57Jl!+2wIf^#(m7dAX-7BNI|7&m5o$J2ZRC@u%>ZcyGZG-t*eENHKpiM zDznqc(i}Io)s50N8i*?cML(_hwqT$=q}A z_kHKwbMDWBPyFi8LA51S%Pe~{?b?JRHbu50Hi}U*Ce%b4)0#+sp_-vio0x6P$J!19 zRyycy?Yyn|UzYC|r60X?cxC)+Z8y}11}|TK*Z)e`Xw>+WXhm`RChfOULu|jAN$YKM zwf2erR$Gaxe&8RT@~W!F`TwXFsamInw(2&z5VugfIF6$1d$m0lI%xlcx}BVkM!qOA;x{#Hx@B*Hc)gA zQ?D-|QAwUyj7r>||1i7am$CkaSkw_8SL8yZbEm$KN*t|ldv3ZL`>k$I{SR(m?)y^| zC2((q7qI+Yu6zZ(n`d_RjnC2NA?@xi&Q$c}@8S5=TxQ&*kC z?X_Grm@|(V%s&tt?oPOS+5Jycm5`#ICvQS}!*3XH^5R}gCA)dfK=ukofwR)BE)z_C zh)F}tfK%pE_bVvV*#GJsA&&D&_PxQo;LBaa=vkmB=>^_#50^BMEy<}IywJ$0EEeiz ztbT`M2((*8Sg?BzOS4DVpth?j0`fu3opV_`28CbHZxeA}$$>d1$@3{DFN#LO=m#?lAQvCum28 zXf%0yL^+f92B|qEJ)(@qrw8f76i4cD=;6<2RKf6DgXaGBb;~D^yN=O657Lh*+0I=M zd*tPB?Bpk)G{nPiHY+j*sbpq$_{(so$*FNp9|oSL9*7z{xmR9}gLDvy2Tl%9=S)Y$ zT^_d%(6yQF*yjdt2b#JXIE_<`FCCx-sncT)0XMTd#&FC4y^xwP<06j-zeA->7ZDr9 zZu(jH6_XdfqkXB<^R7X2?o@R~)YRAb-YL~B{IK#?7Wr~NNL7@)$^y^lc@+hok-YLe z&;1IwZ}x7$D~e|Qh=&&$*mKJtHEVdBf9tFR;fFH6(EN+%&DR>*5QslxwktyPz#i@q zA{?7_8a4s8{F)G_f#-fD#5~OR!*+Yk`q4(!H0 zA#Av3dtv9n_Q96JF8vn%nv$Y?iNOv4wYP-$2sW=DiNMalp5KSv0h>>`IS)IUuL|)f zQc?0Fuq#mDhwp%rd6~B4q%^dl0*Nz+##Pngw-4EV{asB9C1uF2NdwI!3r zY0poLz$ct}{zR_;e#(MO0|L~C0`vo~hu|$#5LzJYuUas` zL?kqVt?T_c0Q|oU`KNE-t~Ypn!Q-W0>YM zl33j2J#hvr?-7QnCcc+< z5Y1v3Wj^pEI;h2}b1BcItL2ns(X*;ewbyCLiI)m70KQI;9sMD(5|7MwYh&iaCsH(Mp?{chL6^d#P564%gL(WuL=6 zeHI?4*2;Oa?00c*KZ%p(=*80v|4W#2J1;d~%U+?fWxAS0+m`9}U*mPM{zHE1X!5nf z7PH2(0j%7!tXDCL*6d2;n3}w%|IMk=U6EH6!*?j!trsk1FU6rOHobm}Zv(e~nqJ9v zV=kXKh98-Drnv{}3|i^tZ0t8pwlm&mUmTkJtiU$Ob$8O61as+s=>>D7^w diff --git a/ecdaa_member b/ecdaa_member index 43cf08d47ad73a750685680aa6ce5a6741b0ad24..5e0d9039c3e7b309515d1288edd097d5d3772da6 100755 GIT binary patch delta 9121 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 delta 7350 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 A5C8xG diff --git a/ecdaa_verifier b/ecdaa_verifier index e7a02b84f5c12320f17f107cb4df982ca9428555..491cb2cbed9aee48bfef15f646b761e5e02cf987 100755 GIT binary patch delta 8186 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 b##H!dO?E`arCQ|#kQ!#lv#Ow|Vd8%Q20&BJ diff --git a/member.c b/member.c index 8c4c073..205bee3 100644 --- a/member.c +++ b/member.c @@ -175,7 +175,7 @@ int member_verifymsg(char *buffer) { current = ¤t[10]; ret = ecdaa_encode(msg, current, msg_len); - current = ¤t[ret]; + current = ¤t[2 * MAX_MSGSIZE]; if(has_nym) { if (0 != ecdaa_signature_FP256BN_sign(&sig, msg, msg_len, member.bsn, member.bsn_len, &member.msk, &member.cred, ecdaa_rand)) { printf("member_verifymsg: Signing message failed\n"); diff --git a/verifier.c b/verifier.c index 654592a..e131e25 100644 --- a/verifier.c +++ b/verifier.c @@ -213,7 +213,7 @@ int verifier_checkattest(char *buffer) { bzero(msg, MAX_MSGSIZE); ret = ecdaa_decode(current, msg, MAX_MSGSIZE); msg_len = strlen(msg); - current = ¤t[ret]; + current = ¤t[2 * MAX_MSGSIZE]; has_nym = current[0] - '0'; current = ¤t[1]; @@ -246,6 +246,9 @@ int verifier_checkattest(char *buffer) { printf("verifier_checkattest: signature not valid, ret = %i\n", ret); return -1; } + + printf("writing message to %s\n", verifier_message_file); + ecdaa_write_buffer_to_file(verifier_message_file, msg, msg_len); return 0; } diff --git a/verifier.h b/verifier.h index 5bf25f5..aec1ac1 100644 --- a/verifier.h +++ b/verifier.h @@ -8,5 +8,6 @@ #include "common.h" int process_verifier(char *buffer); +const char* verifier_message_file = "vmsg.txt"; #endif //ECDAA_VERIFIER_H