ID.nl logo
Zo maak je van foto's gecodeerde berichten
© Reshift Digital
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 Downloads het 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
Supersnelle wifi in huis? TP-Link Deco BE25 is dé mesh-routerfavoriet van 2025
© TP-Link
Huis

Supersnelle wifi in huis? TP-Link Deco BE25 is dé mesh-routerfavoriet van 2025

Wat maakt een mesh wifi systeem de allerbeste van het jaar? Natuurlijk, je kunt afgaan op specificaties, maar die zeggen niet alles. Je hebt veel meer aan eerlijke reviews. Het TP-Link Deco BE25 Smart Mesh WiFi 7-systeem is door consumenten op Kieskeurig.nl verkozen tot Best Reviewed van het Jaar 2025 in de categorie routers. Wat deze router zo bijzonder maakt, lees je in dit artikel.

Partnerbijdrage - in samenwerking met TP-Link

Best Reviewed 2025: de strengste jury van Nederland

Op Kieskeurig.nl delen elke dag duizenden mensen eerlijke ervaringen met producten die ze écht gebruiken. Die collectieve feedback vormt de basis voor de Best Reviewed‑awards: producten die zich het hele jaar lang in de praktijk hebben bewezen en keer op keer hoge tevredenheid laten zien bij echte gebruikers. Het gaat dus niet om mooie beloftes en marketingtaal, maar om wat mensen dagelijks merken in de praktijk: is het apparaat betrouwbaar? Doet het wat het moet doen? Is het makkelijk in gebruik? De strengste jury van Nederland heeft gesproken: in de categorie Routers werd de TP‑Link Deco BE25 Smart Mesh WiFi 7 uitgeroepen tot dé favoriet van 2025.

Wat maakt de TP-Link Deco BE25 zo bijzonder?

Wat dit mesh-systeem technisch zo aantrekkelijk maakt, is de combinatie van moderne wifi-technologie en slimme netwerkfuncties. De TP-Link Deco BE25 ondersteunt Dual-Band WiFi 7 met een gecombineerde snelheid tot 3,6 Gbps, waardoor bandbreedte-intensieve toepassingen zoals 4K-streaming en online gaming soepel verlopen. Elke unit is bovendien voorzien van twee 2,5 Gbps-bekabelde poorten, wat zorgt voor maximale doorvoercapaciteit en flexibele aansluitmogelijkheden voor bijvoorbeeld een NAS, pc of gameconsole.

Een ander sterk punt is de mogelijkheid tot gecombineerde bekabelde en draadloze backhaul: dit zorgt ervoor dat de verbinding tussen de verschillende wifi-punten niet alleen snel, maar ook uiterst stabiel is, met minder latentie. Dankzij Multi-Link Operation (MLO) wordt data via meerdere frequentiebanden en kanalen tegelijk verzonden, wat zowel de betrouwbaarheid als de snelheid van het netwerk ten goede komt.

Daarnaast zorgt AI-gestuurde roaming ervoor dat je apparaten automatisch verbinden met het sterkste wifi-punt, zonder dat je daar iets voor hoeft te doen. Met TP-Link HomeShield beschik je over uitgebreide netwerkbeveiliging, waaronder realtime IoT-beveiliging en ouderlijk toezicht. Tot slot is het systeem universeel compatibel met alle internetproviders, modems én eerdere Deco-modellen, zodat je eenvoudig kunt uitbreiden of upgraden.

Dankzij deze optelsom van slimme functies is de TP-Link Deco BE25 een toekomstbestendige keuze voor iedereen die thuis wil genieten van stabiele, snelle en veilige wifi overal in huis.

©TP-Link

TP-Link Deco BE25: waarom gebruikers zo tevreden zijn

De titel Best Reviewed van het Jaar 2025 is gebaseerd op wat gebruikers in het dagelijks gebruik écht belangrijk vinden: betrouwbaarheid, gebruiksgemak en prestaties. Juist op die vlakken scoort dit mesh-systeem keer op keer hoog.

Dat begint al met het installatieproces. Gebruikers geven aan dat het instellen van de set bijzonder eenvoudig is. "De installatie was erg eenvoudig dankzij de intuïtieve Deco-app, waarbij het systeem binnen een paar minuten operationeel was." Ook de snelheid en prestaties vallen in de smaak. De reacties liegen er niet om: "Ik was gelijk onder de indruk van de snelheid, op sommige plekken in huis haal ik met gemak 400 Mbps." En: "De snelheid is werkelijk top: zelfs in de verste hoeken van het huis blijft de verbinding stabiel en razendsnel."

Dat is mede te danken aan de sterke mesh-dekking en de soepele roaming tussen de units. Een gebruiker vat het krachtig samen: "De mesh WiFi zorgt voor een sterke en stabiele verbinding in het hele huis. Zelfs op zolder blijft de snelheid hoog en zonder haperingen." Anderen merken op dat apparaten automatisch overschakelen naar het dichtstbijzijnde wifi-punt: "Alle apparaten melden zich netjes aan bij het punt dat het dichtste in de buurt is. Telefoons schakelen vloeiend over."

