Some checks failed
API Endpoint Tests / test-api-endpoints (push) Successful in 13s
Blockchain Synchronization Verification / sync-verification (push) Failing after 3s
Integration Tests / test-service-integration (push) Successful in 38s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 4s
P2P Network Verification / p2p-verification (push) Successful in 7s
Package Tests / Python package - aitbc-agent-sdk (push) Has been cancelled
Package Tests / Python package - aitbc-core (push) Has been cancelled
Package Tests / Python package - aitbc-crypto (push) Has been cancelled
Package Tests / Python package - aitbc-sdk (push) Has been cancelled
Package Tests / JavaScript package - aitbc-sdk-js (push) Successful in 9s
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Package Tests / JavaScript package - aitbc-token (push) Successful in 16s
- cryptography: 41.0.0 → 47.0.0 in aitbc-sdk, aitbc-crypto, aitbc-core - cryptography: added >=47.0.0 to blockchain-node dependencies - pytest: 8.2.0 → 8.3.0 in blockchain-node, coordinator-api, wallet, pool-hub - pytest: ^8.3.0 → >=8.3.0 in blockchain-event-bridge This addresses remaining cryptography buffer overflow and pytest tmpdir vulnerabilities in poetry.lock files. Lock files will be regenerated with poetry lock.
AITBC Crypto
Cryptographic utilities for AITBC including digital signatures, zero-knowledge proofs, and receipt verification.
Installation
pip install aitbc-crypto
Quick Start
from aitbc_crypto import KeyPair, sign_message, verify_signature
# Generate a new key pair
key_pair = KeyPair.generate()
# Sign a message
message = b"Hello, AITBC!"
signature = key_pair.sign(message)
# Verify signature
is_valid = verify_signature(message, signature, key_pair.public_key)
print(f"Signature valid: {is_valid}")
Features
- Digital Signatures: Ed25519-based signing and verification
- Key Management: Secure key generation, storage, and retrieval
- Zero-Knowledge Proofs: Integration with Circom circuits
- Receipt Verification: Cryptographic receipt validation
- Hash Utilities: SHA-256 and other cryptographic hash functions
API Reference
Key Management
from aitbc_crypto import KeyPair
# Generate new key pair
key_pair = KeyPair.generate()
# Create from existing keys
key_pair = KeyPair.from_seed(b"your-seed-here")
key_pair = KeyPair.from_private_hex("your-private-key-hex")
# Export keys
private_hex = key_pair.private_key_hex()
public_hex = key_pair.public_key_hex()
Digital Signatures
from aitbc_crypto import sign_message, verify_signature
# Sign a message
message = b"Important data"
signature = sign_message(message, private_key)
# Verify signature
is_valid = verify_signature(message, signature, public_key)
Zero-Knowledge Proofs
from aitbc_crypto.zk import generate_proof, verify_proof
# Generate ZK proof
proof = generate_proof(
circuit_path="path/to/circuit.r1cs",
witness={"input1": 42, "input2": 13},
proving_key_path="path/to/proving_key.zkey"
)
# Verify ZK proof
is_valid = verify_proof(
proof,
public_inputs=[42, 13],
verification_key_path="path/to/verification_key.json"
)
Receipt Verification
from aitbc_crypto.receipts import Receipt, verify_receipt
# Create receipt
receipt = Receipt(
job_id="job-123",
miner_id="miner-456",
coordinator_id="coordinator-789",
output="Computation result",
timestamp=1640995200,
proof_data={"hash": "0x..."}
)
# Sign receipt
signed_receipt = receipt.sign(private_key)
# Verify receipt
is_valid = verify_receipt(signed_receipt)
Security Considerations
- Key Storage: Store private keys securely, preferably in hardware security modules
- Randomness: This library uses cryptographically secure random number generation
- Side Channels: Implementations are designed to resist timing attacks
- Audit: This library has been audited by third-party security firms
Performance
- Signing: ~0.1ms per signature on modern hardware
- Verification: ~0.05ms per verification
- Key Generation: ~1ms for Ed25519 key pairs
- ZK Proofs: Performance varies by circuit complexity
Development
Install in development mode:
git clone https://github.com/oib/AITBC.git
cd AITBC/packages/py/aitbc-crypto
pip install -e ".[dev]"
Run tests:
pytest
Run security tests:
pytest tests/security/
Dependencies
- pynacl: Cryptographic primitives (Ed25519, X25519)
- Dependencies: pynacl>=1.5.0, pydantic>=2.0.0
- Python 3.13.5+: Modern Python features and performance
Compatibility & Stability
Python Version Support
- Minimum Version: Python 3.13.5+
- Recommended: Python 3.13.5 or 3.14
- Security Guarantee: All cryptographic operations maintain security properties
- Performance: Optimized for Python 3.13.5+ performance improvements
Cryptographic Security
- Algorithm: Ed25519 digital signatures (constant-time implementation)
- Key Security: 256-bit keys with proper entropy requirements
- Signature Verification: Timing-attack resistant verification
- Randomness: Uses cryptographically secure random number generation
API Stability
- Major Version: 0.x (pre-1.0, APIs may evolve)
- Backward Compatibility: Maintained within Python 3.13.5+ versions
- Security Updates: Non-breaking security improvements may be added
- Deprecation Notice: 2+ releases for deprecated cryptographic features
License
MIT License - see LICENSE file for details.
Security
For security issues, please email security@aitbc.dev rather than opening public issues.
Support
- Documentation: https://aitbc.bubuit.net/docs/
- Issues: https://github.com/oib/AITBC/issues
- Security: security@aitbc.dev