ID.nl logo
Zo maak je van foto's gecodeerde berichten
© PXimport
Huis

Zo maak je van foto's gecodeerde berichten

Coderen en decoderen spreekt altijd tot de verbeelding. Al in de oudheid verzon men manieren om boodschappen in het geheim te kunnen verzenden. Spiegelschrift, codeboeken, Enigma-machines, onzichtbare inkt, noem het maar op. In dit artikel gaan we daar een variant op bouwen, waarbij we slim gebruik maken van het RGB-mechanisme van digitale foto’s. Zo maak je van foto's gecodeerde berichten.

We sturen je direct naar www.visualstudio.microsoft.com/vs voor de zogeheten Community Edition van Visual Studio 2019. En daarna breng je een bezoekje aan de website van onze dochtersite Computer Idee, waar je van de pagina Downloadshet bestand Steganography.zip downloadt. Dit bestand bevat het Steganography-project waarmee we hier aan de slag gaan; het voorzetje van dit project vind je op de website www.codeproject.com. Wil je meer weten over steganografie (= het verbergen van informatie in onschuldig ogende objecten, een vorm van cryptografie), dan is dít een mooie Wikipedia-pagina die je helemaal bijpraat.

Rgb-kleuren

We gaan dus informatie verbergen in onschuldig ogende objecten. En wat is er, om in computertermen te blijven, nóg onschuldiger dan een digitale foto? Als we over digitale foto’s praten, dan praten we over resolutie en kleur. Resolutie is het aantal pixels waaruit de digitale foto bestaat. Kleur kennen we in meerdere varianten, van zwart/wit naar grijs naar 16,7 miljoen kleuren, enzovoort. De meest gebruikte kleurvariant (in onder andere bmp, jpg en png) is rgb, met steeds een byte per kleurwaarde. Een byte heeft 256 als maximale waarde dus dat is 256 keer r(ood), 256 keer g(roen) en 256 keer b(lauw). En 256 x 256 x 256 = 16.777.216 dus dat is waar dat getal 16,7 miljoen vandaan komt.

Componenten en bits

Elke pixel van een digitale foto wordt neergezet door 3 bytes: 1 rood-byte, 1 groen-byte en 1 blauw-byte. Elke afzonderlijke byte kan een waarde tussen 0 en 255 bevatten. Dat komt omdat een byte gebruik maakt van het binaire talstelsel, waarbij we werken met nullen en enen. Daarbij bestaat 1 byte uit 8 bits. Die 8 bits kunnen afzonderlijk de waarde 0 of 1 bevatten. Als de bit op 0 staat, dan is de bijbehorende waarde ook 0. Als de bit op 1 staat, dan is de bijbehorende waarde afhankelijk van de bit-positie in de byte. De laagste (of eerste) bit is dan 1. De hoogste (of laatste) bit is dan 128. Kijk maar eens naar de onderstaande tabellen, dan zie je hoe dat in zijn werk gaat:

©PXimport

LSB en MSB

En zoals je kunt zien, hebben we weinig aan bit 1. De waarde is immers maximaal 1. Daarom wordt Bit 1 ook wel de LSB genoemd oftewel de Least Significant Bit; de bit die er het minst toe doet. Bit 8 daarentegen, kan – binnen een byte – de waarde 128 bevatten. Bit 8 is dus belangrijk en heet daarom de MSB (Most Siginificant Bit); inderdaad, de bit die er het meest toe doet! Met voor de niet-hoofdrekenaars nog even een link naar een handige online conversieservice.

Kleuren kijken

De bovenstaande byte-filosofieën nemen we mee als we daadwerkelijk naar kleuren gaan kijken. We doen dat om inzicht te krijgen in het effect van de getallen tussen 0 en 255. Daarbij gaan we uit van rgb-waarden en we zetten wat bekende standaardkleuren voor je op een rijtje:

©PXimport

De bovenstaande tabel vertelt sowieso ons al één ding: “Hoe meer bits op 1, hoe meer kleur.” En door de afzonderlijke rgb-waarden te veranderen ontstaan dan die verschillende 16,7 miljoen kleuren. En ook voor die theorie hebben we een leuke link.

