2013-04-04 08:28:07 -04:00
|
|
|
module("NaCl Crypto");
|
|
|
|
|
|
|
|
var nacl_test = {
|
|
|
|
keySize: 128
|
|
|
|
};
|
|
|
|
|
|
|
|
test("Init", 1, function() {
|
|
|
|
// init dependencies
|
2013-04-05 11:43:41 -04:00
|
|
|
var util = new app.crypto.Util(window, uuid);
|
|
|
|
ok(util, 'Util');
|
2013-04-04 08:28:07 -04:00
|
|
|
// generate test data
|
|
|
|
nacl_test.test_message = new TestData().generateBigString(1000);
|
2013-04-05 11:43:41 -04:00
|
|
|
nacl_test.crypto = new app.crypto.NaclCrypto(util);
|
2013-04-04 08:28:07 -04:00
|
|
|
});
|
|
|
|
|
2013-04-05 11:43:41 -04:00
|
|
|
// test("Generate Keypair from seed", 2, function() {
|
|
|
|
// // generate keypair from seed
|
|
|
|
// var keys = nacl_test.crypto.generateKeypair();
|
|
|
|
// ok(keys.boxSk && keys.boxPk, "Keypair: " + JSON.stringify(keys));
|
|
|
|
// });
|
|
|
|
|
2013-04-04 15:36:29 -04:00
|
|
|
test("Generate Keypair", 2, function() {
|
2013-04-04 08:28:07 -04:00
|
|
|
// generate keypair from seed
|
2013-04-04 15:36:29 -04:00
|
|
|
var senderKeypair = nacl_test.crypto.generateKeypair();
|
|
|
|
ok(senderKeypair.boxSk && senderKeypair.boxPk, "Sender keypair: " + JSON.stringify(senderKeypair));
|
|
|
|
var recipientKeypair = nacl_test.crypto.generateKeypair();
|
|
|
|
ok(recipientKeypair.boxSk && recipientKeypair.boxPk, "Receiver keypair: " + JSON.stringify(recipientKeypair));
|
|
|
|
|
|
|
|
nacl_test.senderKeypair = senderKeypair;
|
|
|
|
nacl_test.recipientKeypair = recipientKeypair;
|
2013-04-04 08:28:07 -04:00
|
|
|
});
|
|
|
|
|
|
|
|
test("En/Decrypt", 2, function() {
|
|
|
|
var plaintext = nacl_test.test_message;
|
|
|
|
|
|
|
|
// encrypt
|
2013-04-04 15:36:29 -04:00
|
|
|
var ct = nacl_test.crypto.asymmetricEncrypt(plaintext, nacl_test.recipientKeypair.boxPk, nacl_test.senderKeypair.boxSk);
|
|
|
|
ok(ct.ct && ct.nonce, 'Ciphertext length: ' + ct.ct.length);
|
2013-04-04 08:28:07 -04:00
|
|
|
|
|
|
|
// decrypt
|
2013-04-04 15:36:29 -04:00
|
|
|
var decrypted = nacl_test.crypto.asymmetricDecrypt(ct.ct, ct.nonce, nacl_test.senderKeypair.boxPk, nacl_test.recipientKeypair.boxSk);
|
2013-04-04 08:28:07 -04:00
|
|
|
equal(decrypted, plaintext, 'Decryption correct: ' + decrypted);
|
|
|
|
});
|