<script src="vjsc.js"></script>

Verificatum JavaScript Crypto library (VJSC)

Our JavaScript library serves as the cryptographic engine of a client based on JavaScript. Our software provides powerful abstractions that allow us to express the complex variations of encryption needed in electronic voting. It can unpack a public key, encrypt a message, and encode it as a string suitable for submission using 4-5 lines of code.

This reduces the problem of implementing a client to integrating a (typically pre-existing) authentication scheme and providing a user interface. This does not only reduce costs, it is also an important security property to reduce the risk of introducing bugs in ad hoc implementations.

We take the same uncompromising stance in the development of this software as for our mix-net. All the code is written from scratch and is exceptionally clean and well-tested. It is fully documented with pointers to the literature for all algorithms used. It is completely free of dependencies to other code and written conservatively without exploiting JavaScript centric features that harms readability for experts in security that rarely write code in JavaScript.

We have simply chosen the basic datastructures with care and the result is a library that is faster than any other library we are aware of containing similar functionality.

Read the technical documentation and download the software here!