@BurnerR: Danke!
a) Die Original-Builds von sjcl funktionieren nicht, da das Modul für elliptische Kurven standardmäßig nicht aktiviert ist. Und alle existierenden, vollständigen Builds sind veraltet und inoffiziell. Deshalb muss sjcl selbst gebauert werden - da das aber nicht cross-platform funktioniert liegt in Repository eine vorgebaute Version mit allen benötigten Modulen. Das Script zum Bauen liegt dort ebenfalls. Wenn du die sjcl.js im Repository überprüfen willst kannst du das theoretisch selbst einmal bauen und die Ergebnisse vergleichen. Zumindest auf den 2 Rechnern hier war das Ergebnis byte-für-byte das Gleiche.
b) Das kann man mit den Integrity-Hashes herausfinden. Wenn du dir den Quellcode der ausgelieferten Seite anzeigen lässt und nach "integrity" suchst findest du Hash-Werte des ausgelieferten Javascript-Codes. Dein Browser prüft automatisch, ob die Hashes mit den Javascript-Dateien übereinstimmen. Die Hashes kannst du mit den Werten aus dem Github-Release vergleichen, bzw mit denen aus dem Github-Buildvorgang (leider nur mit Github-Account zugänglich). Dieser Build ist insofern unverändert, dass er nicht von mir, sondern von Github selber ausgeführt wurde, und die dazu benötigen Scripte und Runtime im Repository / im Workflow dokumentiert wurden. Für Version 1.0.0 sind das diese Hashes:
Code:
runtime.3fbcc8afee7e161059ed.js: integrity="sha384-6cc7i/rcOci3G2xlzyK2DejMQD5jP0sDqKvuxh39rz1mV9uxyYs1kB8S2HQGAO/w
polyfills.569c82fc09bfd8b4c0e3.js: integrity="sha384-As5q9yYFA9urKEFtE98SzhpQoxhSMNE/rGVzeTAN/RwGdZbC1nM8HuUk1kfNVunT
main.5bdcc7d14a78ef53ca86.js: integrity="sha384-JAbjnx1DdiapShcTzibqbN+Vsd9/f9TK/vEI3wxEa77b888pVqh+kNUHcgJvCBMe
Falls diese Hashes übereinstimmen sind die ausgelieferten Files ein clean build des unveränderten Repositories, ausgeführt von Unbeteiligten.