CategorieBlog

Wat is ‘netneutraliteit’

W

Gisteren, woensdag 17 juni, keurde de kamercommissie infrastructuur unaniem de resolutie rond netneutraliteit goed.  Maar wat is dat nu precies ‘netneutraliteit’?

Internetproviders zoals Telenet en Belgacom zijn enorm machtig, niet in het minst omdat er op hun terrein erg weinig concurrentie is. Dankzij hun machtspositie kunnen Internetproviders het zich permitteren om aan vriendjespolitiek te doen als ze dat willen.

Zo zou Telenet vb. het verkeer van en naar ‘Netflix’ doelbewust kunnen vertragen om zo hun eigen producten ‘Play’ en ‘Play more’ te bevoordelen. Als consument zou u dat nauwelijks merken. U zou opmerken dat Netflix vaak niet vlot loopt en concluderen dat het toch niet zo’n goed product is. Wellicht maakt u dan de overstap naar een gelijkaardig product vb. dat van Telenet zelf.

Dankzij de resolutie rond netneutraliteit is dat nu verboden. Internetproviders moeten al het (legale) verkeer op hun netwerk gelijk behandelen.

Dat is goed nieuws voor alle (kleine) ondernemingen die producten maken die afhankelijk zijn van het Internet.  Stel u voor dat u als kleine ondernemer een online leerplatform wil aanbieden. U investeert flink in infrastructuur en ontwikkeling en merkt dan dat de grote internetproviders het verkeer van en naar uw leerplatform benadelen. Gevolg: uw online leerplatform is minder vlot bereikbaar dan dat van uw concurrenten. De verdere gevolgen laten zich raden.  Als ondernemer misschien wel reden genoeg om niet te investeren in innovatieve producten.

En laat het nu net dat zijn wat onze economie zo hard nodig heeft … investeringen … innovatieve producten.

Bemerk het gebruik van de voorwaardelijke wijs in mijn eerste alinea’s. Ik heb NIET gezegd dat Telenet en/of Belgacom ooit diensten bevoordeeld/benadeeld hebben!!  Enkel dat ze de mogelijkheid hadden.

Meer witruimte tussen woorden (in Word 2013)

M

Onlangs kreeg ik de vraag of er een mogelijkheid bestaat om meer witruimte te voorzien tussen woorden in Word 2013.

In Word is het eenvoudig om de afstand tussen de letters te verbreden of te versmallen. Daarvoor klik je in het lint op “Start” en je klikt op het knopje “Uitbreiden” in de groep “Lettertype”.

Word: Tekenafstand verbreden

In het dialoogvenster dat verschijnt kies je het tabblad “Geavanceerd” en ter hoogte van “Tekenafstand” kies je voor “Verbreed” met “xxxx pt”.   Als je vb. kiest voor 3 pt, dan krijg je dit resultaat (onderste zin is verbreed).

 Word: Tekenafstand verbredenWord: tekenafstand verbreed met 3pt

Maar wat als je tevreden bent met de tekenafstand en je wil enkel meer witruimte tussen de woorden? Tussen elk woord twee spaties plaatsen (eventueel te realiseren met “Zoeken en Vervangen”, één spatie vervangen door twee spaties)? Maar wat als twee spaties te veel witruimte zijn? En wat als je nog wat verder werkt aan je tekst. Als je dit een tweede keer doet krijg je op veel plaatsen 4 spaties? Verder zal je spellingscontrole helemaal op hol slaan.

Een mooie oplossing bestaat er volgens mij niet, maar toch iets wat in de buurt komt:  alle spaties vervangen door “verbrede spaties”.   Om dit te realiseren klik je in het lint op “Start” en vervolgens op de knop “Vervangen” (Sneltoets: CTRL+H).

In het veld “Zoeken naar” tik je een spatie in, in het veld “Vervangen door” tik je eveneens een spatie in. Daarna (met de cursor nog steeds in “Vervangen door”) klik je onderaan op de knop “Opmaak” (indien je die niet ziet moet je eerst op de knop “Meer >>” klikken) en je kiest voor “Lettertype”. Je krijgt hetzelfde dialoogvenster als in de derde alinea van deze post. Daar stel je in “Verbreed met XX pt”.  Bevestig met “OK” en klik tenslotte op de knop “Alles vervangen”.

In het screenshot hieronder zie je het resultaat op de onderste zin (verbreed met 2pt)

Word: witruimte tussen woorden vergroten Word: meer witruimte tussen woorden

