quantum

package
v0.0.0-...-17e6b21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 30, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Attestation

type Attestation struct {
	ID        string
	Data      []byte
	Signature []byte
	Algorithm string
	Timestamp time.Time
	Evidence  map[string]interface{}
}

type ChainOfTrust

type ChainOfTrust struct {
	// contains filtered or unexported fields
}

func NewChainOfTrust

func NewChainOfTrust(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
	daprClient client.Client,
) *ChainOfTrust

func (*ChainOfTrust) VerifyChain

func (ct *ChainOfTrust) VerifyChain(
	ctx context.Context,
	attestation *Attestation,
) error

type Config

type Config struct {
	// Key Management
	KeyRotationInterval     time.Duration `mapstructure:"key_rotation_interval"`
	MinKeySize              int           `mapstructure:"min_key_size"`
	PreferredAlgorithms     []string      `mapstructure:"preferred_algorithms"`
	EnableAutomaticRotation bool          `mapstructure:"enable_automatic_rotation"`

	// Attestation
	AttestationTTL       time.Duration `mapstructure:"attestation_ttl"`
	RequireAttestation   bool          `mapstructure:"require_attestation"`
	AttestationAlgorithm string        `mapstructure:"attestation_algorithm"`

	// Storage
	StorageType     string `mapstructure:"storage_type"`
	StorageEndpoint string `mapstructure:"storage_endpoint"`
	StorageBucket   string `mapstructure:"storage_bucket"`

	// Security
	SecurityLevel int  `mapstructure:"security_level"`
	EnableZKP     bool `mapstructure:"enable_zkp"`
	EnforcePQC    bool `mapstructure:"enforce_pqc"`

	// Monitoring
	MetricsEnabled   bool   `mapstructure:"metrics_enabled"`
	MetricsNamespace string `mapstructure:"metrics_namespace"`
	TracingEnabled   bool   `mapstructure:"tracing_enabled"`
}

func LoadConfig

func LoadConfig(configPath string) (*Config, error)

func (*Config) Validate

func (c *Config) Validate() error

type DaprQuantumManager

type DaprQuantumManager struct {
	// contains filtered or unexported fields
}

func NewDaprQuantumManager

func NewDaprQuantumManager(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
	config *Config,
) (*DaprQuantumManager, error)

func (*DaprQuantumManager) GetAttestation

func (dm *DaprQuantumManager) GetAttestation(
	ctx context.Context,
	id string,
) (*Attestation, error)

func (*DaprQuantumManager) StoreAttestation

func (dm *DaprQuantumManager) StoreAttestation(
	ctx context.Context,
	attestation *Attestation,
) error

type EncryptionResult

type EncryptionResult struct {
	Ciphertext []byte
	Metadata   map[string]interface{}
	Timestamp  time.Time
}

type Key

type Key struct {
	ID         string
	PublicKey  []byte
	PrivateKey []byte
	Algorithm  string
	Status     KeyStatus
}

type KeyManager

type KeyManager struct {
	// contains filtered or unexported fields
}

func NewKeyManager

func NewKeyManager(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
	encryptor *QuantumSafeEncryption,
) *KeyManager

func (*KeyManager) GenerateKey

func (km *KeyManager) GenerateKey(
	ctx context.Context,
	algorithm string,
) (*Key, error)

func (*KeyManager) RotateKey

func (km *KeyManager) RotateKey(
	ctx context.Context,
	keyID string,
) error

type KeyMetadata

type KeyMetadata struct {
	CreatedAt     time.Time
	ExpiresAt     time.Time
	RotationCount int
	LastUsed      time.Time
	Usage         map[string]int
}

type KeyRotationManager

type KeyRotationManager struct {
	// contains filtered or unexported fields
}

func NewKeyRotationManager

func NewKeyRotationManager(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
	keyManager *KeyManager,
	encryptor *QuantumSafeEncryption,
) *KeyRotationManager

func (*KeyRotationManager) RotateKeys

func (krm *KeyRotationManager) RotateKeys(
	ctx context.Context,
	policy RotationPolicy,
) error

type KeyStatus

type KeyStatus string
const (
	KeyStatusActive   KeyStatus = "active"
	KeyStatusRotating KeyStatus = "rotating"
	KeyStatusRetired  KeyStatus = "retired"
	KeyStatusRevoked  KeyStatus = "revoked"
)

type KeyStore

type KeyStore struct {
	// contains filtered or unexported fields
}

type Metrics

type Metrics struct {
	KeyOperations *prometheus.CounterVec
	KeyRotations  *prometheus.CounterVec
	Attestations  *prometheus.CounterVec
	Verifications *prometheus.CounterVec
	Latency       *prometheus.HistogramVec
	Errors        *prometheus.CounterVec
}

