5.00 - nový formát archivu se slovníkem 1G

Verze 5.00 beta 1

   
1. Nový formát archivu RAR 5.0. Pro vytvoření archivu v tomto formátu můžete buď v dialogu nastavení zapnout volbu "formát RAR 5.0" anebo použít přepínač -ma příkazového řádku.

Upozornění: starší verze programu neumí tento formát rozbalit! Když nevíte, jakou verzi používá příjemce vašich dat, nastavte pro kompresi RAR 4.0 kompatibilní formát.

   2. Změny v kompresním algoritmu
RAR 5.0:

      
a) maximální velikost slovníku se zvyšuje až na 1 GB v 64bitové verzi WinRAR. Ve 32-bit verzi WinRAR lze
při vytváření archivu použít max. 256 MB slovník, ale rozbalit umí obě verze archivy s jakoukoli velikostí slovníku, včetně 1 GB;

      
b) výchozí velikost slovníku pro kompresi RAR 5.0 je 32 MB, což se obvykle  projeví vyšším kompresním poměrem a nižší rychlosti, než u RAR 4.x  s velikostí slovníku do 4MB. Pokud by vám zpomalení vadilo, můžete velikost slovníku nastavit menší buď v dialogu nastavení komprese, nebo klíčem -MD v příkazové řádce;

      
c)
syntax přepínače -md switch je upravena tak, aby bylo možné zadat i větší velikost slovníku. Připojením modifikátorů 'k', 'm' a 'g' určíte velikost v kilo-, mega- a GB, např. -md64m nastaví slovník 64 MB. Bez modifikátoru se předpokládá "M", tedy -md64 je stejné jako -md64m;

      
d) Ve
formátu RAR 5.0 je použitý jen delta kompresní algoritmus Intel IA-32, ale RAR 4.x textový, audio, truecolor a Itanium algoritmy použity nejsou. Protože pro současné datové typy a úroveň hardware nejsou dostatečně účinné;

      
e) I při rozbalování formátu RAR 5.0 se využívá několik jader CPU, ale na rychlosti se to projeví hlavně u velkých souborů se špatně komprimovatelnými datami, nebo při použití
kontrolních součtů BLAKE2.

   
3. Změny ve formátu archivu RAR 5.0:

      
a)
Časové údaje souborů jsou uložené jako Coordinated Universal Time (UTC)  místo bývalého místního času, což zjednoduší výměnu souborů mezi časovými pásmy;

      
b) Pro názvy souborů a komentáře
archivu je použito kódování UTF-8.
   
   
4. Záznamy pro opravu dat jsou v
RAR 5.0 založené na Reed-Solomonových kódech na opravu chyb. Pokud redundantní kód je dostatečně velký, t. j. 5 a více procent,  nový režim korekce chyb poskytuje ve srovnání s RAR 4.x mnohem vyšší odolnost vůči vícenásobnému poškození. Při 1-2 % je už rozdíl menší, a pro jeden souvislý poškozený úsek je účinnost přibližně stejná.

Kromě změny hodnoty dat je nový algoritmus mnohem odolnější i proti smazání nějakého úseku a taky proti vložení. Zotaví se i z vložení několika Megabyte, u smazání je odolný téměř do velikosti opravného záznamu.

Přesto má
korekce chyb nejlepší účinnost, když při poškození nedošlo k žádnému posunu dat. Proto, pokud používáte speciální program pro kopírování poškozených souborů, nastavte ho do režimu, kdy defektní místa nevynechává, ale vyplní je nulama.

Opravné záznamy formátu RAR 5.0 jsou samy o sobě odolnější proti poškození, než běžná data archivu. Příkaz "Oprava archivu" proto opravuje jen data archivu, ale opravné záznamy ponechává nezměněné. Takže v případě potřeby další archivace je po úspešné záchraně dat vhodné tato znovu zabalit do jiného archivu, kde budou i správná samoopravná data.

Nová metoda opravy už nezávisí na 512 bytových blocích, lze ji aplikovat na různé délky. Proto se nyní neudává počet bloků samoopravných dat, ale v parametru Rr[N] nebo přepínači -rr[N] předpokládá RAR 5.0 údaj o procentu velikosti archivu, i když za ním není znak "p". O dané procento se tedy zvýší velikost archivu, ale taky jeho odolnost vůči poškození souvislého úseku dosahujícího dané procento. S rostoucím N se také zlepšuje odolnost proti vícenásobnému poškození, viz první odstavec bodu 4.

Použitý algoritmus zveřejnili
James Plank S., Kevin M. Greenan a Ethan L. Miller pod názvem "Screaming Fast Galois Field Arithmetic Using Intel SIMD Instructions" jako optimalizaci kódu pro zvýšení výkonu původního Reed-Solomonova algoritmu. Také jsme vděční Artemu Drobanovi a Bulatu Ziganshinovi za vzorky dat a náměty pro další vylepšení Reed-Solomonovy metody.

   5.
Příkaz "Test" ověřuje po kontrole souborů v archivu i platnost opravných záznamu formátu 5.0.

I při částečně poškozených opravných záznamech je možné opravit některé chyby v datech. Proto se p
říkaz "Opravit" snaží využít i částečně poškozený redundantní kód a výsledek přesto mohou být zachráněná data.

   6. Změny v
