From 5cc0a5679f1fb84feafb8ddcad9ebab1297ef561 Mon Sep 17 00:00:00 2001 From: TLINDEN Date: Fri, 17 Apr 2015 17:13:20 +0200 Subject: [PATCH] switched to sodium scrypt(), which should be more portable --- libpcp/scrypt.c | 26 ++++++++++++------------- tests/bart.pub | 14 +++++++------- tests/key-alicia-pub | 14 +++++++------- tests/key-alicia-sec | 12 ++++++------ tests/key-bobby-pub | 14 +++++++------- tests/key-bobby-sec | 12 ++++++------ tests/keys.cfg | 8 ++++---- tests/static.h | 46 ++++++++++++++++++++++---------------------- tests/unknown1 | 14 +++++++------- tests/unknown2 | 12 ++++++------ tests/unknown4 | 2 +- 11 files changed, 86 insertions(+), 88 deletions(-) diff --git a/libpcp/scrypt.c b/libpcp/scrypt.c index 5dedb12..8c7e5ef 100644 --- a/libpcp/scrypt.c +++ b/libpcp/scrypt.c @@ -23,25 +23,23 @@ #include "util.h" byte* pcp_scrypt(PCPCTX *ptx, char *passwd, size_t passwdlen, byte *nonce, size_t noncelen) { - uint8_t *dk = smalloc(64); /* resulting hash */ + byte *dk = smalloc(64); + byte *salt = malloc(crypto_pwhash_scryptsalsa208sha256_SALTBYTES); + + crypto_generichash(salt, crypto_pwhash_scryptsalsa208sha256_SALTBYTES, + nonce, noncelen, NULL, 0); - /* constants */ - uint64_t N = 1 << 14; - uint32_t r = 8; - uint32_t p = 1; - size_t buflen = 64; + int status = crypto_pwhash_scryptsalsa208sha256(dk, 64, passwd, passwdlen, salt, + crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE, + crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE); - if (crypto_scrypt((byte *)passwd, passwdlen, (uint8_t *)nonce, noncelen, N, r, p, dk, buflen) == 0) { - _dump("nonce", nonce, noncelen); - _dump(" pass", (byte*)passwd, passwdlen); - _dump(" dk", dk, 64); - fprintf(stderr, "N: %ld, r: %d, p: %d\n", N, r, p); + ucfree(salt, crypto_pwhash_scryptsalsa208sha256_SALTBYTES); + if (status == 0) { return dk; } else { - fatal(ptx, "crypto_scrypt() failed\n"); + fatal(ptx, "crypto_pwhash_scryptsalsa208sha256() failed\n"); return NULL; } - - return NULL; } + diff --git a/tests/bart.pub b/tests/bart.pub index d02c7de..85ffba2 100644 --- a/tests/bart.pub +++ b/tests/bart.pub @@ -1,9 +1,9 @@ ----- BEGIN ED25519-CURVE29915 PUBLIC KEY ----- -1][S608}PxJV?5A[Wwp%=4UFF0I1o]]>&tIIBzr3%nx$4=*4{8i#6aJtj/@VxJwiF5I9{Zl -kaN)/[j#0H-IW7vAaR2lGb&u{eyD*Wb*pFTDUZ{3NjaZ&+K/2Z*qRV:oCmKZBfa8bo^9)00 -0080SSi208}PxJSo4V2M>5b0033hD>3bR00&(h00010Yl>7*000Gy00SAaB7GxavqD.=Hr6 -t{01xRx1POWzCwZ#jlsB[R0000i6Awmo3t -!sze+HEAMv{o]@Bn8y:fx]fDY)]3tXc]DE30b3&K8{65fN}tfPsN+9oKbfm9/=PXA{S^ +la=*sAv38NRiJO0aJS4rmx?mypA$TROMAp>vnWxqulxBM?Zyz@u[Noobvdm/Jwj%bo^9)00 +0080SSi2097-%&@x5V2M>5b0037krBV1e00&(h000125(&Aw000Gy00SAaB7GxavqGsKG}e +hz01xRx1POWzCwZ#jlsB[R0000i6Awmo3t[B}O^{C#D)!/>X^8XOnk&j2YmXVJ.{X2bXp[ +YQ(E[Fgaa2UFf>x&j1=9e.nNOhhE13iI2CiHS=PRD.0YP2c$wabl3.ATFlqe8Zriz*trfz8 ++%^.mf0q/ek(&S ----- END ED25519-CURVE29915 PUBLIC KEY ----- diff --git a/tests/key-alicia-pub b/tests/key-alicia-pub index ce669a8..424ef5b 100644 --- a/tests/key-alicia-pub +++ b/tests/key-alicia-pub @@ -1,9 +1,9 @@ ----- BEGIN ED25519-CURVE29915 PUBLIC KEY ----- -1][S608}PxJuHxvv>P+rA6Q-eDxXMO?G/{bOUdC(izVt8x*5MjEcaq9>E8p$YS1J9n#>tnD -6Cd$3dT0*1h9h1h-ng@K?slf6y2(32y7y#L8je>zu^KLbhUDv(C?j[ja%7DGeAVKbo^9)00 -0080SSi208}PxJq@}U2M>5b0033hD<{5Q00&(h00010Yl>4/000Gy00SAaB7GxavqLm=j5( -mX01P+z1PO:BCwZ#jl2pmBx<*#w02caE1ond8K&s3O*hED>I+d%S&?OYIOaKl7JgH}0Go#pwA]KB(kaxr% -3.-h$:}>pn8zqF]laLMCoq/jZnyh+Z7f5(kEHwA#lyfj67EznX:PRrNTu0XlpiwUpup![rV -.F^+[nU{v(&m1=00003 +1][S6097-%&#$gM?n.Qw]CtmmZ)(d5)^&#x)F*^2UDWe3ojbSby>gHT?EUjk&pI3cxE*gE* +R=K^->HL{Y*A**S:A($8dtQsZI:TI01m@D6l3U^%1sZjSCbM+IT[.CVMalMW*&AXbo^9)00 +0080SSi2097-%&@x5V2M>5b0037krBV1e00&(h000125(&Aw000Gy00SAaB7GxavqK5azs^ +/d01P+z1PO:BCwZ#jl2pmBx<*#w02caE1onHp>0=^)$.G5d:Ls***6SV1E(Zp1iSY59=}{.(N)q6gTYN33W57h-6xX4O=EauF73+Y)s#SWP-vfNGqt<18MmZp=dmbD13#96U7U(8?}71F< -e@#bBNiKv<.[B%27N4t%@E05b&Bk9:JBx2n]Zh5?tWwS@Pr0gvYQbID:9bA^[?5*Z9[z1*Y -f+um^M+@Hha[f@>X36r?Heh*uL4AAmFhf9Y)Lx9Ur[*C(t*L59UJV%B1CCZrG=.6A!wse#V -+GsM-r4tTzhayYCnFrs0$s}FsoNI@}ozO[ZkG>*!Kw5JVZ6ZTyIJgXnGXt-I}?OROV-y<7c -f6tR^W}2DHxYjoiJK.p2.D4>nA^H{ruZ?Yj.Zsvti25XJ3Z}IyFN*nBgX!g)-rukw00002 +&xDEz1XK>dFo{10qP!ibe28hORn6ZEi1qc=oPF4<7Ci>Cd^eLqL42nhv/H:Yv6#%e3fe?#*LLl6yt%n7CIdVR1a! +h/]p%UYSHekL{T/^S:<(0Kpie=oBQED#M1gpf0O7l}e6au!sk?1v4e%d5A$jE5:%u0zJP94M[FkdkBc/*EPOaX(mmK{>bC&+qxOxf[UQ6q(bo^9)00 -0080SSi208}PxJSo4V2M>5b0033hD>3bR00&(h00010Yl>4/000Gy00SAaB7GxavqFFeUsw -M)01GXy1POZACwZ#jlt{sxC(N*A6bgAH01iTLx(4l%vQ:QFy&r/(yYBCn0uh3qSXng*N(7P -DZissLHR2T5SD#[/&2m+Iwkc6!S/rgDIgKsrtSDuB.VZA{QD}ShyggUo@0eWE8}(#TDDupu -&J6IU.1EtQjwF=jG4{S6h2epu39BiqS5xoLyxfT4NOi}Gm*Sd@v8@Q=uFGi3dnB5kJj!}1h -87y7{(@#500001 +1][S6097-%&#}QgWB7(bso^-@]H&)M*?I88J7zwQhA%%EbhlBZ +LmNh1=03<0>3Sor8?vo2poRSNJukSM*v2^mDWoW:(!Q+/2:3p7i>^Gt$yR7L4$7ubo^9)00 +0080SSi2097-%&@x5V2M>5b0037krBV1e00&(h000125(&Aw000Gy00SAaB7GxavqDv=Fk3 +1z01GXy1POZACwZ#jlt{sxC(N*A6bgAH01iTLx(4l%vQ:QFy&r/(yYBCn0uh3]inVjYs)@0 +geL6aUo^iV}S}[7Nd23jb9v.*Bd:IEStfX4QUzFrf>* +CIXx@Y(Xt.j+.q$WkU1(&h4<.@-tC0iNYZBwUH^^Bl{Jr1LVwo -sBb)jNY)uR)#?fQMB)37KL5a{9aImj8>e&%2JzR[xAIt^3TCO3xpvrJpc&7X#Q4y!Avzv@4 -oQG)$0/6W.5/]i&lx?gyeV&lg+4^XgXv6UR9bb[ufq!xalrcnaLrlk%y>x5}$>]1.^si6EBL$(h#}gS9Wn{GXUqgO4sAs6W -I*o^RucnR]B((HTV/1-tUW&^qv+8*@IS%nraQ?kK4nsmHsS]&imY.vI@W?JtPlNhaQ:T]jK -9Bn0+wi>EP)wa{Kx&1)@E}9EjgjL^s-)ztQ}os^TO6TsS(E9iw^j+%nDFY&T00000 +sR$x!+Q+gdp>NvV]$zhGa)Wol.+mx1slD]$5Z&En}WJ.x+R2=^HzEhD0Z0Qk0$tH7BXo00b +[w}x6>)nWlm7zG1U]hUth-k7dJ71e3G#pOPZruZJx}0$&It<=h*o8}i:^C7[$rP-DlWBNj3Iey28l% +AG/!8Vhi)6Yjo!DqLQW5^vbPD}hvgBgfIFYGdsF77eJBiMBwyG&+-To2i}B -gL#xzQ2xNoQbS-@TJ#x*^T-MRClOblFE]jR?lEgVR$y7Q[L>z5EUww{J=kA+%IHNbo^9)00 -0080SSi208}PxJ@PdW2M>5b0033hD>chS00&(h00010Yl>7*000Gy00SAaB7GxavqHsVvL! -5+01Y?A1PO^CCwZ#jphaoRvqYPQ000-F00Aohzddc{zFrW0vqYQvy&r/(yYBCn0uh2cID>+ -C0tc$Ga.-{JG^nWb+c)h6dy{}!p(HtZ/X28Vr{%rAl73K1KU-cUF(&!lXL^itwL^l)gNRM1 -B/C<=9Ysfd@hKyQ0$g(f+=%dOD.zeUGy#[j@Kt:srRjFI4C5*B00^e2rhV/-XKN+Aw4F0PT6t8qS[b@+lbo^9)00 +0080SSi2097-%5b0037krB=7f00&(h000125(&Aw000Gy00SAaB7GxavqD5e/R5 +oB01Y?A1PO^CCwZ#jphaoRvqYPQ000-F00Aohzddc{zFrW0vqYQvy&r/(yYBCn0uh2!.O?* +XJ$:1%==@=R7{:wD{CzQ[1]-2k5P:K5=@EM@h1?[9Yigq3Bsr=:O?Cjw!1gq=%i..Tf4Xk< +X7.mYD{R1[lTkTa2qc^xu1&6z8ECuigL@C!mT&vgD1TCgf9/)(6En?^OCZhRKw& +pI3zkiaG>bsHt/@d%.v ----- END ED25519-CURVE29915 PUBLIC KEY ----- diff --git a/tests/unknown2 b/tests/unknown2 index ab5e29e..f0d073e 100644 --- a/tests/unknown2 +++ b/tests/unknown2 @@ -1,8 +1,8 @@ ----- BEGIN ED25519-CURVE29915 PRIVATE KEY ----- -7z!4XlTnE<{pyNIUPKRe)c/&(C*69HiE.2HEUvk}.{wei49/gs&i?hdkbpwbVT6z[=*a -)f?0y3>Ccx1rtWn>jkD*#fz{so-a]r+KxOyNf0.+![hraO(]D9EC+]i@T=G1WinO?I>n[lo -hqW&W/FvEHflDY73Ww)Q6[3w7oT)woNhZEa^^G1baNKF[?pLg)=-UJ.1hRVf1B]LZon$W{n -Ra[hEp4lT)8?DfO[a^%TPGNJSu5y?mbJvcmQ5?i.)B8qe0:Hy@jxWYbr(![Wrkz.{00000 +k?.94xGjnQjK&1E]du2^aqzGt00=MS(BW^@1sWBErpH0CmaP1L1f//1Yl01v&li$iv>G06I +74-AC2C5u>x]c4T5g[yPhUs?SaHMW9f{LNrsr@n^db?cJt(L(TFzeV{p}Nv5?R*6mo/TC)0 +@PBItOguyj6YTKBRLdsuaUxfYk.*LGcH(1gf&#}j--1n(ewi!$izcClGTuKt1tRWXiuYYE7 +6o@hV%?y{{:3j5It%N+]B8w*P#C.*N^*S0Z2p)vszkF3hyE*1(Fj5bDheH/KnTDCKqoLs.2 +3!=^SFytRDMEfJDH.n:&sPoQW?EiJ({-eP+aSRq2dB&>T*O9c ----- END ED25519-CURVE29915 PRIVATE KEY ----- diff --git a/tests/unknown4 b/tests/unknown4 index ba66e7c..bfd7171 100644 --- a/tests/unknown4 +++ b/tests/unknown4 @@ -1 +1 @@ -7PsEP4u#Q3RHx+3j*qzsPG*m5FRmq9YAVXA!>h^si9SJ4%ma3oPM]j+-Z}MU00001 +7xBKNd@2v[N-5aot3DW1)P}.#QtXBYNqN5F]/#IQ6^9lJZ?zHM^l5}rTJ:ckwO&1W