<!DOCTYPE html>

<!--- Example code written by Bingsheng Zhang -->
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset="utf-8">
    <title>Demos2</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<!-- Bootstrap core CSS -->
	<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
	<!-- Optional theme -->
	<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css">
	<style type="text/css">
	/* Sticky footer styles */
	html,
	body {
  	height: 100%;
  	/* The html and body elements cannot have any padding or margin. */
	}
	/* Wrapper for page content to push down footer */
	#wrap {
  	min-height: 100%;
  	height: auto;
  	/* Negative indent footer by its height */
  	margin: 0 auto -60px;
  	/* Pad bottom by footer height */
  	padding: 0 0 60px;
	}
	</style>
	<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
    <![endif]-->
</head>
		
<body>

<!-- Wrap all page content here -->
<div id="wrap">

<div class="form-group">
<input type="text" id="numa" name="A" placeholder="Message" class="form-control">
</br>

<input type="text" id="numc" name="C" placeholder="Key" class="form-control">
</br>
<button type="button" id="add" class="btn btn-success">Encrypt</button>
</div>
<input type="text" id="numb" name="B" placeholder="Ciphertext" class="form-control">
</br>

</br>


<ul id="DecomList">

</ul>

</div>


    <!-- Footer -->
    <div id="footer">
      <div class="container">
        <p class="text-muted">Test trustee API</p>
      </div>
    </div>

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://code.jquery.com/jquery.js"></script>
<!-- Bootstrap core JavaScript -->
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>


<!-- Crypto JS -->
    <script type="text/javascript" src=./core/rand.js></script>
    <script type="text/javascript" src=./core/rom_curve.js></script>
    <script type="text/javascript" src=./core/rom_field.js></script>
    <script type="text/javascript" src=./core/uint64.js></script>
    <script type="text/javascript" src=./core/aes.js></script>
    <script type="text/javascript" src=./core/big.js></script>
    <script type="text/javascript" src=./core/gcm.js></script>
    <script type="text/javascript" src=./core/hash256.js></script>
    <script type="text/javascript" src=./core/hash384.js></script>
    <script type="text/javascript" src=./core/hash512.js></script>
    <script type="text/javascript" src=./core/sha3.js></script>
    <script type="text/javascript" src=./core/newhope.js></script>
    <script type="text/javascript" src=./core/nhs.js></script>
    <script type="text/javascript" src=./core/fp.js></script>
    <script type="text/javascript" src=./core/fp2.js></script>
    <script type="text/javascript" src=./core/fp4.js></script>
    <script type="text/javascript" src=./core/fp12.js></script>
    <script type="text/javascript" src=./core/ff.js></script>
    <script type="text/javascript" src=./core/rsa.js></script>
    <script type="text/javascript" src=./core/ecp.js></script>
    <script type="text/javascript" src=./core/ecp2.js></script>
    <script type="text/javascript" src=./core/ecdh.js></script>
    <script type="text/javascript" src=./core/pair.js></script>
    <script type="text/javascript" src=./core/mpin.js></script>
    <script type="text/javascript" src=./core/ctx.js></script>

    <script type="text/javascript" src="demos2-booth.js"></script>


</body>


<script type="text/javascript">


$(document).ready(function(){
  $("#add").click(function(){

    var params = gpGen(); 
    var keys = keyGen(params);
    console.log(keys.PK.toString());
    console.log(keys.SK.toString());
    var cipher = encrypt(params,keys.PK, 5);
    var string_c1 = cipher.C1.toString();
    console.log(cipher.C1.toString());
    console.log(cipher.C2.toString());

    //test decrypt

    var message = decrypt(params, keys.SK, cipher);
    console.log(message);

    //test combine key
    var k1 = keyGen(params);
    var k2 = keyGen(params);
    console.log(k1.PK.toString());
    console.log(k2.PK.toString());
    var PKs = new Array(k1.PK,k2.PK);
    var pk = combine(PKs);
    console.log(pk.PK.toString());   


    //test add cipher
    var c1 = encrypt(params,keys.PK, 3);
    var c2 = encrypt(params,keys.PK, 4);

    var cArray = new Array(c1,c2);
    var S = add(cArray);
    console.log(S.C1.toString());
    console.log(S.C2.toString());
    var msg = decrypt(params, keys.SK, S);
    console.log(msg);


    //test tally
    var Tc = encrypt(params,pk.PK, 3);
    var D1 = partDec(k1.SK, Tc);
    var D2 = partDec(k2.SK, Tc);
    var Ds = new Array(D1,D2);
    var tar = tally(params, Ds, Tc);
    console.log(tar);


    //window.document.write("Testing ElGamal encryption"+ "<br>");
    //window.document.write("C1: "+ string_c1 + "<br>");
    //window.document.write("C1: "+ string_c1 + "<br>");

 });
});
</script>




</html>