(BbcJS16-v112K) ŠIFROVANIE s KOMBINOVANÍM KĽÚČOV (súčet kľúčov+všetky ich predošlé písmená->posun+skok)

Táto stránka a jej pripojené aj odkazované súčasti sú určené na výlučne zábavné použitie, bez akýchkoľvek záruk, obsah nemusí byť v úplnosti preskúšaný (chyby sú možné), podstatou je spôsob popísaný už Julesom Vernom pred vyše sto rokmi, ďalej rozvinutý a zautomatizovaný javascriptovým programom na tejto html stránke.

Táto stránka poskytuje zložitejšie ale čo najpohodlnjšie kombinovanie viacerých kľúčov a bežné šifrovanie (Beaufort, zašifrovanie K-T=V, odšifrovanie K-V=T).

Toto je šifrovací program (javascript), ktorý je súčasťou tejto html stránky, v prostredí internetového prehliadača; pre ich činnosť nie je potrebné pripojenie na internet. Po načítaní stránky možno internet odpojiť, ale lepšie je html súbor stránky stiahnúť, uložiť na počítač trvale odpojený od internetu a tam otvoriť v internetovom prehliadači.
To, čo robí program, sa dá urobiť aj ručne (treba si vyskúšať aspoň na krátkom príklade). Tu sa nadväzuje na súvisiace predchádzajúce texty o praxi šifrovania (treba si prečítať kvôli lepšiemu porozumeniu).
Vloží sa najviac 5 kľúčov (=Kľúč 1, Kľúč 2, Kľúč 3, Kľúč 4, Kľúč 5) a program ich kombinuje do Výsledného kľúča a potom do Konečného kľúča, jeden znak za druhým, takto:
- kľúče sa kombinujú spočítaním a ešte:
- pripočítajú sa všetky(!) predošlé písmená výsledného kľúča,
- pripočíta sa poradové číslo cyklu,
- vynechá sa od začiatku toľko písmen, koľko si užívateľ zvolí (=Posun) = 0 alebo viac, a potom
- berie sa v poradí toľké písmeno, koľké si užívateľ zvolí (=Skok) = 1 alebo viac
Spracovanie (spočítanie) písmen kľúča sa vykonáva postupne po jednotlivých písmenách spočítaním poradových čísel písmen jednotlivých kľúčov v (medzinárodnej) abecede (počnúc nulou! - nie jednotkou); tento súčet je abecedným poradím písmena Výsledného kľúča (teda ako šifrovací spôsob Vigenere).

Kľúč 1 je základný, musí sa vždy zadať (vložiť, použiť), je vždy najdlhší. Jeho dĺžka určuje dĺžku spočítanej skupiny znakov, ktorá potom cykluje. Preto ho treba zadať najdlhší zo všetkých kľúčov. Nie je to však podmienka funkčnosti, ale akosti výsledného kľúča.

Ďalšie Kľúče (2 a viac) sa zadajú (vložia) namiesto preddefinovaného písmena "a"; môžu byť ľubovoľne kratšie než je základný Kľúč 1. Ak by niektorý z Kľúčov 2 a viac bol dlhší než Kľúč 1, potom sa nadbytočná dĺžka nepoužije. Nemusia sa použiť všetky kľúče - v tom prípade však treba ponechať v nich preddefinované písmeno "a".

