Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 2 Aug 2015 22:46:00 +0200
From: Agnieszka Bielec <bielecagnieszka8@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: PHC: Argon2 on CPU

hi, I have argon2i/d on CPU and GPU although I have not optimizations on GPU yet
argon2i/d is in both versions: REF and OPT-SSE
turned out that OPT-SSE after I removed SSE is faster than REF and my
GPU version bases on this

results:

OPT-SSE
none@...e ~/Desktop/rr/run $ ./john --test --format=argon2i
Will run 8 OpenMP threads
Benchmarking: argon2i [AVX]... (8xOMP)
memory per hash : 100.00 kB
using different password for benchmarking
DONE
Speed for cost 1 (t) of 3, cost 2 (m) of 100
Raw:    31232 c/s real, 3908 c/s virtual

none@...e ~/Desktop/rr/run $ ./john --test --format=argon2d
Will run 8 OpenMP threads
Benchmarking: argon2d [AVX]... (8xOMP)
memory per hash : 100.00 kB
using different password for benchmarking
DONE
Speed for cost 1 (t) of 3, cost 2 (m) of 100
Raw:    35328 c/s real, 4483 c/s virtual

REF
none@...e ~/Desktop/rr/run $ ./john --test --format=argon2i
Will run 8 OpenMP threads
Benchmarking: argon2i [AVX]... (8xOMP)
memory per hash : 100.00 kB
using different password for benchmarking
DONE
Speed for cost 1 (t) of 3, cost 2 (m) of 100
Raw:    9216 c/s real, 1160 c/s virtual

none@...e ~/Desktop/rr/run $ ./john --test --format=argon2d
Will run 8 OpenMP threads
Benchmarking: argon2d [AVX]... (8xOMP)
memory per hash : 100.00 kB
using different password for benchmarking
DONE
Speed for cost 1 (t) of 3, cost 2 (m) of 100
Raw:    10624 c/s real, 1336 c/s virtual

OPT

none@...e ~/Desktop/rr/run $ ./john --test --format=argon2i
Will run 8 OpenMP threads
Benchmarking: argon2i [AVX]... (8xOMP)
memory per hash : 100.00 kB
using different password for benchmarking
DONE
Speed for cost 1 (t) of 3, cost 2 (m) of 100
Raw:    24064 c/s real, 3019 c/s virtual

none@...e ~/Desktop/rr/run $ ./john --test --format=argon2d
Will run 8 OpenMP threads
Benchmarking: argon2d [AVX]... (8xOMP)
memory per hash : 100.00 kB
using different password for benchmarking
DONE
Speed for cost 1 (t) of 3, cost 2 (m) of 100
Raw:    27008 c/s real, 3418 c/s virtual

but I was testing these no-sse versions by modyfiyng my code, don't
know if I can just turn-off simd (?), so I can't be sure of these
results although I know that structure of REF is different than
OPT-SSE one(maybe more) function was called a different number of time

GPU

none@...e ~/Desktop/rr/run $ ./john --test --format=argon2i-opencl
Benchmarking: argon2i-opencl [Blake2 OpenCL]...
memory per hash : 100.00 kB
Device 0: GeForce GTX 960M
using different password for benchmarking
DONE
Speed for cost 1 (t) of 3, cost 2 (m) of 100, cost 3 (l) of 1
Many salts:     11070 c/s real, 11145 c/s virtual
Only one salt:  11299 c/s real, 11299 c/s virtual

none@...e ~/Desktop/rr/run $ ./john --test --format=argon2d-opencl
Benchmarking: argon2d-opencl [Blake2 OpenCL]...
memory per hash : 100.00 kB
Device 0: GeForce GTX 960M
using different password for benchmarking
DONE
Speed for cost 1 (t) of 3, cost 2 (m) of 100, cost 3 (l) of 1
Many salts:     13884 c/s real, 13884 c/s virtual
Only one salt:  13884 c/s real, 13768 c/s virtual

this is version of argon2 from github
https://github.com/khovratovich/Argon2 and I have some questions and
comments

here in version argon2i
https://github.com/khovratovich/Argon2/blob/master/Argon2i/opt-sse/argon2i-opt-sse.cpp
is text "Argon2d optimized implementation"

and "SSE3" but it's SSSE3 in blake2
https://github.com/khovratovich/Argon2/blob/master/Argon2i/opt-sse/blake2b.cpp


even SSE4_1 but I don't know if only one instruction
blake2b-round.h:#define LOADU(p)  _mm_loadu_si128( (__m128i *)(p) )
can make that it's SSE4_1 version (?)

files .cpp are with header and I added that I modified these files but
files .h are without header and I don't know what to do with these,
even part of blake2 is without header
https://github.com/khovratovich/Argon2/blob/master/Argon2i/ref/blake-round.h

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.