Een 1 is geen 1

Waarmee we bij de essentie van deze workshop zijn aanbeland: “Het feit dat de eerste bit, de LSB, er eigenlijk niet toe doet.” Die eerste bit kan 0 of 1 zijn en dat blijft het ook. En in termen van kleurbelevenis moet je van goeden huize komen om het verschil tussen 255,0,0 en 254,0,0 te kunnen zien. Kortom, een 1 is geen 1. En dáár gaan we gebruik van maken! Dat wil zeggen, we gaan die LSB gebruiken om onze geheime boodschap letterlijk en volledig in het zicht te bewaren. Hij is er wel, maar je ziet het lekker niet…

©PXimport

WinForms

Nu terug naar het begin, terug naar Visual Studio 2019 en het zip-bestand dat je bij de website van Computer Idee hebt opgehaald. Pak dat bestand uit en start aansluitend Visual Studio 2019. Kies voor de optie Open a project or solution en ga op zoek naar de map waarin je de zip zojuist hebt uitgepakt. In die map zie je een SLN-bestand dat door Visual Studio 2019 kan worden geopend, waarna je ziet dat ons WinForms-project is geopend. Als je dat wilt, dan kun je meteen op de Start-knop drukken om daarmee het mini-programma Steganography te laten starten.

Steganography

Begin met een druk op de knop Open Afbeelding om een plaatje naar keuze in te lezen. In het tekstvak Geheime Boodschap kun je dan de te verstoppen boodschap intypen. Als dat is gebeurd, klik je op de knop Verstoppen om die ingetypte boodschap ‘in’ de afbeelding op te nemen. En je zult moeten toegeven: “Daar is helemaal niets van te zien!” Om te controleren of dat verstoppen is geslaagd, klik je op de knop Leeg en daarna op de knop Onthullen. Voilà! De volgende stap is dan het bewaren van het ‘nieuwe’ plaatje via de knop Bewaar Afbeelding, om het daarna via e-mail te versturen naar de beoogde ontvanger. Die beoogde ontvanger moet dan uiteraard ook een versie van Steganography hebben draaien, om je boodschap tevoorschijn te kunnen halen. Interessant, niet?

©PXimport

Programma-opties

Intussen is Steganography nog voorzien van enkele programma-opties. Een van die opties is Sleutel Voor Encryptie. Als je die gebruikt wordt de geheime boodschap nog eens extra versleuteld. Dat betekent wel dat je die sleutel, uiteraard apart van de bewerkte afbeelding, naar de ontvanger moet versturen. Een andere optie is Gebruik MSB. Weet je nog, de Most Siginificant Bit die binnen goed is voor de waarde 0 of 128. Welnu, als we de afbeelding niet via de LSB maar via de MSB coderen dan is wél direct zichtbaar dat er iets aan de hand is. Dit om je een idee te geven van het zwaarteverschil tussen de verschillende bits!

Stukje code bekijken

Tot slot willen we je nog even meenemen naar Visual Studio en wel om een stukje code te bekijken. Als je  Steganography hebt laten draaien, dan is het WinForms-project al geopend. Rechts in beeld vind je de zogeheten Solution Explorer en de C#-programmacode waar het om draait bevindt zich in het bestand SteganographyHelper.cs. Daarbij gaat het feitelijk om vier functies:

EncryptString. Dit zorgt ervoor dat de geheime tekst – indien nodig – wordt versleuteld.

DecryptString. Dit ontsleutelt een geheime tekst, iets wat alleen mogelijk is als de ontvanger over de juiste sleutel beschikt.

EmbedText. Hier wordt de al dan niet versleutelde tekst in de afbeelding opgenomen, waarbij gebruik wordt gemaakt van óf de LSB óf de MSB. Elk teken heeft 3 pixels oftwel 9 rgb-bits nodig.

ExtractText. De tekst wordt nu weer uit de afbeelding gehaald. Met als opties natuurlijk een extra sleutel en de keuze tussen LSB en MSB.

©PXimport

▼ Volgende artikel
Gezichtsherkenning, vingerafdruk of pincode: wat is het veiligst?
© Perig Morisse
Huis

