Can you summarize the following document?
        
  Zavazadlový algoritmus je způsob asymetrického šifrování, což znamená, že jsou pro komunikaci potřeba dva klíče: veřejný a soukromý. Kromě toho, na rozdíl od RSA, je pouze jednosměrný: veřejný klíč je používán pouze pro šifrování a soukromý klíč pouze pro dešifrování. Proto se nedá využívat pro autentizaci elektronickým podpisem.  Zavazadlový algoritmus je založen na problému součtu podmnožiny (speciální případ problému batohu). Problém je následující: je dána množina čísel formula_1 a číslo formula_2 a je potřeba najít takovou podmnožinu formula_1, jejíž součet je roven formula_2. Obecně je tento problém považován za NP-úplný. Pokud je však tato posloupnost superrostoucí, tedy každý prvek množiny formula_1 je větší než součet všech menších prvků množiny, je tento problém „snadný“ a řešitelný v polynomiálním čase jednoduchým hladovým algoritmem.

  V zavazadlovém algoritmu jsou klíči dvě „zavazadla“. Veřejným klíčem je „složité“ zavazadlo formula_1 a soukromým klíčem je „snadné“ zavazadlo formula_7, spolu s dalšími dvěma čísly, násobitelem a modulem. Násobitel a modul mohou být použity k převedení superrostoucí posloupnosti do složitého zavazadla. Stejná čísla jsou použita k převedení součtu podmnožiny složitého zavazadla na součet podmnožiny snadného zavazadla, což je problém řešitelný v polynomiálním čase.

  K zašifrování zprávy je vybrána podmnožina složitého zavazadla formula_1, a to porovnáním množiny bitů (plaintextu) s touto množinou. Každý prvek veřejného klíče, který odpovídá číslu 1 plaintextu, je prvkem podmnožiny formula_9, zatímco prvky odpovídající číslu 0 v plaintextu jsou při tvorbě formula_9 ignorovány – nejsou prvky klíče. Prvky této podmnožiny jsou sečteny a výsledný součet je šifrovým textem.

  Dešifrování je možné, protože násobitel a modul požité k převedení snadného zavazadla na veřejný klíč mohou být rovněž použity k transformaci čísla představujícího šifrového textu na součet příslušných prvků superrostoucí posloupnosti. Poté, použitím jednoduchého hladového algoritmu, může být snadné zavazadlo převedeno pomocí O(n) aritmetických operací na plaintext.

  

  K zašifrování formula_11-bitové zprávy je vybrána superrostoucí posloupnost  formula_11 nenulových přirozených čísel. Je vybráno náhodné celé číslo formula_14 pro které platí, že  a náhodné celé číslo formula_16, pro které platí, že gcd(formula_17)formula_18 (tzn. formula_16 a formula_14 jsou nesoudělná).  formula_14 je voleno tímto způsobem proto, aby byla zajištěna unikátnost šifrového textu. Pokud by bylo menší, bylo by možné více než jeden plaintext zašifrovat tím samým šifrovým textem. Vzhledem k tomu, že formula_14 je větší než součet jakékoliv podmnožiny formula_23, žádný součet není kongruentní modulo formula_14 a tudíž žádný ze soukromých klíčů nebude stejný. formula_16 musí být nesoudělné s formula_14, v opačném případě nebude mít inverzní modulo formula_14. Bez něj by nebylo možné dešifrování.  Nyní je spočítána posloupnost  kde  Veřejným klíčem je formula_30, zatímco soukromým klíčem je formula_31.

  K zašifrování formula_11-bitové zprávy  kde formula_34 je formula_35-tý bit zprávy a formula_36, je určeno  Šifrovým textem je potom formula_38.

  Aby byl příjemce schopen dešifrovat šifrový text formula_38, musí najít zprávu s bity formula_34 takovými, aby platilo, že  V případě náhodných hodnot formula_42 by se jednalo o složitý problém, protože by příjemce musel vyřešit problém součtu podmnožiny, jenž je považován za NP-obtížný. Nicméně hodnoty formula_42 byly zvoleny tak, aby bylo dešifrování při znalosti soukromého klíče formula_31 snadné.  Je potřeba najít celé číslo formula_45, jenž je modulární inverzí formula_16 modulo formula_14. To znamená, že formula_45 splňuje rovnici formula_49 nebo ekvivalentně existuje celé číslo formula_50 takové, že formula_51. Protože formula_16 bylo zvoleno tak, že gcd(formula_17)formula_18, je možné nalézt formula_45 a formula_50 pomocí rozšířeného Euklidova algoritmu. Dále příjemce šifrového textu formula_38 spočítá  A proto  Protože formula_49 a formula_61, platí dále, že  A proto  Součet všech hodnot formula_64 je menší než formula_14 a proto formula_66 je také v intervalu formula_67. Z toho důvodu musí příjemce vyřešit problém součtu podmnožiny  Ten je však jednoduchý, protože formula_23 je superrostoucí posloupnost. Příjemce vezme největší prvek formula_23, dále označený jako formula_71. Pokud je formula_72, potom formula_73. Pokud je formula_74, potom formula_75. Poté odečte formula_76 od formula_77 a postup opakuje, dokud nezjistí formula_77.
Zavazadlový algoritmus je jeden z nejstarších způsobů šifrování s veřejným klíčem. Byl vyvinut Ralphem Merklem a Martinem Hellmanem v roce 1978. Je jednodušší než RSA a bylo již prokázáno, že jej lze v polynomiálním čase prolomit.