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
3 Windows-instellingen die je direct moet aanpassen voor een snellere en veiligere pc
© ID.nl
Huis

3 Windows-instellingen die je direct moet aanpassen voor een snellere en veiligere pc

Frustraties over een trage pc of ongewenste advertenties? Grote kans dat de standaard Windows-instellingen de boosdoener zijn. Met drie simpele ingrepen optimaliseer je direct de snelheid, privacy en veiligheid van je systeem. Wij zetten de belangrijkste aanpassingen op een rij, zodat je direct weer vlot en zorgeloos aan de slag kunt!

Of je nu net een gloednieuwe laptop uit de doos haalt of al jaren op dezelfde vertrouwde desktop werkt, de standaardinstellingen van Windows zijn zelden optimaal. Microsoft kiest vaak voor opties die hun eigen diensten promoten in plaats van jouw gebruiksgemak centraal te stellen. Gelukkig kun je met een paar gerichte ingrepen direct winst behalen. Pas deze drie essentiële instellingen aan voor meer privacy, snelheid en overzicht.

Schakel onnodige opstart-apps uit

Niets is zo frustrerend als een computer die er minutenlang over doet om startklaar te zijn. De grootste boosdoener hiervoor is vaak een overdaad aan programma's die automatisch opstarten zodra je de pc aanzet. Veel applicaties, van Spotify tot samenwerkingstools als Microsoft Teams, nestelen zich tijdens de installatie ongevraagd in je opstartproces. Dat vreet direct aan je systeemgeheugen en vertraagt de opstarttijd aanzienlijk.

Je lost dit eenvoudig op door naar de instellingen van Windows te navigeren en te zoeken naar de optie Opstart-apps. Hier zie je een duidelijk overzicht van alle software die met Windows mee start, inclusief de impact die elk programma heeft op de prestaties. Loop kritisch door deze lijst heen. Programma's die je niet dagelijks direct na het inloggen nodig hebt, kun je zonder risico uitschakelen door het schuifje om te zetten. Je verwijdert de software hiermee niet; je voorkomt alleen dat ze op de achtergrond draaien zonder dat je erom gevraagd hebt. Je pc zal hierdoor merkbaar vlotter reageren.

Weg met die advertenties en suggesties!

Windows is in de loop der jaren steeds meer veranderd in een platform waarop Microsoft eigen en gesponsorde diensten probeert te verkopen. Dat uit zich in zogenaamde 'suggesties' in je Startmenu, op je vergrendelingsscherm en zelfs in de Verkenner. Voor de meeste gebruikers voelt dat – terecht – als ongewenste reclame binnen een besturingssysteem waarvoor al betaald is. Het zorgt bovendien voor ruis en leidt af van waar je eigenlijk mee bezig bent.

Om deze stroom aan prikkels te stoppen, duik je in het menu Persoonlijke instellingen. Bij de instellingen voor het Startmenu en het Vergrendelingsscherm vind je opties die verwijzen naar het tonen van suggesties, tips of leuke weetjes. Vink deze opties uit om een schonere, rustigere interface te krijgen. Vergeet ook niet bij de privacy-instellingen de optie uit te zetten die Windows toestaat om je Instellingen-app te gebruiken voor het tonen van voorgestelde inhoud. Het resultaat is een professionelere werkomgeving die doet wat hij moet doen, zonder je continu te proberen te verleiden tot extra klikken.

Maak bestandsextensies zichtbaar

Een van de meest riskante standaardinstellingen in Windows is het verbergen van bestandsextensies voor bekende bestandstypen. Standaard zie je alleen de naam van een bestand, bijvoorbeeld 'factuur', maar niet of het een .pdf, .docx of een .exe is. Cybercriminelen maken daar dankbaar gebruik van door virussen te vermommen als onschuldige documenten. Een bestand dat 'foto.jpg.exe' heet, wordt door Windows dan getoond als 'foto.jpg', waardoor je denkt een afbeelding te openen terwijl je in werkelijkheid schadelijke software installeert.