Gezichtsherkenning, vingerafdruk of pincode: wat is het veiligst?

Veilig je telefoon ontgrendelen: wat is de beste methode? In dit artikel komen pincodes, vingerafdrukscans en gezichtsherkenning aan bod.

Op je telefoon staan allerlei persoonlijke gegevens die je niet zomaar met iedereen deelt. Bovendien is het niet de bedoeling dat iedereen je berichten zomaar kan lezen of zelfs iets kan versturen of posten.

Authenticatie voor smartphones is niet nieuws. Maar wat is eigenlijk de veiligste methode? We leggen identificatie door middel van een wachtwoord of pincode, een vingerafdruk en gezichtsherkenning onder de loep:

  • Voor- en nadelen van een wachtwoord, patroon of pincode
  • Pluspunten en keerzijdes van een vingerafdruk voor verificatie
  • Pro’s en cons van ontgrendeling door gezichtsherkenning

Op zoek naar een nieuwe smartphone? Bekijk de beste telefoons tot 600,- euro!

Voordelen van een wachtwoord, patroon of pincode

  • Je bent niet afhankelijk van onderliggende technologie

  • Je hebt de mate van veiligheid gedeeltelijk zelf in de hand

Wachtwoorden, patronen en pincodes zijn de oudste en in feite ook de simpelste vormen van identificatie. Belangrijk om te weten is dat de veiligheid afhankelijk is van de lengte van de code of het wachtwoord. Je hebt de veiligheid dus voor een groot deel zelf in de hand. Deze methode is altijd even betrouwbaar, omdat hij voor de veiligheid niet afhankelijk is van je de technologie in je telefoon. Bovendien verlies je de mogelijkheid om op deze manier in te loggen minder snel, omdat er geen sensoren of camera's zijn die stuk kunnen gaan.

©Supatman - stock.adobe.com

Nadelen van een wachtwoord of pincode

  • Iemand kan meekijken en je wachtwoord aflezen

  • Niet gebruiksvriendelijk en langzaam

De nadelen van een wachtwoord liggen eigenlijk ook voor de hand. Iemand kan bijvoorbeeld stiekem over je schouder meekijken en toegang krijgen tot je telefoon. In theorie kan een hacker met je gegevens aan de haal. In de praktijk komt dat zelden voor, maar het hacken van je vinger of gezicht is in ieder geval helemaal onmogelijk. Toch was voor veel mensen gebruiksvriendelijkheid de reden om over te stappen naar een andere manier. Want iedere keer een code of wachtwoord invoeren duurt lang en begint op een gegeven moment vervelend te worden, vooral als je weet dat er snellere methodes beschikbaar zijn. Een patroon swipen gaat iets sneller, maar kost alsnog meer moeite dan andere manieren.

Bescherm je smartphone optimaal met een stevig telefoonhoesje.

Zo blijft je toestel in topconditie, hoe je het ook ontgrendelt!

Vingerafdruk voor authenticatie: de voordelen

  • Snel en gebruiksvriendelijk

  • Hoge veiligheid bij geavanceerde sensoren

Inmiddels zijn vingerafdrukscanners op telefoons snel en reageren ze zonder al te veel problemen, zonder dat je je vinger exact op de juiste manier op de scanner hoeft te plaatsen. Doordat ze op een handige plek geplaatst zijn, ontgrendel je je smartphone min of meer zodra je het apparaat oppakt. Een goede scanner zorgt ervoor dat jij als enige je telefoon kunt unlocken.

©KOB

Vingerafdruk voor authenticatie: de nadelen

  • Werkt niet bij natte of beschadigde vingers

  • Oudere versies minder betrouwbaar

Iedereen die ooit een vingerafdrukscanner heeft gebruikt is bekend met het volgende: als je vinger nat is, of wanneer je er toevallig een snee of een pleister op zit, herkent de scanner het profiel van je vinger niet meer. Bij geavanceerdere scanners komt dit probleem minder vaak voor. Sowieso zijn verouderde en goedkopere sensoren lang niet altijd veilig. Ze zijn in het kort minder complex, waardoor ze minder lijnen registreren en je vingerafdruk niet heel nauwkeurig meten.