De algehele gebruikservaring wordt bovendien als zeer positief ervaren. Niet alleen vanwege de prestaties, maar ook dankzij de handige app-functies. "Overal in huis een stabiele verbinding. De app biedt handige functies zoals apparaatbeheer en statusweergave," aldus een reviewer. En over de nieuwe WiFi 7-technologie zegt iemand: "Dankzij WiFi 7 profiteer je van extreem hoge doorvoersnelheden en minimale latency, ideaal voor gamen, streamen en zware downloads."

Hoewel er hier en daar kleine opmerkingen zijn - zoals dat de snelheidswinst van WiFi 7 niet altijd zichtbaar is op oudere apparaten - overheerst de positieve toon duidelijk. Wat consumenten vooral waarderen, is hoe de TP-Link Deco BE25 hun wifi-ervaring in huis structureel verbetert: minder uitval, meer snelheid en stabiel internet in elke ruimte. Dat maakt het tot een set waar je echt op kunt bouwen.

©TP-Link

Een eerlijk oordeel

De TP‑Link Deco BE25 combineert technische kracht met eenvoud en gebruiksgemak - precies wat veel consumenten zoeken in hun thuisnetwerk. Door de combinatie van snelle prestaties, brede dekking en een intuïtieve app‑gestuurde installatie verdient dit systeem de titel Best Reviewed van het Jaar 2025. Of je nu een groot huis hebt, meerdere apparaten tegelijk gebruikt of gewoon een stabielere en snellere wifi‑ervaring wilt: de TP-Link Deco BE25 is volgens gebruikers een uitstekende keuze.

Ontdek de TP‑Link Deco BE25 op Kieskeurig.nl

▼ Volgende artikel
Review: In Reanimal mag je samen naar de gemuteerde kinderboerderij
© Tarsier Studios/Tijn Kranen
Huis

Review: In Reanimal mag je samen naar de gemuteerde kinderboerderij

Achtpotige mottenballen, levende huidplooien en gemuteerde pelikanen: in het ‘schattige’ Reanimal kom je het allemaal tegen. Gelukkig sta je er niet alleen voor, want je kunt er voor kiezen om samen met een medespeler via coöp dit levende schilderij in te duiken - al is het resultaat vooral dat je sámen geen snars van het verhaal snapt.

Het Zweedse Tarsier Studios heeft al even geoefend met het concept van Reanimal. De game heeft namelijk een hoop weg van hun vorige games, Little Nightmares 1 en 2: ook hier wandel je door een stel surrealistische, levende horrorschilderijen.

Hoewel het niet letterlijk om een schilderij gaat, kan ik het gevoel niet anders beschrijven. Je beweegt je door een reeks prachtige omgevingen gevuld met bizarre monsters, die vooral de logica volgen van nachtmerries en kinderangsten. Reanimal lijkt in de verte wel een verhaal te willen vertellen, maar Tarsier beseft dondersgoed dat minimalisme het alleen maar griezeliger maakt.

Watch on YouTube

Simpel doch effectief

De mist hangt over het waterlichaam. Er zit een kind in een bootje. Als je aan de knoppen zit te morren, heb je door dat jij het kind bestuurt - tijd om naar dat rode licht in de verte te varen. Als je dichterbij komt, blijkt het een boei te zijn, met daarnaast spartelend in het water een vriendje. Ze klimt bij je in de boot. Als je een tweede controller aansluit of online speelt, is dit je coöp-partner. Zo niet, dan blijft het een computergestuurde vriend die vooral gezelschap biedt.

Terwijl je samen van boei naar boei vaart, doemt er in de verte een rotspartij op. Oh, die ziet er groot uit. Wacht, die is écht groot! Als je eenmaal bij het strand komt, ram je je bootje het zand in. Zo, die ligt lekker stevig.

Als je een dichte deur tegenkomt, snap je als gamer wel wat je missie is: zoek maar naar een sleutel. Vervolgens blijf je zonder echte reden maar een pad volgen, al kom je er gaandeweg achter dat je andere kinderen probeert te redden van monsters.

©THQ Nordiq/Tarsier Studios

Een versleten screenshotknop

Het verhaal staat dus niet echt voorop - en eerlijk gezegd staat diepgaande gameplay óók niet echt voorop. Maar wat maakt deze game dan in godsnaam zo indrukwekkend? Dat komt allemaal neer op fenomenaal ontworpen omgevingen en geniaal ontworpen monsters.

