https://github.com/awslabs/aws-c-cal

Aws Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives.

https://github.com/awslabs/aws-c-cal

Science Score: 26.0%

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

  • 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 (10.2%) to scientific vocabulary

Keywords

hacktoberfest

Keywords from Contributors

aws-sdk
Last synced: 10 months ago · JSON representation

Repository

Aws Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives.

Basic Info
  • Host: GitHub
  • Owner: awslabs
  • License: apache-2.0
  • Language: C
  • Default Branch: main
  • Homepage:
  • Size: 2.05 MB
Statistics
  • Stars: 38
  • Watchers: 24
  • Forks: 44
  • Open Issues: 2
  • Releases: 90
Topics
hacktoberfest
Created over 7 years ago · Last pushed 11 months ago
Metadata Files
Readme Contributing License Code of conduct

README.md

AWS C Cal

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives.

License

This library is licensed under the Apache 2.0 License.

Supported Platforms

  • Windows (Vista and Later)
  • Apple (MacOS 10.15+, IOS 11+)
  • Unix (via OpenSSL compatible libcrypto)

Build Instructions

CMake 3.9+ is required to build.

<install-path> must be an absolute path in the following instructions.

Linux-Only Dependencies

If you are building on Linux, there are several options for crypto libraries. Preferred choice is aws-lc, that can be build as follows.

git clone git@github.com:awslabs/aws-lc.git cmake -S aws-lc -B aws-lc/build -DCMAKE_INSTALL_PREFIX=<install-path> cmake --build aws-lc/build --target install

Alternatively, OpenSSL versions 1.0.2 or 1.1.1 or BoringSSL at commit 9939e14 (other commits are not tested and not guaranteed to work) can be used. To build against OpenSSL or BoringSSL specify -DUSEOPENSSL=ON. Typical OpenSSL flags can be used to help project locate artifacts (-DLibCryptoINCLUDEDIR and -DLibCryptoSTATIC_LIBRARY)

Building aws-c-cal and Remaining Dependencies

``` git clone git@github.com:awslabs/aws-c-common.git cmake -S aws-c-common -B aws-c-common/build -DCMAKEINSTALLPREFIX= cmake --build aws-c-common/build --target install

git clone git@github.com:awslabs/aws-c-cal.git cmake -S aws-c-cal -B aws-c-cal/build -DCMAKEINSTALLPREFIX= -DCMAKEPREFIXPATH= cmake --build aws-c-cal/build --target install ```

Currently provided algorithms

Hashes

MD5

Streaming

struct aws_hash *hash = aws_md5_new(allocator); aws_hash_update(hash, &your_buffer); aws_hash_finalize(hash, &output_buffer, 0); aws_hash_destroy(hash);

One-Shot

aws_md5_compute(allocator, &your_buffer, &output_buffer, 0);

SHA256

Streaming

struct aws_hash *hash = aws_sha256_new(allocator); aws_hash_update(hash, &your_buffer); aws_hash_finalize(hash, &output_buffer, 0); aws_hash_destroy(hash);

One-Shot

aws_sha256_compute(allocator, &your_buffer, &output_buffer, 0);

HMAC

SHA256 HMAC

Streaming

struct aws_hmac *hmac = aws_sha256_hmac_new(allocator, &secret_buf); aws_hmac_update(hmac, &your_buffer); aws_hmac_finalize(hmac, &output_buffer, 0); aws_hmac_destroy(hmac);

One-Shot

aws_sha256_hmac_compute(allocator, &secret_buf, &your_buffer, &output_buffer, 0);

FAQ

I want more algorithms, what do I do?

Great! So do we! At a minimum, file an issue letting us know. If you want to file a Pull Request, we'd be happy to review and merge it when it's ready.

Who should consume this package directly?

Are you writing C directly? Then you should. Are you using any other programming language? This functionality will be exposed via that language specific crt packages.

I found a security vulnerability in this package. What do I do?

Due to the fact that this package is specifically performing cryptographic operations, please don't file a public issue. Instead, email aws-sdk-common-runtime@amazon.com, and we'll work with you directly.

Owner

  • Name: Amazon Web Services - Labs
  • Login: awslabs
  • Kind: organization
  • Location: Seattle, WA

AWS Labs

GitHub Events

Total
  • Create event: 36
  • Issues event: 4
  • Release event: 11
  • Watch event: 3
  • Delete event: 17
  • Issue comment event: 12
  • Push event: 155
  • Pull request review comment event: 37
  • Pull request review event: 34
  • Pull request event: 33
  • Fork event: 6
Last Year
  • Create event: 36
  • Issues event: 4
  • Release event: 11
  • Watch event: 3
  • Delete event: 17
  • Issue comment event: 12
  • Push event: 155
  • Pull request review comment event: 37
  • Pull request review event: 34
  • Pull request event: 33
  • Fork event: 6

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 230
  • Total Committers: 23
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.613
Past Year
  • Commits: 23
  • Committers: 9
  • Avg Commits per committer: 2.556
  • Development Distribution Score (DDS): 0.739
