CertifiK.io adopte js-sha3 pour le hachage côté client : un choix stratégique

Chez CertifiK.io, nous garantissons l’intégrité et la traçabilité des documents numériques grâce au hachage cryptographique et à l’inscription sur la blockchain Algorand. Récemment, nous avons décidé de déplacer le processus de hachage côté client et avons soigneusement évalué les solutions disponibles. Deux options principales s’offraient à nous : l’API native crypto.subtle et la bibliothèque js-sha3. Après analyse, nous avons choisi js-sha3. Voici pourquoi.

Pourquoi ce choix ?

Un support natif de SHA-3

L’un des critères décisifs a été la compatibilité avec SHA-3. Contrairement à crypto.subtle, qui prend en charge SHA-1, SHA-256 et SHA-512, js-sha3 permet d’utiliser SHA3-256 et SHA3-512. SHA-3 est une évolution majeure en matière de sécurité, offrant une meilleure résistance aux attaques. En optant dès maintenant pour cet algorithme, nous anticipons l’avenir et évitons d’avoir à changer d’outil plus tard.

Portabilité et flexibilité accrues

Contrairement à crypto.subtle, qui impose un environnement sécurisé (HTTPS ou localhost), js-sha3 fonctionne dans tous les contextes. Cela simplifie les tests et le développement, offrant une adaptabilité précieuse.

Contrôle et personnalisation

Étant open-source, js-sha3 nous donne un accès total à son code, ce qui permet de l’inspecter, de l’optimiser et de l’adapter à nos besoins. Avec crypto.subtle, cette personnalisation n’est pas possible, car l’API est intégrée aux navigateurs.

Facilité d’intégration

L’utilisation de js-sha3 est simple : une seule ligne de code et la bibliothèque est prête à l’emploi. De plus, notre implémentation n’introduit aucune dépendance à un réseau de diffusion de contenu (CDN) puisque nous hébergeons le script localement.

Les compromis acceptés

Bien que js-sha3 offre de nombreux avantages, il n’est pas parfait :

Toutefois, ces inconvénients sont largement compensés par la compatibilité avec SHA-3, la flexibilité et la simplicité d’utilisation.

Une veille active sur crypto.subtle

Bien que nous ayons opté pour js-sha3 aujourd’hui, nous suivrons de près les évolutions de crypto.subtle. Si l’API finit par supporter SHA-3, nous ne nous priverons pas de ses performances exceptionnelles, notamment grâce à l’exploitation des instructions matérielles des ordinateurs clients.

Conclusion

Nous avons choisi js-sha3 pour sa compatibilité avec SHA-3, sa portabilité, sa flexibilité et son contrôle total sur le code. Ce choix nous permet d’anticiper l’évolution des standards de sécurité tout en offrant une solution robuste et adaptable à nos utilisateurs. Dans un prochain article, nous détaillerons l’implémentation technique de cette solution et son impact sur la sécurité à long terme.