Het helpt daarbij dat Reanimal een ontzettend goed gevoel van schaal weet over te brengen: je voelt je piepklein, en grote dingen in de spelwereld voelen gigantisch. Daar komt ook een sterk staaltje camerawerk bij kijken. Op precies de juiste momenten wordt de camera naar achteren getrokken om te onthullen dat er in de achtergrond al de hele tijd een of ander gemuteerd boerderijdier op je ligt te wachten.

Op de PlayStation 5, waar we de game op hebben gespeeld, ziet Reanimal er prachtig uit. Op een zeldzame lelijke texture na is het spel gevuld met visuele meesterwerkjes. Je kunt op ieder willekeurig moment een screenshot maken, en het bij wijze van spreken inlijsten en ophangen. In vijf uur speeltijd heb ik 108 screenshots gemaakt, mede vanwege de mooie lichtinval.

Slide
Slide
Slide
Slide

Niet meer dan een middag

Daar is dan ook meteen het grootste struikelblok: in vijf uurtjes was ik wel door de game heen, terwijl ik het best rustig aan deed. Het spel gaat voor vier tientjes over de toonbank - toch best een hoge prijs voor zo’n korte game. In coöp doe je er misschien nog iets langer over, maar ik zou er niet op rekenen.

In de omgeving zijn er nog enige collectibles te vinden: posters met concept art en dierenmaskers, waar je je personages mee kan aankleden. Dat is best leuk, want die art is belachelijk mooi en die maskers worden steeds absurder. Gelukkig spat de kwaliteit er wel van af, want iedere omgeving is een kunstwerk op zich.

©Tarsier Studios/Tijn Kranen

Lekker rondkijken

Om nog even op die coöp-gameplay terug te komen: we hebben hier niet te maken met een game als Portal 2, waarbij de puzzels zijn gebouwd om als duo op te lossen. Hoewel de functie een van de selling points is, heb je absoluut geen tweede speler nódig.

De coöp-modus is zowel online als lokaal beschikbaar, al is er geen matchmaking. Je moet de lobbycode invoeren van de persoon met wie je wil spelen, dus met een vreemdeling spelen is er niet bij. We hebben de functie daardoor niet uitvoerig kunnen testen, maar het lijkt prima te werken.

Voor de puzzels heb je ook geen twee sets hersenen nodig: het zijn vrij simpele puzzels die er vooral voor zorgen dat je aandacht naar de mooie locaties getrokken wordt. Ingewikkelder hoeft het ook niet te zijn, want als je echt je hersens had moeten gaan kraken, dan had het die melancholische droomsfeer misschien wel kapotgemaakt.

©Tarsier Studios/Tijn Kranen

Hypnotiserend

Tarsier Studios weet precies wat Reanimal moet zijn: hypnotiserend, surrealistisch, schattig en tegelijkertijd doodeng. Het minimalistische verhaal is lastig te volgen, maar de gevoelens raken wél - al is het einde wat abrupt. Het grijpt je niet bij de keel, maar glijdt langzaam om je strot heen en knijpt zonder dat je het doorhebt.

Het voelt als de vreemdste plekken uit Silent Hill, of de Dark Place uit Alan Wake 2, maar het heeft ook weer wat weg van Coraline en Guillermo Del Toro’s Pinocchio. Het deed me misschien nog het meest denken aan deze concept trailer van Silent Hills, een game die helaas nooit het daglicht heeft mogen zien.

Stel je voor dat je door een bioscoop heen loopt, waar een dood (of gehypnotiseerd) publiek zit te kijken naar iets dat je alleen kan vergelijken met de videoband uit The Ring. Als je naar buiten komt, staat er een grote spinachtige man met een ijscowagen op je te wachten om je op te grissen. Als je eenmaal aan hem bent ontsnapt, wordt je geconfronteerd met de volgende griezelige omgeving en een nieuw, prachtig, tragisch en doodeng gemuteerd monster. In Reanimal snap je misschien niet precies wat er gebeurt, maar je gaat het zeker niet vergeten.

Reanimal is vanaf 13 februari verkrijgbaar voor PlayStation 5, Xbox Series-consoles, Nintendo Switch 2 en pc. Voor deze review is de game op PlayStation 5 gespeeld.

Goed
Conclusie

De visie achter Reanimal is duidelijk: geen ingewikkelde puzzels of verhaallijnen, maar een gestroomlijnde, sfeervolle koortsdroom met gedetailleerde plaatjes (en monsters) die nog lang in je hoofd blijven hangen. Tarsier Studios had de game kunnen opvullen met meer omgevingen of meer simplistische puzzels, maar dat zou wellicht alleen maar aan de ervaring af doen. Reanimal is daardoor wat aan de simpele en korte kant, maar de game blijft na het uitspelen wel nog veel langer door je hoofd spoken.

Plus- en minpunten
  • Kunstzinnige monsters en omgevingen
  • Mooie graphics
  • Co-op-functie is een welkome toevoeging
  • Gameplay maar weinig diepgaand
  • Kort en een tikje anticlimactisch
  • Niet erg uitdagend