PHC icon indicating copy to clipboard operation
PHC copied to clipboard

Added PHS wrappers and generated vectors

Open waywardgeek opened this issue 10 years ago • 1 comments

This is a big patch involving several entries that cleans up the PHS declarations, defines limits for the input parameters, and provides a mechanism for automatically generating test vectors for each of them other than PolyPassHash, which generates different results each time it's PHS function is called.

I wish to use this for automated benchmarking, among other things. It is not required that these changes be pulled upstream, but it will allow you to compile and test the various entries through a common interface. I tried to keep the actual code changes to the entries minimal. For example, I have not fixed compiler warnings. The entries are built with a new Makefile, using common compiler flags, and supports opt (the default) and debug targets.

Bill

waywardgeek avatar Apr 14 '14 16:04 waywardgeek

Thanks Bill! I'll let PHK approve or challenge your pr. On Apr 14, 2014 6:16 PM, "Bill" [email protected] wrote:

This is a big patch involving several entries that cleans up the PHS declarations, defines limits for the input parameters, and provides a mechanism for automatically generating test vectors for each of them other than PolyPassHash, which generates different results each time it's PHS function is called.

I wish to use this for automated benchmarking, among other things. It is not required that these changes be pulled upstream, but it will allow you to compile and test the various entries through a common interface. I tried to keep the actual code changes to the entries minimal. For example, I have not fixed compiler warnings. The entries are built with a new Makefile, using common compiler flags, and supports opt (the default) and debug targets.

Bill

You can merge this Pull Request by running

git pull https://github.com/waywardgeek/PHC master

Or view, comment on, or merge it at:

https://github.com/bsdphk/PHC/pull/1 Commit Summary

  • Copied in some files I wrote for testing
  • Got stuff compiling
  • Fixed overwriting password in POMELO
  • Got Lyra2 compiling
  • Did a number of totally ugly edits to get m3lcrypt to compile
  • Run automake for Lanarea to regenerate automake in systems with different automake.
  • Run test from local directory.
  • Print PHS() failure code.
  • Added v1 versions of Yard, M3lcrypt, and POMELO, and added make support for Makwa
  • Modified M3lcrypt to get it to compile
  • Got MCS_PHS compiling, though un-windowizing it was painful
  • Minor mod to omegacrypt to have linkable PHS function
  • Added extern C to Parallela declarations
  • Add some trivial run time test.
  • Got PolyPassHash to compile
  • Merge pull request #1 from mbroz/testing
  • Got Pufferfish running
  • Compiled RIG
  • Got Yescript building - that's all of them
  • Fix to Pufferfish to call raw kdf
  • Modified runall
  • Return logical not of yarn value, since yarn returns 1 always
  • Working on test vectors
  • Starting to add limits for the PHSs
  • Updated limits through Catena
  • updates
  • conflict merges
  • Working on limits for PHC entries
  • Added more test vector limits
  • Added some more limit support
  • Fix to twocats full password hashing for small m_cost
  • Finished adding limit support
  • Got vectors running
  • Cleaned up Makefile a bit

