@li0ard/streebog

Streebog hash function in pure TypeScript

https://github.com/li0ard/streebog

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.4%) to scientific vocabulary

Keywords

crypto gost streebog
Last synced: 6 months ago · JSON representation ·

Repository

Streebog hash function in pure TypeScript

Basic Info
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 5
Topics
crypto gost streebog
Created 8 months ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

@li0ard/streebog
Streebog hash function in pure TypeScript
docs




[!WARNING] This library is currently in alpha stage: the lib is not very stable yet, and there may be a lot of bugs feel free to try it out, though, any feedback is appreciated!

Installation

```bash

from NPM

npm i @li0ard/streebog

from JSR

bunx jsr i @li0ard/streebog ```

Supported modes

  • [x] Hash function
  • [x] PBKDF2 (for 512 bit)
  • [x] HMAC (256/512 bit)
  • [x] KDF_GOSTR3411_2012_256 and KDF_TREE_GOSTR3411_2012_256

Features

  • Provides simple and modern API
  • Most of the APIs are strictly typed
  • Fully complies with GOST R 34.11-2012 (RFC 6986) standards
  • Supports Bun, Node.js, Deno, Browsers

Examples

Streebog 256 bit (aka GOST R 34.11-2012 256 bit)

```ts import { streebog256 } from "@li0ard/streebog"

console.log(streebog256(new TextEncoder().encode("hello world")))

// OR

import { Streebog256 } from "@li0ard/streebog"

const hash = new Streebog256() hash.update(new TextEncoder().encode("hello world")) console.log(hash.digest()) ```

Streebog 512 bit (aka GOST R 34.11-2012 512 bit)

```ts import { streebog512 } from "@li0ard/streebog"

console.log(streebog512(new TextEncoder().encode("hello world")))

// OR

import { Streebog512 } from "@li0ard/streebog"

const hash = new Streebog512() hash.update(new TextEncoder().encode("hello world")) console.log(hash.digest()) ```

Owner

  • Name: Artem Petrenko
  • Login: li0ard
  • Kind: user
  • Location: Amsterdam

- CEO at @nextlng; Web admin at @tosvasq

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: streebog
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Nikolai
    family-names: Konovalov
    email: li0ard@li0ard.rest
    affiliation: TheInfinityWay
    orcid: 'https://orcid.org/0009-0008-6084-7154'
repository-code: 'https://github.com/li0ard/streebog'
abstract: Streebog hash function in pure TypeScript
keywords:
  - gost
  - crypto
  - streebog
license: MIT

GitHub Events

Total
  • Release event: 2
  • Push event: 11
  • Create event: 2
Last Year
  • Release event: 2
  • Push event: 11
  • Create event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 7
  • Total Committers: 1
  • Avg Commits per committer: 7.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 7
  • Committers: 1
  • Avg Commits per committer: 7.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Lizard l****d@p****e 7
Committer Domains (Top 20 + Academic)

Packages

  • Total packages: 1
  • Total downloads:
    • npm 385 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 6
  • Total maintainers: 1
npmjs.org: @li0ard/streebog

Streebog hash function in pure TypeScript

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 385 Last month
Rankings
Dependent repos count: 24.3%
Average: 29.7%
Dependent packages count: 35.1%
Maintainers (1)
Last synced: 7 months ago

Dependencies

.github/workflows/jsr.yml actions
  • actions/checkout v4 composite
  • oven-sh/setup-bun v2 composite
.github/workflows/npm.yml actions
  • actions/checkout v4 composite
  • oven-sh/setup-bun v2 composite
.github/workflows/test.yml actions
  • actions/checkout v4 composite
  • oven-sh/setup-bun v2 composite
package.json npm
  • @types/bun latest development