Skip to content
This repository has been archived by the owner on Sep 8, 2022. It is now read-only.

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Mike Lodder committed Dec 2, 2021
0 parents commit dc0a42b
Show file tree
Hide file tree
Showing 322 changed files with 77,883 additions and 0 deletions.
19 changes: 19 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib

# Test binary, built with `go test -c`
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out

# Dependency directories (remove the comment below to include it)
# vendor/
.idea/

.DS_Store
vendor/
37 changes: 37 additions & 0 deletions .spdx.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#
# Copyright Coinbase, Inc. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#
copyright: Copyright Coinbase, Inc. All Rights Reserved.
license: Apache-2.0
comments:
gitignore: '#'
dockerignore: '#'
sh: '#'
py: '#'
pl: '#'
rb: '#'
yml: '#'
yaml: '#'
go: '//'
rs: '//'
ignore:
- 'testdata/'
- 'test/data'
- 'Cargo\.lock$'
- 'Cargo\.toml$'
- 'target'
- 'go\.mod$'
- 'go\.sum$'
- '\.gitignore$'
- '\.dockerignore$'
- '\.git$'
- '\.idea$'
- '\.vscode$'
- '\bLICENSE$'
- '\w+\.md$'
- '\w+\.pdf$'
- 'Makefile$'
- .DS_Store
- '\w+\.dat$'
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Changelog

All notable changes to this repo will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## v1.5.0
- Add BLS12-381 curve
- Add BLS signatures

## v1.4.1
- Update accumulator implementation to use alias-ing instead of one field structs
- Update accumulator implementation marshaling implementation

## v1.4.0
- Update verifiable encryption API

## v1.3.0
- Add Accumulator
- Update for new curve abstraction
- Update verifiable encryption API

## v1.2.0

- Add Verifiable Encryption
- Add FROST DKG
- Add DKLS threshold signing
- Add curve abstraction
- Pasta Curves: Pallas and Vesta
- BBS+ signatures

## v1.1.0

- Add recovery id to output of tECDSA signatures in Round 6
- Add Neg and Bytes to EcScalar
- Add SubFieldOrder to Field struct

## v1.0.0
### Added

- This document and other meta-information
- tECDSA dealered and distributed key generations
- tECDSA based on [GG20](https://eprint.iacr.org/2020/540.pdf) signing
- Gennaro [DKG07](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.134.6445&rep=rep1&type=pdf) usable for Ed25519 and BLS keys.
- Shamir Secret Sharing
- Feldman Verifiable Secret Sharing
- Pedersen Verifiable Secret Sharing
- Paillier Encryption Scheme
95 changes: 95 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Contributing to Kryptology

Kryptology is Apache 2.0 licensed and accepts contributions via
GitHub pull requests.

# Ways to contribute to Kryptology

- Bugs or issues: Report problems or defects as github issues
- Features and enhancements: Provide expanded capabilities or optimizations
- Documentation: Improve existing documentation or create new information
- Tests for events and results:
- Functional
- Performance
- Usability
- Security
- Localization
- Recovery
- Deployability

# The Commit Process

When contributing code, please follow these guidelines:

- Fork the repository and make your changes in a feature branch
- Include unit and integration tests for any new features and updates to existing tests
- Ensure that the unit and integration tests run successfully.
- Check that the lint tests pass

## Important
Use `git rebase origin/master` to limit creating merge commits.
Kryptology accepts single commits. If you have more than one, they will be
squashed when merged.

## Commit Email Address
Your commit email address must match your GitHub or GitLab email address. For more information, see https://help.github.com/articles/setting-your-commit-email-address-in-git/.

## Commit messages

Each commit message consists of a header, a body, and a footer.

The header includes a type, a scope and a subject:

```markdown
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
```

`<subject>` *required*, must not be longer than 100 characters.

`<type` *required*, must be lower case and have one of the following values:

- `build:` changes that affect the build system or external dependencies. Kryptology uses buildkite.
- `chore:` some minor change that doesn't fall in any of the other types
- `ci:` changes to the continuous integration configuration files
- `docs:` documentation only change
- `feat:` new feature
- `fix:` a bug fix

`<scope>` *optional*, must be lower case and have a tag about which primitive it affects like 'tecdsa/dkls', 'paillier', 'verenc'.

`<subject>` *optional*, must be lower case and not end in a period describing changes in the imperative-mood.

`<body>` *optional*, characters no more 100 wide, must have a blank line above it describing changes in the imperative-mood.

`<footer>` *optional*, must not be longer than 100 characters.

For more information see [here](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716)

**Kryptology requires that all commits are signed by a PGP key.**

## Issues and Bugs

If you find a bug in the source code, help us by submitting an issue to the repository. Even better, submit a Pull Request with a fix.

Before submitting an issue search the archive, maybe your question is already answered.

If the issue is a bug, and hasn't been reported, open a new issue. Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues.

For security bugs see the security [policy](SECURITY.md).

In general, providing the following information will increase the chances of the issue being handled quickly:

**Expected Behavior** - Is there documentation or an example that represents the discrepancy?

**Actual Behavior** - Be sure to explain why this is a bug for you.

**Steps to Reproduce the Problem** - Code snippets and screen shots are always helpful.

**Environment** - What hardware, OS, and versions are you using?

**Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point to what might cause the problem (line of code or commit)

Loading

0 comments on commit dc0a42b

Please sign in to comment.