File Changes

  • A Argon/Argon-Optimized/Linux-AES-NI/Argon-Optimized.cpphttps://github.com/bsdphk/PHC/pull/1/files#diff-0(925)
  • A Argon/Argon-Optimized/Linux-AES-NI/README.mdhttps://github.com/bsdphk/PHC/pull/1/files#diff-1(12)
  • A Argon/Argon-Optimized/Windows-AES-NI/Argon-Optimized.cpphttps://github.com/bsdphk/PHC/pull/1/files#diff-2(917)
  • A Argon/Argon-Optimized/Windows-AES-NI/README.mdhttps://github.com/bsdphk/PHC/pull/1/files#diff-3(10)
  • A Argon/Argon-Optimized/Windows-AES-NI/bin/x64/Argon-Optimized.exehttps://github.com/bsdphk/PHC/pull/1/files#diff-4(0)
  • M Argon/Reference_implementation/argon-ref.cpphttps://github.com/bsdphk/PHC/pull/1/files#diff-5(962)
  • M Battcrypt/code/c++/battcrypt.cpphttps://github.com/bsdphk/PHC/pull/1/files#diff-6(2)
  • M Battcrypt/code/c++/battcrypt.hhttps://github.com/bsdphk/PHC/pull/1/files#diff-7(2)
  • M Catena/code/src/catena.chttps://github.com/bsdphk/PHC/pull/1/files#diff-8(2)
  • M Catfish/ref-c/catfish.chttps://github.com/bsdphk/PHC/pull/1/files#diff-9(5)
  • M Catfish/ref-c/catfish.hhttps://github.com/bsdphk/PHC/pull/1/files#diff-10(4)
  • M Gambit/src/gambit.cpphttps://github.com/bsdphk/PHC/pull/1/files#diff-11(2)
  • M Gambit/src/gambit.hhttps://github.com/bsdphk/PHC/pull/1/files#diff-12(2)
  • M Lanarea/lanarea.chttps://github.com/bsdphk/PHC/pull/1/files#diff-13(15)
  • M Lanarea/lanarea.hhttps://github.com/bsdphk/PHC/pull/1/files#diff-14(9)
  • M Lanarea/libb2/Makefile.inhttps://github.com/bsdphk/PHC/pull/1/files#diff-15(15)
  • M Lanarea/libb2/aclocal.m4https://github.com/bsdphk/PHC/pull/1/files#diff-16(122)
  • M Lanarea/libb2/configurehttps://github.com/bsdphk/PHC/pull/1/files#diff-17(102)
  • M Lanarea/libb2/src/Makefile.inhttps://github.com/bsdphk/PHC/pull/1/files#diff-18(10)
  • M M3lcrypt/code/Sha2.chttps://github.com/bsdphk/PHC/pull/1/files#diff-19(2)
  • M M3lcrypt/code/Sha2.hhttps://github.com/bsdphk/PHC/pull/1/files#diff-20(3)
  • M M3lcrypt/code/m3lcrypt.chttps://github.com/bsdphk/PHC/pull/1/files#diff-21(5)
  • M M3lcrypt/code/m3lcrypt.hhttps://github.com/bsdphk/PHC/pull/1/files#diff-22(2)
  • M MCS_PHS/code/mcs_psw/mcs_psw.cpphttps://github.com/bsdphk/PHC/pull/1/files#diff-23(173)
  • M MCS_PHS/code/mcs_psw/mcs_psw.hhttps://github.com/bsdphk/PHC/pull/1/files#diff-24(2)
  • A Makefile https://github.com/bsdphk/PHC/pull/1/files#diff-25(113)
  • M OmegaCrypt/ocrypt.chttps://github.com/bsdphk/PHC/pull/1/files#diff-26(9)
  • M OmegaCrypt/phs.hhttps://github.com/bsdphk/PHC/pull/1/files#diff-27(11)
  • M Parallel/code/c++/parallel.cpphttps://github.com/bsdphk/PHC/pull/1/files#diff-28(2)
  • M Parallel/code/c++/parallel.hhttps://github.com/bsdphk/PHC/pull/1/files#diff-29(2)
  • M PolyPassHash/polypasshash-c/include/libpolypasshash.hhttps://github.com/bsdphk/PHC/pull/1/files#diff-30(6)
  • M PolyPassHash/polypasshash-c/lib/libgfshare.chttps://github.com/bsdphk/PHC/pull/1/files#diff-31(2)
  • M PolyPassHash/polypasshash-c/src/libpolypasshash.chttps://github.com/bsdphk/PHC/pull/1/files#diff-32(2)
  • M Pufferfish/src/common/api.chttps://github.com/bsdphk/PHC/pull/1/files#diff-33(14)
  • M RIG/source/rig.cpphttps://github.com/bsdphk/PHC/pull/1/files#diff-34(2)
  • M RIG/source/rig.hhttps://github.com/bsdphk/PHC/pull/1/files#diff-35(11)
  • R Schvrch/schvrch.chttps://github.com/bsdphk/PHC/pull/1/files#diff-36(0)
  • M TwoCats/skinnycat/skinnycat.chttps://github.com/bsdphk/PHC/pull/1/files#diff-37(2)
  • M TwoCats/twocats/twocats-common.chttps://github.com/bsdphk/PHC/pull/1/files#diff-38(2)
  • M TwoCats/twocats/twocats-ref.chttps://github.com/bsdphk/PHC/pull/1/files#diff-39(2)
  • M Yarn/yarn.c https://github.com/bsdphk/PHC/pull/1/files#diff-40(6)
  • A genvectors https://github.com/bsdphk/PHC/pull/1/files#diff-41(8)
  • A limits/antcrypt-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-42(20)
  • A limits/argon-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-43(20)
  • A limits/battcrypt-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-44(20)
  • A limits/catena-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-45(20)
  • A limits/catfish-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-46(20)
  • A limits/centrifuge-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-47(20)
  • A limits/earworm-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-48(20)
  • A limits/gambit-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-49(24)
  • A limits/lanarea-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-50(20)
  • A limits/lyra-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-51(20)
  • A limits/m3lcrypt-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-52(20)
  • A limits/makwa-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-53(20)
  • A limits/mcsphs-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-54(20)
  • A limits/omegacrypt-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-55(20)
  • A limits/parallela-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-56(29)
  • A limits/polypasshash-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-57(20)
  • A limits/pomelo-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-58(20)
  • A limits/pufferfish-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-59(20)
  • A limits/rig-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-60(20)
  • A limits/schvrch-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-61(20)
  • A limits/tortuga-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-62(20)
  • A limits/twocats-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-63(20)
  • A limits/yarn-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-64(20)
  • A limits/yescrypt-limits.chttps://github.com/bsdphk/PHC/pull/1/files#diff-65(20)
  • A main.c https://github.com/bsdphk/PHC/pull/1/files#diff-66(333)
  • A runall https://github.com/bsdphk/PHC/pull/1/files#diff-67 (7)
  • A runall_time https://github.com/bsdphk/PHC/pull/1/files#diff-68(18)
  • A vectors/antcrypt-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-69(393)
  • A vectors/argon-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-70(3123)
  • A vectors/battcrypt-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-71(898)
  • A vectors/catena-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-72(867)
  • A vectors/catfish-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-73(272)
  • A vectors/centrifuge-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-74(492)
  • A vectors/earworm-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-75(615)
  • A vectors/gambit-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-76(290)
  • A vectors/lanarea-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-77(334)
  • A vectors/lyra-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-78(537)
  • A vectors/m3lcrypt-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-79(1306)
  • A vectors/makwa-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-80(283)
  • A vectors/mcsphs-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-81(285)
  • A vectors/omegacrypt-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-82(780)
  • A vectors/parallela-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-83(774)
  • A vectors/pomelo-vectorshttps://github.com/bsdphk/PHC/pull/1/files#diff-84(0)

Patch Links:

  • https://github.com/bsdphk/PHC/pull/1.patch
  • https://github.com/bsdphk/PHC/pull/1.diff

Reply to this email directly or view it on GitHubhttps://github.com/bsdphk/PHC/pull/1 .

veorq avatar Apr 14 '14 17:04 veorq