Top Committers
Name Email Commits
Jonathan M. Henson h****o@a****m 89
Justin Boswell b****j@a****m 66
Bret Ambrose b****e@g****m 18
Michael Graeb g****m@a****m 12
Bret Ambrose b****e@a****m 9
Henri Yandell h****l@u****m 7
Colden Cullen c****n@c****m 4
Dmitriy Musatkin 6****n@u****m 3
Joel Knight k****l@g****m 3
Dengke Tang 8****5@q****m 2
Dengke Tang d****t@a****m 2
Sergey Ryabinin s****k@g****m 2
Waqar Ahmed Khan w****7@g****m 2
ilevyor 8****r@u****m 2
TwistedTwigleg t****g@g****m 1
Andrew Tang t****1@1****m 1
Andrew Kaufman 5****n@u****m 1
David Oguns 3****S@u****m 1
Jonathan M. Henson j****n@g****m 1
Joseph Klix j****x@g****m 1
Pushen Wang w****0@h****m 1
Colden Cullen c****n@a****m 1
Uwe L. Korn x****y@u****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 17
  • Total pull requests: 165
  • Average time to close issues: 12 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 15
  • Total pull request authors: 33
  • Average comments per issue: 2.06
  • Average comments per pull request: 0.16
  • Merged pull requests: 141
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 32
  • Average time to close issues: 5 days
  • Average time to close pull requests: 4 days
  • Issue authors: 2
  • Pull request authors: 6
  • Average comments per issue: 4.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 30
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • xhochy (2)
  • nunotexbsd (2)
  • glaubitz (1)
  • thomas-roos (1)
  • rpcme (1)
  • mayurpatelgec (1)
  • justinboswell (1)
  • BestITUserEUW (1)
  • petreeftime (1)
  • kyusic (1)
  • jmklix (1)
  • Octogonapus (1)
  • stewartsmith (1)
  • sathishk-r (1)
  • SpaceIm (1)
Pull Request Authors
  • DmitriyMusatkin (34)
  • graebm (28)
  • TingDaoK (22)
  • bretambrose (15)
  • JonathanHenson (11)
  • waahm7 (11)
  • justinboswell (11)
  • jmklix (7)
  • knightjoel (6)
  • sbiscigl (6)
  • ilevyor (5)
  • WillChilds-Klein (4)
  • SpaceIm (2)
  • sbSteveK (2)
  • alfred2g (2)
Top Labels
Issue Labels
bug (8) p2 (5) response-requested (4) p3 (3) feature-request (2) closing-soon (2) pending-release (2) closed-for-staleness (2) needs-triage (2) potential-regression (1) documentation (1)
Pull Request Labels
needs-review (4)

Packages

  • Total packages: 16
  • Total downloads:
    • homebrew 3,432 last-month
  • Total dependent packages: 22
    (may contain duplicates)
  • Total dependent repositories: 35
    (may contain duplicates)
  • Total versions: 189
  • Total maintainers: 3
proxy.golang.org: github.com/awslabs/aws-c-cal
  • Versions: 90
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 4.1%
Stargazers count: 6.9%
Average: 7.8%
Dependent packages count: 9.6%
Dependent repos count: 10.8%
Last synced: 11 months ago
alpine-v3.18: aws-c-cal

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives

  • Versions: 4
  • Dependent Packages: 11
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 11.0%
Forks count: 19.2%
Stargazers count: 24.8%
Maintainers (1)
Last synced: 11 months ago
alpine-v3.18: aws-c-cal-dev

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives (development files)

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 11.0%
Forks count: 19.2%
Stargazers count: 24.8%
Maintainers (1)
Last synced: 11 months ago
alpine-edge: aws-c-cal

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives

  • Versions: 25
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 14.6%
Average: 15.0%
Forks count: 19.3%
Stargazers count: 26.2%
Maintainers (1)
Last synced: 11 months ago
alpine-edge: aws-c-cal-dev

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives (development files)

  • Versions: 25
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 14.6%
Average: 15.1%
Forks count: 19.6%
Stargazers count: 26.2%
Maintainers (1)
Last synced: 11 months ago
conda-forge.org: aws-c-cal
  • Versions: 18
  • Dependent Packages: 5
  • Dependent Repositories: 35
Rankings
Dependent repos count: 6.2%
Dependent packages count: 10.4%
Average: 23.6%
Forks count: 30.7%
Stargazers count: 47.1%
Last synced: 11 months ago
formulae.brew.sh: aws-c-cal

AWS Crypto Abstraction Layer

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3,432 Last month
Rankings
Dependent packages count: 17.9%
Average: 45.5%
Dependent repos count: 52.0%
Downloads: 66.5%
Last synced: 11 months ago
anaconda.org: aws-c-cal

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives.

  • Versions: 3
  • Dependent Packages: 6
  • Dependent Repositories: 0
Rankings
Dependent packages count: 50.7%
Average: 55.2%
Dependent repos count: 59.6%
Last synced: 11 months ago
alpine-v3.19: aws-c-cal-dev

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives (development files)

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Last synced: 11 months ago
alpine-v3.22: aws-c-cal

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 11 months ago
alpine-v3.20: aws-c-cal

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Last synced: 11 months ago
alpine-v3.22: aws-c-cal-dev

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives (development files)

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 11 months ago
alpine-v3.21: aws-c-cal-dev

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives (development files)

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 11 months ago
alpine-v3.21: aws-c-cal

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 11 months ago
alpine-v3.20: aws-c-cal-dev

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives (development files)

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Last synced: 11 months ago
alpine-v3.19: aws-c-cal

AWS Crypto Abstraction Layer: Cross-Platform, C99 wrapper for cryptography primitives

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Last synced: 11 months ago

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • cross-platform-actions/action v0.10.0 composite
.github/workflows/clang-format.yml actions
  • DoozyX/clang-format-lint-action v0.3.1 composite
  • actions/checkout v1 composite
.github/workflows/closed-issue-message.yml actions
  • aws-actions/closed-issue-message v1 composite
.github/workflows/handle-stale-discussions.yml actions
  • aws-github-ops/handle-stale-discussions v1 composite
.github/workflows/stale_issue.yml actions
  • aws-actions/stale-issue-cleanup v3 composite