Door uniks: Waarom gebruiken al die sites verschillende Digests en soms meerdere? Is er niet eentje die superieur is? Want je moet maar alle tooltjes geinstalleerd hebben voor elke variant. Ik vind het gek dat het zo'n onduidelijke willekeur is.
Wat ooit goed genoeg was is met de huidige stand van de techniek te compromitteren; wat nu goed genoeg is kan in de toekomst wellicht gecompromitteerd worden. Alleen al die ontwikkelingen maken dat wat een goede keuze is aan verandering onderhevig is.
En je weet nu niet wat duidelijk superieur is, je weet van een aantal hashalgoritmes dat die op dit moment, voor zover bekend, niet gekraakt zijn. Het is goed dat er meerdere opties beschikbaar zijn, zodat als er een omvalt er alternatieven beschikbaar zijn. Dat betekent niet dat op dit moment bekend is welk alternatief ooit onderuit zal gaan, en dus zijn er meerdere alternatieven die op dit moment goed zijn, en dus zullen verschillende mensen die nou eenmal iets moeten kiezen niet altijd dezelfde keuze maken.
Als je het breder beschouwt dan deze toepassing dan kunnen hash-algoritmes die op zich sterk zijn daarnaast eigenschappen hebben die voor verschillende toepassingen andere voorkeuren opleveren. Als je in een enorme verzameling bestanden hashes wilt gebruiken om duplicaten te vinden dan is het verdomd handig als die hashes heel snel te berekenen zijn. Als je echter een brute-force-aanval op een wachtwoorddatabase moeilijker wilt maken dan wil je juist dat het berekenen van een hash traag is. Er bestaan daarom speciale hashfuncties voor wachtwoorden.
Om op te reflecteren heb ik nog dit punt. Het is opvallend hoe vaak bij IT-gerelateerde zaken mensen denken dat er één superieure keuze zou moeten zijn. Jij hebt dit met hashalgoritmes, een ander stoort zich aan het grote aantal Linux-distributies, of snapt niet dat niet iedereen het naar hun mening duidelijk superieure programma X gebruikt voor een bepaalde toepassing. Jij zou je bijvoorbeeld kunnen afvragen waarom er überhaupt alternatieven bestaan voor Kodi.
Tegelijk hoor ik nooit iemand zich afvragen waarom niet iedereen in dezelfde auto rijdt, zijn huis exact hetzelfde inricht, precies dezelfde kleren draagt. Die hang naar eenvormigheid is in het IT-domein over het algemeen veel sterker dan daarbuiten.
Voor zover ik kan beoordelen komt dit vaak voort uit het idee dat het inefficiënt is om het wiel opnieuw uit te vinden (waarom zou je een kant en klare component nog moeten maken als hij al bestaat), en efficiënt om incompatibiliteiten te vermijden door allemaal hetzelfde te gebruiken. En de keuzestress die voortkomt uit diversiteit van dingen die zo complex zijn dat ze moeilijk goed te beoordelen zijn is er natuurlijk ook. Dat zijn legitieme punten, maar daar staat tegenover dat eenvormigheid kwetsbaarheden oplevert.
Bij hashalgoritmes is het risico dat als de hash die iedereen gebruikt gekraakt wordt iedereen voortaan zonder sterk hashalgoritme verder moet, als er geen alternatieven zijn. Als dat ene OS of die ene applicatie die iedereen gebruikt een vernietigend zero-day-lek heeft dan is een gebrek aan alternatieven en diversiteit in de toepassing ervan opeens een serieus probleem. Buiten de IT zie je momenteel dat de monocultuur in de bananenteelt die hele industrie bedreigt omdat er een ziekte is die ze niet weten te bestrijden.
En als de bron van die ene variant die iedereen gebruikt een commerciële reus is levert dat monopolie het risico op dat er weinig energie in de verdere verbetering van het produkt wordt gestoken en/of meer aandacht wordt besteed aan het uitmelken van klanten of gebruikers. Microsoft heeft op de desktop en met IE6 in die positie gezeten; over Oracle hoor je op IT-forums de nodige horrorverhalen; in de mainframewereld kocht CA ooit al zijn concurrenten op om vervolgens de ontwikkeling van die produkten op een laag pitje te zetten en tegelijk de licentiekosten te verdubbelen; Facebook en Google exploiteren persoonsgegevens van een groot deel van de wereldbevolking; er zijn voorbeelden in overvloed.
Eenvormigheid lijkt het leven makkelijk te maken maar op de langere termijn kan het juist grote nadelen hebben. Best iets om bij stil te staan als je je weer eens afvraagt of er niet één superieure oplossing is voor iets en waarom niet iedereen die gebruikt.