Skip to content

Commit

Permalink
external/kyber/bn256: fix order for scalar
Browse files Browse the repository at this point in the history
  • Loading branch information
tharvik committed Jan 8, 2020
1 parent 22d572e commit 1fa545d
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 14 deletions.
10 changes: 5 additions & 5 deletions external/js/kyber/spec/pairing/scalar.spec.ts
@@ -1,6 +1,6 @@
import BN from "bn.js";
import jsc from "jsverify";
import { p } from "../../src/pairing/constants";
import { order } from "../../src/pairing/constants";
import BN256Scalar from "../../src/pairing/scalar";

describe("BN256 Scalar Tests", () => {
Expand All @@ -12,7 +12,7 @@ describe("BN256 Scalar Tests", () => {
sum.add(sA, sB);
sum.add(sum, new BN256Scalar().zero());

return sum.getValue().eq(new BN(a + b).umod(p));
return sum.getValue().eq(new BN(a + b).umod(order));
});

// @ts-ignore
Expand All @@ -26,7 +26,7 @@ describe("BN256 Scalar Tests", () => {
const res = new BN256Scalar();
res.sub(sA, sB);

return res.getValue().eq(new BN(a - b).umod(p));
return res.getValue().eq(new BN(a - b).umod(order));
});

// @ts-ignore
Expand All @@ -40,7 +40,7 @@ describe("BN256 Scalar Tests", () => {
const res = new BN256Scalar();
res.mul(sA, sB);

return res.getValue().eq(new BN(a * b).umod(p));
return res.getValue().eq(new BN(a * b).umod(order));
});

// @ts-ignore
Expand All @@ -54,7 +54,7 @@ describe("BN256 Scalar Tests", () => {
const res = new BN256Scalar();
res.div(sA, sB);

return res.getValue().eq(new BN(a).umod(p));
return res.getValue().eq(new BN(a).umod(order));
});

// @ts-ignore
Expand Down
18 changes: 9 additions & 9 deletions external/js/kyber/src/pairing/scalar.ts
Expand Up @@ -2,7 +2,7 @@ import BN from "bn.js";
import { randomBytes } from "crypto-browserify";
import { Scalar } from "../index";
import { int } from "../random";
import { p } from "./constants";
import { order } from "./constants";

export type BNType = number | string | number[] | Buffer | BN;

Expand All @@ -13,7 +13,7 @@ export default class BN256Scalar implements Scalar {
private v: BN;

constructor(value?: BNType) {
this.v = new BN(value).umod(p);
this.v = new BN(value).umod(order);
}

/**
Expand Down Expand Up @@ -44,45 +44,45 @@ export default class BN256Scalar implements Scalar {

/** @inheritdoc */
add(a: BN256Scalar, b: BN256Scalar): BN256Scalar {
this.v = a.v.add(b.v).umod(p);
this.v = a.v.add(b.v).umod(order);
return this;
}

/** @inheritdoc */
sub(a: BN256Scalar, b: BN256Scalar): BN256Scalar {
this.v = a.v.sub(b.v).umod(p);
this.v = a.v.sub(b.v).umod(order);
return this;
}

/** @inheritdoc */
neg(a: BN256Scalar): BN256Scalar {
this.v = a.v.neg().umod(p);
this.v = a.v.neg().umod(order);
return this;
}

/** @inheritdoc */
div(a: BN256Scalar, b: BN256Scalar): BN256Scalar {
this.v = a.v.div(b.v).umod(p);
this.v = a.v.div(b.v).umod(order);
return this;
}

/** @inheritdoc */
mul(s1: BN256Scalar, b: BN256Scalar): BN256Scalar {
this.v = s1.v.mul(b.v).umod(p);
this.v = s1.v.mul(b.v).umod(order);
return this;
}

/** @inheritdoc */
inv(a: BN256Scalar): BN256Scalar {
this.v = a.v.invm(p);
this.v = a.v.invm(order);
return this;
}

/** @inheritdoc */
pick(callback?: (length: number) => Buffer): BN256Scalar {
callback = callback || randomBytes;

const bytes = int(p, callback);
const bytes = int(order, callback);
this.setBytes(bytes);
return this;
}
Expand Down

0 comments on commit 1fa545d

Please sign in to comment.