De breedte is bovendien makkelijk aan te passen of de verbreding kan makkelijk ongedaan gemaakt worden door opnieuw “Zoeken en vervangen” toe te passen. Je gaat opnieuw zoeken naar een eenvoudige spatie en vervangt door een spatie met meer/minder of helemaal geen verbreding.

Als je hierover vragen of opmerkingen hebt dan kan je me steeds contacteren via mail, het contactformulier van deze site of via Twitter (@dieterdepuydt)

Meer dan 24 u. in Excel

M

Wanneer je in Excel rekent met tijden dan wordt er altijd van uit gegaan dat je tijdstippen bedoelt.  Bijgevolg als ik 15:00 u. + 12:00 u. uitreken dan is het resultaat 3:00 u, want 12 u. na 15 u. is het 3 u.  Maar misschien wil ik gewoon weten hoeveel uur ik gewerkt heb als ik eerst 15 u. heb gewerkt en daarna 12 u. ?  Ik wil dan gewoon 27 u. zien. In dat geval moet je de notatie van je cellen aanpassen.

Rechtermuisknop op de cel waar je resultaat staat, kies “celeigenschappen”, kies “Aangepast” en vul in het invoervak onder “Type:” in “[uu]:mm“, de vierkante haakjes maken het verschil. Uiteraard is ook “d uu:mm” mogelijk, dan krijg je te zien hoeveel volle dagen (24 u.) en uren je al hebt gewerkt.

Veilig betalen met je smartphone en de bancontact app

V

Onder vrienden, collega’s en kennissen wordt er vaak geld “uitgewisseld”. Denk maar aan het terugbetalen van een belegd broodje of een bioscoopticket dat iemand je heeft voorgeschoten. Of denk maar aan het betalen “van je deel” in een geschenk voor een gemeenschappelijke vriend.

Vaak is het dan zoeken naar gepast geld (want de andere partij kan natuurlijk nooit teruggeven) en als het om wat grotere bedragen gaat hoor je vaak “schrijf het maar over, want ik loop niet graag rond met al dat cash geld”.

Voor die situaties heeft bancontact een eenvoudige en veilige app ontworpen.  Ik heb er een kort filmpje over gemaakt. 

Heb je vragen of opmerkingen bij dit filmpje? Contacteer me dan gerust.

 

Cursus Virtualbox

C

Virtualbox is een gratis virtualisatie programma van Oracle. Het is performant, flexibel en kan omgaan met tal van virtuele machines (VMWare, Virtual PC, …). Reden genoeg om het te gebruiken in mijn lessen. Ik schreef een korte cursus om op zelfstandige basis te leren werken met dit programma.  De meest recente versie van deze cursus vind je hier: VirtualBox installeren en configureren!

Vrij regelmatig komen er nieuwe versies van dit programma, ik probeer de cursus up to date te houden.

Veel plezier ermee!

Heartbleed

H

Nogal wat media berichtten de afgelopen dagen over “het grootste veiligheidsprobleem van het Internet ooit” of te wel de bug in OpenSSL die ondertussen door het leven gaat als “Heartbleed“. Waar gaat dit nu over en moeten we ons zorgen maken?

Wanneer je op je computer surft … dan is dat eigenlijk een soort gesprek tussen je computer en een andere computer (vb. webserver waarop een webshop actief is).  Wanneer iemand tussen je computer en de server gaat staan kan hij het gesprek afluisteren, in vaktermen spreken we wel eens van een “Man in the Middle Attack”.  Ik vertel dit hier erg eenvoudig maar zo een Man in The Middle attack opzetten is niet eenvoudig.  In sommige situaties willen we absoluut NIET dat iemand ons afluistert vb. als we een wachtwoord versturen, als we ons VISA kaart nummer versturen, enz …

Om dat afluisteren tegen te gaan kunnen we de communicatie tussen onze computer en de andere computer (vb. de webserver) gaan versleutelen.  Dit wordt overigens geconfigureerd vanop de webserver, als eindgebruiker hoef je daar nauwelijks iets voor te doen.  Afluisteren heeft geen zin meer,  je hoort enkel gecodeerde berichten.

Om gesprekken te versleutelen maken we gebruik van het SSL of TLS protocol.  Een protocol is een set van afspraken waaraan we ons houden om in dit geval een gesprek tussen twee partijen te kunnen versleutelen. Voor alle duidelijkheid, met dat protocol is er op vandaag helemaal geen probleem. Maar een protocol is ook maar wat het is, afspraken … Die afspraken moeten netjes uitgevoerd worden door programma’s. Op de markt zijn er een aantal programma’s die zorgen dat we het SSL of TLS protocol kunnen gebruiken. Een van die programma’s is OpenSSL.