Je kunt dit veiligheidsrisico direct verhelpen via de Bestandsverkenner. Zoek in de menubalk naar de optie Weergeven en navigeer vervolgens naar de instellingen voor weergeven. Hier vind je een optie genaamd Extensies voor bestandsnamen. Zorg dat deze optie aangevinkt staat. Hoewel het in het begin even wennen kan zijn om achter elk bestand een punt en drie of vier letters te zien staan, geeft het je volledige controle en inzicht. Je ziet nu in één oogopslag met wat voor type bestand je écht te maken hebt, en dat verkleint de kans op een succesvolle malware-infectie drastisch.

Populaire merken voor Windows-laptops

Wie op zoek is naar hardware die het meeste uit Windows haalt, komt al snel uit bij een aantal gevestigde namen die de markt domineren. Een van de grootste spelers is Lenovo, dat met name met de ThinkPad-serie een ijzersterke reputatie heeft opgebouwd in de zakelijke markt dankzij robuuste bouwkwaliteit en uitstekende toetsenborden. Voor consumenten die design en innovatie zoeken, is HP (Hewlett-Packard) een veelgekozen merk, mede dankzij de Omnibook- en Envy-lijnen die esthetiek combineren met krachtige prestaties. Ook Acer blijft een vaste waarde, waarbij vooral de Aspire-modellen steevast hoge ogen gooien in reviews vanwege hun interessante prijs-kwaliteitverhouding. Tot slot biedt het Taiwanese ASUS vaak veel rekenkracht voor een scherpe prijs en durven zij met hun ZenBook-serie vaak te experimenteren met nieuwe technologieën zoals dubbele schermen.

▼ Volgende artikel
Dekbed in de wasdroger: helpt een tennisbal echt?
© ID.nl
Huis

Dekbed in de wasdroger: helpt een tennisbal echt?

Wanneer je je dekbed gewassen hebt, wil je dat het natuurlijk weer lekker dik en luchtig aanvoelt. Maar wanneer je hem gewoon in de droger gooit, kan de vulling gaan klonteren, zodat er dunne stukken en dikke stukken ontstaan. Dat slaapt niet echt lekker. Om dat te voorkomen, gooien veel mensen er een paar tennisballen bij. Helpt dat echt?

In dit artikel

Je leest wat tennisballen in de droger doen en bij welke dekbedden dat wel of juist minder goed werkt. We leggen uit hoeveel ballen je nodig hebt, waar je op let bij het type tennisbal en waarom voldoende ruimte in de trommel belangrijk is. Ook staan we stil bij alternatieven zoals speciale drogerballen en geven we praktische tips om je dekbed gelijkmatig te laten drogen en mooi in vorm te houden.

Lees ook: 9 veelgemaakte fouten bij het drogen van je was

Wat tennisballen in de droger doen

Tijdens het drogen raken de tennisballen telkens het dekbed. Dat helpt vooral bij dons en veren. Als die nat zijn, blijven ze aan elkaar plakken en zakt de vulling in. Door de constante beweging vallen die samengepakte delen weer uiteen, waardoor de vulling zich opnieuw verspreidt. Zo kan de warme lucht overal beter bij en droogt het dekbed gelijkmatiger. De droogtijd wordt er niet korter van, maar het dekbed komt wel duidelijk voller uit de droger.

Hoe vaak moet je je dekbed eigenlijk wassen?

Een dekbed hoeft niet vaak in de was. Voor de meeste mensen is één tot twee keer per jaar genoeg. Dat komt omdat het meeste vuil (denk bijvoorbeeld aan zweet of huidschilfers) niet in het dekbed zelf terechtkomt, maar in het dekbedovertrek. Dat overtrek was je regelmatig, meestal eens per één à twee weken. Het dekbed blijft daardoor relatief schoon.

Soms is vaker wassen wel logisch. Bijvoorbeeld als je veel zweet in je slaap, last hebt van een huisstofmijtallergie of het overtrek niet zo vaak verschoont. Ook na ziekte of bij zichtbare vlekken is een extra wasbeurt verstandig.