šifrovacím algoritmu RAR 5.0:

      
a) šifrovací algoritmus se změnil z AES-128 na AES-256 v režimu CBC. Funkce pro odvození klíče je založena na PBKDF2 s použitím HMAC-SHA256;

      
b) speciální kontrolní číslo pro heslo umožňuje ve většině případů odhalit špatné heslo bez nutnosti rozbalení celého archivu. Ovšem ne zas tak rychle, aby to zásadním způsobem urychlilo hledání hesla tzv. hrubou sílou.

      c) při vypnutém šifrování názvů souborů je zvláštním způsobem upraven kontrolní součet souboru tak, aby nebylo možné uhodnout heslo podle obsahu (pro určitou příponu bývá stejná "signatura", t.j. několik úvodních byte). Proto se nedivte, když kontrolní součet souboru nesouhlasí se standardním CRC32 ani BLAKE2.
  
   
7.
Archivy formátu RAR 5.0 mohou jako kontrolní součty místo CRC32 využít 256 bitový hash BLAKE2sp (Https://blake2.net) Povolit to lze na záložce Možnosti nastavením volby "Použít kontrolní součty BLAKE2". Anebo přepínačem -htb v příkazovém řádku.

U větších archivů lze BLAKE2 využít pro rychlé porovnání souborů v archivu - stejná hodnota BLAKE2 u 2 souborů prakticky zaručuje jejich stejný obsah. A s použitím BLAKE2 ve srovnání s mnohem kratším CRC32 je taky mnohem jistější detekce poškození obsahu souboru.

   
8. Zrušené vlastnosti:

      
a) Ověření pravosti pomocí AV obálky již neposkytuje požadovanou úroveň zabezpečení. Proto není ve formátu 5.0 podporováno.
     
      
b) Přepínač -en (nepřidávat blok "konec archivu") není podporován. Ve formátu 5.0 je přidávání ukončujícího bloku povinné, protože usnadňuje bezpečně odlišit externí data přidaná k archivu, jako jsou digitální podpisy atd.

      c) Formát 5.0 již nepodporuje tzv. starý styl názvů dílů archivu, t.j. arcname.rNN, ale pracuje pouze s názvy typu arcname.partN.rar;
      
      
d) Komentář k souboru není podporován jak pro formát 4.x, tak i 5.0. Konzolová verze neakceptuje příkaz "CF". Ovšem komentář k celému archivu je podporován beze změny, ani se do budoucna neplánuje jeho opuštění.

   9. Volby "Nastavit heslo" a "Velikost slovníku" dialogu archivace se přesouvají na záložku "Obecné".
   
  
10. V archivačním dialogu na záložce "Pokročilé" můžete
pro uložení a obnovení NTFS symbolických odkazů použít volbu "Uložit symbolické odkazy jako odkazy". Pro příkazový řádek dává tuto možnost přepínač -ol.

Podobně pro pevné NTFS odkazy lze použít volbu
"Uložit pevné odkazy jako odkazy". Její
ekvivalent pro příkazový řádek je přepínač -oh.

Obě možnosti jsou k dispozici pouze pro formát
archivu RAR 5.0.
   
  
11. Přidána podpora extrakce pro formát archivu XZ.
   
  
12.. Změny ve zpracování dilů pro opravu dat ve formátu  RAR 5.0:

      
a) maximální celkový počet dílů RAR + REV je 65535 místo 255;

      
b) práce s díly pro obnovení je rychlejší než v RAR 4.x;

      
c) Kromě dat pro opravu obsahuje tento díl i kontrolní součty chráněných souborů, proto je trochu větší, než ostatní díly. Vemte tuto skutečnost do úvahy při stanovení velikosti dílů, pokud je hodláte ukládat na médiá s omezenou kapacitou, a volte o pár kB menší velikost.

  
13. Maximální délka cesty pro soubory v RAR a ZIP archivu se zvyšuje na 2048 znaků.
  
  
14.  V příkazovém řádku RAR vrátí kód ukončení 11, když zjistí, že uživatel zadal špatné heslo. Tento kód může být vrácen pouze u archivu formátu 5.0, protože u předchozích formátů nelze odlišit, jestli bylo zadané špatné heslo, anebo jsou poškozená data.

  
15. Příkazy 'V' a 'L' nyní zobrazují názvy souborů  zarovnané vpravo na konec řádku, takže u delšího názvu se ořeže začátek, a ne konec, jako dříve při zarovnání vlevo. Neořezané názvy souborů lze zobrazit příkazy "LT" a "VT", které údaje o souboru zobrazí na více řádků. Varianta "VTA" a "LTA" doplní výpis o záhlaví.

   
16. Výchozí znaková sada pro soubor se seznamem souborů v příkazovém řádku, například "Rar arcname @filelist", je ANSI jak pro WinRAR, tak pro konzolový RAR. Předtím se u konzolové verze předpokládalo kódování OEM. Pomocí přepínače -SCL lze ale toto výchozí nastavení změnit.

   
17. Vnitřní prohlížeč WinRAR automaticky zjišťuje tzv. little/big endian pro kódování UTF-8
a UTF-16

   18. Pro soubor protokolu rar.log používá WinRAR kód UTF-16 little endian, proto jsou Unicode názvy souborů uložené v protokolu správně. WinRAR staré ASCII záznamy zruší automaticky, pro konzolovou verzi je to potřeba udělat ručně, jinak bude v jednom souboru nezobrazitelná směsice dvou kódů.

   
19. Příkaz 'r' (Oprava) pro příkazový řádek může obsahovat volitelný parametr destpath definující cílovou složku pro opravený archiv:

       
rar r Archive.rar destpath\

zpět