Het SSL protocol hier volledig uitleggen zou ons te ver brengen, maar het is belangrijk te weten dat alles draait rond een certificaat op de server.  Bij dat certificaat hoort een private sleutel die nooit met niemand uitgewisseld wordt. Wie de private sleutel heeft kan alle gesprekken die ooit werden versleuteld met het certificaat, ontsleutelen.  Wie ooit versleutelde gesprekken heeft afgeluisterd, die informatie heeft opgeslagen en nu de private sleutel in handen krijgt kan die gesprekken uit het verleden nu ontcijferen.  Het spreekt voor zich dat wanneer de private sleutel in verkeerde handen terecht komt, het certificiaat sowieso NIET MEER mag gebruikt worden in de toekomst.  En daar situeert zich vandaag het probleem …

Bij het programmeren van OpenSSL is iets fout gelopen waardoor iedereen  belangrijke stukken geheugeninhoud van de server kon opvragen. (Om af te luisteren was dus zelfs geen Man In the Middle aanval nodig!!) Die geheugeninhoud kan twee belangrijke soorten informatie bevatten nl. de communicatie tussen clients en server (NIET versleuteld) + de private sleutel van het certificaat.   Maar het wordt nog vervelender … wanneer iemand de fout in de software misbruikt om private sleutels te weten te komen dan valt dat absoluut niet op. Het is achteraf ook niet meer na te gaan of iemand dat gedaan heeft, wie dat gedaan heeft, enz … En we zijn er nog niet … die fout zit al 2 jaar in het programma OpenSSL.   Het zou dus kunnen dat er mensen zijn die al twee jaar lang alle communicatie afluisteren waarvan wij dachten dat die versleuteld was.

Wachtwoorden, krediet kaart nummers, … het KAN allemaal in slechte handen terecht gekomen zijn. Bemerk dat ik veelvuldig gebruik maak van de voorwaardelijke wijs.  Er kan veel geheime informatie uitgelekt zijn maar we zullen nooit weten hoeveel er uitgelekt is …

En nu?

Aangezien de versleuteling wordt geregeld vanop de webSERVER moeten wij als eindgebruiker niet zo veel doen. De beheerder van de webserver moet de nieuwe versie van OpenSSL installeren en nieuwe certificaten aanvragen.

Maar nu blijft er nog één probleem over. Als onze gesprekken in het verleden zijn afgeluisterd en ontsleuteld door mensen met verkeerde intenties, dan hebben die ons wachtwoord enz … mogelijks in hun bezit. Het komt er dus op aan om je wachtwoord te wijzigen zodat het wachtwoord dat zij van je hebben ongeldig wordt.

Wanneer moet je dat doen? NADAT de website/webserver de nieuwe versie van OpenSSL heeft geïnstalleerd en NADAT ze een nieuw certificaat in gebruik genomen hebben. Wijzig je je wachtwoord VOOR dit in orde is, dan is de kans bestaande dat het verkeer tussen je computer en de website in kwestie nog steeds afgeluisterd wordt.

Grote websites zoals IFTTT hebben hun gebruikers al ingelicht dat ze OpenSSL gepatched hebben en nieuwe certificaten in gebruik hebben genomen. Je kan zelf testen of een website (nog) onderhevig is aan dit probleem dankzij deze website : http://filippo.io/Heartbleed/

Hier en daar heb ik er in mijn uitleg de kantjes afgereden om het eenvoudig en begrijpelijk te kunnen vertellen.  Heb je vragen of opmerkingen, aarzel niet mij te contacteren.

Meerdere draaitabellen in Excel 2013

M

Tijdens een recente les wees een leerlinge er mij op dat wanneer je verschillende draaitabellen maakt op basis van dezelfde gegevens, die draaitabellen elkaar beïnvloeden.

Draaitabellen

Een eenvoudige voorbeeldje ter illustratie?  Ik maak een draaitabel van bovenstaande gegevens “PER datum en PER opleiding”, de data ga ik groeperen per maand.  Ik maak een tweede draaitabel van deze gegevens “PER datum en PER geslacht”, de data zullen standaard al gegroepeerd zijn per maand. Meer nog, als ik die groepering verander naar per kwartaal en ik ga kijken naar mijn eerste draaitabel dan is de groepering ook daar veranderd.

