Hajautetut ja samanaikaiset järjestelmät 11.4.2008 Harjoitus 5 Ei X-tehtävää tällä viikolla. Piirrä kuva kustakin tehtävästä. 25) Käytetään luentomateriaalissa (s. 9) olleen lämmittelypelin sääntöjä, eli välitetään viestejä naapureille paperilapuin 2-uloitteisessa luokassa Voit kuitenkin olettaa kunkin henkilön pystyvän samanaikaisesti katselemaan kaikkiin naapureihinsa ja toimimaan sen mukaan keneltä naapurilta on viesti tulossa tai kuka naapuri olisi valmis vastaanottamaan. Paperilappuun voidaan tehdä vain numeromerkintöjä, etkä voi tunnistaa kuka merkintöjä on tehnyt. Tehtävänä on lukumäärän laskenta. Oletetaan yhden (ei tiedetä kuka) henkilön sabotoivan laskentaa. Minkälaisia erilaisia kiusoja hän voi tehdä? Onko mahdollista tehdä algorimi joka aina laskee oikein vaikka sabotoija olisi olemassa? Jos olet sitä mieltä, on mahdollista, suunnittele algoritmi joka laskee lukumäärän oikein vaikka joku sabotoi laskentaa. Jos olet sitä mieltä, ettei ole mahdollista, näytä minkälaisessa tilanteessa ja minkälaisella vilpillä sabotööri saa tuloksen aina vääräksi. 26) Jatketaan tehtävän 5 (harj. 1) oletuksin, mutta kasvatetaan ryhmän kokoa (esim. 10:een) ja otetaan käyttöön monilähetys jossa sama viesti voidaan lähettää kaikille ryhmän jäsenille. Oletetaan tavallisen viestin lähettämisen maksavan 10c. Mikä olisi edullisin algoritmi jos monilähetys maksaa a) 10c, b) 20c, c) N¥5c, missä N on viestin vastaanottajien määrä? 27) Jatketaan tehtävän 5 (harj. 1) ajansopiminen suljetun salaseuran toiminnaksi. Oletetaan tekstiviestien sijaan kommunikaatiovälineeksi sähköpostit. Minkälainen turvamekanismi toimisi varmistamaan aikasopimusten luottamuksellisuus jos uusia jäseniä otetaan vain salaseuran tapaamisissa? a) Oletetaan kaikkien jäsenten osallistuvan kaikkiin kokouksiin. b) Osa jäsenistä voi olla poissa osasta kokouksista. 28) Muunnetaan edellisen tehtävän toimintaa siten, että uusia jäseniä voidaan ottaa mukaan kolmen entisen jäsenen suostumuksella myös sähköpostitse ilman tapaamisia. Minkälaisella turvaprotokollalla tämä olisi toteutettavissa? Ota seuraaviin tehtäviin pohjat (SalausEsimerkki ja TiedostoEsimerkki) kurssin www-sivulta. Harjoitustilaisuudessa ratkaisut esitetään keskuskoneelta (cs, cc, tms) dataprojektorilla. 29) Kirjoita Java-ohjelma joka laskee ja tulostaa heksana annetun tiedoston MD5 tiivisteen. 30) Kirjoita Java-ohjelma joka salaa annetun tiedoston Blowfish salausalgoritmilla käyttäjältä kahdesti pyydetyllä salausavaimella.