mirror of
https://github.com/antontutoveanu/crystals-kyber-javascript.git
synced 2026-05-09 03:00:24 -04:00
feat: improve code quality by bringing variables up to local level
Now able to run with Babel and other utilities
This commit is contained in:
15
README.md
15
README.md
@@ -1,4 +1,3 @@
|
||||
|
||||
# CRYSTALS-KYBER JavaScript
|
||||
|
||||
<p align="center">
|
||||
@@ -39,17 +38,17 @@ import {K768_KeyGen, K768_Encrypt, K768_Decrypt} from 'crystals-kyber';
|
||||
To use in your code:
|
||||
```js
|
||||
// To generate a public and private key pair (pk, sk)
|
||||
var pk_sk = K768_KeyGen();
|
||||
var pk = pk_sk[0];
|
||||
var sk = pk_sk[1];
|
||||
let pk_sk = K768_KeyGen();
|
||||
let pk = pk_sk[0];
|
||||
let sk = pk_sk[1];
|
||||
|
||||
// To generate a random 256 bit symmetric key (ss) and its encapsulation (c)
|
||||
var c_ss = K768_Encrypt(pk);
|
||||
var c = c_ss[0];
|
||||
var ss1 = c_ss[1];
|
||||
let c_ss = K768_Encrypt(pk);
|
||||
let c = c_ss[0];
|
||||
let ss1 = c_ss[1];
|
||||
|
||||
// To decapsulate and obtain the same symmetric key
|
||||
var ss2 = K768_Decrypt(c,sk);
|
||||
let ss2 = K768_Decrypt(c,sk);
|
||||
```
|
||||
Test output:
|
||||
```bash
|
||||
|
||||
6
index.js
6
index.js
@@ -1,16 +1,16 @@
|
||||
import {KeyGen768, Encrypt768, Decrypt768} from './kyber768';
|
||||
|
||||
export function K768_KeyGen(){
|
||||
var pk_sk = KeyGen768();
|
||||
let pk_sk = KeyGen768();
|
||||
return pk_sk;
|
||||
}
|
||||
|
||||
export function K768_Encrypt(pk){
|
||||
var c_ss = Encrypt768(pk);
|
||||
let c_ss = Encrypt768(pk);
|
||||
return c_ss;
|
||||
}
|
||||
|
||||
export function K768_Decrypt(c,sk){
|
||||
var ss = Decrypt768(c,sk);
|
||||
let ss = Decrypt768(c,sk);
|
||||
return ss;
|
||||
}
|
||||
26
kyber512.js
26
kyber512.js
@@ -1317,28 +1317,4 @@ console.log("ss2",ss2);
|
||||
|
||||
// returns 1 if both symmetric keys are the same
|
||||
console.log(ArrayCompare(ss1, ss2));
|
||||
********************************************************/
|
||||
|
||||
|
||||
TestK512();
|
||||
|
||||
// To generate a public and private key pair (pk, sk)
|
||||
var pk_sk = KeyGen512();
|
||||
var pk = pk_sk[0];
|
||||
var sk = pk_sk[1];
|
||||
|
||||
// To generate a random 256 bit symmetric key (ss) and its encapsulation (c)
|
||||
var c_ss = Encrypt512(pk);
|
||||
var c = c_ss[0];
|
||||
var ss1 = c_ss[1];
|
||||
|
||||
// To decapsulate and obtain the same symmetric key
|
||||
var ss2 = Decrypt512(c, sk);
|
||||
|
||||
console.log("ss1", ss1);
|
||||
console.log("ss2",ss2);
|
||||
|
||||
// returns 1 if both symmetric keys are the same
|
||||
console.log(ArrayCompare(ss1, ss2));
|
||||
|
||||
// console.log(-12345 - Math.floor(-12345*(1/3329)) * 3329);
|
||||
********************************************************/
|
||||
532
kyber768.js
532
kyber768.js
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user