Hoe komt dat? Wanneer we in Excel draaitabellen aanmaken, gaat Excel verschillende zaken voorbereiden in de achtergrond. Noem het een soort “cache”.  Onder andere de groeperingen gebeuren in die cache. Wanneer we een tweede draaitabel toevoegen aan ons Excel werkblad zal Excel automatisch diezelfde cache gebruiken voor die draaitabel.   Dit is meestal positief omdat elke keer die cache opnieuw opbouwen zowel schijfruimte als processor gebruik kost.  Maar soms moeten draaitabellen echt onafhankelijk van elkaar zijn (vb. als je verschillende groeperingen wil gebruiken.) en dan moeten we per draaitabel zo’n cache aanleggen.

Hoe doen we dat? Er bestaan een aantal manieren om ervoor te zorgen dat Excel de draaitabellen volledig onafhankelijk van elkaar maakt, met elk z’n eigen cache.  Eén ervan is gebruik maken van de Wizard draaitabellen. In Excel 2013 is die wizard echter heel goed verborgen.

Klik in Excel op “Bestand” => “Opties”. Kies in het dialoogvenster dat verschijnt voor “Werkbalk Snelle toegang”. Kies bovenaan in het dialoogvenster voor “Alle opdrachten” en scroll daaronder helemaal naar beneden om ergens onderaan de opdracht “Wizard draaitabel en draaigrafiek” te vinden. Klik op de knop “Toevoegen” om die knop toe te voegen aan de werkbalk “Snelle toegang”. Bevestig met “ok”.

Wizard Draaitabellen

 

Resultaat:

Draaitabellen

Telkens je een nieuwe draaitabel maakt, gebruik je dit knopje om de wizard te starten. Je krijgt een wizard te zien die wel uit Office 97 lijkt te komen (is wellicht ook zo) maar van zodra je met deze wizard een tweede draaitabel maakt krijg je deze vraag.

Draaitabellen

Wanneer je hier kiest voor “Nee” zal de tweede draaitabel niet gebaseerd worden op de cache die ook door de eerste draaitabel gebruikt wordt.

Wil je meer weten? Bekijk dan zeker mijn instructiefilmpjes over draaitabellen of neem gerust contact met me op.

 

Diffie-Hellman

D

Laten we misschien beginnen met te zeggen wat Diffie Hellman is. Diffie en Hellman waren twee wiskundigen die omstreeks 1976 een manier bedachten om een sleutel op een geheime manier uit te wisselen over een onbetrouwbaar medium.  In mensentaal nu?

Max en Lies zijn verliefd, ze willen elkaar liefdesbrieven schrijven maar ze willen uiteraard niet dat iemand anders die kan lezen. Ze kunnen gebruik maken van een koffertje dat enkel kan geopend worden met een geheime code. Die geheime code kan ingesteld worden door diegene die het koffertje dicht maakt. Lies en Max zien elkaar niet zo vaak, het zijn hun ouders die zorgen voor het transport van het koffertje. Het probleem van Max en Lies is om op een veilige manier de code uit te wisselen. Dat is precies wat Diffie-Hellman voor ons gaat doen.

Hoe gaan we te werk?

We spreken twee cijfers af, iedereen mag die cijfers weten.  Het eerste cijfer (laten we het X noemen) moet een priemgetal zijn, liefst niet te klein. Het tweede cijfer (laten we het Y noemen) bepaalt hoe groot onze geheime sleutel MAXIMAAL KAN zijn. Nemen we vb. 10 dan zal onze geheime sleutel tussen 0 en 10 liggen. Ook die mag je in praktijk niet te klein kiezen anders is onze sleutel te makkelijk te raden. Daarnaast kiest Max een geheim cijfer, hij vertelt het aan niemand ook niet aan Lies. Het geheime cijfer van max zullen we M noemen. Max voert nu de volgende berekening uit.

(X tot de macht M)  modulus Y (machtsverheffingen bij modulaire rekenen?)

Het resultaat van deze bewerking geef hij aan Lies. Dit resultaat is overigens GEEN geheim, iedereen mag het weten. We noemen dit getal “Max”. Lies doet precies hetzelfde: een geheim cijfer (L) kiezen en de bewerking uitvoeren … Haar uitkomst noemen we “Lies”.

Met de publieke waarden “Y” en “Max” en de geheime waarde “L” (die enkel door Lies gekend is) kan Lies nu de geheime sleutel berekenen met de volgende formule.

(Max tot de macht L) modulus Y

Max doet hetzelfde maar met de publieke waarden “Y” en “Lies” en zijn geheime sleutel “M”.

Lies en Max zullen tot eenzelfde resultaat komen, een getal tussen 0 en Y. Hoewel Max en Lies elkaars geheim nummer niet kennen hebben ze wel een gemeenschappelijk, geheim nummer waarmee de ene het kluisje kan sluiten en de andere het kluisje kan openen.  Het geheime nummer is nooit uitgesproken noch door Max, noch door Lies.