Hoe vaak je kunt wassen, hangt ook af van de vulling. Niet elk dekbed kan namelijk even goed tegen veel wasbeurten. Dons- en verendekbedden kunnen meestal in de wasmachine, mits je het waslabel volgt en ze daarna goed laat drogen. Synthetische dekbedden zijn in dat opzicht wat vergevingsgezinder en kunnen vaak vaker gewassen worden zonder dat de vulling daaronder lijdt.

Twijfel je of wassen echt nodig is? Dan is luchten een goed alternatief. Hang je dekbed regelmatig buiten of bij een open raam. Daarmee kun je een wasbeurt vaak nog maanden uitstellen.

View post on TikTok

Hoeveel tennisballen zijn genoeg?

Met één tennisbal in de wasdroger merk je vaak weinig, zeker bij een groot dekbed. Die verdwijnt al snel in de stof en heeft dan weinig effect. Met twee tot vier ballen werkt het beter, omdat ze het dekbed op meerdere plekken tegelijk in beweging houden. Zolang de ballen vrij kunnen bewegen en niet vast blijven zitten in de vulling, doen ze hun werk.

Kun je elke tennisbal gebruiken bij het drogen van een dekbed in de droger?

iet elke tennisbal is even geschikt. Vooral nieuwe of felgekleurde ballen kunnen bij hogere temperaturen kleur afgeven en kleine pluisjes verliezen van de vilten buitenlaag. Dat komt niet vaak voor, maar het risico is wel aanwezig. Gebruik je oudere tennisballen, dan is de kans hierop kleiner. Wil je dat verder beperken, dan kun je de ballen in een oude witte sok stoppen en die dichtknopen. Het effect blijft grotendeels hetzelfde, al is het iets minder uitgesproken dan met losse ballen.

Speciale drogerballen

Er bestaan ook speciale drogerballen van wol of kunststof. Die zijn bedoeld voor gebruik in de droger en geven geen kleur af. Ze doen hetzelfde als tennisballen: ze zorgen dat het dekbed tijdens het drogen in beweging blijft. Wolballen maken minder lawaai en zijn milder voor stoffen. Stop je je dekbed regelmatig in de droger? Dan kun je beter deze speciale bollen gebruiken in plaats van tennisballen.  

Geef het dekbed genoeg ruimte in de droger

Tennisballen helpen alleen als het dekbed voldoende ruimte heeft om te bewegen. Is de trommel te vol, dan draait alles als één geheel rond en gebeurt er weinig. Wil je grote tweepersoonsdekbedden drogen, dan heb je een droger met een ruime trommel nodig. Heb je die niet zelf? Kijk dan of er een wasserette bij je in de buurt is. Meer ruimte zorgt voor meer beweging en daarmee voor een beter eindresultaat.

Niet elk dekbed kan in de droger

Tennisballen hebben vooral effect bij dons- en verendekbedden. Bij synthetische vulling is dat verschil kleiner en kan de constante beweging van de ballen de vulling na verloop van tijd zelfs vervormen. Wol, zijde en andere natuurlijke materialen mogen meestal helemaal niet in de droger. Check daarom altijd eerst het waslabel voordat je het dekbed in de trommel legt.

Even tussendoor opschudden helpt

Haal het dekbed halverwege het programma even uit de droger en schud het los, alsof je het bed opmaakt. Leg het daarna omgedraaid terug in de trommel. Zo verdeelt de vulling zich opnieuw en kan het dekbed gelijkmatiger drogen.

Wat kun je van het eindresultaat verwachten?

Tennis- of drogerballen zijn vooral een hulpmiddel, geen vervanging voor de juiste drooginstellingen. Droog het dekbed niet te vaak of te heet: kies een lage of middelhoge temperatuur en selecteer een speciaal dons- of beddengoedprogramma als dat op je droger zit. Zorg ook voor voldoende ruimte in de trommel. Als je dan ook nog eens ballen laat meedraaien, heb je er alles aan gedaan om te zorgen dat je dekbed weer lekker vol uit de droger komt!