Voordelen van gezichtsherkenning voor ontgrendeling

  • Snel en moeiteloos

  • 3D-scans zijn erg veilig

Je smartphone ontgrendelen door gezichtsherkenning is de gebruiksvriendelijkste manier. Het enige wat je hoeft te doen, is naar je telefoon kijken. Kortom: het gaat automatisch en zonder dat je het in de gaten hebt. Smartphones die gebruikmaken van een 3D-scan zijn amper te misleiden en dus zeer betrouwbaar, maar alleen nieuwe (en dure) modellen zijn uitgerust met deze mogelijkheid. Let daar goed op wanneer je graag gebruikmaakt van gezichtsherkenning en op zoek bent naar een nieuwe telefoon.

©Khaletski Siarhei\goffkein.pro

Nadelen van gezichtsherkenning voor ontgrendeling

  • Oudere gezichtsscans niet altijd even betrouwbaar

  • Weinig licht kan een belemmering zijn

Oudere telefoons die te ontgrendelen zijn met een scan van je gezicht, zijn helaas niet heel veilig. Ze maken gebruik van een foto en vergelijken die met de 2D-scan die gemaakt wordt tijdens het ontgrendelen. In de eerste plaats is gebleken dat iemand anders met een gezicht dat veel op je lijkt de telefoon mogelijk ook kan ontgrendelen. Daarnaast is een foto van de bezitter van de telefoon soms genoeg om deze veiligheidsmethode te misleiden.

Conclusie: wat is het veiligst?

Een complex wachtwoord of lange pincode is nog altijd een veilige manier om je smartphone te vergrendelen. Als je een moderne telefoon hebt, is vingerafdrukherkenning ook erg veilig en bovendien een heel stuk gebruiksvriendelijker. Een geavanceerde scanner voor gezichtsherkenning is ook zeer betrouwbaar. Maar daarbij moet je er wel op letten dat jouw telefoon echt een 3D-scan van je gezicht maakt. De meeste smartphones kunnen dat niet. Denk er verder aan dat je niet meer kunt inloggen met een vingerafdruk of een gezichtsscan als bepaalde onderdelen van je telefoon niet meer functioneren. Daarom is het aangeraden om altijd te kiezen voor een lang wachtwoord of pincode als back-up.

📱Ook interessant: Help! Ik ben het wachtwoord van mijn Apple ID vergeten


▼ Volgende artikel
Consumenten testen: de Philips 5000 Series CX5120/11 energiebesparende verwarming
Huis

Consumenten testen: de Philips 5000 Series CX5120/11 energiebesparende verwarming

Ben je op zoek naar een energiezuinige bijverwarming die snel en efficiënt warmte levert? Dan is een keramische verwarming wel iets voor jou: die combineert moderne technologie met gebruiksgemak. Zoals de Philips 5000 Series CX5120/11 keramische verwarming. Wat zijn de praktijkervaringen van de testers van Review.nl? Lees hier hun bevindingen.

Ben je op zoek naar een snelle, slimme en veilige manier om je huis te verwarmen? Met deze krachtige keramische verwarming zit je binnen twee seconden al lekker warm! En het beste? Je bespaart tot wel 50% energie vergeleken met een gewone verwarmingsventilator. Via de handige Philips Air+-app heb je altijd en overal controle over je verwarming. Bovendien zorgt de 5-voudige veiligheidsbescherming ervoor dat je je nergens zorgen over hoeft te maken. Warmte, gemak én gemoedsrust – wat wil je nog meer? Testers van Review.nl mochten de Philips 5000 Series CX5120/11 gedurende een periode testen. Hier lees je hun bevindingen.

Het slanke, zwarte design van deze Philips verwarming past goed in een modern interieur. Met een hoogte van minder dan 60 centimeter is het apparaat compact genoeg om onder een bureau te plaatsen. "Door het slanke en zwarte design is deze verwarming overal te plaatsen", aldus Rob, één van de testers. Het apparaat is daarnaast licht van gewicht, wat het makkelijk maakt om hem van kamer naar kamer te verplaatsen wanneer nodig.

Snelle en effectieve verwarming

