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 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
JBL introduceert de Grip, een speaker zo klein als een blikje
© JBL
Huis

JBL introduceert de Grip, een speaker zo klein als een blikje

Een speaker die je zo in je handpalm kunt zetten, maar toch genoeg 'oomf' heeft om een feestje op poten te zetten. Dat is de nieuwe JBL Grip. Het apparaat is zo groot als een blikje bier (of frisdrank) en past dus makkelijk in een tas of aan je fiets. Toch moet hij genoeg vermogen, slimme functies en een stevig ontwerp bieden om mee te gaan op elk vrolijk avontuur.

De Grip levert 16 watt aan geluid en gebruikt een techniek die AI Sound Boost heet. Daarmee wordt de muziek live geanalyseerd en bijgesteld, zodat de bassen voller klinken zonder dat het geluid vervormt of kraakt. Wie zin heeft in meer volume kan twee speakers koppelen voor stereogeluid, of via Auracast meerdere modellen aan elkaar linken. Zo tover je het compacte speakertje al snel om tot een groter geluidssysteem.

©JBL

Gemaakt om mee te nemen

Met de geïntegreerde lus klik je de Grip eenvoudig vast aan een rugzak, een fiets of zelfs een kajak. Dankzij de IP68-classificatie kan hij bovendien tegen een spatje water, stofje stof of gewoon een stootje. Daarmee mikt JBL duidelijk op buitengebruik: festivals, stranddagen of een lange picknick in het park. De speaker is daarnaast licht en handzaam, waardoor je hem eigenlijk overal kwijt kunt.

Op de achterkant van het apparaatje zit subtiele verlichting die je via de JBL Portable-app kunt aanpassen. Kleuren en intensiteit kunnen worden afgestemd op je afspeellijst of de sfeer van het moment. Oké, het zal niet genoeg zijn om een heel feest van de benodigde verlichting te voorzien, maar het geeft nét een extra laagje beleving. Toch leuk.

©JBL

Accu en extra uurtjes

De Grip gaat ongeveer 12 uur mee op één lading. Wie langer door wil, kan Playtime Boost inschakelen, een functie die nog eens 2 uur extra uit de accu haalt. Daarbij past de speaker zich aan voor een harder en efficiënter geluid. Voor een dag buiten of een lange avond muziek draaien is dat een heel handige toevoeging.

De speaker verschijnt in zeven varianten, van neutraal zwart en wit tot paars, camo en felroze. Er is gekozen voor gerecycled plastic en een verpakking van FSC-gecertificeerd papier. Daarmee sluit de Grip aan bij de trend om dit soort gadgets duurzamer te maken. De adviesprijs bedraagt 99,99 euro en het model is direct verkrijgbaar via JBL.com en verschillende (web)winkels.

▼ Volgende artikel
Nóg betere notities maken? Dit zijn de handigste add-ins voor OneNote
© dennizn - stock.adobe.com
Huis

Nóg betere notities maken? Dit zijn de handigste add-ins voor OneNote

Met OneNote kun je op een gestroomlijnde manier snel notities maken en afbeeldingen, audio en ideeën vastleggen. De handige app is onderdeel van de Microsoft Office-suite. Wist je dat het mogelijk is om met uitbreidingen het functioneren van OneNote te verbeteren? Met de volgende add-ins word je notitie-ervaring daarmee nog beter.

Voordat je begint: dit moet je weten

Microsoft OneNote is een krachtpatser als het gaat om het organiseren van ideeën die je te binnen schieten. Alle functies zijn erop gericht om al je losse notities systematisch te ordenen in virtuele notitieboeken, secties en pagina's. Deze veelzijdige tool kun je via invoegtoepassingen aan je eigen specifieke behoeften aanpassen. Alle add-ins die we hier noemen, installeer je via een download op de webpagina die we telkens vermelden. Er is, in tegenstelling tot bijvoorbeeld Word of Excel, geen manier om zo'n invoegtoepassing rechtstreeks in de desktopversie van OneNote binnen te halen.

OneMore: meer functies

