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,136 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var keysCore = require('./keys/keys-core.js');
|
|
4
|
+
require('./keys/keys-logger.js');
|
|
5
|
+
require('./keys/keys-types.js');
|
|
6
|
+
require('./keys/keys-utils.js');
|
|
7
|
+
require('crypto');
|
|
8
|
+
require('./keys/algorithms/mods/PBKDF2Algo.js');
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Legacy Keys implementation for key derivation and management.
|
|
12
|
+
* This class provides a backward-compatible interface for key derivation while leveraging
|
|
13
|
+
* the modern, optimized key derivation infrastructure. It serves as a facade to the {@link OptimizedKeys} class,
|
|
14
|
+
* simplifying interaction with cryptographic key operations and providing environment insights.
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* - This class ensures compatibility with legacy systems while delegating core functionality to {@link OptimizedKeys}.
|
|
18
|
+
* - All methods are static, allowing direct usage without instantiation.
|
|
19
|
+
* - Designed to be thread-safe and efficient by reusing a singleton instance of {@link OptimizedKeys}.
|
|
20
|
+
*
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* ### Cryptographic Key Management
|
|
25
|
+
*
|
|
26
|
+
* Advanced key generation, derivation, and management utilities for
|
|
27
|
+
* symmetric and asymmetric cryptographic operations.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* import { Keys } from "xypriss-security";
|
|
32
|
+
*
|
|
33
|
+
* // Generate encryption key
|
|
34
|
+
* const encryptionKey = Keys.generateEncryptionKey(256);
|
|
35
|
+
*
|
|
36
|
+
* // Derive key from password
|
|
37
|
+
* const derivedKey = await Keys.deriveKey("password", "salt");
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
class Keys {
|
|
41
|
+
/**
|
|
42
|
+
* Derives a cryptographic key from the provided input using specified options.
|
|
43
|
+
* This method delegates to the optimized key derivation system, ensuring high performance
|
|
44
|
+
* and adherence to cryptographic best practices.
|
|
45
|
+
*
|
|
46
|
+
* @param input - The input data for key derivation, either a password (string) or raw bytes (Uint8Array).
|
|
47
|
+
* @param options - Optional configuration for key derivation, including algorithm, iterations, and other parameters.
|
|
48
|
+
* If omitted, default values are applied based on the underlying {@link OptimizedKeys} implementation.
|
|
49
|
+
* @returns A hexadecimal string representing the derived cryptographic key.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const key = Keys.deriveKey('myPassword', { algorithm: 'PBKDF2', iterations: 100000 });
|
|
54
|
+
* console.log(key); // Outputs: "a1b2c3d4e5f6..."
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @remarks
|
|
58
|
+
* - Throws an invalid input error if the input format is invalid or unsupported.
|
|
59
|
+
* - The output length depends on the algorithm and options specified.
|
|
60
|
+
* - For security, ensure the input is securely handled to prevent leakage.
|
|
61
|
+
*
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
static deriveKey(input, options = {}) {
|
|
65
|
+
return keysCore.OptimizedKeys.getInstance().deriveKey(input, options);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Retrieves performance metrics for key derivation operations.
|
|
69
|
+
* Offers detailed insights into the efficiency and resource usage of the underlying
|
|
70
|
+
* optimized key derivation system.
|
|
71
|
+
*
|
|
72
|
+
* @returns An object containing performance metrics, such as derivation time (ms) and memory usage (MB).
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* const metrics = Keys.getMetrics();
|
|
77
|
+
* console.log(metrics); // Outputs: { derivationTimeMs: 10, memoryUsedMb: 2.5, operationsCount: 100, ... }
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
80
|
+
* @remarks
|
|
81
|
+
* - Metrics are aggregated from the {@link OptimizedKeys} instance and may include vendor-specific data.
|
|
82
|
+
* - Useful for debugging and optimizing key derivation processes in performance-critical applications.
|
|
83
|
+
*
|
|
84
|
+
* @public
|
|
85
|
+
*/
|
|
86
|
+
static getMetrics() {
|
|
87
|
+
return keysCore.OptimizedKeys.getInstance().getMetrics();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Retrieves information about the current runtime environment.
|
|
91
|
+
* Includes details about such the as platform, supported cryptographic algorithms,
|
|
92
|
+
* and other environment-specific data relevant to key derivation.
|
|
93
|
+
*
|
|
94
|
+
* @returns An object containing environment-specific information, such as platform type and cryptographic capabilities.
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const envInfo = Keys.getEnvironmentInfo();
|
|
99
|
+
* console.log('envInfo); // Outputs: ' { platform: 'Node.js', cryptoSupport: ['PBKDF2', 'Argon2'], version: '18.x', ... }
|
|
100
|
+
* ```
|
|
101
|
+
*
|
|
102
|
+
* @remarks
|
|
103
|
+
* - The exact structure of the returned object may vary depending on the runtime environment.
|
|
104
|
+
* - Useful for feature detection and compatibility checks in cross-platform applications.
|
|
105
|
+
*
|
|
106
|
+
* @public
|
|
107
|
+
*/
|
|
108
|
+
static getEnvironmentInfo() {
|
|
109
|
+
return keysCore.OptimizedKeys.getInstance().getEnvironmentInfo();
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Recommends an optimal key derivation algorithm based on the current runtime environment.
|
|
113
|
+
* Evaluates the environment to suggest a secure algorithm and performant algorithm, prioritizing security.
|
|
114
|
+
* security.
|
|
115
|
+
*
|
|
116
|
+
* @returns A string indicating the recommended key derivation algorithm (e.g., 'PBKDF2', 'Argon2').
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* const algorithm = Keys.getRecommendedAlgorithm();
|
|
121
|
+
* console.log(algorithm); // Outputs: 'Argon2'
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* @remarks
|
|
125
|
+
* - The recommendation is based on factors like CPU architecture, memory availability, and cryptographic library support.
|
|
126
|
+
* - The recommended algorithm may differ across environments (e.g., browser vs. server).
|
|
127
|
+
*
|
|
128
|
+
* @public
|
|
129
|
+
*/
|
|
130
|
+
static getRecommendedAlgorithm() {
|
|
131
|
+
return keysCore.OptimizedKeys.getInstance().getRecommendedAlgorithm();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
exports.Keys = Keys;
|
|
136
|
+
//# sourceMappingURL=keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.js","sources":["../../../../../../mods/security/src/core/keys.ts"],"sourcesContent":[null],"names":["OptimizedKeys"],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;AAYG;AAKH;;;;;;;;;;;;;;;;AAgBG;MACU,IAAI,CAAA;AACb;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,IAAA,OAAO,SAAS,CACnB,KAA0B,EAC1B,UAAgC,EAAE,EAAA;QAElC,OAAOA,sBAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KAChE;AAED;;;;;;;;;;;;;;;;;;AAkBG;AACI,IAAA,OAAO,UAAU,GAAA;AACpB,QAAA,OAAOA,sBAAa,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;KACnD;AAED;;;;;;;;;;;;;;;;;;AAkBG;AACI,IAAA,OAAO,kBAAkB,GAAA;AAC5B,QAAA,OAAOA,sBAAa,CAAC,WAAW,EAAE,CAAC,kBAAkB,EAAE,CAAC;KAC3D;AAED;;;;;;;;;;;;;;;;;;AAkBG;AACI,IAAA,OAAO,uBAAuB,GAAA;AACjC,QAAA,OAAOA,sBAAa,CAAC,WAAW,EAAE,CAAC,uBAAuB,EAAE,CAAC;KAChE;AACJ;;;;"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var passwordCore = require('./password-core.js');
|
|
4
|
+
require('../random/random-types.js');
|
|
5
|
+
require('../random/random-sources.js');
|
|
6
|
+
require('crypto');
|
|
7
|
+
require('nehonix-uri-processor');
|
|
8
|
+
require('../../utils/memory/index.js');
|
|
9
|
+
require('../../types.js');
|
|
10
|
+
var passwordTypes = require('./password-types.js');
|
|
11
|
+
require('../hash/hash-core.js');
|
|
12
|
+
require('../hash/hash-types.js');
|
|
13
|
+
require('../hash/hash-security.js');
|
|
14
|
+
require('../hash/hash-advanced.js');
|
|
15
|
+
require('../../algorithms/hash-algorithms.js');
|
|
16
|
+
require('argon2');
|
|
17
|
+
require('child_process');
|
|
18
|
+
require('../../types/secure-memory.js');
|
|
19
|
+
require('https');
|
|
20
|
+
require('../../components/runtime-verification.js');
|
|
21
|
+
require('../../components/tamper-evident-logging.js');
|
|
22
|
+
|
|
23
|
+
/* ---------------------------------------------------------------------------------------------
|
|
24
|
+
* Copyright (c) NEHONIX INC. All rights reserved.
|
|
25
|
+
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
26
|
+
* -------------------------------------------------------------------------------------------
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* XyPrissSecurity Password Management Module => FPMM
|
|
30
|
+
*
|
|
31
|
+
* Modular, military-grade password management system
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* import { PasswordManager } from "xypriss-security/core/password";
|
|
36
|
+
*
|
|
37
|
+
* // Create password manager instance
|
|
38
|
+
* const pm = PasswordManager.getInstance();
|
|
39
|
+
*
|
|
40
|
+
* // Hash a password
|
|
41
|
+
* const hash = await pm.hash("mySecurePassword123!");
|
|
42
|
+
*
|
|
43
|
+
* // Verify a password
|
|
44
|
+
* const result = await pm.verify("mySecurePassword123!", hash);
|
|
45
|
+
* console.log(result.isValid); // true
|
|
46
|
+
*
|
|
47
|
+
* // Generate secure password
|
|
48
|
+
* const generated = pm.generatePassword({ length: 16, minStrengthScore: 90 });
|
|
49
|
+
* console.log(generated.password);
|
|
50
|
+
*
|
|
51
|
+
* // Migrate from bcrypt
|
|
52
|
+
* const migration = await pm.migrate("password", bcryptHash);
|
|
53
|
+
* if (migration.migrated) {
|
|
54
|
+
* console.log("Successfully migrated to XyPrissSecurity!");
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
passwordCore.PasswordManager.getInstance();
|
|
59
|
+
/**
|
|
60
|
+
* Get default password policy
|
|
61
|
+
*/
|
|
62
|
+
function getDefaultPasswordPolicy() {
|
|
63
|
+
return {
|
|
64
|
+
minLength: 8,
|
|
65
|
+
maxLength: 128,
|
|
66
|
+
requireUppercase: true,
|
|
67
|
+
requireLowercase: true,
|
|
68
|
+
requireNumbers: true,
|
|
69
|
+
requireSymbols: true,
|
|
70
|
+
minStrengthScore: 70,
|
|
71
|
+
forbiddenPatterns: [
|
|
72
|
+
/^[0-9]+$/, // All numbers
|
|
73
|
+
/^[a-zA-Z]+$/, // All letters
|
|
74
|
+
/^(.)\1{2,}$/, // Repeated characters
|
|
75
|
+
/^(qwerty|asdfgh|zxcvbn)/i, // Keyboard patterns
|
|
76
|
+
/^(password|admin|user)/i, // Common words
|
|
77
|
+
],
|
|
78
|
+
forbiddenWords: [
|
|
79
|
+
"password",
|
|
80
|
+
"admin",
|
|
81
|
+
"user",
|
|
82
|
+
"login",
|
|
83
|
+
"welcome",
|
|
84
|
+
"123456",
|
|
85
|
+
"qwerty",
|
|
86
|
+
"abc123",
|
|
87
|
+
"password123",
|
|
88
|
+
],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get recommended security configuration
|
|
93
|
+
*/
|
|
94
|
+
function getRecommendedConfig() {
|
|
95
|
+
return {
|
|
96
|
+
defaultAlgorithm: "argon2id",
|
|
97
|
+
defaultSecurityLevel: "high",
|
|
98
|
+
timingSafeVerification: true,
|
|
99
|
+
secureMemoryWipe: true,
|
|
100
|
+
enableMigration: true,
|
|
101
|
+
policy: getDefaultPasswordPolicy(),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
// ===== DEFAULT INSTANCE =====
|
|
105
|
+
/**
|
|
106
|
+
* Default password manager instance
|
|
107
|
+
* Ready to use out of the box
|
|
108
|
+
*/
|
|
109
|
+
passwordCore.PasswordManager.getInstance(getRecommendedConfig());
|
|
110
|
+
|
|
111
|
+
exports.PasswordManager = passwordCore.PasswordManager;
|
|
112
|
+
Object.defineProperty(exports, 'PasswordAlgorithm', {
|
|
113
|
+
enumerable: true,
|
|
114
|
+
get: function () { return passwordTypes.PasswordAlgorithm; }
|
|
115
|
+
});
|
|
116
|
+
Object.defineProperty(exports, 'PasswordSecurityLevel', {
|
|
117
|
+
enumerable: true,
|
|
118
|
+
get: function () { return passwordTypes.PasswordSecurityLevel; }
|
|
119
|
+
});
|
|
120
|
+
exports.getDefaultPasswordPolicy = getDefaultPasswordPolicy;
|
|
121
|
+
exports.getRecommendedConfig = getRecommendedConfig;
|
|
122
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../mods/security/src/core/password/index.ts"],"sourcesContent":[null],"names":["PasswordManager"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;AAgBeA,4BAAe,CAAC,WAAW,GAAG;AAyFhD;;AAEG;SACa,wBAAwB,GAAA;IACpC,OAAO;AACH,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,iBAAiB,EAAE;AACf,YAAA,UAAU;AACV,YAAA,aAAa;AACb,YAAA,aAAa;AACb,YAAA,0BAA0B;AAC1B,YAAA,yBAAyB;AAC5B,SAAA;AACD,QAAA,cAAc,EAAE;YACZ,UAAU;YACV,OAAO;YACP,MAAM;YACN,OAAO;YACP,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,aAAa;AAChB,SAAA;KACJ,CAAC;AACN,CAAC;AAED;;AAEG;SACa,oBAAoB,GAAA;IAChC,OAAO;AACH,QAAA,gBAAgB,EAAE,UAAiB;AACnC,QAAA,oBAAoB,EAAE,MAAa;AACnC,QAAA,sBAAsB,EAAE,IAAI;AAC5B,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,eAAe,EAAE,IAAI;QACrB,MAAM,EAAE,wBAAwB,EAAE;KACrC,CAAC;AACN,CAAC;AA8HD;AAEA;;;AAGG;AACmCA,4BAAe,CAAC,WAAW,CAC7D,oBAAoB,EAAE;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var hashCore = require('../hash/hash-core.js');
|
|
4
|
+
var hashTypes = require('../hash/hash-types.js');
|
|
5
|
+
require('crypto');
|
|
6
|
+
require('../hash/hash-security.js');
|
|
7
|
+
require('../hash/hash-advanced.js');
|
|
8
|
+
require('../../algorithms/hash-algorithms.js');
|
|
9
|
+
var randomCore = require('../random/random-core.js');
|
|
10
|
+
require('../random/random-types.js');
|
|
11
|
+
require('../random/random-sources.js');
|
|
12
|
+
require('nehonix-uri-processor');
|
|
13
|
+
require('../../utils/memory/index.js');
|
|
14
|
+
var types = require('../../types.js');
|
|
15
|
+
var sideChannel = require('../../components/side-channel.js');
|
|
16
|
+
require('argon2');
|
|
17
|
+
require('child_process');
|
|
18
|
+
require('../../types/secure-memory.js');
|
|
19
|
+
require('https');
|
|
20
|
+
require('../../components/runtime-verification.js');
|
|
21
|
+
require('../../components/tamper-evident-logging.js');
|
|
22
|
+
var passwordTypes = require('./password-types.js');
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 🔐 Password Algorithms Module
|
|
26
|
+
*
|
|
27
|
+
* Implements various password hashing algorithms with security optimizations
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* Password hashing algorithms implementation
|
|
31
|
+
*/
|
|
32
|
+
class PasswordAlgorithms {
|
|
33
|
+
constructor(config) {
|
|
34
|
+
this.config = config;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Update configuration
|
|
38
|
+
*/
|
|
39
|
+
updateConfig(config) {
|
|
40
|
+
this.config = config;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Hash password using specified algorithm
|
|
44
|
+
*/
|
|
45
|
+
async hash(password, salt, options) {
|
|
46
|
+
switch (options.algorithm) {
|
|
47
|
+
case passwordTypes.PasswordAlgorithm.ARGON2ID:
|
|
48
|
+
return this.hashWithArgon2(password, salt, options, "id");
|
|
49
|
+
case passwordTypes.PasswordAlgorithm.ARGON2I:
|
|
50
|
+
return this.hashWithArgon2(password, salt, options, "i");
|
|
51
|
+
case passwordTypes.PasswordAlgorithm.ARGON2D:
|
|
52
|
+
return this.hashWithArgon2(password, salt, options, "d");
|
|
53
|
+
case passwordTypes.PasswordAlgorithm.SCRYPT:
|
|
54
|
+
return this.hashWithScrypt(password, salt, options);
|
|
55
|
+
case passwordTypes.PasswordAlgorithm.PBKDF2_SHA512:
|
|
56
|
+
return this.hashWithPBKDF2(password, salt, options);
|
|
57
|
+
case passwordTypes.PasswordAlgorithm.BCRYPT_PLUS:
|
|
58
|
+
return this.hashWithBcryptPlus(password, salt, options);
|
|
59
|
+
case passwordTypes.PasswordAlgorithm.MILITARY:
|
|
60
|
+
return this.hashWithMilitary(password, salt, options);
|
|
61
|
+
default:
|
|
62
|
+
throw new Error(`Unsupported algorithm: ${options.algorithm}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Verify password using specified algorithm
|
|
67
|
+
*/
|
|
68
|
+
async verify(password, hash, salt, metadata) {
|
|
69
|
+
const options = {
|
|
70
|
+
algorithm: metadata.algorithm,
|
|
71
|
+
securityLevel: metadata.securityLevel,
|
|
72
|
+
iterations: metadata.iterations,
|
|
73
|
+
memorySize: metadata.memorySize,
|
|
74
|
+
parallelism: metadata.parallelism,
|
|
75
|
+
saltLength: metadata.saltLength,
|
|
76
|
+
};
|
|
77
|
+
const computedHash = await this.hash(password, salt, options);
|
|
78
|
+
// Use constant-time comparison to prevent timing attacks
|
|
79
|
+
return sideChannel.constantTimeEqual(hash, computedHash);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Hash with Argon2 (recommended)
|
|
83
|
+
*/
|
|
84
|
+
async hashWithArgon2(password, salt, options, variant) {
|
|
85
|
+
// Try to use native Argon2 implementation
|
|
86
|
+
try {
|
|
87
|
+
const argon2 = await import('argon2').catch(() => null);
|
|
88
|
+
if (argon2) {
|
|
89
|
+
const argon2Options = {
|
|
90
|
+
type: variant === "i"
|
|
91
|
+
? argon2.argon2i
|
|
92
|
+
: variant === "d"
|
|
93
|
+
? argon2.argon2d
|
|
94
|
+
: argon2.argon2id,
|
|
95
|
+
memoryCost: options.memorySize || 65536,
|
|
96
|
+
timeCost: Math.floor((options.iterations || 100000) / 1000),
|
|
97
|
+
parallelism: options.parallelism || 4,
|
|
98
|
+
salt: Buffer.from(salt),
|
|
99
|
+
hashLength: 32,
|
|
100
|
+
};
|
|
101
|
+
const fullHash = await argon2.hash(password, argon2Options);
|
|
102
|
+
// Extract just the hash part from the full Argon2 format
|
|
103
|
+
return this.extractHashValue(fullHash);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
// Fall back to custom implementation
|
|
108
|
+
}
|
|
109
|
+
// Fallback: Use PBKDF2 with enhanced security
|
|
110
|
+
return this.hashWithEnhancedPBKDF2(password, salt, options, `argon2${variant}-fallback`);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Hash with scrypt
|
|
114
|
+
*/
|
|
115
|
+
async hashWithScrypt(password, salt, options) {
|
|
116
|
+
try {
|
|
117
|
+
// Use Node.js built-in crypto.scrypt
|
|
118
|
+
const crypto = await import('crypto');
|
|
119
|
+
const scryptOptions = {
|
|
120
|
+
N: Math.pow(2, 14), // CPU/memory cost (16384 - more reasonable)
|
|
121
|
+
r: 8, // Block size
|
|
122
|
+
p: options.parallelism || 1,
|
|
123
|
+
};
|
|
124
|
+
// Use promisified scrypt
|
|
125
|
+
const result = await new Promise((resolve, reject) => {
|
|
126
|
+
crypto.scrypt(password, Buffer.from(salt), 32, scryptOptions, (err, derivedKey) => {
|
|
127
|
+
if (err)
|
|
128
|
+
reject(err);
|
|
129
|
+
else
|
|
130
|
+
resolve(derivedKey);
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
return result.toString("hex");
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
// Fall back to enhanced PBKDF2
|
|
137
|
+
}
|
|
138
|
+
return this.hashWithEnhancedPBKDF2(password, salt, options, "scrypt-fallback");
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Hash with PBKDF2-SHA512
|
|
142
|
+
*/
|
|
143
|
+
async hashWithPBKDF2(password, salt, options) {
|
|
144
|
+
const iterations = options.iterations || 100000;
|
|
145
|
+
// Use XyPrissSecurity Hash module for PBKDF2
|
|
146
|
+
const hash = hashCore.Hash.createSecureHash(password, salt, {
|
|
147
|
+
algorithm: types.HashAlgorithm.PBKDF2,
|
|
148
|
+
iterations,
|
|
149
|
+
outputFormat: "hex",
|
|
150
|
+
strength: hashTypes.HashStrength.MILITARY,
|
|
151
|
+
memoryHard: false, // Explicitly disable memory-hard hashing
|
|
152
|
+
quantumResistant: false, // Explicitly disable quantum-resistant hashing
|
|
153
|
+
timingSafe: false, // Explicitly disable timing-safe hashing
|
|
154
|
+
});
|
|
155
|
+
// Extract just the hash part using our helper method
|
|
156
|
+
return this.extractHashValue(hash);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Enhanced PBKDF2 with multiple rounds and algorithms
|
|
160
|
+
*/
|
|
161
|
+
async hashWithEnhancedPBKDF2(password, salt, options, prefix = "enhanced") {
|
|
162
|
+
const iterations = options.iterations || 100000;
|
|
163
|
+
// First round: PBKDF2-SHA512
|
|
164
|
+
let round1 = hashCore.Hash.createSecureHash(password, salt, {
|
|
165
|
+
algorithm: types.HashAlgorithm.PBKDF2,
|
|
166
|
+
iterations: Math.floor(iterations / 3),
|
|
167
|
+
outputFormat: "hex",
|
|
168
|
+
memoryHard: false,
|
|
169
|
+
quantumResistant: false,
|
|
170
|
+
timingSafe: false,
|
|
171
|
+
});
|
|
172
|
+
// Extract just the hash using our helper method
|
|
173
|
+
round1 = this.extractHashValue(round1);
|
|
174
|
+
// Second round: SHA3-512
|
|
175
|
+
let round2 = hashCore.Hash.createSecureHash(round1, salt, {
|
|
176
|
+
algorithm: types.HashAlgorithm.SHA3_512,
|
|
177
|
+
iterations: Math.floor(iterations / 3),
|
|
178
|
+
outputFormat: "hex",
|
|
179
|
+
memoryHard: false,
|
|
180
|
+
quantumResistant: false,
|
|
181
|
+
timingSafe: false,
|
|
182
|
+
});
|
|
183
|
+
// Extract just the hash using our helper method
|
|
184
|
+
round2 = this.extractHashValue(round2);
|
|
185
|
+
// Third round: BLAKE3
|
|
186
|
+
let finalHash = hashCore.Hash.createSecureHash(round2, salt, {
|
|
187
|
+
algorithm: types.HashAlgorithm.BLAKE3,
|
|
188
|
+
iterations: Math.floor(iterations / 3),
|
|
189
|
+
outputFormat: "hex",
|
|
190
|
+
memoryHard: false,
|
|
191
|
+
quantumResistant: false,
|
|
192
|
+
timingSafe: false,
|
|
193
|
+
});
|
|
194
|
+
// Extract just the hash using our helper method
|
|
195
|
+
finalHash = this.extractHashValue(finalHash);
|
|
196
|
+
return `${prefix}:${finalHash}`;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Enhanced bcrypt with additional security layers
|
|
200
|
+
*/
|
|
201
|
+
async hashWithBcryptPlus(password, salt, options) {
|
|
202
|
+
try {
|
|
203
|
+
const bcrypt = await import('bcrypt').catch(() => null);
|
|
204
|
+
if (bcrypt) {
|
|
205
|
+
// First layer: Standard bcrypt
|
|
206
|
+
const rounds = Math.min(15, Math.max(10, Math.floor((options.iterations || 100000) / 10000)));
|
|
207
|
+
const bcryptHash = await bcrypt.hash(password, rounds);
|
|
208
|
+
// Second layer: PBKDF2 on bcrypt result
|
|
209
|
+
let enhancedHash = hashCore.Hash.createSecureHash(bcryptHash, salt, {
|
|
210
|
+
algorithm: types.HashAlgorithm.PBKDF2,
|
|
211
|
+
iterations: 50000,
|
|
212
|
+
outputFormat: "hex",
|
|
213
|
+
memoryHard: false,
|
|
214
|
+
quantumResistant: false,
|
|
215
|
+
timingSafe: false,
|
|
216
|
+
});
|
|
217
|
+
// Extract just the hash using our helper method
|
|
218
|
+
enhancedHash = this.extractHashValue(enhancedHash);
|
|
219
|
+
return `bcrypt-plus:${enhancedHash}`;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
// Fall back to enhanced PBKDF2
|
|
224
|
+
}
|
|
225
|
+
return this.hashWithEnhancedPBKDF2(password, salt, options, "bcrypt-plus-fallback");
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Military-grade multi-layer hashing
|
|
229
|
+
*/
|
|
230
|
+
async hashWithMilitary(password, salt, options) {
|
|
231
|
+
const iterations = options.iterations || 200000;
|
|
232
|
+
// Layer 1: Key stretching with PBKDF2-SHA512
|
|
233
|
+
let layer1 = hashCore.Hash.createSecureHash(password, salt, {
|
|
234
|
+
algorithm: types.HashAlgorithm.PBKDF2,
|
|
235
|
+
iterations: Math.floor(iterations / 4),
|
|
236
|
+
outputFormat: "hex",
|
|
237
|
+
memoryHard: false,
|
|
238
|
+
quantumResistant: false,
|
|
239
|
+
timingSafe: false,
|
|
240
|
+
});
|
|
241
|
+
// Extract just the hash using our helper method
|
|
242
|
+
layer1 = this.extractHashValue(layer1);
|
|
243
|
+
// Layer 2: Memory-hard function simulation
|
|
244
|
+
let layer2 = layer1;
|
|
245
|
+
for (let i = 0; i < 1000; i++) {
|
|
246
|
+
const tempSalt = randomCore.SecureRandom.generateSalt(32);
|
|
247
|
+
let tempHash = hashCore.Hash.createSecureHash(layer2, tempSalt, {
|
|
248
|
+
algorithm: types.HashAlgorithm.SHA3_512,
|
|
249
|
+
outputFormat: "hex",
|
|
250
|
+
memoryHard: false,
|
|
251
|
+
quantumResistant: false,
|
|
252
|
+
timingSafe: false,
|
|
253
|
+
});
|
|
254
|
+
// Extract just the hash using our helper method
|
|
255
|
+
layer2 = this.extractHashValue(tempHash);
|
|
256
|
+
}
|
|
257
|
+
// Layer 3: BLAKE3 with high iterations
|
|
258
|
+
let layer3 = hashCore.Hash.createSecureHash(layer2, salt, {
|
|
259
|
+
algorithm: types.HashAlgorithm.BLAKE3,
|
|
260
|
+
iterations: Math.floor(iterations / 4),
|
|
261
|
+
outputFormat: "hex",
|
|
262
|
+
memoryHard: false,
|
|
263
|
+
quantumResistant: false,
|
|
264
|
+
timingSafe: false,
|
|
265
|
+
});
|
|
266
|
+
// Extract just the hash using our helper method
|
|
267
|
+
layer3 = this.extractHashValue(layer3);
|
|
268
|
+
// Layer 4: Final hardening with SHA3-512
|
|
269
|
+
let finalHash = hashCore.Hash.createSecureHash(layer3, salt, {
|
|
270
|
+
algorithm: types.HashAlgorithm.SHA3_512,
|
|
271
|
+
iterations: Math.floor(iterations / 4),
|
|
272
|
+
outputFormat: "hex",
|
|
273
|
+
strength: hashTypes.HashStrength.MILITARY,
|
|
274
|
+
memoryHard: false,
|
|
275
|
+
quantumResistant: false,
|
|
276
|
+
timingSafe: false,
|
|
277
|
+
});
|
|
278
|
+
// Extract just the hash using our helper method
|
|
279
|
+
finalHash = this.extractHashValue(finalHash);
|
|
280
|
+
return `military:${finalHash}`;
|
|
281
|
+
}
|
|
282
|
+
// ===== PRIVATE HELPER METHODS =====
|
|
283
|
+
/**
|
|
284
|
+
* Extract just the hash value from complex hash formats
|
|
285
|
+
*/
|
|
286
|
+
extractHashValue(hashResult) {
|
|
287
|
+
// Handle Argon2 format: $argon2id$v=19$m=65536,t=3,p=4$salt$hash
|
|
288
|
+
if (hashResult.startsWith("$argon2")) {
|
|
289
|
+
const parts = hashResult.split("$");
|
|
290
|
+
if (parts.length >= 6) {
|
|
291
|
+
return parts[5]; // The actual hash is the last part
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
// Handle PBKDF2 format: $pbkdf2$rounds$salt$hash
|
|
295
|
+
if (hashResult.startsWith("$pbkdf2")) {
|
|
296
|
+
const parts = hashResult.split("$");
|
|
297
|
+
if (parts.length >= 5) {
|
|
298
|
+
return parts[4]; // The actual hash
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// Handle bcrypt format: $2b$rounds$salthash (extract hash part)
|
|
302
|
+
if (hashResult.startsWith("$2")) {
|
|
303
|
+
const parts = hashResult.split("$");
|
|
304
|
+
if (parts.length >= 4) {
|
|
305
|
+
const saltAndHash = parts[3];
|
|
306
|
+
if (saltAndHash.length > 22) {
|
|
307
|
+
return saltAndHash.substring(22); // bcrypt hash after 22-char salt
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
// Handle scrypt format: $scrypt$N$r$p$salt$hash
|
|
312
|
+
if (hashResult.startsWith("$scrypt")) {
|
|
313
|
+
const parts = hashResult.split("$");
|
|
314
|
+
if (parts.length >= 7) {
|
|
315
|
+
return parts[6]; // The actual hash
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
// Handle any other $ delimited format - take the last part
|
|
319
|
+
if (hashResult.includes("$")) {
|
|
320
|
+
const parts = hashResult.split("$");
|
|
321
|
+
return parts[parts.length - 1];
|
|
322
|
+
}
|
|
323
|
+
// If no special format, return as-is
|
|
324
|
+
return hashResult;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Get algorithm-specific default options
|
|
328
|
+
*/
|
|
329
|
+
getAlgorithmDefaults(algorithm) {
|
|
330
|
+
switch (algorithm) {
|
|
331
|
+
case passwordTypes.PasswordAlgorithm.ARGON2ID:
|
|
332
|
+
case passwordTypes.PasswordAlgorithm.ARGON2I:
|
|
333
|
+
case passwordTypes.PasswordAlgorithm.ARGON2D:
|
|
334
|
+
return {
|
|
335
|
+
iterations: 3,
|
|
336
|
+
memorySize: 65536, // 64MB
|
|
337
|
+
parallelism: 4,
|
|
338
|
+
saltLength: 32,
|
|
339
|
+
};
|
|
340
|
+
case passwordTypes.PasswordAlgorithm.SCRYPT:
|
|
341
|
+
return {
|
|
342
|
+
iterations: 32768, // N parameter
|
|
343
|
+
memorySize: 8, // r parameter
|
|
344
|
+
parallelism: 1, // p parameter
|
|
345
|
+
saltLength: 32,
|
|
346
|
+
};
|
|
347
|
+
case passwordTypes.PasswordAlgorithm.PBKDF2_SHA512:
|
|
348
|
+
return {
|
|
349
|
+
iterations: 100000,
|
|
350
|
+
saltLength: 32,
|
|
351
|
+
};
|
|
352
|
+
case passwordTypes.PasswordAlgorithm.BCRYPT_PLUS:
|
|
353
|
+
return {
|
|
354
|
+
iterations: 120000, // Equivalent to bcrypt rounds + PBKDF2
|
|
355
|
+
saltLength: 32,
|
|
356
|
+
};
|
|
357
|
+
case passwordTypes.PasswordAlgorithm.MILITARY:
|
|
358
|
+
return {
|
|
359
|
+
iterations: 200000,
|
|
360
|
+
memorySize: 131072, // 128MB equivalent
|
|
361
|
+
parallelism: 8,
|
|
362
|
+
saltLength: 64,
|
|
363
|
+
};
|
|
364
|
+
default:
|
|
365
|
+
return {
|
|
366
|
+
iterations: 100000,
|
|
367
|
+
saltLength: 32,
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Estimate hashing time for algorithm
|
|
373
|
+
*/
|
|
374
|
+
estimateHashingTime(algorithm, options) {
|
|
375
|
+
// Rough estimates in milliseconds
|
|
376
|
+
switch (algorithm) {
|
|
377
|
+
case passwordTypes.PasswordAlgorithm.ARGON2ID:
|
|
378
|
+
case passwordTypes.PasswordAlgorithm.ARGON2I:
|
|
379
|
+
case passwordTypes.PasswordAlgorithm.ARGON2D:
|
|
380
|
+
return ((options.memorySize || 65536) / 1000 +
|
|
381
|
+
(options.iterations || 3) * 100);
|
|
382
|
+
case passwordTypes.PasswordAlgorithm.SCRYPT:
|
|
383
|
+
return (options.iterations || 32768) / 100;
|
|
384
|
+
case passwordTypes.PasswordAlgorithm.PBKDF2_SHA512:
|
|
385
|
+
return (options.iterations || 100000) / 1000;
|
|
386
|
+
case passwordTypes.PasswordAlgorithm.BCRYPT_PLUS:
|
|
387
|
+
return (options.iterations || 120000) / 500;
|
|
388
|
+
case passwordTypes.PasswordAlgorithm.MILITARY:
|
|
389
|
+
return (options.iterations || 200000) / 200;
|
|
390
|
+
default:
|
|
391
|
+
return 100; // Default estimate
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
exports.PasswordAlgorithms = PasswordAlgorithms;
|
|
397
|
+
//# sourceMappingURL=password-algorithms.js.map
|