mbroz / phctest Goto Github PK
View Code? Open in Web Editor NEWPHC candidates trivial tests
PHC candidates trivial tests
First off, some of the submissions aren't memory hard at their "minimum" t_cost. Also you should graph time vs memory. The graph of time vs m_cost is mostly worthless.
To be fairer you probably want to match the number of times the memory is looped through "round". The best way would be to match how resistant the algorithm is to TMTO with a given t_cost, but I have not done this yet. So this is as good as we have right now. Since we can't find settings where they all do the same number of rounds we need to do different runs:
Name | t_cost for 2x | t_cost for 3x | t_cost for 4x | t_cost for 5x |
---|---|---|---|---|
Argon | 2 | 3 | 4 | 5 |
battcrypt | 0 | 1 | 2* | - |
Catena | 2 | 3 | 4 | 5 |
Lyra2 | 2 | 3 | 4 | 5 |
POMELO | 1 | - | 2 | - |
Pufferfish | - | 0 | - | 1 |
yescrypt | 3 | 4 | 5 | 6 |
* Correct value, on the PHC list I had a typo.
Luckily we can mostly match m_costs:
Name | m_cost for X KiB |
---|---|
Argon | X |
battcrypt | log2(X) - 3 |
Catena | log2(X) + 4 |
Lyra2 | X / 24 |
POMELO | log2(X) - 3 |
Pufferfish | log2(X) |
yescrypt | log2(X) |
Name | 128 KiB | 256 KiB | 512 KiB | 1 MiB | 2 MiB | 4 MiB | 8 MiB |
---|---|---|---|---|---|---|---|
Argon | 128 | 256 | 512 | 1,024 | 2,048 | 4,096 | 8,192 |
battcrypt | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Catena | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
Lyra2* | 5* | 11 | 21* | 43 | 85* | 171 | 341* |
POMELO | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Pufferfish | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
yescrypt** | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Name | 16 MiB | 32 MiB | 64 MiB | 128 MiB | 256 MiB | 512 MiB |
---|---|---|---|---|---|---|
Argon | 16,384 | 32,768 | 65,536 | 131,072 | 262,144 | 524,288 |
battcrypt | 11 | 12 | 13 | 14 | 15 | 16 |
Catena | 18 | 19 | 20 | 21 | 22 | 23 |
Lyra2* | 683 | 1,365* | 2,731 | 5,461* | 10,923 | 21,845* |
POMELO | 11 | 12 | 13 | 14 | 15 | 16 |
Pufferfish | 14 | 15 | 16 | 17 | 18 | 19 |
yescrypt** | 11 | 12 | 13 | 14 | 15 | 16 |
Name | 1 GiB | 2 GiB | 4 GiB | 8 GiB |
---|---|---|---|---|
Argon | 1,048,576 | 2,097,152 | 4,194,304 | 8,388,608 |
battcrypt | 17 | 18 | 19 | 20 |
Catena | 24 | 25 | 26 | 27 |
Lyra2* | 43,691 | 87,381* | 174,763 | 349,525* |
POMELO | 17 | 18 | 19 | 20 |
Pufferfish | 20 | 21 | 22 | 23 |
yescrypt** | 17 | 18 | 19 | 20 |
* All Lyra2 numbers are rounded up or down by 8 KiB. Numbers marked with * are
rounded down 8 KiB.
** All yescrypt numbers are rounded down by 11 KiB.
This is basically what I said in my email to the PHC list http://article.gmane.org/gmane.comp.security.phc/2550
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.