V kryptografii je Very Smooth Hash (VSH) n-bitová efektivní kryptografická hashovací funkce vyvinutá v roce 2005 Scottem Kotinim, Lestrou Arjen a Ronem Steinfeldem. Je odolný proti kolizím za předpokladu vysoké výpočetní náročnosti nalezení netriviální druhé odmocniny z velmi hladkého čísla modulo n. [1] Koncept velmi hladké funkce znamená, že hranice hladkosti je pevnou polynomickou funkcí n. Tento hashovací algoritmus předpokládá jediné násobení na bit zprávy a používá aritmetiku typu RSA , což eliminuje potřebu ukládat kód hashovací funkce samostatně. Proto je tento algoritmus užitečný v embedded prostředích, kde je omezený kódový prostor. Velmi hladkou hashovací funkci lze také použít k vytvoření funkce jednosměrného tajného vstupu , kterou lze použít v podpisových schématech pro urychlení ověřování a zvýšení soukromí.
Pro VSH je hlavním matematickým problémem odolnost proti kolizi, která v podstatě spočívá v zakořenění modulo n velmi hladkých čísel, nazývaných velmi hladké kořeny (VSSR). Na druhé straně problém výpočtu velmi hladkého kořenového modulu n úzce souvisí s faktorizací celých čísel pomocí metody obecného číselného pole síta . [2] [3]
Pro pevné konstanty c a n se celé číslo m nazývá velmi hladké číslo, jestliže všechny prvočinitele m jsou nejvýše (log n ) c . Celé číslo b je velmi hladký kvadratický modulo n , jestliže největší prvočíslo b je nejvýše (log n ) c a existuje celé číslo x takové, že . Celé číslo x se nazývá velmi odmocnina modulo b .
Zajímají nás pouze kořeny, kde x 2 ≥ n . Protože je-li x 2 < n , pak lze kořen snadno vypočítat pomocí pole charakteristiky 0. Výpočet velmi hladkého kořene je následující problém: nechť n je součin dvou prvočísel přibližně stejné velikosti a nechť , a být posloupností prvočísel. Je-li dáno n , je nutné najít takové, že alespoň jedno z e 0 ,…, e k bude liché.
Nechť jsou pevné následující parametry: a .
Potom velmi hladké číslo z daných parametrů, protože je větší než všechny prvočinitele . Na druhou stranu není příliš hladké číslo v a .
Celé číslo je velmi hladké kvadratické modulo , protože je velmi hladké (of ) a existuje tak, že (mod ). Toto je triviální druhá odmocnina, protože modul se při kvadraturaci nebere v úvahu.
Celé číslo je také kvadratický modulový zbytek . Všechny prvočinitele jsou menší než 7,37 a všechny odmocniny modulo se rovnají , protože (mod ). Úkolem VSSR je najít podle dat a . A výpočetně stejně těžké jako faktorizace .
Nechť je posloupnost prvočísel. Nechť délka bloku, největší celé číslo, je taková, že . Nechť existuje -bitová zpráva skládající se z , která musí být hašována s . Chcete-li vypočítat hash [4] :
Funkce v kroku 4 se nazývá kompresní funkce.
Nechť x, y a z jsou tříbitové řetězce stejné délky, kde z se skládá pouze z nulových bitů a splňuje x AND y = z. Potom H(z)H(x OR y) ≡ H(x)H(y) (mod n). VSH je horší než klasický útok na dočasné úložiště, který se používá na multiplikativní a aditivní hash. [osm]
Bylo navrženo několik vylepšení, zrychlení a účinnějších variant VSH [9] . Žádný z nich nemění základní koncept funkce:
VSH-DL - Diskrétní logaritmus VSH, který nemá funkci jednosměrného tajného vstupu , jeho bezpečnost závisí na obtížnosti nalezení diskrétního logaritmu modulo a prvočíslo p .
Velmi hladký číselný diskrétní logaritmus (VSDL) je diskrétní logaritmus nějakého modulu VSN s určitým číslem n .
Podobně jako u dříve představeného zápisu bereme jako -té prvočíslo. Dovolit být pevná konstanta a , být prvočísla taková, že a . VSDL-problém: dá se najít celá čísla taková, že , kde pro všechny , navíc alespoň jedno z nich je nenulové.
Předpokladem VSDL je, že neexistuje žádný pravděpodobnostní polynomiální-časový algoritmus, který řeší VSDL. Existuje úzký vztah mezi složitostí výpočtu VSDL a složitostí výpočtu modulového diskrétního logaritmu .
Funkce a soutěž NIST SHA-3] // Stopa kryptografů na konferenci RSA. - 2010. - S. 5 . Archivováno z originálu 11. srpna 2017.