De CX5120/11 overtuigt met zijn krachtige verwarmingsprestaties. "Het apparaat verwarmt de kamer verrassend snel, wat ideaal is op koude dagen", schrijft GeertK, die de CX5120/11 een 8,0 geeft. De oscillerende voet zorgt voor een goede warmteverdeling in de ruimte. Rob is blij met het vermogen: "Hierdoor is het mogelijk om in een korte periode een fijne warmte te verspreiden". Daar is tester Cindyver het mee eens. Ook wordt gewaardeerd dat de keramische verwarming geen vieze geurtjes verspreidt.

De Philips 5000 Series CX5120/11 kan ook in een thuisnetwerk worden gebruikt, waardoor app-bediening ingesteld kan worden en een koppeling met Google Home en Alexa mogelijk is. Wel kan er nog iets worden verbeterd aan het proces voor het maken van een verbinding met het draadloze netwerk. Roberto073: "Het koppelen met de Air+ app verliep zonder gedoe, al bleef het wifi-icoontje wit in plaats van oranje, zoals de handleiding aangaf. Dat was echter geen probleem, want alles werkte naar behoren." AnneliesD hierover: "De installatie was even puzzelen omdat er verwezen werd naar het netwerk van Philips in plaats van ons thuis wifi-netwerk. Maar dit was zo gewijzigd in de app."

Slim en gebruiksvriendelijk

Een groot pluspunt is de bediening via de bijbehorende app. Hiermee kun je de verwarming op afstand bedienen en programma's instellen. 'Via deze app is het mogelijk om zelf een programma te maken wanneer, hoe laat en hoe warm de verwarming moet werken', licht een enthousiaste gebruiker toe. De Auto+ modus regelt de verwarming automatisch voor optimale energiebesparing. Het touchscreen op het apparaat zelf biedt een gebruiksvriendelijk alternatief voor de app-bediening.

Tester Har74 is blij met de slimme functies van de verwarming en de app: "In de kinderkamer is de verwarming een keer omgevallen, maar de app gaf meteen een melding dat het apparaat was omgevallen en automatisch was uitgeschakeld. "

Tester AnneliesD is blij met de CX5120/11: "Vooral met thuiswerken is het ideaal om één ruimte te verwarmen en de cv-installatie niet te hoeven gebruikenm. wat dus ook aanzienlijk scheelt in de kosten! "

Geschikt voor kleinere ruimtes

De verwarming is vooral effectief in kleinere ruimtes tot ongeveer 20 m². 'In mijn studeerkamer komt de verwarming tot zijn recht', schrijft een tester. Verschillende gebruikers zetten het apparaat specifiek in als bijverwarming voor een thuiswerkplek. Een minpunt van de Philips 5000 Series CX5120/11 is volgens Max546 de lengte van het snoer. "Zonder verlengsnoer kun je hem niet zomaar overal neerzetten", aldus de tester.

Tester Har74 merkt dat deze verwarming minder geschikt is voor grotere ruimtes, want volgens de specificaties is hij vooral geschikt voor kamers tot 20 m³. Ook vindt hij het jammer dat de verwarming niet in andere kleuren dan zwart verkrijgbaar is.

Conclusie

Met een gemiddelde score van 8,7 is de Philips 5000 Series CX5120/11 een overtuigende keuze voor wie op zoek is naar een slimme bijverwarming voor kleinere ruimtes. De combinatie van snelle warmte, app-bediening en energiezuinige werking maakt het een praktisch apparaat voor bijvoorbeeld een thuiswerkplek of slaapkamer. Het compacte formaat en stille werking zijn extra pluspunten. Enige minpunten zijn de relatief korte stroomkabel en het feit dat de temperatuurmeting bij het apparaat niet altijd overeenkomt met de werkelijke kamertemperatuur.

✅ Pluspunten
Snel en efficiënt verwarmen
Stille werking
Prettige app-bediening
Energiezuinig
Val- en aanraakbeveiliging

❌ Minpunten
Voor kleinere ruimtes tot 20 m³
Stroomkabel in sommige situaties te kort
Soms verschil in gemeten en werkelijke temperatuur

Meer over de Philips 7000 Series HR3760/10

Op Kieskeurig.nl