MATURITNÍ ZKOUŠKA PRAKTICKÁ ZKOUŠKA Z ODBORNÝCH PŘEDMĚTŮ Historie vývoje počítačů Studijní obor: 78-41-M/001 Technické lyceum Třída: 4. TL/B Školní rok: 2005/2006 Vypracoval: Matěj Ševčík
Prohlašuji, že jsem tuto práci vypracoval samostatně a použil literárních pramenů a informací, které cituji a uvádím v seznamu použité literatury a zdrojů informací. Ve Strážnici dne...... podpis
Zadání práce Vedoucí odborné práce
Anotace Práce se zabývá otázkou vzniku počítačů v nejširším smyslu tohoto slova. Je rozčleněna do šesti kapitol, ve kterých jsou jednotlivé údaje řazeny chronologicky. V každé kapitole jsou popisovány nejvýznamnější mezníky v dějinách výpočetní techniky. Nejedná se o kompletní, vyčerpávající přehled historických událostí vedoucích ke vzniku moderní podoby počítače. Úkolem práce není ani podrobně popisovat složitá mechanická, elektrická a jiná zařízení. Má pouze poskytnout ucelenou představu o vývoji počítačů a nenáročnou formou seznámit se základními principy jejich činnosti. Součástí práce je také prezentace, rozčleněná do dvou částí. První část tvoří časová osa, na které jsou zobrazeny okamžiky důležité pro vývoj počítačů. Ve druhé části prezentace seznamuje s některými osobnostmi, bez kterých by dnes pravděpodobně počítače neexistovaly.
Obsah Zadání práce...3 Anotace...4 Obsah...5 Úvod...8 1. Od kuličkových počítadel k parním strojům...9 1.1 První automaty...9 1.2 Astronomický počítač...10 1.3 Číslicové počítače...11 1.3.1 Abakus...11 1.3.2 1617 Napierovy kosti...13 1.3.3 1623 První mechanický kalkulátor (Schickard)...13 1.3.4 1673 První mechanická násobička (Morland)...15 1.3.5 1673 První univerzální počítací stroj (Leibniz)...15 1.3.6 1820 První sériově vyráběný počítací stroj (Colmar)...16 1.3.7 1833 Analytical Engine (Babbage)...16 2. Počítací stroje před 2. světovou válkou...19 2.1 1854 Booleova algebra (George S. Boole)...19 2.2 1919 Dvoustavový klopný obvod (Eccles a Jordan)...20 2.3 1936 Abstraktní model počítače (Alan Turing)...21 2.4 1937 Navrhování číslicových obvodů (Claudie Shannon)...22 3. Význam počítačů ve 2. světové válce...23 3.1 Počítače zkonstruované za války...23 3.1.1 1938 Z1 (Konrád Zuse, Německo)...23 3.1.2 1940 Z2 (Konrád Zuse, Německo)...23 3.1.3 1941 Z3 (Konrád Zuse, Německo)...23 3.1.4 1943 ABC (Antasoff a Berry, USA)...23 3.1.5 1943 ASCC Mark I (Aiken, USA)...24 3.1.6 1943 Colossus (Turing, Velká Britnie)...24 3.1.7 1945 ENIAC (Eckert a Machly, USA)...24 3.2 1945 Moderní architektura počítače (John von Neumann)...25 3.3 Stručně k šifrovacím strojům...26
3.3.1 Enigma...26 3.3.2 Prolomení kódu...30 4. Poválečný vývoj, vznik internetu...32 4.1 Počítače po 2. světové válce...32 4.1.1 1948 SSEC (Eckert, USA)...32 4.1.2 1948 Manchester MARK I (Newman a Williams, Velká Británie).32 4.1.3 1949 Whirlwind (Foerster, USA)...33 4.1.4 1949 EDSAC (Wilkes, Velká Británie)...33 4.1.5 1949 BINAC (Eckert a Mauchly, USA)...33 4.1.6 1951 UNIVAC (Eckert a Mauchly, USA)...33 4.1.7 1952 EDVAC (von Neumann, USA)...34 4.2 1951 Mikroprogramování...34 4.3 1956 Asynchronní vstupně/výstupní operace...35 4.4 1956 Kanály a přímý přístup do paměti...35 4.5 1957 Programovací jazyk vyšší úrovně...36 4.6 1958 Virtuální paměť...37 4.7 Vznik internetu...38 5. Počítače do každé domácnosti...40 5.1 1967 Osobní počítače...40 5.2 1971 Mikroprocesory...40 5.2.1 Intel 4004...41 5.2.2 Intel 8008...42 5.2.3 Intel 8080...42 5.3 Kapesní formát...42 5.4 Kancelářské vybavení...43 5.5 Disketa...43 5.6 Osmibity...43 5.6.1 Vic 20...44 5.6.2 Commodore...44 5.6.3 Atari...45 5.6.4 ZX Spektrum...45 5.6.5 Didaktik...46 5.7 Takřka dnešní...47 6. Pohled do budoucnosti, závěr...48
6.1 Optické počítače...48 6.2 Kvantové počítače...48 6.3 Mooreův zákon...49 6.4 Závěr...50 Seznam použité literatury a zdrojů informací...52 Seznam požitého softwaru...53 Poděkování...54
Úvod Slovem počítač dnes míníme přístroj, se kterým denně přicházíme do styku a běžně ho používáme ke své práci, ke komunikaci s ostatními lidmi prostřednictvím internetu a k mnoha jiným činnostem. V jedenadvacátém století už téměř každý ví, jak počítač vypadá, a většina lidí má jistě i základní představu o tom, jak funguje. Nynější podobě PC ale předcházel dlouhý a velmi složitý vývoj. Na myšlenku vytvoření práce Historie vývoje počítačů mě přivedl fakt, že i přes existenci nemalého množství různých materiálů zabývajících se touto problematikou, jsem neobjevil prakticky žádný, který by dané téma zpracovával v uspokojivém rozsahu. Většina obdobných současných děl je úzce spjata s určitým časovým intervalem, či vázána pouze na vývoj v konkrétních oblastech výpočetní techniky (např. paměťová zařízení, sítě, ). K celé historii vývoje počítačů lze zaujmout i alternativní postoj také počítače totiž měly jistý vliv na vývoj dějin. Proto je část této práce věnována šifrovacímu přístroji Enigma, který pravděpodobně velmi ovlivnil průběh celé druhé světové války. Protože čas jde stále neúprosným tempem dopředu, jsou v závěrečném bodu práce nastíněny některé možnosti budoucího vývoje počítačů. - 8 -
1. Od kuličkových počítadel k parním strojům Obr. 1 Početní hůlka, nález z Dolních Věstonic. Už před 25 000 roky člověk používal k usnadnění výpočtů početní hůlku, což byla vlčí kost s jednoduchým početním záznamem. Po 30 jednoduchých linkách následují 2 prodloužené dělící linie a po nich 25 dalších jednoduchých linek. 1.1 První automaty Kdy poprvé napadlo člověka sestrojit počítač nebo jakýkoliv jiný automat? Z dochovaných zpráv víme, že automaty jako hračky měly už ve starověkém Egyptě a Číně. Ale jména konkrétních tvůrců zaznamenal až řecký občan a z tohoto důvodu je pro nás nejstarším známým konstruktérem automatu Archýtas z Tarentu (okolo 400 př.n.l.). Archýtasův stroj byla pouhá hračka, holubice, která sama létala. Musela to být dokonalá napodobenina a něco nebývalého, když na obyvatele Tarentu zapůsobila tak, že zprávu o ní neopomněli zaznamenat do životopisů Archýtase, který byl jedním z předních občanů Tarlentu, stál dokonce dlouho v jeho čele. Na další samopohyblivou hračku si Řekové museli počkat sto let. To se v mozku Demétria z Faléry zrodil plazící se hlemýžď. V polovině 3. stol. př.n.l. další z matematiků Ktésibios sestrojil různé pohyblivé figurky. A potom dochované písemné nálezy o automatech mlčí až asi do 1. století n.l.. V této době se konstruováním automatů zabýval Héron z Alexandrie. Dokonce napsal i řadu děl jak zhotovovat automaty, např. O stavbě malých automatických divadel, O mechanických hříčkách založených na využití atmosférického tlaku, O optických strojích s dodatkem o automatickém měřiči cesty. Řečtí matematici a mechanici tedy konstruovali už automaty. I když jejich účel byl jen pobavit a nebyly to pracovní stroje i tak to byly automaty. Obliba takovýchto samočinných hraček se táhne všemi stoletími. V 6. století Arabové doplnili vodní hodiny o speciální přípravek, kterým se uváděly do chodu různé loutky. Ve středověku takovéto mechanické - 9 -
figurky (androidy) konstruovali jak vědci, tak i umělci (Galileo Galilei, Leonardo da Vinci, Albrecht Dürer). Za pohon jim sloužil hodinový strojek. 1.2 Astronomický počítač V Athénském národním archeologickém muzeu se ukrývá nenápadná hrudka kovu, která je větším unikátem, než všechny ostatní exponáty dohromady. Jde patrně o astronomický počítač starý více než dva tisíce let. Kapesní strojek, který na několika stupnicích ukazuje polohy planet, miniaturní mechanický počítač vybavený přesným diferenciálním ozubením něco takového bychom v antické době nejspíš nehledali. Výzkumy prováděné především Američanem Derekem do Solla Pricem a Řekem Georgosem Stamirem o záhadném předmětu prozradily víc. Původně to byla malá dřevěná krabička, která obsahovala několik desítek jemných ozubených kol s přesnými diferenciálními převody, díky nimž se v otvorech na čelní stěně samočinně objevovaly výsledky složitých astronomických výpočtů. Největší číselník měl pevnou část se znameními zvěrokruhu, pod níž se pohyboval velký kruh, který znázorňoval zdánlivý roční pohyb Slunce na pozadí zodiakálních souhvězdí. Značení stupnice dovolovalo určovat východy a západy Slunce a významných hvězd. Pomocí přístroje bylo možné určovat zeměpisné souřadnice, místní čas a okamžiky průchodu významných hvězd nadhlavníkem. Byly zde patrně ještě nejméně dva další displeje ukazující pohyby Měsíce a pěti tehdy známých planet Merkuru, Venuše, Marsu, Jupitera a Saturna. U těchto menších číselníků a jejich soukolí se však velké části nedochovaly a co všechno uměly, se můžeme jen dohadovat. Price také zjistil, že neznámý konstruktér vycházel z původního egyptského kalendáře. Tento kalendář měl 365 dní a rozdíl mezi trváním umělého a skutečného solárního roku se na přístroji opravoval každoročním vzájemným posunutím stupnic o určitou hodnotu. Úhel posuvu se každoročně mění, poslední nastavená oprava měla hodnotu 13,5 stupně, což odpovídá roku 80 před n.l. Tehdy provedla neznámá ruka poslední korekci. Z antické doby je známo několik popisů podobných přístrojů (jeden údajně sestavil i slavný Archimedes), žádný z nich však nebyl tak přesný a komplikovaný. Složitá a přesná soukolí, jaká jsou v popisovaném strojku, dokázali evropští hodináři vyrábět až v době renesance, tedy o půldruhého tisíce let později. - 10 -
1.3 Číslicové počítače Numerické výpočty byly až do nedávné doby činností duševně namáhavou. Proto, když se začaly častěji užívat, byly hledány metody, které by je usnadnily, zjednodušily a zrychlily. Výpočtová technika byla velmi zjednodušena zavedením vhodných znaků pro čísla. Známé římské číslice neumožňovaly násobit a dělit čísla žádnou přijatelnou technikou psanou v této číselné symbolice. Teprve číslice vymyšlené v Indii a nám zprostředkované Araby, známé pod názvem arabské číslice, podstatně usnadnily aritmetické úkony. číselných soustav. Nejrozšířenější (odvozená od počtu našich prstů jako první početní pomůcky) je soustava desítková (dekadická), která užívá deset znaků. Z ostatních číselných soustav se dosud běžně užívá zejména při měření úhlů a času soustava šedesátinná, v Číně a v Japonsku soustava pětková. S rozvojem výpočtové techniky nabyla mimořádného významu soustava dvojková. Číslicové počítače jsou počítací pomůcky a stroje, na nichž počítáme s čísly. Nastavení čísla do počítače i výsledek každé početní operace se vyjadřuje číslem se zcela určitým počtem číslic. 1.3.1 Abakus Za nejstaršího pradědečka prvních počítačů je považován abakus, počítací pomůcka založená na systému korálků, které na tyčkách či žlábcích kloužou nahoru a dolů. Evropan si při pohledu na abakus nejspíš vzpomene na svá dětská léta a první počítadlo. Vznik abakusu je skryt kdesi v šerém dávnověku snad se objevil někdy před pěti tisíci lety v Malé Asii, odkud se postupem doby rozšířil na východ. Později se abakus objevil v Řecku a Římě. Slovo abakus označovalo desku, která byla rozdělena na několik sloupců, ve kterých byly různé předměty (oblázky, mince, kuličky apod.). Jejich přeskupování z jednoho sloupce do druhého představovalo matematické operace. Abakus byl zdokonalen abacisty (učenci západoevropské školy matematiky v letech 1000-1200 n. l.). V Číně je abakus znám od 13. století pod jménem suan-pâna a je tvořen třinácti sloupci se dvěma korálky nahoře (ty znamenají nebe) a pěti korálky dole (reprezentujícími zemi). Existují ještě další dvě jeho modifikace japonská a ruská. - 11 -
Obr. 2 Čínská verze abakus Japonci abakus převzali asi v 17. století, pojmenovali ho soro ban a mírně si ho přizpůsobili má jednadvacet sloupců s jedním korálkem nahoře a čtyřmi dole. Ruská verze abakus se jmenuje sčot a pracuje se systémem deseti korálků v deseti rovnoběžných řadách. Abakus je na Dálném Východě stále populární učí se s ním počítat děti ve školách v rámci povinné školní výuky a na mnoha místech se ještě zcela běžně používá v praxi. V roce 1946 se utkal Japonec Kiyoshu Matzukai, používající abakus, s elektronickým počítačem a po dvou dnech přesvědčivě vyhrál. Až do konce 16. století nevyžadoval tehdejší způsob života podstatného zlepšení dosavadní výpočtové techniky. Teprve začátkem 17. století vyvstávaly různé národohospodářské úkoly, které vyžadovaly náročné výpočty i rozsáhlou evidenci. Rozvinulo se vyměřování území nových států a zaváděla se podrobnější daňová statistika. Rozmáhalo se vojenské inženýrství (stavba pevností a městských opevnění), důlní inženýrství. Mořeplavba s objevováním nových zemí požadovala přesnější astronomické vědomosti, rozvíjel se intenzivně obchod s koloniálním zbožím a surovinami. Průmyslová výroba těžila z nových přírodovědeckých poznatků a nutila inženýry k rychlému využití objevů. V tomto období se neodbytně vynořovaly nároky na zlepšení výpočtové techniky a požadavky na zrychlení a zmechanizování výpočtů. Jošt Buergi (1552-1632) původem ze Švýcarska, byl císařským hodinářem od r. 1604. K vrcholům jeho tvorby patří nádherný triangulační přístroj založený na podobnosti trojúhelníků. Přístroj je chloubou muzea v Kasselu. V roce 1610 sestavil Buergi logaritmické tabulky, které používal i J. Kepler. Předstihl tak Johna Napiera, který však své dílo dříve publikoval. - 12 -
1.3.2 1617 Napierovy kosti Skotský matematik John Napier (1550-1617) vstoupil do historie tím, že vymyslel logaritmy a umožnil tak převést násobení a dělení na sčítání a odčítání. Na sklonku svého života zkonstruoval zvláštní výpočetní pomůcku, představující předchůdce pozdějších logaritmických pravítek. Šlo o soustavu tyčinek z kostí či slonoviny (odsud: Napierovy kosti), představující jakési pohyblivé násobící tabulky. S jejich pomocí bylo možné snáze násobit a dělit. Obr. 3 Napierovy kosti Stále není jasné, kdy a kým byl navržen první mechanický počítací stroj. V roce 1959 byla uveřejněna v časopise Scientific American zpráva o Starořeckém počítači. V roce 1901 skupina lovců u ostrova Kréta v hloubce 60 metrů našla vrak lodi asi 2000 let starý, na kterém byl nalezen počítací stroj se zachovalými 20 ozubenými kolečky z velice důmyslného soukolí. Tento zvláštní počítací stroj byl určen pro výpočet pohybu Slunce a planet. Je to důkaz, že už v době před n.l. počítací stroje existovaly. 1.3.3 1623 První mechanický kalkulátor (Schickard) Obr. 4 Počítací stroj W. Schickarda Profesor Wilhelm Schickard (1592-1635) z německého Tübingenu sestrojil v roce 1623 své počítací hodiny. - 13 -
Byl to mechanický stroj, schopný násobit a dělit, přičemž tyto dvě operace převáděl pomocí logaritmů na sčítání a odčítání (k reprezentaci desítkových čísel přitom používal kolečka s deseti zuby). Sám Schickard prý sestrojil několik exemplářů takovýchto strojů. Jeden z nich chtěl vytvořit i pro svého přítele, astronoma Johana Keplera, ale zpola hotový stroj byl zničen při požáru. Ve vřavě třicetileté války, ve které Schickard zahynul, se ztratily jak již existující stroje, tak i jejich plány. Plány však byly v roce 1935 objeveny, ztratily se i během druhé světové války, ale naštěstí se znovu našly. V roce 1960 byl Schickardův počítací stroj podle původních nákresů postaven znovu a fungoval. Obr. 5 - Pascalina Traduje se, že první krok k mechanické kalkulačce udělal už Leonardo da Vinci, ale první doložená kalkulačka je až z roku 1645 První automatický mechanický kalkulátor (Pascalina). Mladý Blaise Pascal (1623-1662) se prý nemohl dívat na to, jak se jeho otec, daňový kontrolor, trápil nad sloupci čísel. A tak začal vymýšlet různé varianty počítacích strojů (vymyslel údajně asi 50 různých variant). Definitivní model své kalkulačky (nazvané příznačně Pascaline ) sestrojil v roce 1645. Uměla jen sčítat a odčítat, a jako první byla založena na velmi přesných mechanických převodech což je princip, který v mechanických počítacích strojích dominoval po několik století, až do nástupu novodobých technologií, které umožnily budovat počítače na bázi elektronických prvků. Určitou nevýhodou Pascalova počítacího stroje bylo, že výsledky výpočtu nemohly být přímo odečítány, ale musely být nejprve poměrně složitým způsobem interpretovány. Přesto měl Pascalův stroj i jistý komerční úspěch těchto strojů bylo údajně prodáno cca 15. Některé jsou dnes exponáty v muzeích, např. jeden exemplář je v Drážďanech ve Zwingeru. - 14 -
1.3.4 1673 První mechanická násobička (Morland) Sir Samuel Morland (1625-1695), bývalý sekretář Olivera Cromwella a pozdější vrchní mechanik na dvoře anglického krále Karla II., sestrojil první počítací stroj, který dokázal přímo násobit a dělit (a nerealizoval tudíž tyto operace převodem na sčítání a odčítání). Mechanická konstrukce však byla mnohem méně spolehlivá, než u Pascalova počítacího stroje. 1.3.5 1673 První univerzální počítací stroj (Leibniz) Německý filozof a matematik Gottfried Wilhelm von Leibniz (1646-1716) chtěl nejprve dovybavit Pascalův počítací stroj schopností násobení a dělení. To se mu nedařilo, a tak se rozhodl raději pro zcela nový návrh počítacího stroje. V roce 1673 sestrojil svůj vlastní stroj, ve kterém použil válec se stupňovitým ozubením, známý také jako tzv. Leibnizovo kolo. Výsledkem byl počítací stroj, který dokázal pracovat s 5 až 12-místnými čísly, a splňoval tehdejší požadavky matematiků. Jeho principy se používaly ještě dalších cca 300 let.) Obr. 6 Leibnizovo kolo V 18. století už pomalu vedle automatů pro zábavu vznikají automaty jako výrobní prostředky. Tento trend snad nejlépe ilustruje konstruktér Jacques de Vaucanson (1709 1782). Tento vynálezce sestrojoval různé, dá se říci, že vtipné modely hraček. Zřejmě nejslavnější jsou: měděná kachna, která zobe zrní, pije, štěbetá a dokonce i napodobuje trávení a pastýř hrající na flétnu (android) obě z roku 1738. Vedle konstruování těchto legrácek, pracoval i seriózně a může si připsat ke svému jménu konstrukce automatických tkalcovských stavů a spřádacích strojů na výrobu hedvábí. V roce 1741 zdokonalil nápad řídit tkalcovský stav děrovaným pásem. B. Bouchon a M. Flacon, to jsou další jména vynálezců. Tito dva pánové přišli na myšlenku poloautomatického tkalcovského stavu s děrnou páskou uzavřenou do smyčky (Francouz Bouchon v roce 1725 a Angličan Flacon v roce 1728). - 15 -
Na tuto myšlenku navázal Joseph Marie Jacquard (1752-1834), roku 1805 sestrojuje automatický stroj na výrobu vzorovaných tkanin. Ovládán byl pomocí děrných štítků, které byly spolu spojeny provázky. Jedná se zřejmě o první použití programování pomocí děrných štítků Geniální švýcarský hodinář Henri Luise Jacquet Drozd, konstruoval kolem roku 1773 automaty pro zábavu, které budily v nevzdělancích úžas a hrůzu. Zkonstruoval třeba automatického písaře umělou bytost muže vzhledem i oblečením podléhajícího vkusu své doby. Ovšem jeho vnitřnosti byly oslavou technického myšlení a dokonalé hodinářské zručnosti. Písař android skutečně psal a kreslil, protože jeho tvůrce elementární pohyby ruky převedl do programované paměti, která byla tvořena velice složitou soustavou vaček. Ještě v osmnáctém století (přesněji v roce 1778) Hahn zkonstruoval mechanickou kalkulačku, která vykonávala čtyři základní matematické operace. 1.3.6 1820 První sériově vyráběný počítací stroj (Colmar) Francouz Charles Xavier Thomas de Colmar (1785-1870) sestrojil počítací stroj, který používal zjednodušenou a zdokonalenou verzi Leibnizova kola. Válečky s devíti zuby různé délky v tomto stroji poháněly malá posuvná kolečka, jejichž pohyb se přenášel na čítače. Colmarův stroj, nazvaný Arithmometer, získal v roce 1862 na mezinárodní výstavě v Londýně zlatou medaili. Již dříve jej ale jeho autor úspěšně prodával pařížským pojišťovnám a dalším finančním institucím. Celkem bylo vyrobeno a prodáno asi 1500 arithmometrů. 1.3.7 1833 Analytical Engine (Babbage) Angličan Charles Babbage (1792-1871) chtěl nejprve minimalizovat chyby, ke kterým docházelo při ručních výpočtech matematických tabulek. Proto nejprve oživil myšlenky diferenčního stroje a v roce 1822 začal s jeho konstrukcí (na rozdíl od J. H. Müllera si pro svůj projekt zajistil financování ze státních zdrojů). V roce 1832 Babbage dokončil fungující prototyp svého diferenčního stroje, ale místo dalšího pokračování na něm se raději rozhodl pro analytický stroj, který by byl schopen provádět jakékoli numerické výpočty. - 16 -
Obr. 7 Dochovaná část diferenčního počítacího stroje z roku 1830 V roce 1833 začal pracovat na dokonalejším počítači nazval ho Analytical Engine a práce na něm byla přerušena jeho smrtí, takže zůstal nedokončený. Tento stroj byl neuvěřitelně dokonalý (na svoji dobu). K řízení operací Babbage opět použil děrné štítky, jako zdroj energie měl sloužit parní stroj. Architekturu stroje vytvořil z několika částí: Paměť byla složena z mechanických registrů, kde se uchovávala čísla používaná strojem. Centrální operační jednotka ( mlýnek ), ve které se měly vykonávat základní matematické operace čili sčítání, odčítání, násobení a dělení. Operační rychlost měla být pro jedno sčítání sekunda a jedno násobení mělo být vykonáno za minutu (cifry mohly být až padesátimístné). Mechanismus na řízení jednotlivých operací. Vstupní a výstupní jednotka. Ta byla spojena s tiskárnou. Obr. 8 Analytical Engine - 17 -
Další pokrokovou myšlenkou použitou v koncepci tohoto počítače byl jeho program, který ho měl řídit. Díky Babbageově spolupracovnici Adě Augustě z Lovelace obsahoval řídicí program možnost podmíněných a nepodmíněných skoků a také princip podprogramů. Tento stroj narážel na velikou překážku vstupní údaje se v tomto Analytical Engine měly přepínat na výstupní mechanicky. Jenže v tomto případě mechanice došel dech a elektronika byla ještě velkou neznámou. I když Analytical Engine nikdy nebyl dokončen, byla to geniální myšlenka, která inspirovala další vědce. Navíc zde byl poprvé použit počítačový program. Poslední verze projektu předpokládala, že Analytical Engine bude mít paměť pro 50 čtyřicetimístných slov (čísel), dva střadače (akumulátory) a celkem tři snímače děrných štítků pro program a data. Sčítání dvou čísel měl stroj zvládnout za 3 sekundy a násobení či dělení mu mělo trvat 2 4 minuty. Přestože Babbage svůj Analytical Engine nikdy nedokončil, spolu se svými spolupracovníky zformuloval základní principy programového řízení počítačů, které jsou dodnes platné. Při troše dobré vůle je možné považovat jeho (byť nedokončený) Analytical Engine za první samočinný počítač v historii. - 18 -
2. Počítací stroje před 2. světovou válkou Obrovský rozvoj počítačů ve druhé polovině 20. století byl podmíněn nejen rozvojem nejrůznějších výrobních technologií, ale také pokrokem v teoretických disciplínách, které poskytly potřebný aparát pro navrhování, vývoj, ladění a další související činnosti. 2.1 1854 Booleova algebra (George S. Boole) Jednou z disciplín, které se v tomto směru uplatnily nejvíce, je i matematická logika. V roce 1854 přišel Angličan George S. Boole (1815-1864) s takovým modelem matematické logiky, ve kterém vystačil jen se třemi základními operátory (and, or a not), a s jejich pomocí dokázal z jednotlivých výroků sestavovat složitější formule stejným způsobem, jakým se v matematice (konkrétně v algebře) sestavují matematické vzorečky. Svou logiku mohl formálně vybudovat jako algebru, které se dodnes říká Booleova algebra. George Boole jistě netušil, že se jeho algebra stane základem pro modelování kombinačních obvodů číslicových počítačů. Netušil také, že technikům se budou nejlépe dařit takové konstrukční prvky, které budou mít jen dva možné stavy a kterým bude odpovídat Booleova algebra, která má právě jen dva prvky (zatímco George Boole ji navrhl pro obecný počet prvků, nejméně však jako dvouprvkovou). Význam Booleovy algebry jako jeden z prvních ocenil William S. Jevons (1835-1882), který sestrojil mechanický stroj, provádějící logické operace právě na bázi Booleovy algebry. Ani on však netušil, že jednou zvítězí na celé čáře algebra dvouprvková sám používal čtyřprvkovou Booleovu algebru. Tím, kdo poprvé ukázal na souvislost dvouprvkové Booleovy algebry s číslicovými obvody, byl Claude Shannon. To ovšem bylo až v roce 1937. Mezitím se musela zrodit ještě jedna velmi důležitá myšlenka, která si vynutila používání právě dvouprvkové Booleovy algebry. Později byly vynalezeny další systémy počítacích strojů. Z velmi úspěšných je to systém Odhnerův, petrohradského hlavního mechanika inženýra, který prodal svůj patent v roce 1878 do Německa. Na Odhnerově systému byly vyráběny počítací stroje značky Brunsviga, Marchant. Z velmi rozšířených principů kalkulačních strojů lze uvést princip Mercedes-Euklid (z roku 1905 navržený konstruktérem Hammanem), používající ozubených tyčí a úměrové - 19 -
páky a princip Hamman (z roku 1925 navržený týmž konstruktérem Hammanem) s vahadlovou západkou a ozubeným mezikružím. Obr. 9 Přístroj Mercedes-Euklid 2.2 1919 Dvoustavový klopný obvod (Eccles a Jordan) Na samém počátku 20. století došlo k základnímu zlomu v technologiích: v roce 1904 sestrojil Angličan J.A.Fleming první diodu, a v roce 1906 Američan Lee de Forest první triodu. Všechny elektronky (pozn.: zařízení, které usměrňuje a zesiluje elektrické signály) jsou ale v zásadě analogovými součástkami, které pracují s analogovými veličinami (elektrickým proudem a napětím). Například trioda je nejjednodušší zesilovací prvek a jako taková se začala používat především v nejrůznějších zesilovačích. Teprve v roce 1919 však přichází dva Američané (W.H.Eccles a F.W.Jordan) na myšlenku zapojit dvě elektronky proti sobě takovým způsobem, aby se navzájem udržovaly v rovnovážném stavu. Ukázalo se dokonce, že toto jejich zapojení má rovnovážné stavy dva, a že je možné mezi nimi přecházet. Tím se zrodil první tzv. klopný obvod se dvěma rovnovážnými stavy, který již ve svém názvu nese možnost překlápění obvodu z jednoho stavu do druhého. Díky tomu, že každý z obou možných stavů klopného obvodu je rovnovážný, obvod v něm dokáže vydržet libovolně dlouho, dokud není vnějším popudem přinucen překlopit se do druhého stavu (a samozřejmě pokud je neustále napájen). - 20 -
Dva možné stavy, ve kterých se klopný obvod může nacházet, pak mohou reprezentovat dvě různé diskrétní hodnoty například dvě logické hodnoty (ano-ne), dvě číslice (např. 0 a 1) apod. 2.3 1936 Abstraktní model počítače (Alan Turing) V roce 1936 vydává anglický matematik Alan Mathison Turing (1912-1954) zásadní článek On computable Numbers (O počitatelných číslech), ve kterém definuje abstraktní model číslicového počítače tzv. Turingův stroj. Je to Turingův pokus o matematické zachycení intuitivního pojmu vypočitatelnosti, či ještě obecněji, vyřešitelnosti. Turing si uvědomil, že každý výpočet (řešení) začíná nějakými vstupními daty, které si můžeme představit znak po znaku zapsané na papírové pásce, a končí nějakým výsledkem, který si opět můžeme představit v této podobě. Výpočet je tedy z tohoto pohledu přechod od jedné sekvence znaků na pásce k jiné; a Turing usoudil, že ať už ten přechod provádíme jakkoli, na té nejelementárnější úrovni se nemůže než skládat z několika operací toho typu, jako je přečtení nějakého existujícího symbolu, posun pásky o jednu pozici tam či zpátky a zapsání nového symbolu či přepsání starého. Turing pak na základě těchto úvah definoval obecný abstraktní stroj a předložil hypotézu, že jakýkoli výpočet, který je proveditelný, je v principu proveditelný pomocí stroje tohoto typu. Takovou hypotézu ovšem nelze definitivně prokázat; lze ji nanejvýš vyvrátit tak, že se najde výpočet, který na Turingově stroji reprodukovat nebude možné. Žádný takový výpočet ale dosud nikdo nenašel, a Turingova definice se navíc ukázala ekvivalentní několika jiným způsobům formálního zachycení pojmu vypočitatelnosti, navrženým nezávisle jinými matematiky. Nedlouho poté vzniká nová vědecká disciplína, tzv. teoretická informatika, která se spíše než praktickými otázkami a aktuálními schopnostmi zabývá potenciálními možnostmi počítačů tím, co počítače mohou někdy dokázat, co z principu nedokáží, v jakém čase co dokáží apod. Alan M. Turing později formuluje další zásadní myšlenku, zaměřenou na řešení otázky, která již tehdy lidstvo trápila: jak poznat, zda nějaký stroj (počítač) je inteligentní? Turing navrhl podrobit jej testu nechat jednoho člověka v roli tazatele klást otázky dvěma respondentům, které nemá možnost vidět. Jedním z nich bude člověk, a druhým počítač. Pokud člověk-tazatel nedokáže podle jejich odpovědí rozlišit, který z respondentů je člověk a který je stroj, pak je možné tento stroj považovat za inteligentní. Do dnešní doby však ještě žádný počítač neprošel tímto tzv. Turingovým testem. - 21 -
2.4 1937 Navrhování číslicových obvodů (Claudie Shannon) V roce 1937 obhajuje 21-letý Claude E. Shannon diplomovou práci, ve které poprvé ukazuje na paralelu mezi dvouprvkovou Booleovou algebrou a tzv. kombinačními obvody (viz 2.2 dvoustavový klopný obvod), které jsou základním kamenem číslicových počítačů. Shannon ukázal, že funkci libovolného kombinačního obvodu lze popsat formulí Booleovy algebry, a že naopak libovolnou formuli Booleovy algebry lze implementovat ve formě kombinačního obvodu. Tento zásadní objev pak umožnil použít pro navrhování kombinačních obvodů již tehdy poměrně propracovanou Booleovu algebru, a vybudovat systematické metody návrhu kombinačních obvodů. Jedním ze zajímavých důsledků paralely mezi kombinačními obvody a Booleovou algebrou bylo například zjištění, že pro sestavení libovolného kombinačního obvodu stačí mít k dispozici v dostatečném množství jen jediný druh součástky (tzv. logické členy NAND, nebo logické členy NOR). Claude Shannon se ovšem nezasloužil jen o aplikaci Booleovy algebry při navrhování kombinačních obvodů. Častěji je vnímán spíše coby zakladatel teorie informace jako disciplíny, která se zabývá přesnou kvantifikací objemu informací, přenášených sdělovacími kanály, efektivností využití těchto informací atd.. Jedním z bezprostředních a velmi praktických důsledků Shannonovy práce na tomto poli bylo i stanovení závislosti mezi šířkou přenosového pásma a maximálním objemem užitečné informace, který je možné po tomto kanálu přenést při dodržení určité minimální kvality přenášeného signálu (odstupu signálu od šumu). Např. po telefonním okruhu s přenosovým pásmem 300 až 3400 Hz nelze v principu dosáhnout vyšší přenosové rychlosti, než cca 30 000 bitů za sekundu (bez případné komprese). - 22 -
3. Význam počítačů ve 2. světové válce První počítače v dnešním slova smyslu se objevují až v průběhu druhé světové války a těsně po ní. V té době pak také zcela zákonitě začínají krystalizovat představy o tom, jak by počítače měly být konstruovány a jak by měly fungovat. 3.1 Počítače zkonstruované za války 3.1.1 1938 Z1 (Konrád Zuse, Německo) V roce 1938 dokončil Konrád Zuse (nar. 1910) prototyp mechanického programovatelného počítače, později nazvaného Z1. Jeho paměť využívala posuvných mechanických prvků, a umožňovala uchovávat cca 1000 bitů. Aritmetická jednotka tohoto počítače však byla poněkud nespolehlivá. 3.1.2 1940 Z2 (Konrád Zuse, Německo) Konrád Zuse dokončil další počítač, Z2, který stále ještě používal mechanickou paměť, ale pro vlastní výpočty již používal obvody na bázi elektromagnetických relé. 3.1.3 1941 Z3 (Konrád Zuse, Německo) Počítač Z3, který Konrád Zuse uvedl do provozu v prosinci 1941, byl velmi utajovaný, a používal se pro balistické výpočty drah raket V. Počítač Z3 měl šířku slova 22 bitů, paměť pro 64 slov dat, a byl řízen programem, který se načítal z děrné pásky. Uměl sčítat, odčítat, násobit a dělit, počítat odmocninu apod., ale neměl podmíněný skok. Obsahoval celkem 2600 relé, a jedno násobení mu zabralo 3 až 5 sekund. 3.1.4 1943 ABC (Antasoff a Berry, USA) John V. Atanasoff a Clifford Berry z Iowa State College, kteří v roce 1939 sestrojili první 19-bitovou binární sčítačku (z elektronek), dokončili v říjnu 1943 počítač ABC ( Atanasoff-Berry Computer ), specializovaný na řešení soustav lineárních rovnic. Byl vybaven pamětí pro data o 60 slovech, každé o šířce 50 bitů. Tato paměť přitom byla realizována pomocí kondenzátorů (s osvěžovacími obvody byl to tedy jakýsi předchůdce dnešních dynamických pamětí), které byly umístěny na obvodu dvou otáčejících se kruhů. - 23 -
Taktovací frekvence, se kterou tento počítač pracoval, byla 60 Hz, a sčítání trvalo cca. 1 sekundu. Jako vnější paměti sloužily tomuto počítači děrné štítky, do kterých ale nebyly jednotlivé otvory děrovány, nýbrž vypalovány. Do snímačů je uživatel musel zakládat ručně, jeden po druhém. 3.1.5 1943 ASCC Mark I (Aiken, USA) V roce 1943 dokončuje Howard H. Aiken (1900-1973) se svými spolupracovníky na Harvard University ve městě Cambridge ve státě Massachussets počítač, označovaný jako ASCC Mark I ( Automatic Sequence-Controlled Calculator Mark I ), někdy též jako Harward Mark I. Koncepce tohoto počítače byla inspirována pracemi Ch. Babbage. Program byl průběžně čten z děrné pásky, a neobsahoval podmíněný příkaz. Násobení trvalo 6 sekund. Celý elektromechanický počítač Mark I byl přibližně 60 stop dlouhý a vážil 5 tun. Měl 72 střadačů (akumulátorů). 3.1.6 1943 Colossus (Turing, Velká Britnie) Matematik Alan Turing a jeho tým zkonstruovali v prosinci roku 1943 v Bletchey Park (poblíž anglického Cambridge) první verzi vysoce utajovaného počítače Colossus ( Colossus Mark I ). Byl určen hlavně k luštění německých šifer. V roce 1944 byla zkonstruována vylepšená verze, Colossus II. Informace o těchto dvou počítačích byly odtajněny až v roce 1970. 3.1.7 1945 ENIAC (Eckert a Machly, USA) Teprve v listopadu roku 1945, tedy až po skončení druhé světové války (a za dvojnásobných nákladů, než jaké byly plánovány) dokončili John W. Mauchly (1907-1980) a J. Presper Eckert počítač ENIAC ( Electronic Numerator, Integrator, Analyzer and Computer ), který vyvíjeli na zakázku pro laboratoř balistických výzkumů (Ballistics research Lab.) US Army. Tento počítač (do února 1946 přísně utajovaný) měl paměť, tvořenou 20 slovy o šířce 10 desítkových číslic. Byl to elektronkový počítač, používal jich celkem 17648, byl chlazený vzduchem hnaným vrtulemi dvou leteckých motorů, vážil 30 tun, byl 30 metrů vysoký a stejně tak široký. Jeho příkon dosahoval 140 kw (tolik tehdy na své osvětlení potřebovala značná část Filadelfie). Byl ale poměrně rychlý zvládal 5000 součtů za sekundu, násobení trvalo 14-krát, a dělení 143-krát déle, než sčítání. Pracoval s taktovací - 24 -
frekvencí 100 khz. Svá data četl z děrných štítků, ale program se mu zadával nastavením spínačů na speciálním propojovacím poli, které se programovalo samostatně, a teprve pak se připojilo k počítači (jako jakási zásuvná deska, neboli tzv. plugboard). V průběhu práce na ENIAC-u se k týmu jeho autorů přidává (zhruba v roce 1944) John von Neumann (1903-1957). Pod jeho vedením se poněkud mění názory týmu na to, na jakých principech by počítače měly být založeny. Na základě těchto představ pak vzniká koncepce nového počítače EDVAC ( Electronic Discrete Variable Automatic Computer ), na kterém skupina posléze začíná pracovat (dokončen byl v roce 1952). 3.2 1945 Moderní architektura počítače (John von Neumann) První představa byla taková, že počítač má svůj program zaznamenán na nějakém vnějším záznamovém médiu (děrné pásce či děrných štítcích), postupně jej načítá a ihned provádí. To ale s sebou přináší některé nepříjemné komplikace například provedení skoku znamená přemotání děrné pásky na požadované místo (analogicky pro štítky), což trvá nezanedbatelnou dobu. Zdlouhavé a problematické je pak i volání podprogramů. Hlavní vinu na tom má především sekvenční charakter paměti, používané pro uchovávání programu, a s tím souvisejí postupné načítání té části programu, která je zapotřebí. Proto John von Neumann navrhl uchovávání programu takovým způsobem, aby byl celý trvale k dispozici (tj. aby se nemusel postupně načítat), a aby bylo možné v něm libovolně (a hlavně okamžitě ) skákat navrhl tedy uchovávání celého programu v paměti počítače, a navíc v takové paměti, která nemá sekvenční charakter, ale chová se jako paměť s tzv. přímým přístupem. Snad nejvýznamnější myšlenkou celé von Neumannovy architektury je zásada, že program i data jsou ve své podstatě jedno a totéž (a to posloupnost bitů), a o jejich povaze rozhoduje pouze způsob, jakým je interpretuje ten, kdo s nimi pracuje. Tato zásada pak von Neumannovi umožnila navrhnout, aby počítač měl jedinou paměť (tzv. operační paměť), ve které by se společně uchovávaly jak data, tak i celé programy. Velmi důležitou myšlenkou, která se prosadila v rámci von Neumannovy architektury, je následující pravidlo: počítač by se neměl přizpůsobovat potřebám konkrétní aplikace svou vnitřní strukturou, ale pouze programem. Jinými slovy, vnitřní struktura počítače by se neměla měnit, a měla by být maximálně univerzální. Tak, aby vycházela vstříc potřebám co možná nejširšího okruhu aplikací. Šité na míru by naopak měly být programy. S časovým odstupem téměř padesáti let od vzniku von Neumannovy architektury lze konstatovat, že se udržela až dodnes, a že drtivá většina dnes existujících a vyráběných - 25 -
počítačů vychází právě z této koncepce. Objevily se samozřejmě i jiné koncepce, zásadně odlišné od von Neumannovy, ale žádná z nich se neprosadila takovým způsobem, aby přetrvávající hegemonii von Neumannovy architektury dokázala vůbec ohrozit. 3.3 Stručně k šifrovacím strojům Nejstarším šifrovacím strojem je šifrovací disk, vynalezený v 15. století italským architektem Leonem Albertim, jedním z otců polyalfabetické šifry. Alberti vzal dva měděné kotouče, jeden o něco větší než druhý, a po jejich obvodu napsal písmena abecedy. Pak umístil menší kotouč na větší, uchytil je na společnou osu. Kotouči šlo otáčet nezávisle na sobě, takže abecedy mohly zaujímat různé vzájemné pozice a pomůcka mohla sloužit pro šifrování jednoduchou Caesarovou šifrou. Například pro šifru s posunutím o jeden znak stačilo natočit vnější A proti vnitřnímu B vnější disk zobrazuje otevřenou abecedu, vnitřní abecedu šifrovou. Každé písmeno otevřeného textu lze nalézt na vnějším disku, odpovídající písmeno šifrového textu se nachází naproti němu na vnitřním disku. Zprávu s Caesarovým posunutím o pět písmen vytvoříme tak, že natočíme vnější A proti vnitřnímu F. Jde o velmi jednoduché zařízení, usnadňuje však šifrování, a proto přetrvalo po pět století. Šifrovací disk je jedním z mnoha možných šifrovacích zařízení, tzv. scramblerů, jež zpracovávají otevřený text znak po znaku a převádějí jej na něco jiného. Dosud popsaný způsob jejich činnosti je jednoduchý a výsledná šifra poměrně snadná k rozluštění, avšak disk lze použít i komplikovanějším způsobem. Jeho vynálezce Alberti doporučoval změnit nastavení disku v rámci téže zprávy, což v důsledku znamená, že namísto monoalfabetické šifry vzniká polyalfabetická. Tato dodatečná komplikace ztěžuje prolomení šifry, neznemožňuje jej však. 3.3.1 Enigma Pět set let po Albertim se však myšlenka šifrovacího disku dočkala návratu v podstatně zdokonalené podobě a vedla ke vzniku nových šifer, o řád náročnějších na rozluštění než jakýkoli starší systém. Německý vynálezce Arthur Scherbius spolu se svým přítelem Richardem Ritterem založil roku 1918 firmu Scherbius & Ritter, jež se zabývala technickými inovacemi na širokém poli od turbín po vyhřívané polštáře. Scherbius odpovídal za výzkum a vývoj a stále hledal nové možnosti uplatnění. Jedním z jeho oblíbených projektů byla náhrada zastaralých šifrovacích systémů z první světové války, založených na tužce a papíru, něčím dokonalejším, co by využívalo moderní technologie. - 26 -
Díky znalostem, jež získal studiem elektrotechnického inženýrství v Hannoveru a Mnichově, vyvinul šifrovací zařízení, které bylo v podstatě elektrifikovanou variantou Albertiho šifrovacího disku. Pod názvem Enigma vstoupil Scherbiův systém do historie kryptografie jako její nejtěžší noční můra. Obr. 10 - Enigma Scherbiova Enigma je tvořena mnoha důmyslnými součástmi, jež dohromady tvoří působivý a složitý stroj. Pokud jej však rozložíme na části, je princip fungování celku zcela zřejmý. Základní podoba Scherbiova vynálezu se skládá ze tří vzájemně propojených částí. První z nich je klávesnice pro zadávání otevřeného textu, druhou částí je šifrovací jednotka pro převod každého písmene otevřeného textu na odpovídající písmeno šifrového textu a třetí částí je signální deska tvořená lampičkami, které umožňují zobrazit znak šifrového textu. Má-li se zašifrovat písmeno otevřeného textu, stiskne operátor příslušnou klávesu, tím se odešle elektrický signál přes šifrovací jednotku a na druhé straně se na signální desce indikuje příslušný znak šifrového textu. Klíčovou částí stroje je scrambler, tlustý gumový kotouč protkaný dráty. Vedení přicházející z klávesnice vstupuje do scrambleru na šestadvaceti místech, uvnitř se různě otáčí a přehýbá a na šestadvaceti místech zas vystupuje ven. Vnitřní zapojení scrambleru určuje, jak budou zašifrovány znaky otevřené abecedy. V tomto základním uspořádání scrambler prostě definuje šifrovou abecedu a stroj funguje jako monoalfabetická substituční šifra. Podstata toho, co Scherbius vymyslel, však spočívá v tom, že disk se po zašifrování každého písmene automaticky pootočí o jednu šestadvacetinu otáčky. Např. stiskneme-li klávesu B šestkrát po sobě, dostaneme šifrový text ACEBDC. Jinými slovy, šifrová abeceda se po zašifrování každého písmene mění. - 27 -
Standardní Scherbiův šifrovací stroj byl pro zvýšení složitosti vybaven třemi scramblery. Scherbius přidal ještě reflektor. Tato součást je podobná scrambleru aspoň do té míry, že jde rovněž o gumový kotouč s vnitřním zapojením vodičů. Na rozdíl od scrambleru se však neotáčí, vodiče do něj vstupují touž stranou, jakou zas vystupují. Je-li zařazen reflektor, funguje Enigma následujícím způsobem: operátor napíše písmeno, čímž se vyšle elektrický signál přes tři scramblery. Reflektor obdrží signál a pošle jej přes tyto tři scramblery zpět, avšak zcela odlišnou cestou. Šifrovací stroj měl podobu kompaktní skříňky o rozměrech pouhých 34,5 x 28,5 x 15 cm, vážil však solidních 12 kg. Scherbius zkusil nabízet svůj šifrovací stroj jak obchodní komunitě, tak vojenským kruhům, přičemž pro každou z těchto skupin vytvořil speciální variantu přístroje. Nabízel například základní verzi pro obchodní použití, zatímco pro ministerstvo zahraničí vytvořil luxusní diplomatickou verzi s tiskárnou namísto signální desky. Cena jednoho přístroje činila asi 20 000 liber v dnešních cenách. Vysoká cena přístroje však potenciální kupce odrazovala. Scherbius nebyl se svou narůstající frustrací sám. Další tři vynálezci ve třech různých zemích nezávisle na sobě a téměř současně přišli na myšlenku postavit šifrovací stroj s otočnými scramblery. V Nizozemsku získal roku 1919 Alexander Koch patent č. 10 700, ale svůj nápad na šifrovací stroj s rotory se mu nepodařilo proměnit v obchodní úspěch a roku 1927 patentová práva prodal. Arvid Damm ve Švédsku získal podobný patent, ale do své smrti v roce 1927 také nedokázal nalézt odbyt. Americký vynálezce Edward Hebern hluboce věřil ve svůj vynález, tzv. Bezdrátovou sfingu, jeho prohra však byla ze všech největší. V polovině 20. let 20. století začal Hebern stavět továrnu nákladem 380 000 dolarů. K jeho smůle se však právě v tomto období začala nálada americké společnosti měnit od paranoidního podezírání směrem k otevřenosti. V předchozím desetiletí, jako dozvuk první světové války, ustavila vláda americkou černou komnatu, vysoce efektivní šifrové oddělení s týmem dvaceti kryptoanalytiků, v jejichž čele stál bohémský a skvělý Herbert Yardley. Ten později napsal, že černá komnata, zamčená, ukrytá a střežená, vidí a slyší všechno. Utajení může být sebelepší, okna sebedokonaleji zastřená, přesto její pronikavý zrak dohlédne do tajných konferenčních sálů ve Washingtonu, v Tokiu, Londýně, Paříži, Ženevě či v Římě. Její jemný sluch zachytí i sebetišší zašeptání v hlavních městech celého světa. Americká černá komnata rozluštila během desetiletí své existence 45 000 kryptogramů, avšak v době, kdy Hebern stavěl továrnu, se stal prezidentem Herbert Hoover, který se pokusil zahájit novou éru mezinárodních vztahů. Černou komnatu rozpustil a jeho ministr zahraničí Henry Stimson prohlásil, že gentleman - 28 -
nečte cizí dopisy. Stát, který věří, že není správné číst cizí dopisy, časem začne věřit i tomu, že jeho korespondenci také nikdo nečte, takže nevidí důvod pro pořízení kvalitních šifrovacích strojů. Hebern prodal jen dvanáct přístrojů, celkem asi za 1 200 dolarů, a roku 1926 byl nespokojenými akcionáři pohnán k soudu a podle kalifornského obchodního práva shledán vinným. Naproti tomu německé vojenské kruhy zažily šok, v jehož důsledku docenily hodnotu Enigmy, a to díky dvěma britským dokumentům. Prvním z nich byla Světová krize Winstona Churchilla, publikovaná roku 1923, v níž se dramaticky popisuje, jak Britové získali cenný německý kryptografický materiál: Počátkem září 1914 ztroskotal v Baltském moři německý lehký křižník Magdeburg. O několik hodin později vylovili Rusové tělo utonulého německého poddůstojníka, který ke svým prsům, rukama ztuhlýma smrtelnou křečí, stále ještě tiskl šifrovací a signální knihy německého námořnictva spolu s mapami Severního moře a Helgolandského zálivu s detailně vyznačenými čtvercovými souřadnicemi. 6. září mne navštívil ruský námořní atašé. Obdržel depeši z Petrohradu, v níž se tato událost popisovala a kde se také uvádělo, že díky získaným dokumentům dokázala ruská admiralita dešifrovat přinejmenším části německé námořní komunikace. Rusové byli toho názoru, že Británie jako přední námořní velmoc by měla těmito mapami a dokumenty disponovat. Pokud vyšleme loď, ruští důstojníci nám je předají. Téhož roku (1923) publikovalo britské královské námořnictvo oficiální historii první světové války, kde se znovu připomínalo, že odposlech a dešifrování německé komunikace byly pro Dohodu velkou výhodou. Tyto úspěchy britské rozvědky představovaly zároveň ostré odsouzení činnosti těch, kteří odpovídali v Německu za utajení. Oni sami museli připustit a napsat do vlastní zprávy, že německé námořní velení, jehož rádiovou komunikaci Angličané odposlouchávali a dešifrovali, hrálo proti britskému velení takříkajíc s odkrytými kartami. Němci prozkoumali možnosti, jak se napříště vyhnout takovému kryptografickému fiasku, a došli k závěru, že nejlepším řešením je Enigma. Scherbius zahájil velkovýrobu roku 1925, již o rok později se Enigma začala používat v armádě a nakonec i ve státní správě a ve státem řízených organizacích, jako například na železnici. Tyto Enigmy se lišily od několika málo přístrojů, jež Scherbius dříve prodal komerčnímu sektoru, protože vnitřní zapojení scramblerů bylo jiné. Uživatelé komerčních přístrojů tudíž neměli přístup k vládní a vojenské komunikaci. Během dalších dvaceti let koupila německá armáda přes 30 000 přístrojů Enigma. Scherbiův vynález jí poskytl nejdokonalejší šifrovací systém na světě, takže na začátku druhé světové války disponovali Němci naprosto bezprecedentní úrovní bezpečnosti komunikací. Po nějakou dobu se zdálo, - 29 -
že Enigma sehraje důležitou roli ve vítězství nacistů, nakonec se však významně podílela na Hitlerově pádu. 3.3.2 Prolomení kódu Autoři šifrovacích strojů, stejně jako autoři jiných šifrovacích klíčů, dokazovali jejich dokonalost a nerozluštitelnost. Tak se například při předvádění Enigmy v roce 1923 v Berlíně můžeme v prospektu dočíst, že:...přístroj je schopen vyprodukovat dvaadvacet miliard různých kódových kombinací. Kdyby se o takový výkon pokusil kterýkoli schopný matematik, musel by počítat bez přestání ve dne v noci po dobu dvaačtyřiceti tisíc let! Nebo:...Počet všech možných počátečních nastavení stroje pro zašifrování zprávy je tak velký (asi 10,5 kvadrilionu možností), že kdyby každý z 1000 kryptologů se svojí Enigmou otestoval 4 nastavení za 1 minutu a pracoval by 24 hodin denně, trvalo by jim nalezení správného řešení v průměru 900 milionů let. Tyto ohromující údaje o bezpečnosti šifrování nebraly v úvahu podstatný fakt, že kryptoanalytici mají daleko účinnější metody luštění, které vůbec nespočívají v otrockém zkoušení jednoho nastavení po druhém. Přibližně za dvacet let luštitelé dokázali nesmyslnost takových úvah. Polským agentům se ještě před válkou, krátce po výrobě jeho první série, podařilo získat jeden exemplář tohoto šifrovacího stroje. Polští kryptologové vedení Marianem Rejewským podrobili šifrovací zařízení pečlivé kryptoanalýze již ve třicátých letech. Výsledkem tohoto úsilí byl elektromagnetický model Enigmy, zvaný bomba, který za určitých podmínek dovoloval luštit zprávy. Současně rozpracovávali metody luštění Enigmy s vydatnou pomocí Poláků také Angličané pomocí přístroje, který je považován za předchůdce samočinných počítačů. Byl později pojmenován AGNES a jeho tvůrci, Alan Mathison Turing a jeho kolega kryptolog Alfred Dilwyn Knox, vycházeli při jeho sestrojení také z polské bomby. První německé depeše se Angličanům podařilo rozluštit v polovině roku 1940. Díky perfektnímu utajení se Němcům nikdy nepodařilo tuto skutečnost odhalit. Tajemství systému ULTRA prozradili Angličané až 30 let po válce právě kvůli Němcům. Němci totiž po skončení války prodali Enigmu na Střední východ a luštili pak cizí zprávy zašifrované tímto strojem až do roku 1976. Japonci zakoupili v roce 1934 Enigmu i některé další šifrovací stroje a na jejich principu vyrobili vlastní šifrovací stroj. Nazývali ho 97-šiki-O-bun In-ji-ki neboli písmenkový stroj 97 (číslo znamená poslední dvě cifry letopočtu 2597 podle japonského kalendáře). Američané, aniž by tento stroj viděli, sestrojili jeho model nazvaný MAGIC, který jim umožňoval luštění japonských zpráv. Nazývali tuto šifru Purple, purpurový kód. Prvních úspěchů dosáhli - 30 -
američtí luštitelé, zvláště Leon Rosen, pod Friedmanovým vedením, v září 1940, několik dní před utvořením spojenecké osy Berlín Řím Tokio. Scherbius nežil dost dlouho, aby na vlastní oči viděl úspěch a porážku svého šifrovacího systému. Roku 1929 se mu vymklo z rukou jeho koňské spřežení, narazil s vozem do zdi a 13. května zemřel na vnitřní zranění. - 31 -
4. Poválečný vývoj, vznik internetu 4.1 Počítače po 2. světové válce 4.1.1 1948 SSEC (Eckert, USA) V lednu roku 1948 dokončuje Wallace Eckert (1902-1971) s týmem spolupracovníků u firmy IBM počítač SSEC ( Selective Sequence Electronic Calculator ). Tento počítač byl z technologické stránky zajímavým hybridem, měl 8 registrů, které byly realizovány pomocí elektronek, dále 150 registrů, vytvořených pomocí elektromagnetických relé, a svůj program měl zčásti uložen v paměti a zčásti byl ovládán pomocí propojovací desky (tzv. plugboardu). Firma IBM považuje SSEC za svůj první počítač. Podle dostupných pramenů existoval jen v jediném exempláři. 4.1.2 1948 Manchester MARK I (Newman a Williams, Velká Británie) V květnu 1948 dokončil tým odborníků na Manchester University ve Velké Británii prototyp počítače, nazvaného netradičně MARK I (pro odlišení od amerického Manchester Mark I). Byl prvním fungujícím počítačem, vytvořeným podle von Neumannovy koncepce, s programem uloženým v paměti (zatímco EDVAC, na kterém pracoval sám von Neumann, byl dokončen až v roce 1952). Manchester MARK I byl zajímavý také tím, že v něm byly poprvé použity pro realizaci operační paměti tzv. paměťové obrazovky (šlo ostatně o vynález jednoho z autorů tohoto počítače, F.C.Williamse). Podstata paměťové obrazovky spočívá v tom, že na stínítku se po osvícení určitého bodu po jistou dobu udrží zbytkový náboj. Ten je možné následně zase přečíst (tak, že se tímto bodem nechá projít další elektronový paprsek, a jeho intenzita se vyhodnotí speciální elektrodou za stínítkem). Je to sice poněkud nespolehlivé, zato ale rychlé, relativně laciné, a velmi kompaktní (na jedné obrazovce je takto možné uchovávat až 2048 bitů). Na dnešní dobu je to sice žalostně málo, ale tehdy to bylo mnohem více, než kterákoli jiná paměť. Počítač MARK I používal šest takovýchto paměťových obrazovek. Program byl tomuto počítači nejprve zadáván v binárním tvaru přímo z klávesnice, odkud se ukládal do paměti. Výstupy byly odečítány opět v binárním tvaru) z některé z obrazovek. Později se k autorskému týmu připojil i Alan Turing, a vymyslel jednoduchou formu jazyka symbolických adres (asembleru). - 32 -