All Projects → bergzand → libcose

bergzand / libcose

Licence: LGPL-2.1 License
Constrained node COSE library

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to libcose

pycose
A Python implementation of the COSE specification (CBOR Object Signing and Encryption) described in RFC 8152.
Stars: ✭ 27 (+68.75%)
Mutual labels:  cbor, cose
edkey
edkey allows you to write ED25519 private keys in the OpenSSH private key format
Stars: ✭ 45 (+181.25%)
Mutual labels:  ed25519
SwiftCBOR
A CBOR implementation for Swift
Stars: ✭ 95 (+493.75%)
Mutual labels:  cbor
mbedtls-esp8266
Updated and Upgraded mbedTLS library for the ESP8266 (probably ESP32 too)
Stars: ✭ 13 (-18.75%)
Mutual labels:  ed25519
noble-ed25519
Fastest JS implementation of ed25519, x25519 & ristretto255. Independently audited, high-security, 0-dependency EDDSA signatures and ECDH key agreement
Stars: ✭ 220 (+1275%)
Mutual labels:  ed25519
cbor-php
CBOR Encoder/Decoder for PHP
Stars: ✭ 27 (+68.75%)
Mutual labels:  cbor
cborg
fast CBOR with a focus on strictness
Stars: ✭ 21 (+31.25%)
Mutual labels:  cbor
ChainWallet
一个以研究技术为目地的基础项目,也只有最基本 Bitcoin、Ethereum 、EOS 相关的加密算法。
Stars: ✭ 26 (+62.5%)
Mutual labels:  ed25519
signify
🔏 Cryptographic signing, ported from BSD for Linux, that uses instructions of modern CPUs
Stars: ✭ 22 (+37.5%)
Mutual labels:  ed25519
rsign2
A command-line tool to sign files and verify signatures in pure Rust.
Stars: ✭ 102 (+537.5%)
Mutual labels:  ed25519
cbor-d
Concise Binary Object Representation (CBOR) binary data format for D language
Stars: ✭ 20 (+25%)
Mutual labels:  cbor
NanoCBOR
CBOR library aimed at heavily constrained devices
Stars: ✭ 32 (+100%)
Mutual labels:  cbor
multi-party-eddsa
Rust implementation of multi party Ed25519 signature scheme.
Stars: ✭ 86 (+437.5%)
Mutual labels:  ed25519
zig-eddsa-key-blinding
A Zig implementation of EdDSA signatures with blind keys.
Stars: ✭ 15 (-6.25%)
Mutual labels:  ed25519
nlohmann json release
json for modern c++ (single header file, release versions)
Stars: ✭ 40 (+150%)
Mutual labels:  cbor
wasm
fast wasm modules
Stars: ✭ 37 (+131.25%)
Mutual labels:  ed25519
PotentCodables
🧪 PotentCodables - A potent set of implementations and extensions to the Swift Codable system
Stars: ✭ 32 (+100%)
Mutual labels:  cbor
Cryptography-Guidelines
Guidance on implementing cryptography as a developer.
Stars: ✭ 15 (-6.25%)
Mutual labels:  ed25519
salty
25519 for Cortex-M4 microcontrollers
Stars: ✭ 50 (+212.5%)
Mutual labels:  ed25519
opengnb
GNB is open source de-centralized VPN to achieve layer3 network via p2p with the ultimate capability of NAT Traversal.GNB是一个开源的去中心化的具有极致内网穿透能力的通过P2P进行三层网络交换的VPN。
Stars: ✭ 440 (+2650%)
Mutual labels:  ed25519

libcose

build

Libcose is a C library aiming to implement the full COSE standard. Libcose is aimed at constrained devices without dynamic memory allocation, libcose will never call malloc related calls by itself. However it does require a simple block array allocator for cbor management.

Libcose implements modern ed25519 based signatures for signing. ECDSA based signing and verification is implemented using Mbed TLS. RSA will probably be skipped.

There is online documentation available.

Dependencies:

Building

To build a shared library from libcose:

make lib

Default libcose will try to link against libsodium for the crypto. Since versions after v0.3.x libcose depends on tinycbor instead of cn-cbor.

Testing

libcose is supplied with a test suite covering most cases. Testing requires CUnit as test framework and tinycbor as additional CBOR library. Running al tests is done with:

make test

Contributing

Open an issue, PR, the usual. Builds must pass before merging. Currently Travis tests the full test suite. In addition Travis also runs clang-tidy to check for simple style and code mistakes.

Limitations

Due to time constraints, for now only signing is implemented. Contributions for encryption and authentication is of course welcome.

As libcose is aimed at constrained devices a number of configurables are compile time defined. This includes the number of headers and the number signatures that are allowed in a single signature structure.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].