blob: 1353186b6cec4252e7ada0ebe6f722d2e47369b9 [file] [log] [blame]
<!DOCTYPE HTML>
<html>
<head>
<title>JavaScript Test NHS</title>
</head>
<body>
<h1>JavaScript Test NHS</h1>
<script type="text/javascript"src=./rand.js></script>
<script type="text/javascript"src=./uint64.js></script>
<script type="text/javascript"src=./aes.js></script>
<script type="text/javascript"src=./big.js></script>
<script type="text/javascript"src=./gcm.js></script>
<script type="text/javascript"src=./hash256.js></script>
<script type="text/javascript"src=./hash384.js></script>
<script type="text/javascript"src=./hash512.js></script>
<script type="text/javascript"src=./sha3.js></script>
<script type="text/javascript"src=./nhs.js></script>
<script type="text/javascript"src=./ctx.js></script>
<script>
// Test NewHope Simple
// See https://eprint.iacr.org/2016/1157 (Alkim, Ducas, Popplemann and Schwabe)
var ctx = new CTX();
var RAW=[];
var srng=new ctx.RAND(); srng.clean();
var crng=new ctx.RAND(); crng.clean();
for (i=0;i<100;i++) RAW[i]=i+1;
srng.seed(100,RAW);
for (i=0;i<100;i++) RAW[i]=i+2;
crng.seed(100,RAW);
var S=[];
var SB=[];
var UC=[];
var KEYA=[];
var KEYB=[];
ctx.NHS.SERVER_1(srng,SB,S);
ctx.NHS.CLIENT(crng,SB,UC,KEYB);
ctx.NHS.SERVER_2(S,UC,KEYA);
window.document.write("Alice Key= 0x"+ctx.NHS.bytestostring(KEYA)+ "<br>");
window.document.write("Bob's Key= 0x"+ctx.NHS.bytestostring(KEYB)+ "<br>");
</script>
</body>
</html>