otr, la bibliothèque JavaScript qui implémente le protocole de cryptographie Off-the-Record Messaging

La bibliothèque JavaScript otr a pour but d'implémenter le protocole de cryptographie Off-the-Record Messaging. C'est un protocole qui utilise de l'AES, du Diffie-Hellman et du SHA-1 offrant ainsi un chiffrement, une authentification, l'impossibilité d'intrusion, etc. Il est principalement utilisé pour les messageries instantanées.

Dans notre cas, otr peut être utilisé dans les navigateurs ou bien avec Node. Il est par exemple employé par Cryptocat.

Pour une utilisation côté client, dans le navigateur, utilisez :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<!-- Load dependencies -->
<script src="build/dep/seedrandom.js"></script>
<script src="build/dep/bigint.js"></script>
<script src="build/dep/crypto.js"></script>
 
<!-- Load otr.js or otr.min.js -->
<script src="build/otr.min.js"></script>

Pour une utilisation côté serveur, avec Node, installez-le de cette manière :

Vous devrez alors déclarer les variables et les utiliser comme ceci :

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
var DSA = require('otr').DSA
var OTR = require('otr').OTR
 
var myKey = new DSA()
var myMessage = new OTR(myKey, callback, message, options)

Le projet sur github.
D'après un article sur DailyJS. Cet article parle également de matches.js et de mariasql.