Hartmut Ernst Jochen Schmidt Gerd Beneken Grundkurs Informatik Grundlagen und Konzepte für die erfolgreiche IT-Praxis – Eine umfassende, praxisorientierte Einführung 6. Auflage Grundkurs Informatik Hartmut Ernst Jochen Schmidt (cid:129) Gerd Beneken Grundkurs Informatik Grundlagen und Konzepte für die – erfolgreiche IT-Praxis Eine umfassende, praxisorientierte Einführung 6. Auflage 2016 Hartmut Ernst JochenSchmidt Hochschule Rosenheim Hochschule Rosenheim Rosenheim, Deutschland Rosenheim, Deutschland Gerd Beneken Hochschule Rosenheim Rosenheim, Deutschland ISBN978-3-658-14633-7 ISBN978-3-658-14634-4 (eBook) DOI 10.1007/978-3-658-14634-4 Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detailliertebibliografischeDatensindimInternetüberhttp://dnb.d-nb.deabrufbar. SpringerVieweg ©SpringerFachmedienWiesbaden1999,2000,2003,2008,2015,2016 Die 1. Auflage 1999 und die 2. Auflage 2000 erschienen unter dem Titel „Grundlagen und Konzepte der Informatik“ Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht ausdrücklich vom Urheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung des Verlags. Das gilt insbesondere für Vervielfältigungen, Bearbeitungen, Übersetzungen, Mikroverfilmungen und die EinspeicherungundVerarbeitunginelektronischenSystemen. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auchohnebesondereKennzeichnungnichtzuderAnnahme,dasssolcheNamenimSinnederWarenzeichen-und Markenschutz-Gesetzgebungalsfreizubetrachtenwärenunddahervonjedermannbenutztwerdendürften. DerVerlag,dieAutorenunddieHerausgebergehendavonaus,dassdieAngabenundInformationenindiesem Werk zum Zeitpunkt der Veröffentlichung vollständig und korrekt sind. Weder der Verlag noch die Autoren oder die Herausgeber übernehmen, ausdrücklich oder implizit, Gewähr für den Inhalt des Werkes, etwaige FehleroderÄußerungen. GedrucktaufsäurefreiemundchlorfreigebleichtemPapier SpringerViewegistTeilvonSpringerNature DieeingetrageneGesellschaftistSpringerFachmedienWiesbadenGmbH Vorwort WersichheutealsStudentoderalsPraktikerimBerufernsthaftmitInformatikbeschäftigt,demist dieFragenachderStandortbestimmungseinesFachgebietsvertraut:WasisteigentlichInformatik? EsgibtwenigeArbeitsfelder,diesointerdisziplinärangelegtsindwiegeradedieInformatik.Wer beispielsweisedieDarstellungdesStoffesinLehrbüchernüberWirtschaftsinformatikbetrachtet, wird ganz erhebliche Unterschiede im Vergleich mit diesem Buch bemerken. Ebenso wird der Datenbank-ProfioderdermehranderHardwareorientierteEntwicklermanchesDetailvermissen. Dennoch,diegrundlegendenKonzepte,aufdieeswirklichankommt,sindfürdieverschiedenen Richtungendieselben. Es wurde daher mit diesem Buch der Versuch unternommen, einen möglichst umfassenden ÜberblickundEinblickindiewesentlichenGrundlagenundKonzeptederInformatikzuvermitteln. DabeigehtesnichtnurumdieDarstellungvonSachverhalten,sondernauchdarum,Zusammenhänge verständlichzumachenundzuvertiefen.FernersolltederZugangzuweiterführendenBüchernund Originalliteraturerleichtertwerden.ZielwarnichteinweiteresProgrammierlehrbuchzuschreiben, sonderneineumfassendeEinführungindieInformatik. AlsroterFadenwirddieBetonungdesalgorithmischenAn- (cid:21)(cid:10)(cid:13)(cid:5)(cid:10)(cid:17)(cid:11)(cid:10)(cid:22)(cid:5)(cid:10) satzesverfolgt,denngeradeAlgorithmenunddereneffiziente ImplementierunginSoftwareundHardwarebildeneinzen- (cid:23)(cid:12)(cid:19)(cid:17)(cid:11)(cid:20)(cid:3)(cid:5) tralesThemaderInformatik.DieStoffauswahlistaußerdem anThemenorientiert,dieüberlängereZeitrelevantbleiben dürften.DiesesLehrbuchverstehtsichalspraxisnahundan- wendungsbezogen, wenn auch nicht in einem an Produkten undkommerziellenSoftwaresystemenorientiertenSinneder (cid:18)(cid:5)(cid:12)(cid:10)(cid:6)(cid:10)(cid:14)(cid:19)(cid:12)(cid:1)(cid:2)(cid:3)(cid:6)(cid:20) angewandtenInformatik.VielmehrwurdendieAutorenvon derÜberzeugunggeleitet,dassInnovationeninderPraxisnur derleistenkann,derkreativaufderBasisvon„firstprinciples“ zudenkengelernthat.DerStellenwertderTheorieauchfür (cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:1)(cid:2)(cid:3)(cid:6)(cid:7)(cid:8)(cid:4)(cid:9)(cid:10)(cid:2)(cid:3)(cid:11)(cid:12)(cid:13)(cid:6)(cid:7)(cid:7)(cid:5)(cid:10)(cid:7)(cid:8)(cid:4)(cid:2)(cid:14)(cid:3)(cid:15)(cid:6)(cid:8)(cid:4)(cid:5)(cid:7) (cid:16)(cid:11)(cid:10)(cid:17)(cid:2)(cid:1)(cid:5)(cid:10)(cid:3) denPraktikerwirddamitbetont.AufderanderenSeiteerfor- dertdiehierangestrebteOrientierunganderPraxisnicht,dass jederSatzimmathematischenSinnestrengbewiesenwerdenmüsste.Esistjageradederüberbetonte FormalismusmancherTheorie,deraufdenPraktikerabschreckendwirkt.FürdenTheorie-Nutzer genügtesoft,dieFormulierungeinesSatzeszuverstehen,seinenAnwendungsbereichundseine GrenzenzubegreifensowieEinsichtinseineGültigkeitzugewinnen.Dazuistausdidaktischer SichtanStelleeinestrockenenBeweiseseinerhellendesBeispieloftdienlicher. Man kann die Informatik in manchen Aspekten mit einem voll im Leben stehenden Baum vergleichen.WeithinsichtbaristvorallemseineKronemitgrünenBlätternundbuntenFrüchten, entsprechenddenvielfältigenkommerziellenAnwendungenderInformatik.Unddasistesauch, wasderpraxisorientierteInformatikanwendervondembreitenSpektrum,dasunterdemBegriff „Informatik“subsumiertwird,ausderDistanzinersterLiniewahrnimmt:Computer-AidedAnything, dieanwendungsbetonteInformatik,dieLösungenfürkonkreteProblemeverkauft.Dortarbeitetdie MehrzahlderInformatiker,dortwirdgutesGeldverdient. vi Vorwort Doch so wie die Krone eines Baumes im Wechsel der Jahreszeiten ihr Aussehen ändert, so istauchdieserTeilderInformatikvonkurzenProduktzyklenundinstetemWandelbegriffenen Systemumgebungengeprägt.HierträgtdieInformatikzwarihreFrüchte,dochsinddieseoftleicht verderblicheWaremiteinemkurzfristigenVerfallsdatum.FüreintiefergehendesInformatikver- ständnisgenügteinehauptsächlichanProduktenorientierteSichtweisedaherdefinitivnicht.Ohne profundesHintergrundwissenistesunmöglich,nachhaltigeEntwicklungenvonSackgassenund Modeströmungenzuunterscheiden.Esmagjasehrverlockendsein,BillGatesnachzueifernund gleichinderoberstenEtagederInformatikbrancheeinzusteigen.DochandieserStellemussman sichklarmachen,dassesderStammist,derdieKroneträgt.IndiesemSinneruhtauchdiean- wendungsorientierteInformatikaufeinemstabilenUnterbau,derKerninformatik.Dieseunterliegt einemvergleichsweiselangsamenWandelundsiegründetihrerseitsintiefenWurzelnaufeinem zeitlosenmathematisch-naturwissenschaftlichenFundament. UmdenStammdesInformatikbaumes,dieKerninformatik,gehtesindiesemBuch.Wersich auf diesem Terrain sicher zu bewegen weiß, der wird keine Schwierigkeiten haben, auf einem tragfähigenGrundlagenwissenprofessionelldiehöchstenÄstederBaumkronezuerklimmen–oder auchtieferzuschürfen,umdiewissenschaftlicheBasiszuergründen. ZurErleichterungdesEinstiegsindieLektürewerdenimFolgendendieThemendereinzelnen Kapitelkurzcharakterisiert. InKapitel1wirdnacheinergeschichtlichenEinführungundeinemkurzenÜberblicküberden prinzipiellenAufbauvonRechnerndiebinäreArithmetikbehandelt. Kapitel2beschäftigtsichausführlichmitdenbegrifflichenundmathematischenKonzeptender fundamentalenBegriffeNachrichtundInformation.Jeder,dersichernsthaftmitderInformatik befasst,solltemitdiesenGrundlagengutvertrautsein,dasodasVerständnisderfolgendenKapitel erleichtertwird.DaInformationundWahrscheinlichkeitinengerBeziehungzueinanderstehen, werdenauchdieerforderlichenmathematischenMethodenerläutert.ImletztenAbschnittdieses KapitelsgehtesdannumeinenzentralenBegriffderInformatik,dieEntropie. In Kapitel 3 werden aufbauend auf Kap. 2 zunächst die grundlegenden Begriffe Redundanz, CodeerzeugungundCodesicherungerläutert.DazugehörtaucheinedetaillierteErläuterungder wichtigsteneinschlägigenAlgorithmen.AnschließendwirdaufdeninderPraxisbesonderswichti- genAspektderCodierungstheorieeingegangen,nämlichaufMethodenzurDatenkompression. Kapitel4behandeltdieVerschlüsselungvonDaten.EswirdsowohlaufklassischeVerfahren eingegangenalsauchaufmoderneMethodenzursymmetrischenundasymmetrischenVerschlüsse- lung.ZusammenmitdenKapiteln2und3umfasstundvertieftderStoffdenInhaltentsprechender Grundvorlesungen. Kapitel5gibteinenÜberblicküberdieGrundlagenderComputerhardware.Nacheinerknappen EinführungindieAussagenlogikunddieboolescheAlgebrawirdaufSchaltnetzeundSchaltwerke eingegangen.AmSchlussdesKapitelsstehteinAbschnittüberMaschinenspracheundAssembler. InKapitel6gehtesdannumRechnerarchitekturen.NachEinführungderüblichenKlassifikati- onsschematafolgteineErläuterungderfürdieMehrzahlderRechnernochimmermaßgeblichen von-Neumann-ArchitektursowieeineEinführungindieKonzeptederParallelverarbeitung. Kapitel7beschreibtdenAufbauvonRechnernetzen.ZentralisthierdasOSI-Schichtenmodell. DieimInternetverwendetenÜbertragungsprotokollewerdenerläutert. Kapitel8beschreibtArchitekturenunddiewichtigstenAufgabenvonBetriebssystemen.Am EndewirdauchaufdieimmerwichtigerwerdendeVirtualisierungeingegangen. Kapitel 9 bietet einen Überblick über Datenbankkonzepte, mit dem Fokus auf relationalen Datenbanken,derDatenbankabfragespracheSQLsowieXML.AuchDataWarehousingundData Vorwort vii Miningwerdengestreift. Kapitel10beschäftigtsichmitderAutomatentheorieundderTheoriederformalenSprachen, dieindertheoretischenInformatikalsGrundlagevonProgrammiersprachenundCompilerneinen wichtigenPlatzeinnehmen.AuchdasKonzeptderTuring-Maschine,diealsalgebraischeBeschrei- bungeinesComputersaufgefasstwerdenkann,wirdausführlicherklärt.DabeiwirdmehrWertauf eineverständlicheDarstellungdergrundlegendenKonzeptegelegt,alsaufmathematischeStrenge. AmEndedesKapitelswirdohneVertiefungdesThemaskurzaufCompilereingegangen. Kapitel11bautunmittelbaraufKap.10auf.ZunächstwerdendieBegriffeBerechenbarkeitund KomplexitäterläutertunddieGrenzendesmitComputernüberhauptMachbarenaufgezeigt.Es schließensichAbschnitteüberprobabilistischeAlgorithmenundRekursionan.DieKapitel10und 11entsprechenzusammeneinemGrundkursintheoretischerInformatik. InKapitel12gehtesimDetailumdieinkommerziellerSoftwareamhäufigstenverwendeten Operationen,nämlichSuchen(einschließlichHashing)undSortieren. Kapitel13istdenwichtigenDatenstrukturenBinärbäume,VielwegbäumeundGraphengewidmet. DieKapitel12,13und14.4deckendenStoffeinschlägigerVorlesungenüberAlgorithmenund Datenstrukturenab. Kapitel14beginntmiteinerDiskussionderprinzipiellenStrukturhöhererProgrammiersprachen einschließlichBackus-Naur-FormundSyntaxgraphen.EsfolgteinÜberblicküberdieweitverbrei- teteProgrammierspracheC,deraberkeinesfallsspezielldiesemThemagewidmeteLehrbücher ersetzenkann.DieBeschreibungderC-FunktionsbibliothekbeschränktsichaufeinigeBeispie- le.DerletzteAbschnittbefasstsichintensivmitdenDatenstrukturenlineareListen,Stapelund Warteschlangen. Kapitel15bieteteineEinführungindasobjektorientierteParadigma.Exemplarischwirdaufdie SpracheJavaeingegangen. Kapitel16befasstsichmitderAnwendungsprogrammierungimInternet.NebenderBeschrei- bunggrundlegenderTechnologienliegtderSchwerpunktaufderEntwicklungvonWebanwendungen mitJavaScript. Kapitel17gibteinenÜberblicküberSoftware-Engineering.NacheinerBeschreibungdesSoft- ware-LebenszykluswerdenzweiinderPraxishäufiganzutreffendeVorgehensmodelleerläutert, nämlichdasV-ModellundScrum.HilfsmittelfürdenAlgorithmenentwurfwerdenvorgestellt. NachdemdiefünfteAuflagekomplettüberarbeitetunderweitertwurde,enthältdiejetztvorlie- gendesechsteAuflageinersterLinieKorrekturenundKlarstellungen.HerzlichenDankanunsere aufmerksamenLeserfürdieHinweise. EinBuchschreibtmannichtalleine;etlicheFreundeundKollegenhabenunsdabeimitwertvollen Anregungengeholfen.InsbesonderebedankenwirunsbeidenKollegenLudwigFrank,Helmut OechsleinundTheodorTempelmeier,derenHinweiseundSachverstandzurQualitätdesBuches wesentlichbeigetragenhaben;außerdembeiHerrnAlexanderScholzfürdietatkräftigeUnterstüt- zungbeiderNeuerstellungderZeichnungen.BesondererDankgiltunserenFrauenundunseren FamilienfürdieausgezeichneteUnterstützungwährenddesBuch-Projektes. Rosenheim, HartmutErnst 18.Juni2016 JochenSchmidt GerdBeneken Hinweise zu den Übungsaufgaben AndiemeistenKapitelschließensichÜbungsaufgabenan.DieLösungensindaufderdasBuch ergänzendenInternetseitehttp://www.gki-buch.dezufinden.DieÜbungsaufgabensind thematischsowienachihremSchwierigkeitsgradklassifiziert: T fürTextaufgaben, M fürmathematischorientierteAufgaben, L fürAufgaben,dielogischesundkombinatorischesDenkenerfordern, P fürProgrammieraufgaben. 0 bedeutet„sehrleicht“.DieseAufgabenkönnenunmittelbargelöstwerden,ggf.mitetwas BlätternimBuch. 1 bedeutet„leicht“undkennzeichnetAufgaben,dieinnerhalbvoneinigenMinutenmitwenig Aufwandzulösensind. 2 bedeutet„mittel“.SolcheAufgabenerfordernetwasgeistigeTransferleistungüberdenBu- chinhalthinausund/odereinengrößerenArbeitsaufwand. 3 bedeutet „schwer“ und ist für Aufgaben reserviert, die erheblichen Arbeitsaufwand mit kreativenEigenleistungenerfordern. 4 kennzeichnet„sehrschwere“AufgabenundaufwendigeProjekte. Inhaltsverzeichnis 1 Einführung 1 1.1 WasisteigentlichInformatik? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 ZurGeschichtederInformatik . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.1 FrüheZähl-undRechensysteme . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.2 DieEntwicklungvonRechenmaschinen . . . . . . . . . . . . . . . . . . . 4 1.2.3 DieComputer-Generationen . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3 PrinzipiellerAufbauvonComputern . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1 Analog-undDigitalrechner . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.2 DasEVA-Prinzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.3 ZentraleinheitundBusstruktur . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.4 Systemkomponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4 ZahlensystemeundbinäreArithmetik . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.1 DarstellungvonZahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.2 UmwandlungvonZahleninverschiedeneDarstellungssysteme. . . . . . . 18 1.4.3 BinäreArithmetik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.4.4 Gleitkommazahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2 NachrichtundInformation 37 2.1 AbgrenzungderBegriffeNachrichtundInformation . . . . . . . . . . . . . . . . 37 2.2 BiologischeAspekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.2.1 Sinnesorgane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.2.2 DatenverarbeitungimGehirn. . . . . . . . . . . . . . . . . . . . . . . . . 39 2.2.3 DergenetischeCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.3 DiskretisierungvonNachrichten . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.3.1 Abtastung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.3.2 Quantisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.4 WahrscheinlichkeitundKombinatorik . . . . . . . . . . . . . . . . . . . . . . . . 47 2.4.1 DierelativeHäufigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.4.2 DiemathematischeWahrscheinlichkeit . . . . . . . . . . . . . . . . . . . 47 2.4.3 TotaleWahrscheinlichkeitundBayes-Formel . . . . . . . . . . . . . . . . 49 2.4.4 StatistischeKenngrößen . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.4.5 FakultätundBinomialkoeffizienten . . . . . . . . . . . . . . . . . . . . . 55 2.4.6 Kombinatorik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.5 InformationundWahrscheinlichkeit . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.5.1 DerInformationsgehalteinerNachricht . . . . . . . . . . . . . . . . . . . 60 2.5.2 DieEntropieeinerNachricht . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.5.3 ZusammenhangmitderphysikalischenEntropie . . . . . . . . . . . . . . 64 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 x Inhaltsverzeichnis 3 Codierung 69 3.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.1.1 DefinitiondesBegriffsCodierung . . . . . . . . . . . . . . . . . . . . . . 69 3.1.2 MittlereWortlängeundCode-Redundanz . . . . . . . . . . . . . . . . . . 70 3.1.3 BeispielefürCodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.2 Code-Erzeugung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.2.1 Codebäume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.2.2 DerHuffman-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.2.3 DerFano-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.3 Codesicherung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.3.1 StellendistanzundHamming-Distanz . . . . . . . . . . . . . . . . . . . . 82 3.3.2 m-aus-n-Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.3.3 CodesmitParitätsbits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.3.4 FehlertoleranteGray-Codes . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.3.5 DefinitionlinearerCodes . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.3.6 LineareHamming-Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.3.7 ZyklischeCodesundCode-Polynome . . . . . . . . . . . . . . . . . . . . 98 3.3.8 CRC-Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.3.9 Sicherungnicht-binärerCodes . . . . . . . . . . . . . . . . . . . . . . . . 103 3.3.10 Reed-SolomonCodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.4 Datenkompression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 3.4.1 VorbemerkungenundstatistischeDatenkompression . . . . . . . . . . . . 115 3.4.2 ArithmetischeCodierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.4.3 Lauflängen-Codierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 3.4.4 Differenz-Codierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 3.4.5 DerLZW-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 3.4.6 DatenreduktiondurchunitäreTransformationen(JPEG) . . . . . . . . . . 128 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 4 Verschlüsselung 137 4.1 KlassischeVerfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 4.1.1 Substitutions-Chiffren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 4.1.2 Transpositions-ChiffrenundEnigma . . . . . . . . . . . . . . . . . . . . . 143 4.2 ModernesymmetrischeVerfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 150 4.2.1 DerDataEncryptionStandard(DES) . . . . . . . . . . . . . . . . . . . . 150 4.2.2 DerAdvancedEncryptionStandard(AES) . . . . . . . . . . . . . . . . . 151 4.2.3 One-Time-PadsundStromchiffren . . . . . . . . . . . . . . . . . . . . . . 154 4.3 ModerneasymmetrischeVerfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 156 4.3.1 Diffie-HellmanSchlüsselaustausch . . . . . . . . . . . . . . . . . . . . . 156 4.3.2 DerRSA-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4.3.3 DigitaleUnterschrift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 5 ComputerhardwareundMaschinensprache 169 5.1 DigitaleGrundschaltungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 5.1.1 Stromkreise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169