Samočinne sa ku každému písmenu Výsledného kľúča pripočítavajú všetky(!) predošlé (už vytvorené) písmená Výsledného kľúča; túto voľbu nemôže užívateľ zmeniť.   Počet pripočítavaných posledných znakov by, pravdaže, mohol byť aj iný, alebo podľa voľby užívateľa. Začínal som s jediným, potom viac, až som skončil pri všetkých, vidiac, že to vnáša najviac chaosu (entropie), výpočet je svižný, tak prečo nie.Spočítavanie sa vykonáva v uzavretom operačnom systéme, v konečnej množine znakov (vlastne ich poradových čísel), modulárnym spôsobom konečnej aritmetiky (čísla cyklujú). Pravdaže, bolo by možné pre kombináciu kľúčov použiť aj inú operáciu než je sčítanie - napríklad odpočítanie, násobenie, teda aj mocniny (delenie však nie), to ale neprináša žiadne zjavné výhody.
Po spočítaní všetkých kľúčov sa ku každému písmenu súčtu ešte pripočítajú všetky predošlé písmená súčtu, tiež sa pripočíta poradové číslo cyklu, výsledkom je Výsledný kľúč.
Z Výsledného kľúča sa potom vynechá od jeho začiatku toľko písmen, koľko si užívateľ zvolí (môže byť aj žiadne, teda nula (0), alebo ľubovoľne viac) - to je Posun - a potom sa z neho vyberajú postupne ďalšie písmená, pričom sa môže (nemusí) preskakovať určitý počet písmen - to je Skok - vyberá sa v poradí toľké písmeno, koľké si užívateľ zvolí - Skok teda môže byť hneď na ďalšie písmeno (teda Skok = 1) alebo na niektoré v ďalšom poradí (2 alebo viac); výsledkom uvedeného je Konečný kľúč.
Veľkosť Posunu a Skoku tu síce majú už predvolené hodnoty, ale užívateľ si ich môže v príslušných okienkach ľahko prepísať na vlastné požadované hodnoty, čo sa vrele odporúča. Ich vysoké hodnoty spomaľujú výpočet, preto hodnoty viac než trojciferné treba voliť rozvážne. Číselné veľkosti posunu aj skoku sú hodnoty zohrávajúce zásadnú úlohu v šifrovaní, preto sa na ne treba pozerať ako na svojho druhu kľúče, a tak s nimi treba aj zaobchádzať: utajovať a meniť ich.

Znaky, ktoré tu možno v spracovaní kľúčov použiť, je výlučne 26 znakov medzinárodnej abecedy; ak sa použijú veľké písmená, zmení ich na malé; ak sa použijú iné znaky, vynechá ich.Túto voľbu nemôže užívateľ zmeniť.

Konečný kľúč vytvorený vyššie popísaným spôsobom sa následne už bezprostredne a priamo použije na šifrovanie (zašifrovanie aj odšifrovanie) textu spôsobom Beaufort (K=A+Z).
Dĺžka Konečného kľúča sa samočinne nastavuje tak, aby bola rovnaká ako je dĺžka textu.
Text na zašifrovanie aj odšifrovanie vkladá užívateľ do toho istého okna.
Jediným tlačidlom na konci stránky sa po vložení textu a po vložení kľúčov stlačením jediného tlačidla sa zistí dĺžka textu, na jeho dĺžku sa vytvorí Konečný kľúč a ním sa následne šifruje vložený text. Opakovaným stláčaním tlačidla sa opakuje zašifrovanie a odšifrovanie, v ktorom sa používa zhodný Konečný kľúč.

Pre funkciu tejto stránky a šifrovacieho javascriptového programu na nej bežiaceho nie je potrebné pripojenie na internet.

Táto stránka a jej pripojené aj odkazované súčasti sú určené na výlučne zábavné použitie, bez akýchkoľvek záruk, obsah nemusí byť v úplnosti preskúšaný (chyby sú možné), podstatou je spôsob popísaný už Julesom Vernom pred vyše sto rokmi, ďalej rozvinutý a zautomatizovaný javascriptovým programom na tejto html stránke.

      Autor: Ing. Vojtech Brabenec, Trenčín, 1.9.2017-8.5.2018.
             Kľúče 1 (=základný, najdlhší) a ďalšie (2 až 9) napísať alebo vložiť nižšie - v nepoužitom ponechať predvolené písmeno a:
Kľúč 1=
Kľúč 2=           Kľúč 3=
Kľúč 4=           Kľúč 5=
         Posun=  = koľko písmen od začiatku výsledného (skombinovaného) kľúča sa má vynechať (napríklad: 14, alebo 17842, ...)
         Skok= = koľké ďalšie v poradí písmeno z výsledného (skombinovaného) kľúča sa má vybrať (napr. 7 (každé siedme) alebo 352, ...) do konečného kľúča
Tu ťuknúť: = kľúče sa skombinujú a šifruje sa (=zašifruje-odšifruje striedavo) text nižšie.

Text na zašifrovanie, na odšifrovanie tu nižšie (Vo FireFox možno uložiť aj s aktuálnym užívateľovým obsahom!-ale len ako ÚPLNÁ html stránka):
=