ISCC - Crypto
Project description
ISCC - Crypto
iscc-crypto is the cryptographic signing and verification module for the
ISCC (International Standard Content Code) Framework.
Features
- Ed25519 key generation and management
- JSON canonicalization and signing
- W3C Verifiable Credentials Data Integrity proofs
- Multibase and multikey support
- Minimal external dependencies for core cryptographic operations
Installation
Use the package manager pip to install iscc-crypto:
pip install iscc-crypto
Quick Start
import iscc_crypto as ic
# Generate new Ed25519 keypair
keypair = ic.key_generate()
print(f"Public Key: {keypair.public_key}")
print(f"Secret Key: {keypair.secret_key}")
# Sign a JSON document
doc = {"hello": "world"}
signed = ic.sign_json(doc, keypair)
print(f"Signed Doc: {signed}")
# Verify signature
verified = ic.verify_json(signed)
print(f"Verified Doc: {verified}")
# Create W3C Data Integrity Proof
vc = {"type": "VerifiableCredential", "issuer": "did:web:example.com"}
signed_vc = ic.sign_vc(vc, keypair)
print(f"Signed VC: {signed_vc}")
# Verify W3C Data Integrity Proof
verified, doc = ic.verify_vc(signed_vc, keypair.pk_obj)
print(f"VC Verified: {verified}")
Documentation
Documentation is published at https://crypto.iscc.codes
Development
Requirements
- Python 3.10 or higher
- Poetry for dependency management
Development Setup
git clone https://github.com/iscc/iscc-crypto.git
cd iscc-crypto
poetry install
Testing
Run the test suite:
poetry run pytest
Maintainers
Contributing
Pull requests are welcome. For significant changes, please open an issue first to discuss your plans. Please make sure to update tests as appropriate.
You may also want join our developer chat on Telegram at https://t.me/iscc_dev.
License
iscc-crypto is licensed under the Apache License, Version 2.0
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iscc_crypto-0.1.0.tar.gz.
File metadata
- Download URL: iscc_crypto-0.1.0.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.0 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b696a853449ba8b9cf29dd448115dbbd78e934bad9e7c0e8bc6e1c2778ef648
|
|
| MD5 |
8aa28fa61b67649f2c3961899cb28e11
|
|
| BLAKE2b-256 |
a48b654f368948a47d19f170f9c3b675f88a3b0db7a7694d89926574404037ed
|
File details
Details for the file iscc_crypto-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iscc_crypto-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.0 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b576ab9ee21790fdb122dd04b17194922921dd95174319fc9610a7ad7a8e82f
|
|
| MD5 |
1bc94ab978bcffed9827d939be4a96d1
|
|
| BLAKE2b-256 |
b18f0bc908e8b612717d22117fc894db69a750f94ac21e355256fd17772fee54
|