OneMore is een degelijke opensource-add-in die een verzameling kwaliteitsfuncties aan OneNote toevoegt. Nadat je de gratis add-in (https://onemoreaddin.com/) hebt geïnstalleerd, wordt er een nieuwe groep functies in het tabblad Start toegevoegd. Die groep heet op een Nederlands systeem: Meer.

Vanaf hier kun je afbeeldingen roteren en bijsnijden, bijschriften toevoegen, afbeeldingen stileren zonder dat je een externe editor nodig hebt. Werk je met tabellen in OneNote, dan bevat het menu Tafel mogelijkheden om formules in de cellen toe te passen die doen denken aan Excel. Je beschikt over een opdracht Zoeken en vervangen. Er is een Navigator die onder meer je recent bezochte pagina's bijhoudt, en een optie biedt om herinneringen toe te voegen en te bewerken. Er is nog veel meer mogelijk. OneMore is een gratis add-in die je nooit meer wilt missen.

Door OneMore te installeren, beschik je over veel meer functies.

Onetastic: welkom in Macroland

Liefhebbers van macro's zullen smullen van Onetastic (https://getonetastic.com). Je mag gratis twintig macro's downloaden die je vijfhonderd keer mag gebruiken. Wil je onbeperkt macro's binnenhalen en gebruiken, dan kost dit 15 dollar per jaar. Zo'n macro is een miniprogramma waarmee je veel tijd bespaart, omdat het herhalende taken met een paar muisklikken uitvoert. Op die manier laat je een macro naar tekst op meerdere pagina's zoeken en vervangen, een inhoudsopgave samenstellen voor je notitieboek, of maandelijks een kalender samenstellen met een takenlijst.

De bibliotheek met inmiddels 687 macro's heet Macroland. Je kunt de collectie raadplegen op populariteit, of op recente toevoegingen, maar het handigste lijkt ons de ordening per categorie.

De bibliotheek van Macroland bevat momenteel bijna zevenhonderd macro's.

OneCalendar: agenda met notities

OneCalendar (https://getonetastic.com/onecal) is een speelse tool die jouw OneNote-pagina's weergeeft op basis van het moment dat je ze hebt toegevoegd of gewijzigd. Op die manier kun je gemakkelijk aantekeningen terugvinden. Wanneer je met de muisaanwijzer over zo'n kalenderitem gaat, krijg je een preview van de pagina. Door op een titel in de kalender te klikken, open je de pagina rechtstreeks in OneNote. Je kunt de aantekeningen per dag, week of maand bekijken.

Merk je dat de items die je zojuist hebt ingevoerd nog niet in OneCalendar te zien zijn? Druk dan je op F5 om de weergave te vernieuwen. Of je nu een fanatieke planner bent of gewoon je afspraken in je notities wilt bijhouden, deze add-in verbindt je notities naadloos met je agenda.

Je notities worden in de kalender weergegeven.

Office Lens: content scannen

Profiteer van de uitstekende samenwerking tussen Office Lens met OneNote. Microsoft Office Lens is gratis beschikbaar voor de iPhone, Android en Windows Phone. Tijdens een vergadering kun je bijvoorbeeld foto's maken met de app en die doorsturen naar OneNote. Op die manier haal je de gegevens binnen van whiteboards, kattenbelletjes of handgeschreven documenten. Open de mobiele app en kies onderaan of je een document, een whiteboard, een visitekaartje of een foto wilt scannen. Dankzij de zoekfunctie van OneNote kun je zelfs tekstfragmenten in de foto's herkennen.

Office Lens bewaart je scans automatisch op OneDrive.

OneNote Web Clipper: internetclips

OneNote Web Clipper is een gratis musthave voor de internetbrowser om de inhoud van webpagina's rechtstreeks in OneNote-notitieblokken op te slaan. Dit is een prima manier om internetinformatie te organiseren. Het is mogelijk om notities en markeringen aan te brengen op de clips. Zo heb je toegang tot de clips, zelfs als je niet verbonden bent met het internet.

Om Web Clipper te installeren, ga je eerst naar www.onenote.com/clipper. Daar klik je op de knop OneNote Web Clipper installeren. Daarna volg je de instructies afhankelijk van de browser die je het liefst gebruikt, want dit hulpmiddel werkt met een browserextensie. De eerste keer dat je deze tool gaat gebruiken, moet je je aanmelden met je Microsoft-account zodat Web Clipper de verbinding kan maken met je OneNote-app. Vervolgens kies je of je een clip wilt maken van de volledige webpagina, een bepaalde regio, een artikel of de bladwijzer. Tot slot geef je aan in welk OneNote-notitieblok en op welke pagina de clip moet worden opgeslagen.

Selecteer de OneNote-pagina waar de clip wordt opgeslagen.

Audio Note

OneNote heeft een ingebouwde technologie om tekst die je typt te koppelen aan audio. Dat doe je via het tabblad Invoegen en dan ga je naar de groep Opnemen. Daar selecteer je Transcriberen en Opnemen. Audio Note zorgt voor de naadloze integratie van de audio en de notities die je ondertussen typt.

Veronderstel dat je iemands woorden opneemt, terwijl je ondertussen in bulletpoints de onderwerpen noteert die in diens betoog aan bod komen. Vanaf dan wordt de audio met de bulletpoints gesynchroniseerd. Wanneer je achteraf de tekst beluistert en je klikt op de knop Afspelen weergeven, markeert OneNote automatisch de bulletpoints die je hebt getypt.

Andersom werkt dat ook. Je kunt op de aantekeningen klikken om de bijbehorende audio van dat moment te beluisteren. Audio Note heeft ook afspeelfuncties om de snelheid aan te passen, om terug te spoelen of om te pauzeren, zodat je gemakkelijk naar een specifiek onderdeel van de vergadering kunt gaan. Je kunt ook nog datums en tags toevoegen aan je audionotities.

OneNote Tagging Kit: beter tagbeheer

De ingebouwde tags zijn handig voor het markeren van alinea's. Standaard plaats je de muisaanwijzer op de tekstregel die je wilt taggen en dan kies je een pictogram uit de collectie Tags. Met OneNote Tagging Kit (https://wethat.github.io/OnenoteTaggingKit/) heb je zelfs de mogelijkheid om hele pagina's te taggen. Daarna kun je efficiënter zoeken op basis van deze tags.

Deze invoegtoepassing doet zijn werk op de achtergrond en de tags zijn compatibel met de standaard OneNote-alineatags. Je moet het nieuwe venster niet in het tabblad Tag zoeken, maar wel in het tabblad Start. Daar vind je in de groep Page Tags de knoppen: Tag Pages, Update Page, Find Pages en Settings. Krijg je tijdens het zoeken te veel resultaten? Dan kun je de zoekopdracht verfijnen door extra paginatags toe te voegen.

Het is zelfs mogelijk om volledige pagina's te taggen.

Scan&Paste (in Office 365): mobiele scanner

Scan&Paste (www.scanandpaste.com) is de combinatie van een mobiele app en een add-on waarmee je moeiteloos afbeeldingen, QR-codes en OCR-tekst toevoegt aan Microsoft Word, PowerPoint en OneNote. Wanneer je de app hebt gedownload, scan je het document of de afbeelding met je telefoon. Zorg dat de invoegtoepassing is geïnstalleerd in de Office 365-toepassing. Voor Word en PowerPoint kan dat in de lokale desktop-versie.

Voor OneNote moet je uitwijken naar de online variant. Dan kun je via Invoegen / Office-toepassingen de add-in installeren. Daarna koppel je de invoegtoepassing in OneNote met de mobiele app en kun je de gescande foto's uit de cloudopslag halen. Op die manier gebruik je Scan&Paste als draagbare scanner. Je hoeft geen account aan te maken om de afbeeldingen te downloaden. Dat betekent dat je anoniem blijft bij Scan&Paste, terwijl de gescande afbeeldingen wel veilig en alleen beschikbaar zijn voor jou. De gescande afbeeldingen worden zeven dagen bewaard, daarna worden ze automatisch verwijderd.

Koppel met een QR-code je mobiel aan OneNote, zodat je de bestanden kunt overdragen.

Emoji Keyboard: stickers in alle maten

De liefhebbers van emoji en stickers hebben in OneNote niet te klagen. Er zijn drie manieren om die toe te voegen. In het tabblad Invoegen zit bijvoorbeeld rechts de knop Stickers waarmee je plaatjes aan je notities toevoegt, als je tenminste houdt van katten, aapjes of kleine monstertjes. Het aanbod is niet groot.

Het emojipalet tover je tevoorschijn door de Windows-toets en de punttoets samen in te drukken. Hier krijg je een veel ruimer aanbod dat verdeeld is in categorieën. Gelukkig is er een zoekvak om heel snel bijvoorbeeld de 'strandparasol' of de 'regenworm' te vinden.

De derde bron is Emoji Keyboard (www.kwikr.nl/emkey). Dit is een gratis add-on met meer dan dertienhonderd emoji's voor Word, PowerPoint en OneNote. Bij de eerste twee toepassingen kun je Emoji Keyboard in de desktopversie inladen; bij OneNote werkt deze add-on in de online versie. De emoji's kunnen ingevoegd worden als tekst, of als plaatje van verschillende afmetingen, gaande van ultraklein 16px tot XXL (1024 px). Van ieder poppetje kun je de huidskleur in zes tinten instellen.

Je kunt de emoji zelfs in het XXL-formaat binnenhalen.

Online beheren

In de online versie van OneNote is het gemakkelijk om de add-ons te beheren. In de online versie noemen ze dit invoegtoepassingen. Klik in het tabblad Invoegen op de knop Office-invoegtoepassingen. Dan kom je in een venster met twee tabbladen: Mijn invoegtoepassingen en Store. De eerste dient om de invoegtoepassingen te beheren die je al hebt geactiveerd. Wil je een geïnstalleerde add-on verwijderen, dan klik je er met de rechtermuisknop op en kies je de opdracht Verwijderen. In het tweede tabblad kun je invoegtoepassingen zoeken in de Microsoft Store. Als je er een interessante hebt gevonden, dan klik je op de knop Toevoegen.

CloudHQ: brede cloudintegratie

Met deze invoegtoepassing integreer je OneNote met verschillende cloudopslagdiensten zoals Google Drive, Dropbox en Evernote. CloudHQ (www.cloudhq.net/onenote) zorgt voor de realtime synchronisatie van notities en bestanden op meerdere platformen, zodat je overal toegang hebt tot je documenten. Deze dienst maakt ook automatisch een back-up en synchroniseert tussen OneNote en andere cloudopslagdiensten. Er is een gratis versie met beperkte cloudintegratie. Professionals die onbeperkte back-ups en synchronisatie willen gebruiken, betalen 149 dollar per gebruiker.

Wanneer de ene collega werkt met OneNote en de andere met Evernote of Salesforce, dan kunnen ze dankzij deze tussenstap toch samenwerken. En als iemand in de samenwerking opzettelijk of per ongeluk zijn notitieboek verwijdert, hoeven de anderen met wie dit gedeeld is via CloudHQ het werk niet opnieuw doen.

We koppelen OneNote aan Dropbox door middel van CloudHQ.

Beheer op je desktop

Het beheren van invoegtoepassingen in de desktopversie is iets complexer dan in de online variant, omdat OneNote niet in al zijn versies de weg van Invoegen / Invoegtoepassing volgt. Mogelijk moet je via het menu Bestand de Opties selecteren en dan naar Invoegtoepassingen gaan. Selecteer daar onderaan COM-invoegtoepassingen en klik dan op de knop Start. Selecteer de invoegtoepassing die niet aan je verwachtingen voldoet en gebruik de knop Verwijderen om de installatie ongedaan te maken. Of klik op Toevoegen om een invoegtoepassing te installeren die je hebt gedownload en opgeslagen op je pc. Houd er rekening mee dat je voor sommige downloads moet weten of je een 32bit- of 64bit-versie van OneNote hebt. Je vindt dit als je Bestand / Account / Info over OneNote selecteert. Kijk bovenaan op de pagina om te zien welke versie je hebt.

Ben je toch meer van het papier?

Notitieblokken en -boeken