Geloof je mij niet? Een rekenvoorbeeldje!

Publieke parameters :   X = 13,  Y = 25
Geheime parameter:  M = 7, L = 9

Te berekenen publieke parameters:
Max = (13 tot de 7e macht) = 62 748 517 modulus  25 =  17
Lies = (13 tot de 9e macht) = 10 604 499 373 modulus 25 = 23

De te gebruiken geheime sleutel:
Berekening van Lies = 17 tot de macht 9 = 118587876497 modulus 25 =  22
Berekening van Max = 23 tot de macht 7 = 3404825447 modulus 25 = 22

In dit artikel gebruik ik veelvuldig machtsverheffingen bij modulair rekenen, geen idee hoe dat in zijn werk gaat? Lees mijn blogpost hierover.

Het Diffie-Hellman algoritme is trouwens erg makkelijk in code te gieten, de uitwerking van de “mymodpow” functie vind je ook in deze blogpost. (sleutel_max en sleutel_lies zullen in onderstaand programmaatje altijd gelijk zijn en tussen 0 en 25 liggen.

int X = 13;
int Y = 25;

int M = 7;
int L = 9;

int Max = mymodpow(X, M, Y);
int Lies = mymodpow(X, L, Y);

int sleutel_max = mymodpow(Max, L, Y);
int sleutel_lies = mymodpow(Lies, M, Y);

Machtsverheffingen bij modulair rekenen

M

We spreken van “modulair rekenen” als we uitsluitend met gehele getallen werken tussen 0 en een bepaalde bovengrens die we de modulus noemen.  De verzameling getallen waarvan we ons bedienen is dus 0, 1, 2, … tot modulus –1.  Het getal dat komt na “modulus – 1” is gewoon opnieuw 0.

Een voorbeeld: Als we werken met modulus 7, dan beschikken we over de getallen 0, 1, 2, 3, 4, 5 en 6. Wanneer we 4 + 4 (mod 7) berekenen dan is het resultaat 1.  In klassieke wiskunde zou het resultaat 8 zijn, maar als we werken met modulus 7, dan komt er na de 6 een 0 en dan een 1.  Een van de gevolgen van modulair rekenen is, dat ongeacht wat je doet (optellen, vermenigvuldigen, machtsverheffingen, …) en met welke getallen je dat doet, je resultaat altijd tussen 0 en de modulus zal liggen.

We gaan nu machtsverheffingen uitvoeren bij modulair rekenen. Neem bijvoorbeeld de 23e macht van 87 modulus 34. We zijn zeker (zie hierboven) dat het resultaat een getal zal zijn tussen 0 en 33.  Maar zonder speciale technieken moeten we toch eerst uitrekenen hoeveel de 23e macht is van 87 om daarna de modulus te kunnen toepassen. Het resultaat van 87 tot de 23e macht is 406389810477299000000000000000000000000000000. Dat gaan we nu delen door 34 en de rest na deling is onze oplossing.  Heel veel rekenmachines en zelfs Excel kunnen met dergelijke grote getallen niet overweg.

Om het resultaat van een grote machtsverheffing bij modulair rekenen te vinden bestaat er gelukkig een handig algoritme. En dat gaat als volgt. Vermenigvuldig je basisgetal (87) met 1, het resultaat van deze bewerking deel je door de modulus en je neemt de rest na deling. Je herhaalt deze procedure maar nu vermenigvuldig je je basisgetal NIET met 1 maar met de rest na deling van de vorige ronde. Je herhaalt deze procedure even vaak als de exponent groot is. In ons geval dus 23 keer. In onze situatie krijgen we dus

Stap 1:  1  * 87 (mod 34) =  19
Stap 2: 19 * 87 (mod 34) = 21
Stap 3: 21 * 87 (mod 34) = 25
…
Stap 23: 13 * 87 (mod 34) = 9

Het grootste getal waarmee je geconfronteerd kan worden bij dit algoritme is het basisgetal * de modulus (2 958 in ons geval).

Dit algoritme is trouwens erg makkelijk in programmacode te gieten:

int mymodpow(int basis, int exponent, int modulus)
{
       int result = 1;
       for (int teller = 1; teller <= exponent; teller++)
           result = (result * basis) % modulus;

 

       return result;
 }

 

Deze blogpost past in een reeks blogposts over cryptografie. Machtsverheffingen bij modulair rekenen is een techniek die gebruikt wordt oa. in het RSA algoritme (asymmetrische encryptie) en Diffie Hellman (protocol voor geheime sleuteluitwisseling).

Laatste berichten