func NewMetrics

func NewMetrics(namespace string) *Metrics

type OperationResult

type OperationResult struct {
	Data         []byte
	Attestations []Attestation
	Signatures   []Signature
	Metadata     map[string]interface{}
	Timestamp    time.Time
}

type QuantumAttestation

type QuantumAttestation struct {
	// contains filtered or unexported fields
}

func NewQuantumAttestation

func NewQuantumAttestation(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
	keyStore *KeyStore,
	encryptor *QuantumSafeEncryption,
) *QuantumAttestation

func (*QuantumAttestation) GenerateAttestation

func (qa *QuantumAttestation) GenerateAttestation(
	ctx context.Context,
	data []byte,
	metadata map[string]interface{},
) (*Attestation, error)

func (*QuantumAttestation) VerifyAttestation

func (qa *QuantumAttestation) VerifyAttestation(
	ctx context.Context,
	attestation *Attestation,
) error

type QuantumOperations

type QuantumOperations struct {
	// contains filtered or unexported fields
}

func NewQuantumOperations

func NewQuantumOperations(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
	keyManager *KeyManager,
	encryptor *QuantumSafeEncryption,
) *QuantumOperations

func (*QuantumOperations) EncryptData

func (qo *QuantumOperations) EncryptData(
	ctx context.Context,
	data []byte,
) (*OperationResult, error)

func (*QuantumOperations) PerformKeyExchange

func (qo *QuantumOperations) PerformKeyExchange(
	ctx context.Context,
	peerPublicKey []byte,
) (*OperationResult, error)

type QuantumProcessor

type QuantumProcessor struct {
	// contains filtered or unexported fields
}

func (*QuantumProcessor) ProcessData

func (qp *QuantumProcessor) ProcessData(
	ctx context.Context,
	data []byte,
) (*ProcessedData, error)

type QuantumSafeEncryption

type QuantumSafeEncryption struct {
	// contains filtered or unexported fields
}

func NewQuantumSafeEncryption

func NewQuantumSafeEncryption() (*QuantumSafeEncryption, error)

func (*QuantumSafeEncryption) Encrypt

func (q *QuantumSafeEncryption) Encrypt(message []byte) ([]byte, error)

type RotationPolicy

type RotationPolicy struct {
	Interval    time.Duration
	Algorithm   string
	MaxRetries  int
	Concurrent  bool
	ForceRotate bool
}

type SPHINCSWrapper

type SPHINCSWrapper struct {
	// contains filtered or unexported fields
}

SPHINCSWrapper provides SPHINCS-like interface using Dilithium

func NewSPHINCSWrapper

func NewSPHINCSWrapper() *SPHINCSWrapper

type Service

type Service struct {
	// contains filtered or unexported fields
}

func NewService

func NewService(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
) (*Service, error)

func (*Service) EncryptData

func (s *Service) EncryptData(
	ctx context.Context,
	data []byte,
) (*EncryptionResult, error)

type StateEntry

type StateEntry struct {
	ID          string
	Type        string
	Data        []byte
	Attestation *Attestation
	Timestamp   time.Time
}

type TrustAnchor

type TrustAnchor struct {
	ID             string
	PublicKey      []byte
	ValidFrom      time.Time
	ValidUntil     time.Time
	Issuer         string
	Attestations   []*Attestation
	SubAuthorities map[string]*TrustAnchor
}

type VerificationManager

type VerificationManager struct {
	// contains filtered or unexported fields
}

VerificationManager handles all verification operations

func NewVerificationManager

func NewVerificationManager(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
	config *Config,
) (*VerificationManager, error)

func (*VerificationManager) VerifyAttestation

func (vm *VerificationManager) VerifyAttestation(
	ctx context.Context,
	attestation *Attestation,
	opts VerificationOptions,
) (*VerificationResult, error)

VerifyAttestation handles all attestation verification including chain of trust

type VerificationOptions

type VerificationOptions struct {
	RequireTimestamp bool
	MaxAge           time.Duration
	SecurityLevel    int
	ValidateChain    bool
}

type VerificationRequest

type VerificationRequest struct {
	Attestation *Attestation
	Metadata    map[string]interface{}
	Options     VerificationOptions
}

type VerificationResult

type VerificationResult struct {
	Valid       bool
	Timestamp   time.Time
	Evidence    map[string]interface{}
	Attestation *Attestation
	Errors      []error
}

type VerificationService

type VerificationService struct {
	// contains filtered or unexported fields
}

func NewVerificationService

func NewVerificationService(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
	config *Config,
) (*VerificationService, error)

func (*VerificationService) VerifyAttestation

func (vs *VerificationService) VerifyAttestation(
	ctx context.Context,
	req *VerificationRequest,
) (*VerificationResult, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL