summaryrefslogtreecommitdiff
path: root/std/hash/_sha3/keccak.ts
diff options
context:
space:
mode:
authorskdltmxn <supershop@naver.com>2020-06-05 04:14:36 +0900
committerGitHub <noreply@github.com>2020-06-04 15:14:36 -0400
commite05ed537130eff116b48af02d1eb6ce65953e7d8 (patch)
tree0bd1ca235ad9ed89ca602c384ab39301346afe24 /std/hash/_sha3/keccak.ts
parent430beebc46be1dc87a993c2f7442c5c22076f458 (diff)
feat(std/hash): add sha3 (#5558)
Diffstat (limited to 'std/hash/_sha3/keccak.ts')
-rw-r--r--std/hash/_sha3/keccak.ts52
1 files changed, 52 insertions, 0 deletions
diff --git a/std/hash/_sha3/keccak.ts b/std/hash/_sha3/keccak.ts
new file mode 100644
index 000000000..67cccca3c
--- /dev/null
+++ b/std/hash/_sha3/keccak.ts
@@ -0,0 +1,52 @@
+// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+
+import { Sponge } from "./sponge.ts";
+import { keccakf } from "./keccakf.ts";
+
+/** Keccak-224 hash */
+export class Keccak224 extends Sponge {
+ constructor() {
+ super({
+ bitsize: 224,
+ rate: 144,
+ dsbyte: 1,
+ permutator: keccakf,
+ });
+ }
+}
+
+/** Keccak-256 hash */
+export class Keccak256 extends Sponge {
+ constructor() {
+ super({
+ bitsize: 256,
+ rate: 136,
+ dsbyte: 1,
+ permutator: keccakf,
+ });
+ }
+}
+
+/** Keccak-384 hash */
+export class Keccak384 extends Sponge {
+ constructor() {
+ super({
+ bitsize: 384,
+ rate: 104,
+ dsbyte: 1,
+ permutator: keccakf,
+ });
+ }
+}
+
+/** Keccak-512 hash */
+export class Keccak512 extends Sponge {
+ constructor() {
+ super({
+ bitsize: 512,
+ rate: 72,
+ dsbyte: 1,
+ permutator: keccakf,
+ });
+ }
+}