Size: a a a

2019 September 12

m

mezoantropo | Elrond fellowship in Sherlock Club
bigstrongboy
Pedersen hash weaknesses

Pedersen hash has been popularized by Zcash team as ZK-friendly hash function suitable for Merkle trees. Its simplest version operates on an elliptic curve with two fixed generators G and H with unknown discrete log relation. Then to hash two integers (a,b) one computes

P = aG + bH

and takes some compressed version of P (e.g. x-coordinate) as a result. There are several extensions of this construction to longer messages using multiple generators [1] or just by a recursive Merkle-Damgard calling.  In contrast to regular hash functions like Keccak there is a formal security proof for collision resistance as any collision implies a discrete logarithm relation between G and H.

There are several problems with this construction. First, from the implementation perspective it is quite complicated. To hash messages within some field F, one has to define an elliptic curve with the order bigger than |F| but the coordinates being in F. For zero-knowledge proofs one has to convert elliptic curve equations into degree-2 constraints, and also work with the bit representation of (a,b) in order to reduce the scalar multiplication to point addition and doubling. Altogether this makes quite a non-trivial circuit, but it is still doable.

From the cryptographic point  of view the situation is worse. Pedersen hash has several properties quite unexpected from a cryptographic hash function. First, it is homomorphic: H(ab,cd) = H(a,b) + H(c,d). This property alone is not problematic and is even common for cryptographic commitments and many other primitives. However, it implies that the function is vulnerable to length-extension attacks: given H(A) it is easy to compute H(A,B) for some integer tuples A and B. This property, being present in SHA-0/1/2 and forbidden in SHA-3, caused many attacks like [2]. It makes a natural MAC construction MAC(M) = H(K || M) insecure, and rules out a common domain separation method of creating many functions from one as H_i(x) = H(i||x).

Finally, the preimage security of Pedersen is weaker than expected. For an n-bit elliptic curve it is not 2^(n/2) as one would hope for. If the hashed message is l-bit long for l<n the preimage search cost is not min(2^l,2^(n/2)) but only 2^(l/2). Indeed, let a and b be l/2 -bit long. Then define f(x) = xG and g(y) = P-yH. Thus the preimage  for P is just a collision between f and g, which can be found memoryless in 2^(l/2) steps. Last but not least, the multi-target preimage security is even lower: to find 2^k preimages for l-bit messages, one performs only 2^(l/2+k/2) hash function calls thus making the amortized preimage search cost as low as 2^(l/2-k/2). In concrete numbers, if one hashes 1000 128-bit messages with Pedersen, each preimage costs you only 2^59.

We do not recommend using Pedersen hash in protocols and applications.

[1] https://iden3-docs.readthedocs.io/en/latest/iden3_repos/research/publications/zkproof-standards-workshop-2/pedersen-hash/pedersen.html
[2] http://netifera.com/research/flickr_api_signature_forgery.pdf
Пидорский хэш не для чётких пацанов онли
источник

R

RadisT in Sherlock Club
Dobrodel
Куда пропал Nomo кажется, совместно с ним проводили конкурсы статьей
где то тут @nommo
источник

N

NOMMO in Sherlock Club
RadisT
где то тут @nommo
Привет )
источник

N

NOMMO in Sherlock Club
Dobrodel
Куда пропал Nomo кажется, совместно с ним проводили конкурсы статьей
Я не пропадал)
источник

D

Dobrodel in Sherlock Club
чем занимаешься сейчас?
источник

N

NOMMO in Sherlock Club
Dobrodel
чем занимаешься сейчас?
прогнозирую и торгую батю, пилю по тихому пару проектов
источник

N

NOMMO in Sherlock Club
Dobrodel
Куда пропал Nomo кажется, совместно с ним проводили конкурсы статьей
чего вспомнили про конкурс? нужен второй сезон?)
источник

D

Dobrodel in Sherlock Club
я не участвовал) просто вспомнил что чаще тебя замечал,а потом пропал
источник

N

NOMMO in Sherlock Club
а) ну понятно, думаю как-нить сделаем 2й сезон, только чуть по другому и скорей всего для этого уже довольно скоро появится повод)
источник

R

RadisT in Sherlock Club
NOMMO
а) ну понятно, думаю как-нить сделаем 2й сезон, только чуть по другому и скорей всего для этого уже довольно скоро появится повод)
снова под новый год?))
источник

N

NOMMO in Sherlock Club
RadisT
снова под новый год?))
😄 надеюсь быстрее, но даже если и так
источник

BG

Bodya Gagarin in Sherlock Club
​​IEO Band Protocol на Binance Launchpad 17 сентября

IEO Hard Cap: $5,850,000 (12,37% токенов)
Стартовый циркулейт: ~$8млн (17,08%)
Индивидуальная капа на билет: 300$ (634.25 BAND)
Количество выигрышных билетов: 19500

Цена IEO: $0.473
Цена сида: $0.30. Цена привата: $0.40.
Собрали на сиде и привате: $5млн (15%)
Вестинг на год, анлок начиная со второго месяца.

Формат: Лотерея + Airdrop на $300к для невыигрышных билетов
Начало холда BNB: 17 августа 3:00 МСК
Конец холда BNB: 16 сентября 3:00 МСК
Результаты лотереи: 17 сентября 11:00 МСК
Airdrop неудачникам сразу после лотереи. В прошлый раз вышло $1,89 в PERL за каждый билет.

Инфа о проекте и сейле:
@BandProtocol
bandprotocol.com
https://www.binance.com/en/support/articles/360033102832
https://info.binance.com/en/research/BAND-2019-09-06.html
источник

b

bigstrongboy in Sherlock Club
AMA with tellor team starting in 5min
источник

b

bigstrongboy in Sherlock Club
@YourFriendCL  личка!!!
источник

PS

Pepe Svin in Sherlock Club
mezoantropo | Elrond fellowship
А ты где заходил?
По 8
источник

🤖

🤖ᗯᎥᒪᒪᎥᗩᗰ ᖇƳᗩᑎ🤖 in Sherlock Club
Rewards for the Kambria AMA have been dispensed! Enjoy your rewards lucky winners 🎁
источник

🤖

🤖ᗯᎥᒪᒪᎥᗩᗰ ᖇƳᗩᑎ🤖 in Sherlock Club
Sorry for the delay, our team was traveling. :)
источник

s

stsoen in Sherlock Club
потерял зарядку от ми9. достал htc hd2. пока обновляется телега, читаю старые сообщения. Апрель 18го, Ламер в одном из чатов: BABB 3x за неделю сделал.
Черт, я даже прослезился.
Тут вообще кто-нибудь про BABB слышал?
источник

ЮК

Юрий Каретников in Sherlock Club
Он же BAX насколько помню ?
источник

b

bigstrongboy in Sherlock Club
источник