xypriss 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +187 -84
- package/dist/cjs/ServerFactory.js +1 -1
- package/dist/cjs/cache/SecureCacheAdapter.js +2 -2
- package/dist/cjs/cluster/cluster-manager.js +1 -1
- package/dist/cjs/cluster/index.js +30 -30
- package/dist/cjs/cluster/modules/AutoScaler.js +2 -2
- package/dist/cjs/cluster/modules/ClusterPersistenceManager.js +3 -3
- package/dist/cjs/cluster/modules/HealthMonitor.js +2 -2
- package/dist/cjs/cluster/modules/IPCManager.js +2 -2
- package/dist/cjs/cluster/modules/MetricsCollector.js +1 -1
- package/dist/cjs/cluster/modules/WorkerManager.js +2 -2
- package/dist/cjs/encryption/EncryptionService.js +12 -12
- package/dist/cjs/encryption/EncryptionService.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/middleware/safe-json-middleware.js +1 -1
- package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js +727 -0
- package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js.map +1 -0
- package/dist/cjs/mods/security/src/algorithms/registry.js +83 -0
- package/dist/cjs/mods/security/src/algorithms/registry.js.map +1 -0
- package/dist/cjs/mods/security/src/components/attestation.js +1065 -0
- package/dist/cjs/mods/security/src/components/attestation.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/FastLRU.js +323 -0
- package/dist/cjs/mods/security/src/components/cache/FastLRU.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/UFSIMC.js +1131 -0
- package/dist/cjs/mods/security/src/components/cache/UFSIMC.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/cacheSys.js +624 -0
- package/dist/cjs/mods/security/src/components/cache/cacheSys.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js +136 -0
- package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/config/cache.config.js +39 -0
- package/dist/cjs/mods/security/src/components/cache/config/cache.config.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/index.js +459 -0
- package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/useCache.js +243 -0
- package/dist/cjs/mods/security/src/components/cache/useCache.js.map +1 -0
- package/dist/cjs/mods/security/src/components/canary-tokens.js +351 -0
- package/dist/cjs/mods/security/src/components/canary-tokens.js.map +1 -0
- package/dist/cjs/mods/security/src/components/entropy-augmentation.js +478 -0
- package/dist/cjs/mods/security/src/components/entropy-augmentation.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js +338 -0
- package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js +536 -0
- package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js +631 -0
- package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/const/exec.const.js +18 -0
- package/dist/cjs/mods/security/src/components/fortified-function/const/exec.const.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-config.js +356 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-config.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-function-core.js +520 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-function-core.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-logger.js +246 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-logger.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/api-manager.js +189 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/api-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/cache-manager.js +107 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/cache-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-context.js +105 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-context.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-engine.js +127 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-engine.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-router.js +93 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-router.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/memory-manager.js +147 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/memory-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/security-manager.js +102 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/security-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/stats-manager.js +159 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/stats-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/timing-manager.js +125 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/timing-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/engines/analytics-engine.js +370 -0
- package/dist/cjs/mods/security/src/components/fortified-function/engines/analytics-engine.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/engines/execution-engine.js +402 -0
- package/dist/cjs/mods/security/src/components/fortified-function/engines/execution-engine.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/index.js +172 -0
- package/dist/cjs/mods/security/src/components/fortified-function/index.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-monitor.js +240 -0
- package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-monitor.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-timer.js +188 -0
- package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-timer.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js +253 -0
- package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/serializer/safe-serializer.js +350 -0
- package/dist/cjs/mods/security/src/components/fortified-function/serializer/safe-serializer.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/smart-cache.js +693 -0
- package/dist/cjs/mods/security/src/components/fortified-function/smart-cache.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/types/types.js +16 -0
- package/dist/cjs/mods/security/src/components/fortified-function/types/types.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/utils/utils.js +68 -0
- package/dist/cjs/mods/security/src/components/fortified-function/utils/utils.js.map +1 -0
- package/dist/cjs/mods/security/src/components/memory-hard.js +922 -0
- package/dist/cjs/mods/security/src/components/memory-hard.js.map +1 -0
- package/dist/cjs/mods/security/src/components/post-quantum.js +323 -0
- package/dist/cjs/mods/security/src/components/post-quantum.js.map +1 -0
- package/dist/cjs/mods/security/src/components/runtime-verification.js +645 -0
- package/dist/cjs/mods/security/src/components/runtime-verification.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/core/secure-array-core.js +1572 -0
- package/dist/cjs/mods/security/src/components/secure-array/core/secure-array-core.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js +330 -0
- package/dist/cjs/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/events/event-manager.js +270 -0
- package/dist/cjs/mods/security/src/components/secure-array/events/event-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/index.js +66 -0
- package/dist/cjs/mods/security/src/components/secure-array/index.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/metadata/metadata-manager.js +331 -0
- package/dist/cjs/mods/security/src/components/secure-array/metadata/metadata-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js +390 -0
- package/dist/cjs/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/types/index.js +87 -0
- package/dist/cjs/mods/security/src/components/secure-array/types/index.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/utils/id-generator.js +80 -0
- package/dist/cjs/mods/security/src/components/secure-array/utils/id-generator.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/utils/validation.js +275 -0
- package/dist/cjs/mods/security/src/components/secure-array/utils/validation.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-memory.js +906 -0
- package/dist/cjs/mods/security/src/components/secure-memory.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/core/secure-object-core.js +1605 -0
- package/dist/cjs/mods/security/src/components/secure-object/core/secure-object-core.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/encryption/crypto-handler.js +362 -0
- package/dist/cjs/mods/security/src/components/secure-object/encryption/crypto-handler.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/encryption/sensitive-keys.js +206 -0
- package/dist/cjs/mods/security/src/components/secure-object/encryption/sensitive-keys.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/events/event-manager.js +197 -0
- package/dist/cjs/mods/security/src/components/secure-object/events/event-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/index.js +67 -0
- package/dist/cjs/mods/security/src/components/secure-object/index.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/metadata/metadata-manager.js +183 -0
- package/dist/cjs/mods/security/src/components/secure-object/metadata/metadata-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/serialization/serialization-handler.js +197 -0
- package/dist/cjs/mods/security/src/components/secure-object/serialization/serialization-handler.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/utils/id-generator.js +64 -0
- package/dist/cjs/mods/security/src/components/secure-object/utils/id-generator.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/utils/validation.js +239 -0
- package/dist/cjs/mods/security/src/components/secure-object/utils/validation.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-serialization.js +772 -0
- package/dist/cjs/mods/security/src/components/secure-serialization.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/advanced/entropy-analyzer.js +308 -0
- package/dist/cjs/mods/security/src/components/secure-string/advanced/entropy-analyzer.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/advanced/performance-monitor.js +335 -0
- package/dist/cjs/mods/security/src/components/secure-string/advanced/performance-monitor.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/advanced/quantum-safe.js +245 -0
- package/dist/cjs/mods/security/src/components/secure-string/advanced/quantum-safe.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/buffer/buffer-manager.js +205 -0
- package/dist/cjs/mods/security/src/components/secure-string/buffer/buffer-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/core/secure-string-core.js +788 -0
- package/dist/cjs/mods/security/src/components/secure-string/core/secure-string-core.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/crypto/crypto-operations.js +319 -0
- package/dist/cjs/mods/security/src/components/secure-string/crypto/crypto-operations.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/operations/comparison-operations.js +221 -0
- package/dist/cjs/mods/security/src/components/secure-string/operations/comparison-operations.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/operations/string-operations.js +234 -0
- package/dist/cjs/mods/security/src/components/secure-string/operations/string-operations.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/types/index.js +41 -0
- package/dist/cjs/mods/security/src/components/secure-string/types/index.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/validation/string-validator.js +334 -0
- package/dist/cjs/mods/security/src/components/secure-string/validation/string-validator.js.map +1 -0
- package/dist/cjs/mods/security/src/components/side-channel.js +146 -0
- package/dist/cjs/mods/security/src/components/side-channel.js.map +1 -0
- package/dist/cjs/mods/security/src/components/tamper-evident-logging.js +391 -0
- package/dist/cjs/mods/security/src/components/tamper-evident-logging.js.map +1 -0
- package/dist/cjs/mods/security/src/const/buffer.const.js +15 -0
- package/dist/cjs/mods/security/src/const/buffer.const.js.map +1 -0
- package/dist/cjs/mods/security/src/core/crypto.js +722 -0
- package/dist/cjs/mods/security/src/core/crypto.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-advanced.js +388 -0
- package/dist/cjs/mods/security/src/core/hash/hash-advanced.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-core.js +376 -0
- package/dist/cjs/mods/security/src/core/hash/hash-core.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-entropy.js +307 -0
- package/dist/cjs/mods/security/src/core/hash/hash-entropy.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-security.js +372 -0
- package/dist/cjs/mods/security/src/core/hash/hash-security.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-types.js +16 -0
- package/dist/cjs/mods/security/src/core/hash/hash-types.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-utils.js +328 -0
- package/dist/cjs/mods/security/src/core/hash/hash-utils.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-validator.js +312 -0
- package/dist/cjs/mods/security/src/core/hash/hash-validator.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash.js +25 -0
- package/dist/cjs/mods/security/src/core/hash.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js +135 -0
- package/dist/cjs/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js +293 -0
- package/dist/cjs/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js +317 -0
- package/dist/cjs/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/keys-core.js +201 -0
- package/dist/cjs/mods/security/src/core/keys/keys-core.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/keys-logger.js +234 -0
- package/dist/cjs/mods/security/src/core/keys/keys-logger.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/keys-types.js +65 -0
- package/dist/cjs/mods/security/src/core/keys/keys-types.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/keys-utils.js +322 -0
- package/dist/cjs/mods/security/src/core/keys/keys-utils.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys.js +136 -0
- package/dist/cjs/mods/security/src/core/keys.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/index.js +122 -0
- package/dist/cjs/mods/security/src/core/password/index.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-algorithms.js +397 -0
- package/dist/cjs/mods/security/src/core/password/password-algorithms.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-core.js +294 -0
- package/dist/cjs/mods/security/src/core/password/password-core.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-generator.js +365 -0
- package/dist/cjs/mods/security/src/core/password/password-generator.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-migration.js +237 -0
- package/dist/cjs/mods/security/src/core/password/password-migration.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-security.js +534 -0
- package/dist/cjs/mods/security/src/core/password/password-security.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-types.js +39 -0
- package/dist/cjs/mods/security/src/core/password/password-types.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-utils.js +651 -0
- package/dist/cjs/mods/security/src/core/password/password-utils.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/swlist.js +1122 -0
- package/dist/cjs/mods/security/src/core/password/swlist.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-core.js +328 -0
- package/dist/cjs/mods/security/src/core/random/random-core.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-crypto.js +339 -0
- package/dist/cjs/mods/security/src/core/random/random-crypto.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-entropy.js +388 -0
- package/dist/cjs/mods/security/src/core/random/random-entropy.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-generators.js +344 -0
- package/dist/cjs/mods/security/src/core/random/random-generators.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-sources.js +426 -0
- package/dist/cjs/mods/security/src/core/random/random-sources.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-tokens.js +309 -0
- package/dist/cjs/mods/security/src/core/random/random-tokens.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-types.js +36 -0
- package/dist/cjs/mods/security/src/core/random/random-types.js.map +1 -0
- package/dist/cjs/mods/security/src/core/validators.js +200 -0
- package/dist/cjs/mods/security/src/core/validators.js.map +1 -0
- package/dist/cjs/mods/security/src/helpers/Uint8Array.js +335 -0
- package/dist/cjs/mods/security/src/helpers/Uint8Array.js.map +1 -0
- package/dist/cjs/mods/security/src/helpers/createEnu.js +27 -0
- package/dist/cjs/mods/security/src/helpers/createEnu.js.map +1 -0
- package/dist/cjs/mods/security/src/index.js +417 -0
- package/dist/cjs/mods/security/src/index.js.map +1 -0
- package/dist/cjs/mods/security/src/types/global.js +51 -0
- package/dist/cjs/mods/security/src/types/global.js.map +1 -0
- package/dist/cjs/mods/security/src/types/secure-mem.type.js +100 -0
- package/dist/cjs/mods/security/src/types/secure-mem.type.js.map +1 -0
- package/dist/cjs/mods/security/src/types/secure-memory.js +20 -0
- package/dist/cjs/mods/security/src/types/secure-memory.js.map +1 -0
- package/dist/cjs/mods/security/src/types.js +63 -0
- package/dist/cjs/mods/security/src/types.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/CryptoAlgorithmUtils.js +71 -0
- package/dist/cjs/mods/security/src/utils/CryptoAlgorithmUtils.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/constants.js +111 -0
- package/dist/cjs/mods/security/src/utils/constants.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/dataConverter.js +74 -0
- package/dist/cjs/mods/security/src/utils/dataConverter.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/encoding.js +290 -0
- package/dist/cjs/mods/security/src/utils/encoding.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/errorHandler.js +140 -0
- package/dist/cjs/mods/security/src/utils/errorHandler.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/config-manager.js +282 -0
- package/dist/cjs/mods/security/src/utils/memory/config-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/event-manager.js +277 -0
- package/dist/cjs/mods/security/src/utils/memory/event-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/index.js +162 -0
- package/dist/cjs/mods/security/src/utils/memory/index.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/memory-manager.js +888 -0
- package/dist/cjs/mods/security/src/utils/memory/memory-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/memory-pool.js +356 -0
- package/dist/cjs/mods/security/src/utils/memory/memory-pool.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/reference-tracker.js +376 -0
- package/dist/cjs/mods/security/src/utils/memory/reference-tracker.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/types.js +56 -0
- package/dist/cjs/mods/security/src/utils/memory/types.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/patterns.js +127 -0
- package/dist/cjs/mods/security/src/utils/patterns.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/performanceMonitor.js +249 -0
- package/dist/cjs/mods/security/src/utils/performanceMonitor.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/stats.js +182 -0
- package/dist/cjs/mods/security/src/utils/stats.js.map +1 -0
- package/dist/cjs/security-middleware.js +15 -15
- package/dist/cjs/server/components/fastapi/UltraFastRequestProcessor.js +1 -1
- package/dist/cjs/server/components/fastapi/console/ConsoleInterceptor.js +23 -23
- package/dist/cjs/server/components/fastapi/middlewares/MiddlewareAPI.js +1 -1
- package/dist/cjs/server/optimization/RequestPreCompiler.js +1 -1
- package/dist/cjs/server/plugins/PluginRegistry.js +1 -1
- package/dist/cjs/server/plugins/core/CachePlugin.js +7 -7
- package/dist/cjs/server/plugins/core/PerformancePlugin.js +2 -2
- package/dist/cjs/server/plugins/core/SecurityPlugin.js +10 -10
- package/dist/cjs/smart-routes.js +1 -1
- package/dist/esm/ServerFactory.js +1 -1
- package/dist/esm/cache/SecureCacheAdapter.js +2 -2
- package/dist/esm/cluster/cluster-manager.js +1 -1
- package/dist/esm/cluster/index.js +30 -30
- package/dist/esm/cluster/modules/AutoScaler.js +2 -2
- package/dist/esm/cluster/modules/ClusterPersistenceManager.js +3 -3
- package/dist/esm/cluster/modules/HealthMonitor.js +2 -2
- package/dist/esm/cluster/modules/IPCManager.js +2 -2
- package/dist/esm/cluster/modules/MetricsCollector.js +1 -1
- package/dist/esm/cluster/modules/WorkerManager.js +2 -2
- package/dist/esm/encryption/EncryptionService.js +12 -12
- package/dist/esm/encryption/EncryptionService.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/middleware/safe-json-middleware.js +1 -1
- package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +705 -0
- package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -0
- package/dist/esm/mods/security/src/algorithms/registry.js +81 -0
- package/dist/esm/mods/security/src/algorithms/registry.js.map +1 -0
- package/dist/esm/mods/security/src/components/attestation.js +1059 -0
- package/dist/esm/mods/security/src/components/attestation.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/FastLRU.js +320 -0
- package/dist/esm/mods/security/src/components/cache/FastLRU.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/UFSIMC.js +1109 -0
- package/dist/esm/mods/security/src/components/cache/UFSIMC.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/cacheSys.js +622 -0
- package/dist/esm/mods/security/src/components/cache/cacheSys.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +111 -0
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/config/cache.config.js +36 -0
- package/dist/esm/mods/security/src/components/cache/config/cache.config.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/index.js +449 -0
- package/dist/esm/mods/security/src/components/cache/index.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/useCache.js +240 -0
- package/dist/esm/mods/security/src/components/cache/useCache.js.map +1 -0
- package/dist/esm/mods/security/src/components/canary-tokens.js +346 -0
- package/dist/esm/mods/security/src/components/canary-tokens.js.map +1 -0
- package/dist/esm/mods/security/src/components/entropy-augmentation.js +476 -0
- package/dist/esm/mods/security/src/components/entropy-augmentation.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js +336 -0
- package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js +534 -0
- package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js +629 -0
- package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/const/exec.const.js +11 -0
- package/dist/esm/mods/security/src/components/fortified-function/const/exec.const.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/fortified-config.js +351 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/fortified-config.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/fortified-function-core.js +518 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/fortified-function-core.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/fortified-logger.js +243 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/fortified-logger.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/api-manager.js +187 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/api-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/cache-manager.js +105 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/cache-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-context.js +103 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-context.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-engine.js +125 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-engine.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-router.js +91 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-router.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/memory-manager.js +145 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/memory-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/security-manager.js +100 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/security-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/stats-manager.js +157 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/stats-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/timing-manager.js +123 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/timing-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/engines/analytics-engine.js +368 -0
- package/dist/esm/mods/security/src/components/fortified-function/engines/analytics-engine.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/engines/execution-engine.js +400 -0
- package/dist/esm/mods/security/src/components/fortified-function/engines/execution-engine.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/index.js +165 -0
- package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/performance/performance-monitor.js +238 -0
- package/dist/esm/mods/security/src/components/fortified-function/performance/performance-monitor.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/performance/performance-timer.js +186 -0
- package/dist/esm/mods/security/src/components/fortified-function/performance/performance-timer.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +251 -0
- package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/serializer/safe-serializer.js +344 -0
- package/dist/esm/mods/security/src/components/fortified-function/serializer/safe-serializer.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/smart-cache.js +691 -0
- package/dist/esm/mods/security/src/components/fortified-function/smart-cache.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/types/types.js +14 -0
- package/dist/esm/mods/security/src/components/fortified-function/types/types.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/utils/utils.js +66 -0
- package/dist/esm/mods/security/src/components/fortified-function/utils/utils.js.map +1 -0
- package/dist/esm/mods/security/src/components/memory-hard.js +919 -0
- package/dist/esm/mods/security/src/components/memory-hard.js.map +1 -0
- package/dist/esm/mods/security/src/components/post-quantum.js +316 -0
- package/dist/esm/mods/security/src/components/post-quantum.js.map +1 -0
- package/dist/esm/mods/security/src/components/runtime-verification.js +643 -0
- package/dist/esm/mods/security/src/components/runtime-verification.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/core/secure-array-core.js +1570 -0
- package/dist/esm/mods/security/src/components/secure-array/core/secure-array-core.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js +328 -0
- package/dist/esm/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/events/event-manager.js +268 -0
- package/dist/esm/mods/security/src/components/secure-array/events/event-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/index.js +61 -0
- package/dist/esm/mods/security/src/components/secure-array/index.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/metadata/metadata-manager.js +329 -0
- package/dist/esm/mods/security/src/components/secure-array/metadata/metadata-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js +388 -0
- package/dist/esm/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/types/index.js +84 -0
- package/dist/esm/mods/security/src/components/secure-array/types/index.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/utils/id-generator.js +78 -0
- package/dist/esm/mods/security/src/components/secure-array/utils/id-generator.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/utils/validation.js +273 -0
- package/dist/esm/mods/security/src/components/secure-array/utils/validation.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-memory.js +884 -0
- package/dist/esm/mods/security/src/components/secure-memory.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/core/secure-object-core.js +1603 -0
- package/dist/esm/mods/security/src/components/secure-object/core/secure-object-core.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/encryption/crypto-handler.js +360 -0
- package/dist/esm/mods/security/src/components/secure-object/encryption/crypto-handler.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/encryption/sensitive-keys.js +203 -0
- package/dist/esm/mods/security/src/components/secure-object/encryption/sensitive-keys.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/events/event-manager.js +195 -0
- package/dist/esm/mods/security/src/components/secure-object/events/event-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/index.js +63 -0
- package/dist/esm/mods/security/src/components/secure-object/index.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/metadata/metadata-manager.js +181 -0
- package/dist/esm/mods/security/src/components/secure-object/metadata/metadata-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/serialization/serialization-handler.js +195 -0
- package/dist/esm/mods/security/src/components/secure-object/serialization/serialization-handler.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/utils/id-generator.js +62 -0
- package/dist/esm/mods/security/src/components/secure-object/utils/id-generator.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/utils/validation.js +237 -0
- package/dist/esm/mods/security/src/components/secure-object/utils/validation.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-serialization.js +769 -0
- package/dist/esm/mods/security/src/components/secure-serialization.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/advanced/entropy-analyzer.js +306 -0
- package/dist/esm/mods/security/src/components/secure-string/advanced/entropy-analyzer.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/advanced/performance-monitor.js +333 -0
- package/dist/esm/mods/security/src/components/secure-string/advanced/performance-monitor.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/advanced/quantum-safe.js +243 -0
- package/dist/esm/mods/security/src/components/secure-string/advanced/quantum-safe.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/buffer/buffer-manager.js +203 -0
- package/dist/esm/mods/security/src/components/secure-string/buffer/buffer-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/core/secure-string-core.js +786 -0
- package/dist/esm/mods/security/src/components/secure-string/core/secure-string-core.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/crypto/crypto-operations.js +298 -0
- package/dist/esm/mods/security/src/components/secure-string/crypto/crypto-operations.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/operations/comparison-operations.js +219 -0
- package/dist/esm/mods/security/src/components/secure-string/operations/comparison-operations.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/operations/string-operations.js +232 -0
- package/dist/esm/mods/security/src/components/secure-string/operations/string-operations.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/types/index.js +37 -0
- package/dist/esm/mods/security/src/components/secure-string/types/index.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/validation/string-validator.js +332 -0
- package/dist/esm/mods/security/src/components/secure-string/validation/string-validator.js.map +1 -0
- package/dist/esm/mods/security/src/components/side-channel.js +142 -0
- package/dist/esm/mods/security/src/components/side-channel.js.map +1 -0
- package/dist/esm/mods/security/src/components/tamper-evident-logging.js +389 -0
- package/dist/esm/mods/security/src/components/tamper-evident-logging.js.map +1 -0
- package/dist/esm/mods/security/src/const/buffer.const.js +13 -0
- package/dist/esm/mods/security/src/const/buffer.const.js.map +1 -0
- package/dist/esm/mods/security/src/core/crypto.js +720 -0
- package/dist/esm/mods/security/src/core/crypto.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-advanced.js +367 -0
- package/dist/esm/mods/security/src/core/hash/hash-advanced.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-core.js +355 -0
- package/dist/esm/mods/security/src/core/hash/hash-core.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-entropy.js +286 -0
- package/dist/esm/mods/security/src/core/hash/hash-entropy.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-security.js +351 -0
- package/dist/esm/mods/security/src/core/hash/hash-security.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-types.js +16 -0
- package/dist/esm/mods/security/src/core/hash/hash-types.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-utils.js +307 -0
- package/dist/esm/mods/security/src/core/hash/hash-utils.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-validator.js +310 -0
- package/dist/esm/mods/security/src/core/hash/hash-validator.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash.js +9 -0
- package/dist/esm/mods/security/src/core/hash.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js +133 -0
- package/dist/esm/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js +272 -0
- package/dist/esm/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js +296 -0
- package/dist/esm/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/keys-core.js +199 -0
- package/dist/esm/mods/security/src/core/keys/keys-core.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/keys-logger.js +231 -0
- package/dist/esm/mods/security/src/core/keys/keys-logger.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/keys-types.js +63 -0
- package/dist/esm/mods/security/src/core/keys/keys-types.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/keys-utils.js +316 -0
- package/dist/esm/mods/security/src/core/keys/keys-utils.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys.js +134 -0
- package/dist/esm/mods/security/src/core/keys.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/index.js +110 -0
- package/dist/esm/mods/security/src/core/password/index.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-algorithms.js +395 -0
- package/dist/esm/mods/security/src/core/password/password-algorithms.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-core.js +292 -0
- package/dist/esm/mods/security/src/core/password/password-core.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-generator.js +363 -0
- package/dist/esm/mods/security/src/core/password/password-generator.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-migration.js +235 -0
- package/dist/esm/mods/security/src/core/password/password-migration.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-security.js +532 -0
- package/dist/esm/mods/security/src/core/password/password-security.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-types.js +34 -0
- package/dist/esm/mods/security/src/core/password/password-types.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-utils.js +630 -0
- package/dist/esm/mods/security/src/core/password/password-utils.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/swlist.js +1120 -0
- package/dist/esm/mods/security/src/core/password/swlist.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-core.js +326 -0
- package/dist/esm/mods/security/src/core/random/random-core.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-crypto.js +337 -0
- package/dist/esm/mods/security/src/core/random/random-crypto.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-entropy.js +367 -0
- package/dist/esm/mods/security/src/core/random/random-entropy.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-generators.js +323 -0
- package/dist/esm/mods/security/src/core/random/random-generators.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-sources.js +405 -0
- package/dist/esm/mods/security/src/core/random/random-sources.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-tokens.js +307 -0
- package/dist/esm/mods/security/src/core/random/random-tokens.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-types.js +27 -0
- package/dist/esm/mods/security/src/core/random/random-types.js.map +1 -0
- package/dist/esm/mods/security/src/core/validators.js +198 -0
- package/dist/esm/mods/security/src/core/validators.js.map +1 -0
- package/dist/esm/mods/security/src/helpers/Uint8Array.js +333 -0
- package/dist/esm/mods/security/src/helpers/Uint8Array.js.map +1 -0
- package/dist/esm/mods/security/src/helpers/createEnu.js +25 -0
- package/dist/esm/mods/security/src/helpers/createEnu.js.map +1 -0
- package/dist/esm/mods/security/src/index.js +373 -0
- package/dist/esm/mods/security/src/index.js.map +1 -0
- package/dist/esm/mods/security/src/types/global.js +49 -0
- package/dist/esm/mods/security/src/types/global.js.map +1 -0
- package/dist/esm/mods/security/src/types/secure-mem.type.js +96 -0
- package/dist/esm/mods/security/src/types/secure-mem.type.js.map +1 -0
- package/dist/esm/mods/security/src/types/secure-memory.js +20 -0
- package/dist/esm/mods/security/src/types/secure-memory.js.map +1 -0
- package/dist/esm/mods/security/src/types.js +63 -0
- package/dist/esm/mods/security/src/types.js.map +1 -0
- package/dist/esm/mods/security/src/utils/CryptoAlgorithmUtils.js +69 -0
- package/dist/esm/mods/security/src/utils/CryptoAlgorithmUtils.js.map +1 -0
- package/dist/esm/mods/security/src/utils/constants.js +105 -0
- package/dist/esm/mods/security/src/utils/constants.js.map +1 -0
- package/dist/esm/mods/security/src/utils/dataConverter.js +72 -0
- package/dist/esm/mods/security/src/utils/dataConverter.js.map +1 -0
- package/dist/esm/mods/security/src/utils/encoding.js +279 -0
- package/dist/esm/mods/security/src/utils/encoding.js.map +1 -0
- package/dist/esm/mods/security/src/utils/errorHandler.js +137 -0
- package/dist/esm/mods/security/src/utils/errorHandler.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/config-manager.js +280 -0
- package/dist/esm/mods/security/src/utils/memory/config-manager.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/event-manager.js +275 -0
- package/dist/esm/mods/security/src/utils/memory/event-manager.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/index.js +141 -0
- package/dist/esm/mods/security/src/utils/memory/index.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/memory-manager.js +886 -0
- package/dist/esm/mods/security/src/utils/memory/memory-manager.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/memory-pool.js +354 -0
- package/dist/esm/mods/security/src/utils/memory/memory-pool.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/reference-tracker.js +374 -0
- package/dist/esm/mods/security/src/utils/memory/reference-tracker.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/types.js +56 -0
- package/dist/esm/mods/security/src/utils/memory/types.js.map +1 -0
- package/dist/esm/mods/security/src/utils/patterns.js +124 -0
- package/dist/esm/mods/security/src/utils/patterns.js.map +1 -0
- package/dist/esm/mods/security/src/utils/performanceMonitor.js +246 -0
- package/dist/esm/mods/security/src/utils/performanceMonitor.js.map +1 -0
- package/dist/esm/mods/security/src/utils/stats.js +180 -0
- package/dist/esm/mods/security/src/utils/stats.js.map +1 -0
- package/dist/esm/security-middleware.js +15 -15
- package/dist/esm/server/components/fastapi/UltraFastRequestProcessor.js +1 -1
- package/dist/esm/server/components/fastapi/console/ConsoleInterceptor.js +23 -23
- package/dist/esm/server/components/fastapi/middlewares/MiddlewareAPI.js +1 -1
- package/dist/esm/server/optimization/RequestPreCompiler.js +1 -1
- package/dist/esm/server/plugins/PluginRegistry.js +1 -1
- package/dist/esm/server/plugins/core/CachePlugin.js +7 -7
- package/dist/esm/server/plugins/core/PerformancePlugin.js +2 -2
- package/dist/esm/server/plugins/core/SecurityPlugin.js +10 -10
- package/dist/esm/smart-routes.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,727 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var crypto = require('crypto');
|
|
4
|
+
var hashUtils = require('../core/hash/hash-utils.js');
|
|
5
|
+
require('../types.js');
|
|
6
|
+
require('../core/hash/hash-core.js');
|
|
7
|
+
require('../core/hash/hash-types.js');
|
|
8
|
+
require('../core/hash/hash-security.js');
|
|
9
|
+
require('../core/hash/hash-advanced.js');
|
|
10
|
+
require('../core/keys/keys-types.js');
|
|
11
|
+
require('../core/keys/keys-logger.js');
|
|
12
|
+
require('../core/keys/keys-utils.js');
|
|
13
|
+
require('../core/keys/algorithms/mods/PBKDF2Algo.js');
|
|
14
|
+
var randomCore = require('../core/random/random-core.js');
|
|
15
|
+
require('../core/random/random-types.js');
|
|
16
|
+
require('../core/random/random-sources.js');
|
|
17
|
+
require('nehonix-uri-processor');
|
|
18
|
+
require('../utils/memory/index.js');
|
|
19
|
+
require('argon2');
|
|
20
|
+
require('child_process');
|
|
21
|
+
require('../types/secure-memory.js');
|
|
22
|
+
require('https');
|
|
23
|
+
require('../components/runtime-verification.js');
|
|
24
|
+
require('../components/tamper-evident-logging.js');
|
|
25
|
+
require('../components/secure-string/advanced/entropy-analyzer.js');
|
|
26
|
+
require('../components/secure-string/advanced/quantum-safe.js');
|
|
27
|
+
require('../components/secure-string/advanced/performance-monitor.js');
|
|
28
|
+
require('nehoid');
|
|
29
|
+
require('../core/password/index.js');
|
|
30
|
+
|
|
31
|
+
function _interopNamespaceDefault(e) {
|
|
32
|
+
var n = Object.create(null);
|
|
33
|
+
if (e) {
|
|
34
|
+
Object.keys(e).forEach(function (k) {
|
|
35
|
+
if (k !== 'default') {
|
|
36
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
37
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function () { return e[k]; }
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
n.default = e;
|
|
45
|
+
return Object.freeze(n);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
var crypto__namespace = /*#__PURE__*/_interopNamespaceDefault(crypto);
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Hash Algorithms - Enterprise-grade cryptographic hashing
|
|
52
|
+
* Maintains backward compatibility while adding quantum-resistant features
|
|
53
|
+
*/
|
|
54
|
+
// Enhanced security imports with proper error handling
|
|
55
|
+
let nobleSecp256k1 = null;
|
|
56
|
+
let blake3 = null;
|
|
57
|
+
let blake2b = null;
|
|
58
|
+
let blake2s = null;
|
|
59
|
+
let argon2 = null;
|
|
60
|
+
let bcrypt = null;
|
|
61
|
+
let scryptJs = null;
|
|
62
|
+
// Dynamically import cryptographic libraries
|
|
63
|
+
async function initCryptoLibs() {
|
|
64
|
+
try {
|
|
65
|
+
nobleSecp256k1 = await import('@noble/secp256k1');
|
|
66
|
+
console.log("✓ @noble/secp256k1 loaded");
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
console.warn("@noble/secp256k1 not available");
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
blake3 = await import('@noble/hashes/blake3');
|
|
73
|
+
console.log("✓ blake3 loaded");
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
console.warn("blake3 not available");
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
blake2b = await import('@noble/hashes/blake2b');
|
|
80
|
+
console.log("✓ blake2b loaded");
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
console.warn("blake2b not available");
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
blake2s = await import('@noble/hashes/blake2s');
|
|
87
|
+
console.log("✓ blake2s loaded");
|
|
88
|
+
}
|
|
89
|
+
catch (e) {
|
|
90
|
+
console.warn("blake2s not available");
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
argon2 = await import('argon2');
|
|
94
|
+
console.log("✓ argon2 loaded");
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
console.warn("argon2 not available, using PBKDF2 fallback");
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
bcrypt = await import('bcrypt');
|
|
101
|
+
console.log("✓ bcrypt loaded");
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
console.warn("bcrypt not available");
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
scryptJs = await import('scrypt-js');
|
|
108
|
+
console.log("✓ scrypt-js loaded");
|
|
109
|
+
}
|
|
110
|
+
catch (e) {
|
|
111
|
+
console.warn("scrypt-js not available, using built-in scrypt");
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// Initialize libraries on first use
|
|
115
|
+
let libsInitialized = false;
|
|
116
|
+
async function ensureLibsInitialized() {
|
|
117
|
+
if (!libsInitialized) {
|
|
118
|
+
await initCryptoLibs();
|
|
119
|
+
libsInitialized = true;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
class HashAlgorithms {
|
|
123
|
+
/**
|
|
124
|
+
* Initialize crypto libraries asynchronously (NEW METHOD)
|
|
125
|
+
*/
|
|
126
|
+
static async initialize() {
|
|
127
|
+
await ensureLibsInitialized();
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Core secure hash function with multiple algorithm support
|
|
131
|
+
*
|
|
132
|
+
* BEHAVIOR: This method produces consistent hashes for the same input. Unlike Hash.createSecureHash(), this method
|
|
133
|
+
* does NOT auto-generate random salts, ensuring deterministic results.
|
|
134
|
+
*
|
|
135
|
+
* Use this method when you need:
|
|
136
|
+
* - Consistent hashes for data integrity verification
|
|
137
|
+
* - Content-based hashing (like file checksums)
|
|
138
|
+
* - Deterministic hash generation
|
|
139
|
+
*
|
|
140
|
+
* @param input - Input to hash
|
|
141
|
+
* @param options - Hash options (salt is optional and won't be auto-generated)
|
|
142
|
+
* @returns Hash result (consistent for same input/options)
|
|
143
|
+
*/
|
|
144
|
+
static secureHash(input, options = {}) {
|
|
145
|
+
const { algorithm = "sha256", iterations = 1, salt, pepper, outputFormat = "hex", } = options;
|
|
146
|
+
// Convert input to buffer
|
|
147
|
+
let data = hashUtils.HashUtils.toBuffer(input);
|
|
148
|
+
// Add salt if provided (enhanced with better randomness if not provided)
|
|
149
|
+
if (salt) {
|
|
150
|
+
const saltBuffer = hashUtils.HashUtils.toBuffer(salt);
|
|
151
|
+
data = hashUtils.HashUtils.combineBuffers([saltBuffer, data]);
|
|
152
|
+
}
|
|
153
|
+
else if (algorithm !== "sha256") {
|
|
154
|
+
// Add automatic salt for non-basic algorithms
|
|
155
|
+
const autoSalt = crypto__namespace.randomBytes(16);
|
|
156
|
+
data = hashUtils.HashUtils.combineBuffers([autoSalt, data]);
|
|
157
|
+
}
|
|
158
|
+
// Add pepper if provided
|
|
159
|
+
if (pepper) {
|
|
160
|
+
const pepperBuffer = hashUtils.HashUtils.toBuffer(pepper);
|
|
161
|
+
data = hashUtils.HashUtils.combineBuffers([data, pepperBuffer]);
|
|
162
|
+
}
|
|
163
|
+
// Perform hashing with iterations (enhanced with better iteration handling)
|
|
164
|
+
let result = data;
|
|
165
|
+
for (let i = 0; i < Math.max(iterations, 1); i++) {
|
|
166
|
+
result = HashAlgorithms.hashWithAlgorithm(result, algorithm);
|
|
167
|
+
}
|
|
168
|
+
return hashUtils.HashUtils.formatOutput(result, outputFormat);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* more algorithms and better implementations
|
|
172
|
+
* Hash data with specified algorithm
|
|
173
|
+
* @param data - Data to hash
|
|
174
|
+
* @param algorithm - Algorithm to use
|
|
175
|
+
* @returns Hash result
|
|
176
|
+
*/
|
|
177
|
+
static hashWithAlgorithm(data, algorithm) {
|
|
178
|
+
const algo = algorithm.toLowerCase();
|
|
179
|
+
switch (algo) {
|
|
180
|
+
case "sha256":
|
|
181
|
+
return crypto__namespace.createHash("sha256").update(data).digest();
|
|
182
|
+
case "sha512":
|
|
183
|
+
return crypto__namespace.createHash("sha512").update(data).digest();
|
|
184
|
+
case "sha3-256":
|
|
185
|
+
return crypto__namespace.createHash("sha3-256").update(data).digest();
|
|
186
|
+
case "sha3-512":
|
|
187
|
+
return crypto__namespace.createHash("sha3-512").update(data).digest();
|
|
188
|
+
case "shake256":
|
|
189
|
+
return crypto__namespace
|
|
190
|
+
.createHash("shake256", { outputLength: 64 })
|
|
191
|
+
.update(data)
|
|
192
|
+
.digest();
|
|
193
|
+
case "blake3":
|
|
194
|
+
return HashAlgorithms.blake3Hash(data);
|
|
195
|
+
case "blake2b":
|
|
196
|
+
return HashAlgorithms.blake2bHash(data);
|
|
197
|
+
case "blake2s":
|
|
198
|
+
return HashAlgorithms.blake2sHash(data);
|
|
199
|
+
case "pbkdf2":
|
|
200
|
+
return HashAlgorithms.pbkdf2Hash(data);
|
|
201
|
+
default:
|
|
202
|
+
// Enhanced fallback to SHA3-256 instead of SHA-256
|
|
203
|
+
console.warn(`Unknown algorithm ${algorithm}, falling back to SHA3-256`);
|
|
204
|
+
return crypto__namespace.createHash("sha3-256").update(data).digest();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* real BLAKE3 implementation
|
|
209
|
+
* BLAKE3 hash implementation
|
|
210
|
+
* @param data - Data to hash
|
|
211
|
+
* @returns BLAKE3 hash
|
|
212
|
+
*/
|
|
213
|
+
static blake3Hash(data) {
|
|
214
|
+
if (blake3 && blake3.blake3) {
|
|
215
|
+
return Buffer.from(blake3.blake3(data, { dkLen: 64 }));
|
|
216
|
+
}
|
|
217
|
+
// Enhanced fallback implementation with better security
|
|
218
|
+
return HashAlgorithms.fallbackBlake3(data);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* real BLAKE2b implementation
|
|
222
|
+
* BLAKE2b hash implementation
|
|
223
|
+
* @param data - Data to hash
|
|
224
|
+
* @returns BLAKE2b hash
|
|
225
|
+
*/
|
|
226
|
+
static blake2bHash(data) {
|
|
227
|
+
if (blake2b && blake2b.blake2b) {
|
|
228
|
+
return Buffer.from(blake2b.blake2b(data, { dkLen: 64 }));
|
|
229
|
+
}
|
|
230
|
+
// Enhanced fallback with better security
|
|
231
|
+
const hash1 = crypto__namespace.createHash("sha3-512").update(data).digest();
|
|
232
|
+
const hash2 = crypto__namespace.createHash("sha512").update(hash1).digest();
|
|
233
|
+
return hashUtils.HashUtils.combineBuffers([hash1, hash2]).subarray(0, 64);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* real BLAKE2s implementation
|
|
237
|
+
* BLAKE2s hash implementation
|
|
238
|
+
* @param data - Data to hash
|
|
239
|
+
* @returns BLAKE2s hash
|
|
240
|
+
*/
|
|
241
|
+
static blake2sHash(data) {
|
|
242
|
+
if (blake2s && blake2s.blake2s) {
|
|
243
|
+
return Buffer.from(blake2s.blake2s(data, { dkLen: 32 }));
|
|
244
|
+
}
|
|
245
|
+
// Enhanced fallback to SHA3-256
|
|
246
|
+
return crypto__namespace.createHash("sha3-256").update(data).digest();
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* better security parameters
|
|
250
|
+
* PBKDF2 hash implementation
|
|
251
|
+
* @param data - Data to hash
|
|
252
|
+
* @returns PBKDF2 hash
|
|
253
|
+
*/
|
|
254
|
+
static pbkdf2Hash(data) {
|
|
255
|
+
// Enhanced salt generation and parameters
|
|
256
|
+
const salt = data.length >= 16
|
|
257
|
+
? data.subarray(0, 16)
|
|
258
|
+
: Buffer.concat([
|
|
259
|
+
data,
|
|
260
|
+
randomCore.SecureRandom.getRandomBytes(16),
|
|
261
|
+
]).subarray(0, 16);
|
|
262
|
+
// Enhanced parameters: more iterations and SHA3-512
|
|
263
|
+
return crypto__namespace.pbkdf2Sync(data, salt, 50000, 64, "sha512");
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* better constants and rounds
|
|
267
|
+
* Fallback BLAKE3 implementation (simplified)
|
|
268
|
+
* @param data - Data to hash
|
|
269
|
+
* @returns Simplified BLAKE3-like hash
|
|
270
|
+
*/
|
|
271
|
+
static fallbackBlake3(data) {
|
|
272
|
+
// Enhanced implementation with more rounds and better constants
|
|
273
|
+
let result = data;
|
|
274
|
+
const constants = [
|
|
275
|
+
Buffer.from("BLAKE3_QR_CONST_1", "utf8"),
|
|
276
|
+
Buffer.from("BLAKE3_QR_CONST_2", "utf8"),
|
|
277
|
+
Buffer.from("BLAKE3_QR_CONST_3", "utf8"),
|
|
278
|
+
Buffer.from("BLAKE3_QR_CONST_4", "utf8"),
|
|
279
|
+
Buffer.from("BLAKE3_QR_CONST_5", "utf8"),
|
|
280
|
+
];
|
|
281
|
+
for (const constant of constants) {
|
|
282
|
+
const combined = hashUtils.HashUtils.combineBuffers([constant, result]);
|
|
283
|
+
result = crypto__namespace.createHash("sha3-512").update(combined).digest();
|
|
284
|
+
// Add additional mixing
|
|
285
|
+
result = crypto__namespace.createHash("sha512").update(result).digest();
|
|
286
|
+
}
|
|
287
|
+
return result;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* quantum resistance option
|
|
291
|
+
* Enhanced HMAC generation
|
|
292
|
+
* @param algorithm - Hash algorithm
|
|
293
|
+
* @param key - HMAC key
|
|
294
|
+
* @param data - Data to authenticate
|
|
295
|
+
* @param options - HMAC options
|
|
296
|
+
* @returns HMAC digest
|
|
297
|
+
*/
|
|
298
|
+
static createSecureHMAC(algorithm, key, data, options = {}) {
|
|
299
|
+
const { encoding = "hex", keyDerivation = false, iterations = 10000, } = options;
|
|
300
|
+
// Convert inputs to buffers
|
|
301
|
+
let keyBuffer = hashUtils.HashUtils.toBuffer(key);
|
|
302
|
+
const dataBuffer = hashUtils.HashUtils.toBuffer(data);
|
|
303
|
+
// Enhanced key derivation with better parameters
|
|
304
|
+
if (keyDerivation) {
|
|
305
|
+
const salt = crypto__namespace.randomBytes(32); // Increased salt size
|
|
306
|
+
keyBuffer = crypto__namespace.pbkdf2Sync(keyBuffer, salt, Math.max(iterations, 50000), // Minimum 50k iterations
|
|
307
|
+
64, // Increased key length
|
|
308
|
+
"sha512");
|
|
309
|
+
}
|
|
310
|
+
// Create HMAC with enhanced security
|
|
311
|
+
const hmac = crypto__namespace.createHmac(algorithm, keyBuffer);
|
|
312
|
+
hmac.update(dataBuffer);
|
|
313
|
+
const digest = hmac.digest();
|
|
314
|
+
// Return in requested encoding
|
|
315
|
+
switch (encoding) {
|
|
316
|
+
case "hex":
|
|
317
|
+
return digest.toString("hex");
|
|
318
|
+
case "base64":
|
|
319
|
+
return digest.toString("base64");
|
|
320
|
+
case "base64url":
|
|
321
|
+
return digest
|
|
322
|
+
.toString("base64")
|
|
323
|
+
.replace(/\+/g, "-")
|
|
324
|
+
.replace(/\//g, "_")
|
|
325
|
+
.replace(/=/g, "");
|
|
326
|
+
default:
|
|
327
|
+
return digest.toString("hex");
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* better algorithm selection and quantum resistance
|
|
332
|
+
* Multi-algorithm hash for quantum resistance
|
|
333
|
+
* @param input - Input to hash
|
|
334
|
+
* @param algorithms - Algorithms to use
|
|
335
|
+
* @param iterations - Iterations per algorithm
|
|
336
|
+
* @returns Combined hash result
|
|
337
|
+
*/
|
|
338
|
+
static multiAlgorithmHash(input, algorithms = ["sha3-512", "blake3", "sha512"], iterations = 1000) {
|
|
339
|
+
let result = hashUtils.HashUtils.toBuffer(input);
|
|
340
|
+
// Enhanced with better algorithm selection and quantum resistance
|
|
341
|
+
const enhancedAlgorithms = algorithms.length > 0 ? algorithms : this.QUANTUM_ALGORITHMS;
|
|
342
|
+
const safeIterations = Math.max(iterations, 100); // Minimum iterations
|
|
343
|
+
for (const algorithm of enhancedAlgorithms) {
|
|
344
|
+
for (let i = 0; i < Math.floor(safeIterations / enhancedAlgorithms.length); i++) {
|
|
345
|
+
result = HashAlgorithms.hashWithAlgorithm(result, algorithm);
|
|
346
|
+
// Add entropy between iterations for better security
|
|
347
|
+
if (i % 10 === 0) {
|
|
348
|
+
const entropy = crypto__namespace.randomBytes(8);
|
|
349
|
+
result = hashUtils.HashUtils.combineBuffers([result, entropy]);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
return result;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* better chunk processing and algorithms
|
|
357
|
+
* Streamed hash for large data
|
|
358
|
+
* @param algorithm - Hash algorithm
|
|
359
|
+
* @param chunkSize - Chunk size for processing
|
|
360
|
+
* @returns Hash stream processor
|
|
361
|
+
*/
|
|
362
|
+
static createStreamHash(algorithm = "sha256", chunkSize = 64 * 1024 // 64KB chunks
|
|
363
|
+
) {
|
|
364
|
+
// Enhanced with better algorithm selection
|
|
365
|
+
const safeAlgorithm = [
|
|
366
|
+
"sha256",
|
|
367
|
+
"sha512",
|
|
368
|
+
"sha3-256",
|
|
369
|
+
"sha3-512",
|
|
370
|
+
].includes(algorithm)
|
|
371
|
+
? algorithm
|
|
372
|
+
: "sha3-256";
|
|
373
|
+
let hash = crypto__namespace.createHash(safeAlgorithm);
|
|
374
|
+
let totalProcessed = 0;
|
|
375
|
+
const safeChunkSize = Math.max(chunkSize, 1024); // Minimum 1KB chunks
|
|
376
|
+
return {
|
|
377
|
+
update: (chunk) => {
|
|
378
|
+
// Enhanced chunk processing with validation
|
|
379
|
+
if (!chunk || chunk.length === 0)
|
|
380
|
+
return;
|
|
381
|
+
let offset = 0;
|
|
382
|
+
while (offset < chunk.length) {
|
|
383
|
+
const end = Math.min(offset + safeChunkSize, chunk.length);
|
|
384
|
+
const subChunk = chunk.subarray(offset, end);
|
|
385
|
+
hash.update(subChunk);
|
|
386
|
+
offset = end;
|
|
387
|
+
totalProcessed += subChunk.length;
|
|
388
|
+
}
|
|
389
|
+
},
|
|
390
|
+
digest: () => {
|
|
391
|
+
const result = hash.digest();
|
|
392
|
+
// Reset for potential reuse
|
|
393
|
+
hash = crypto__namespace.createHash(safeAlgorithm);
|
|
394
|
+
totalProcessed = 0;
|
|
395
|
+
return result;
|
|
396
|
+
},
|
|
397
|
+
reset: () => {
|
|
398
|
+
hash = crypto__namespace.createHash(safeAlgorithm);
|
|
399
|
+
totalProcessed = 0;
|
|
400
|
+
},
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* better timing attack prevention
|
|
405
|
+
* Constant-time hash comparison
|
|
406
|
+
* @param hash1 - First hash
|
|
407
|
+
* @param hash2 - Second hash
|
|
408
|
+
* @returns True if hashes match
|
|
409
|
+
*/
|
|
410
|
+
static constantTimeCompare(hash1, hash2) {
|
|
411
|
+
const buffer1 = Buffer.isBuffer(hash1)
|
|
412
|
+
? hash1
|
|
413
|
+
: Buffer.from(hash1, "hex");
|
|
414
|
+
const buffer2 = Buffer.isBuffer(hash2)
|
|
415
|
+
? hash2
|
|
416
|
+
: Buffer.from(hash2, "hex");
|
|
417
|
+
// Enhanced length check with timing normalization
|
|
418
|
+
if (buffer1.length !== buffer2.length) {
|
|
419
|
+
// Perform dummy comparison to prevent timing attacks
|
|
420
|
+
const maxLen = Math.max(buffer1.length, buffer2.length);
|
|
421
|
+
const dummy = crypto__namespace.randomBytes(maxLen);
|
|
422
|
+
try {
|
|
423
|
+
crypto__namespace.timingSafeEqual(buffer1.length >= maxLen
|
|
424
|
+
? buffer1
|
|
425
|
+
: Buffer.concat([buffer1, dummy]).subarray(0, maxLen), buffer2.length >= maxLen
|
|
426
|
+
? buffer2
|
|
427
|
+
: Buffer.concat([buffer2, dummy]).subarray(0, maxLen));
|
|
428
|
+
}
|
|
429
|
+
catch (e) {
|
|
430
|
+
// Ignore timing safe equal errors in dummy comparison
|
|
431
|
+
}
|
|
432
|
+
return false;
|
|
433
|
+
}
|
|
434
|
+
try {
|
|
435
|
+
return crypto__namespace.timingSafeEqual(buffer1, buffer2);
|
|
436
|
+
}
|
|
437
|
+
catch (error) {
|
|
438
|
+
// Enhanced manual constant-time comparison with better timing normalization
|
|
439
|
+
let result = 0;
|
|
440
|
+
for (let i = 0; i < buffer1.length; i++) {
|
|
441
|
+
result |= buffer1[i] ^ buffer2[i];
|
|
442
|
+
}
|
|
443
|
+
// Additional timing normalization
|
|
444
|
+
const dummy = crypto__namespace.randomBytes(32);
|
|
445
|
+
for (let i = 0; i < dummy.length; i++) {
|
|
446
|
+
result |= dummy[i] ^ dummy[i]; // Always 0, but prevents optimization
|
|
447
|
+
result |= dummy[i] & 0; // Additional timing noise
|
|
448
|
+
}
|
|
449
|
+
return result === 0;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
// ==================== NEW ENHANCED METHODS ====================
|
|
453
|
+
/**
|
|
454
|
+
* NEW METHOD - Ultra-secure hash function with quantum resistance
|
|
455
|
+
*/
|
|
456
|
+
static async quantumResistantHash(input, options = {}) {
|
|
457
|
+
await ensureLibsInitialized();
|
|
458
|
+
const { algorithm = "multi-quantum", iterations = this.SECURITY_CONSTANTS.DEFAULT_ITERATIONS, salt, pepper, outputFormat = "hex", keyDerivation = "argon2", parallelism = this.SECURITY_CONSTANTS.ARGON2_PARALLELISM, memorySize = this.SECURITY_CONSTANTS.ARGON2_MEMORY_COST, timeCost = this.SECURITY_CONSTANTS.ARGON2_TIME_COST, domainSeparation, } = options;
|
|
459
|
+
// Generate cryptographically secure salt if not provided
|
|
460
|
+
const finalSalt = salt || crypto__namespace.randomBytes(this.SECURITY_CONSTANTS.MIN_SALT_SIZE);
|
|
461
|
+
const finalPepper = pepper ||
|
|
462
|
+
crypto__namespace.randomBytes(this.SECURITY_CONSTANTS.MIN_PEPPER_SIZE);
|
|
463
|
+
// Convert input to buffer
|
|
464
|
+
let data = hashUtils.HashUtils.toBuffer(input);
|
|
465
|
+
// Domain separation for different use cases
|
|
466
|
+
if (domainSeparation) {
|
|
467
|
+
const domainBuffer = hashUtils.HashUtils.toBuffer(domainSeparation);
|
|
468
|
+
data = hashUtils.HashUtils.combineBuffers([domainBuffer, data]);
|
|
469
|
+
}
|
|
470
|
+
// Apply salt and pepper
|
|
471
|
+
const saltBuffer = hashUtils.HashUtils.toBuffer(finalSalt);
|
|
472
|
+
const pepperBuffer = hashUtils.HashUtils.toBuffer(finalPepper);
|
|
473
|
+
data = hashUtils.HashUtils.combineBuffers([saltBuffer, data, pepperBuffer]);
|
|
474
|
+
let result;
|
|
475
|
+
// Use appropriate key derivation function
|
|
476
|
+
switch (keyDerivation) {
|
|
477
|
+
case "argon2":
|
|
478
|
+
result = await this.argon2Derive(data, saltBuffer, {
|
|
479
|
+
timeCost,
|
|
480
|
+
memoryCost: memorySize,
|
|
481
|
+
parallelism,
|
|
482
|
+
iterations,
|
|
483
|
+
});
|
|
484
|
+
break;
|
|
485
|
+
case "scrypt":
|
|
486
|
+
result = await this.scryptDerive(data, saltBuffer);
|
|
487
|
+
break;
|
|
488
|
+
case "bcrypt":
|
|
489
|
+
result = await this.bcryptDerive(data, saltBuffer);
|
|
490
|
+
break;
|
|
491
|
+
default:
|
|
492
|
+
result = this.pbkdf2Derive(data, saltBuffer, iterations);
|
|
493
|
+
}
|
|
494
|
+
// Apply quantum-resistant multi-algorithm hashing
|
|
495
|
+
if (algorithm === "multi-quantum" || options.quantumResistant) {
|
|
496
|
+
result = this.multiQuantumHash(result);
|
|
497
|
+
}
|
|
498
|
+
else {
|
|
499
|
+
result = HashAlgorithms.hashWithAlgorithm(result, algorithm);
|
|
500
|
+
}
|
|
501
|
+
return hashUtils.HashUtils.formatOutput(result, outputFormat);
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* NEW METHOD - Argon2 key derivation
|
|
505
|
+
*/
|
|
506
|
+
static async argon2Derive(data, salt, options) {
|
|
507
|
+
if (argon2) {
|
|
508
|
+
try {
|
|
509
|
+
const hash = await argon2.hash(data, {
|
|
510
|
+
type: argon2.argon2id,
|
|
511
|
+
timeCost: options.timeCost,
|
|
512
|
+
memoryCost: options.memoryCost,
|
|
513
|
+
parallelism: options.parallelism,
|
|
514
|
+
salt: salt,
|
|
515
|
+
hashLength: 64,
|
|
516
|
+
});
|
|
517
|
+
return Buffer.from(hash);
|
|
518
|
+
}
|
|
519
|
+
catch (error) {
|
|
520
|
+
console.warn("Argon2 failed, falling back to PBKDF2");
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
return this.pbkdf2Derive(data, salt, options.iterations * 10);
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* NEW METHOD - Scrypt key derivation
|
|
527
|
+
*/
|
|
528
|
+
static async scryptDerive(data, salt) {
|
|
529
|
+
try {
|
|
530
|
+
return crypto__namespace.scryptSync(data, salt, 64, {
|
|
531
|
+
N: 32768,
|
|
532
|
+
r: 8,
|
|
533
|
+
p: 1,
|
|
534
|
+
});
|
|
535
|
+
}
|
|
536
|
+
catch (error) {
|
|
537
|
+
console.warn("Scrypt failed, falling back to PBKDF2");
|
|
538
|
+
return this.pbkdf2Derive(data, salt, 100000);
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
/**
|
|
542
|
+
* NEW METHOD - BCrypt key derivation
|
|
543
|
+
*/
|
|
544
|
+
static async bcryptDerive(data, salt) {
|
|
545
|
+
if (bcrypt) {
|
|
546
|
+
try {
|
|
547
|
+
const hash = await bcrypt.hash(data.toString("hex"), 12);
|
|
548
|
+
return Buffer.from(hash);
|
|
549
|
+
}
|
|
550
|
+
catch (error) {
|
|
551
|
+
console.warn("BCrypt failed, falling back to PBKDF2");
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
return this.pbkdf2Derive(data, salt, 50000);
|
|
555
|
+
}
|
|
556
|
+
/**
|
|
557
|
+
* NEW METHOD - Enhanced PBKDF2 key derivation
|
|
558
|
+
*/
|
|
559
|
+
static pbkdf2Derive(data, salt, iterations) {
|
|
560
|
+
return crypto__namespace.pbkdf2Sync(data, salt, Math.max(iterations, 50000), 64, "sha512");
|
|
561
|
+
}
|
|
562
|
+
/**
|
|
563
|
+
* NEW METHOD - Multi-algorithm quantum-resistant hashing
|
|
564
|
+
*/
|
|
565
|
+
static multiQuantumHash(data) {
|
|
566
|
+
let result = data;
|
|
567
|
+
for (let round = 0; round < this.SECURITY_CONSTANTS.QUANTUM_ROUNDS; round++) {
|
|
568
|
+
for (const algorithm of this.QUANTUM_ALGORITHMS) {
|
|
569
|
+
result = HashAlgorithms.hashWithAlgorithm(result, algorithm);
|
|
570
|
+
// Add entropy between algorithms
|
|
571
|
+
const entropy = crypto__namespace.randomBytes(16);
|
|
572
|
+
result = hashUtils.HashUtils.combineBuffers([result, entropy]);
|
|
573
|
+
result = HashAlgorithms.hashWithAlgorithm(result, "sha3-512");
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
return result;
|
|
577
|
+
}
|
|
578
|
+
/**
|
|
579
|
+
* NEW METHOD - Ultra-secure HMAC with quantum resistance
|
|
580
|
+
*/
|
|
581
|
+
static async createQuantumHMAC(algorithm, key, data, options = {}) {
|
|
582
|
+
await ensureLibsInitialized();
|
|
583
|
+
const { encoding = "hex", keyDerivation = true, iterations = 100000, quantumResistant = true, } = options;
|
|
584
|
+
let keyBuffer = hashUtils.HashUtils.toBuffer(key);
|
|
585
|
+
const dataBuffer = hashUtils.HashUtils.toBuffer(data);
|
|
586
|
+
if (keyDerivation) {
|
|
587
|
+
const salt = crypto__namespace.randomBytes(32);
|
|
588
|
+
keyBuffer = (await this.quantumResistantHash(keyBuffer, {
|
|
589
|
+
salt,
|
|
590
|
+
keyDerivation: "argon2",
|
|
591
|
+
iterations,
|
|
592
|
+
quantumResistant,
|
|
593
|
+
}));
|
|
594
|
+
}
|
|
595
|
+
let hmacResult;
|
|
596
|
+
if (quantumResistant) {
|
|
597
|
+
const hmacs = [
|
|
598
|
+
crypto__namespace
|
|
599
|
+
.createHmac("sha3-512", keyBuffer)
|
|
600
|
+
.update(dataBuffer)
|
|
601
|
+
.digest(),
|
|
602
|
+
crypto__namespace
|
|
603
|
+
.createHmac("sha512", keyBuffer)
|
|
604
|
+
.update(dataBuffer)
|
|
605
|
+
.digest(),
|
|
606
|
+
this.blake3HMAC(keyBuffer, dataBuffer),
|
|
607
|
+
];
|
|
608
|
+
hmacResult = hashUtils.HashUtils.combineBuffers(hmacs);
|
|
609
|
+
hmacResult = crypto__namespace
|
|
610
|
+
.createHash("sha3-512")
|
|
611
|
+
.update(hmacResult)
|
|
612
|
+
.digest();
|
|
613
|
+
}
|
|
614
|
+
else {
|
|
615
|
+
hmacResult = crypto__namespace
|
|
616
|
+
.createHmac(algorithm, keyBuffer)
|
|
617
|
+
.update(dataBuffer)
|
|
618
|
+
.digest();
|
|
619
|
+
}
|
|
620
|
+
switch (encoding) {
|
|
621
|
+
case "hex":
|
|
622
|
+
return hmacResult.toString("hex");
|
|
623
|
+
case "base64":
|
|
624
|
+
return hmacResult.toString("base64");
|
|
625
|
+
case "base64url":
|
|
626
|
+
return hmacResult
|
|
627
|
+
.toString("base64")
|
|
628
|
+
.replace(/\+/g, "-")
|
|
629
|
+
.replace(/\//g, "_")
|
|
630
|
+
.replace(/=/g, "");
|
|
631
|
+
default:
|
|
632
|
+
return hmacResult.toString("hex");
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* NEW METHOD - BLAKE3-based HMAC
|
|
637
|
+
*/
|
|
638
|
+
static blake3HMAC(key, data) {
|
|
639
|
+
const ipad = Buffer.alloc(64, 0x36);
|
|
640
|
+
const opad = Buffer.alloc(64, 0x5c);
|
|
641
|
+
let keyPad = key.length > 64 ? this.blake3Hash(key) : key;
|
|
642
|
+
if (keyPad.length < 64) {
|
|
643
|
+
const padding = Buffer.alloc(64 - keyPad.length, 0);
|
|
644
|
+
keyPad = Buffer.concat([keyPad, padding]);
|
|
645
|
+
}
|
|
646
|
+
for (let i = 0; i < 64; i++) {
|
|
647
|
+
ipad[i] ^= keyPad[i];
|
|
648
|
+
opad[i] ^= keyPad[i];
|
|
649
|
+
}
|
|
650
|
+
const innerData = Buffer.concat([ipad, data]);
|
|
651
|
+
const innerHash = this.blake3Hash(innerData);
|
|
652
|
+
const outerData = Buffer.concat([opad, innerHash]);
|
|
653
|
+
return this.blake3Hash(outerData);
|
|
654
|
+
}
|
|
655
|
+
/**
|
|
656
|
+
* NEW METHOD - Secure random salt generation
|
|
657
|
+
*/
|
|
658
|
+
static generateSecureSalt(size = 32) {
|
|
659
|
+
return crypto__namespace.randomBytes(Math.max(size, 16));
|
|
660
|
+
}
|
|
661
|
+
/**
|
|
662
|
+
* NEW METHOD - Enhanced secure comparison with additional timing normalization
|
|
663
|
+
*/
|
|
664
|
+
static secureCompare(hash1, hash2) {
|
|
665
|
+
return this.constantTimeCompare(hash1, hash2);
|
|
666
|
+
}
|
|
667
|
+
/**
|
|
668
|
+
* NEW METHOD - Secure hash verification
|
|
669
|
+
*/
|
|
670
|
+
static async verifyHash(input, expectedHash, options = {}) {
|
|
671
|
+
try {
|
|
672
|
+
const computedHash = await this.quantumResistantHash(input, options);
|
|
673
|
+
return this.constantTimeCompare(computedHash, expectedHash);
|
|
674
|
+
}
|
|
675
|
+
catch (error) {
|
|
676
|
+
console.error("Hash verification failed:", error);
|
|
677
|
+
return false;
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* NEW METHOD - Memory-hard proof of work
|
|
682
|
+
*/
|
|
683
|
+
static async proofOfWork(challenge, difficulty = 4) {
|
|
684
|
+
let nonce = 0;
|
|
685
|
+
let attempts = 0;
|
|
686
|
+
const target = "0".repeat(Math.max(difficulty, 1));
|
|
687
|
+
while (true) {
|
|
688
|
+
const input = `${challenge}:${nonce}`;
|
|
689
|
+
const hash = await this.quantumResistantHash(input, {
|
|
690
|
+
algorithm: "blake3",
|
|
691
|
+
quantumResistant: false,
|
|
692
|
+
});
|
|
693
|
+
attempts++;
|
|
694
|
+
const hashStr = hash.toString();
|
|
695
|
+
if (hashStr.startsWith(target)) {
|
|
696
|
+
return {
|
|
697
|
+
nonce: nonce.toString(),
|
|
698
|
+
hash: hashStr,
|
|
699
|
+
attempts,
|
|
700
|
+
};
|
|
701
|
+
}
|
|
702
|
+
nonce++;
|
|
703
|
+
if (attempts > 10000000) {
|
|
704
|
+
throw new Error("Proof of work difficulty too high");
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
HashAlgorithms.QUANTUM_ALGORITHMS = [
|
|
710
|
+
"sha3-512",
|
|
711
|
+
"blake3",
|
|
712
|
+
"blake2b",
|
|
713
|
+
"shake256",
|
|
714
|
+
];
|
|
715
|
+
HashAlgorithms.SECURITY_CONSTANTS = {
|
|
716
|
+
MIN_SALT_SIZE: 32,
|
|
717
|
+
MIN_PEPPER_SIZE: 16,
|
|
718
|
+
DEFAULT_ITERATIONS: 100000,
|
|
719
|
+
ARGON2_TIME_COST: 3,
|
|
720
|
+
ARGON2_MEMORY_COST: 65536, // 64MB
|
|
721
|
+
ARGON2_PARALLELISM: 4,
|
|
722
|
+
QUANTUM_ROUNDS: 5,
|
|
723
|
+
};
|
|
724
|
+
|
|
725
|
+
exports.HashAlgorithms = HashAlgorithms;
|
|
726
|
+
exports.default = HashAlgorithms;
|
|
727
|
+
//# sourceMappingURL=hash-algorithms.js.map
|