Šifrujeme s Julesom Vernom. Autor: Ing. V. Brabenec, nov.2020.
http://www.trencan.6f.sk/os52/sprax/Sifrovanie/index.html
Voľba dĺžky kľúčov pri ich kombinovaní:
Rozpis niektorých možností  premyslenej voľby dĺžky kľúčov pri ich kombinovaní.
Nadväzujeme na časť: "Voľba dĺžky opakovaných kľúčov pri ich kombinovaní"

Pre lepšie porozumenie zopakujme, že heslo a kľúč sú rozdielne veci:
Heslo je utajený rad znakov (reťazec), (tu ďalej písmen), ktorý sa nepoužíva priamo v procese šifrovania, ale je základom, z ktorého tu ďalej odvodzujeme kľúče.
Kľúč je utajený rad znakov (reťazec), (tu ďalej písmen), ktorý sa priamo použije v procese šifrovania (=zašifrovania aj odšifrovania).

Vieme, že ak používame viac kľúčov, tak v kľúči, ktorý vznikne ich kombináciou, je skupina znakov, ktorá sa opakuje, a počet znakov v tejto skupine je najmenším spoločným násobkom počtu znakov jednotlivých kľúčov.
Tento najmenší spoločný násobok chceme mať čo najväčší, teda aby opakovaná skupina znakov bola čo najväčšia.
Je zrejmé, že ak je počet znakov kľúča prvočíslo, je to lepšia voľba, než keby to prvočíslo nebolo.
Ak by všetky použité kľúče mali prvočíselný počet znakov, bolo by to najlepšie; tiež by bolo žiadúce, aby to číslo bolo čo najväčšie. Z praktických dôvodov nebudú počty znakov kľúčov príliš veľké. Hoci všetky kľúče by mohli mať prvočíselný počet znakov, z praktických dôvodov to asi nebudú všetky. (Zopakujme si tu prvočísla do stovky: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97.)

Najväčšiu opakovanú skupinu znakov s výhodou dosiahneme zvolením kľúčov takto:
 - základom bude prvočíselný počet znakov najdlhšieho (prvého) kľúča, s čo najväčším počtom znakov, ktorý sme ochotní z praktických dôvodov (zapamätateľnosť, a pod.) pripustiť, a:
 - k nemu volíme počty znakov ďalších kľúčov nižšie, pritom ale čo najväčšie tak, aby spoločný násobok počtov znakov bol čo najväčší.

Uvedené splníme, ak by sme mali len dva kľúče, poľahky tak, že počet znakov druhého kľúča bude o jednu menší, než prvočíselný počet znakov prvého kľúča. Napríklad: kľúč K1 bude mať 11 znakov, kľúč K2 bude mať znakov 10 (=11-1); ich najmenší spoločný násobok je 110, čo je dĺžka znakov výsledného kľúča skombinovaného z kľúčov K1 a K2.

Ak zvažujeme možnosť použiť jedno heslo, od ktorého odvodíme viaceré kľúče, jedna z možností je:
 - heslo použijeme priamo ako najdlhší kľúč K1, ďalej:
 - heslo rozdelíme na dve časti, z nich jedna bude kľúč K2, druhá bude kľúč K3. (Pravdaže, sú aj iné dobré možnosti odvodenia kľúčov z hesla iným spôsobom, napríklad s prekrytím (s opakovaním časti, alebo aj s vynechaním a pod.) ktoré tu pre obšírnosť nateraz nerozoberáme.)

Pozrime sa, aké možnosti máme použiť najdlhší kľúč K1 s prvočíselným počtom znakov a ďalšie dva kľúče (K2, K3) ktorých súčet počtov znakov je rovný (prvočíselnému) počtu znakov kľúča K1, pričom počty znakov K1 a K2 nemajú spoločného deliteľa; skúmajme, aká veľkosť opakovanej skupiny znakov vznikne (chceme čo najväčšiu skupinu):
 == Rozklad prvočísla na dva sčítance (nemajúce spoločného deliteľa): ===
2+3=5      ich spoločný násobok == 30
3+4=7      ich spoločný násobok == 84    t.j. pridaním 1 znaku vzrastie súčin na 2,80 násobok= o 54
4+5=9      ich spoločný násobok == 180    t.j. pridaním 1 znaku vzrastie súčin na 2,14 násobok= o 96
5+6=11      ich spoločný násobok == 330    t.j. pridaním 1 znaku vzrastie súčin na 1,83 násobok= o 150
6+7=13      ich spoločný násobok == 546    t.j. pridaním 1 znaku vzrastie súčin na 1,65 násobok= o 216
7+8=15      ich spoločný násobok == 840    t.j. pridaním 1 znaku vzrastie súčin na 1.54 násobok= o 294
8+9=17      ich spoločný násobok == 1224    t.j. pridaním 1 znaku vzrastie súčin na 1,46 násobok= o 384
9+10=19      ich spoločný násobok == 1710    t.j. pridaním 1 znaku vzrastie súčin na 1,40 násobok= o 486
10+11=21      ich spoločný násobok == 2310    t.j. pridaním 1 znaku vzrastie súčin na 1,35 násobok= o 600
11+12=23      ich spoločný násobok == 3036    t.j. pridaním 1 znaku vzrastie súčin na 1,31 násobok= o 726
12+13=24 to už nesplňuje naše kritérium, lebo 12 a 24 majú spoločných deliteľov...
do väčších čísel tento rozbor nejde.

      Pozrime sa na možnosti praktického uskutočnenia: (V slovenčine je dĺžka slova priemerne asi 5 písmen.)
heslo = iba víno => K1 = ibavino, K2 = iba, K3 = vino, dĺžka skupiny = 7x3x4=84 znakov
heslo = suchá voda => K1 = suchavoda, K2 = sucha, K3 = voda, dĺžka skupiny = 9x5x4=180 znakov
heslo = biely mrak => K1 = bielymrak, K2 = biely, K3 = mrak, dĺžka skupiny = 9x5x4=180 znakov
heslo = soľ nad zlato => K1 = solnadzlato, K2 = solnad, K3 = zlato, dĺžka skupiny = 11x6x5=330 znakov
heslo = prázdne vrecko => K1 = prazdnevrecko, K2 = prazdne, K3 = vrecko, dĺžka skupiny = 13x7x6=546 znakov
heslo = drevené želiezko => K1 = drevenezeliezko, K2 = drevene, K3 = zeliezko, dĺžka skupiny = 15x7x8=840 znakov
heslo = smiešny snehuliak => K1 = smiesnysnehuliak, K2 = smiesny, K3 =  snehuliak, dĺžka skupiny = 16x7x9=1008 znakov
Vidíme, že posledné dvojslovné a dobre zapamätateľné heslo nám dá dĺžku opakovanej skupiny až vyše tisícky znakov, čo je pekný výsledok!
Pravdaže, kvôli možnosti prelomenia šifry počítačom s vyskúšaním všetkých slov bežného slovníka by sme asi uvedené možnosti konkrétnych hesiel nepoužili, najmä v prípade použitia jediného slova. Keďže sme použili slová dve, bude odolnosť väčšia. Môžeme tiež použiť slová nepredpokladaného jazyka, alebo z bežného textu vybrať písmená niektorým zo spôsobov inde uvedených na tejto stránke. 
      Ďalej príkladom upozorníme na už spomenutú možnosť rozdelenia inak než na slová:
      PRÍKLAD 1: dohodnuté je (už vyššie použité) heslo "iba víno" (=7 znakov) a jeho skracovanie od samého začiatku postupne vždy o jeden znak, až dokiaľ je počet znakov nie menší než tri alebo počet kľúčov nie vyšší než je umožňuje používaný program, takže kľúče budú: K1 = bavino, K2 = avino, K3 = vino, K4 = ino, dĺžka skupiny (najmenší spoločný násobok 6, 5, 4, 3) = 2x3x5x2=60 znakov
      PRÍKLAD 2: je obmena predošlého: dohodnuté je (už vyššie použité) heslo "iba víno" (=7 znakov) a jeho postupné skracovanie od začiatku vždy o jeden znak, ale počet kľúčov je pevný=4, a posledný kľúč je súčtom predošlých - takže kľúče budú: K1 = ibavino, K2 = bavino, K3 = avino, K4 = ibavinobavinoavino, dĺžka skupiny (najmenší spoločný násobok 7, 6, 5, 18) = 7x6x5x3=630 znakov
      PRÍKLAD 3: dohodnuté je heslo "spievajúce myši" (=14 znakov) a jeho skrátenie od začiatku na najbližšie nižšie prvočíslo (=13), teda "pievajucemysi" a jeho rozdelenie na postupne klesajúce počty znakov (teda 8 a 7), z čoho máme kľúče:
K1 = pievajucemysi, K2 = pievaju, K3 = cemysi, dĺžka skupiny = 13x7x6=546 znakov

Ak by sme dohodnuté heslo chceli obdobným spôsobom rozdeliť na ešte viac častí, obmedzenie na prvočíselnú dĺžku nám podstatne zmenší doteraz používané možnosti, preto od tohoto obmedzenia upúšťame.
Ak by sme zvažovali rozdelenie hesla na štyri kľúče, rýchlo zistíme, že rozdelenie na tri sčítance s počtami znakov líšiacimi sa o jeden (napr.6+7+8=21) v tejto oblasti malých čísel nevychádza tak, aby nemali spoločného deliteľa.
Lepšie nám vychádza dobre premyslené rozdelenie na tri sčítance s počtami znakov líšiacimi sa aj o viac než jeden:
4+5+7=16      ich spoločný násobok == 2240
5+6+8=19      ich spoločný násobok == 4560
6+7+9=22      ich spoločný násobok == 8316
8+9+11=28      ich spoločný násobok == 22176
z čoho ukážeme konkrétne príklady:
      PRÍKLAD 4: dohodnuté je heslo "nepríjemné opletačky" (=19 znakov) a jeho rozdelenie na postupne klesajúce počty znakov 8+6+5, z čoho máme kľúče: K1 = neprijemneopletacky, K2 = neprijem, K3 = neople, K4 = tacky a vychádza nám dĺžka skupiny = 19x8x6x5=4560 znakov
      PRÍKLAD 5: dohodnuté je heslo "včera nevyhral Slovan Bratislava" (=29 znakov), jeho skrátenie spredu na 28 znakov, a rozdelenie na postupne stúpajúce počty znakov 8+9+11, z čoho máme kľúče: K1 = ceranevyhralslovanbratislava, K2 = ceranevy, K3 = hralslova, K4 = nbratislava, a vychádza nám dĺžka skupiny = 28x8x9x11=22176 znakov, čo je úžasne mnoho! = vyše 12 normostrán textu!! (Iste je pozornému čitateľovi jasné, že ak by sa zmenili miesta rozdelenia hesla, bola by dĺžka skupiny síce rovnaká (22176 znakov), ale bol by v nej iný reťazec znakov)


Uvedené rozpisy niektorých možností sú iba ukážkou, ako je vhodné premyslene určovať dĺžky kľúčov. 
Uvedené príklady neodporúčame pre priame praktické použitie, tiež sú iba ukážkou. 


Nižšie je prípadná reklama poskytovateľa:


pokrivenékoľajnice posolenecesty poslednavecera pokazenytraktor otrávenemakovniky pracujemusilovne salamandraskvrnita neprijemneopletacky vceranevyhralslovanbratislava