commit 3d49faa0c6a86484c36a67ff3298ecfe87b48e8f
parent 6a4a535bbd6ab656509dcb2d90e53efdbd481ed6
Author: Amit Dutta <mail@amit.is-a.dev>
Date: Tue, 4 Aug 2026 08:52:00 +0530
Merge commit from fork
Refactor CipherEngine for security enhancements
Diffstat:
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/CipherEngine.js b/lib/CipherEngine.js
@@ -4,7 +4,6 @@ import { StringDecoder } from 'string_decoder';
/**
* MOJIC v2.1.5 CIPHER ENGINE
- * "Operation Ironclad"
* * Security Upgrades:
* - KDF: Upgraded from PBKDF2 to Scrypt (Memory-Hard, GPU-Resistant)
* - PRNG: Upgraded from Xoshiro256** to AES-256-CTR (Cryptographically Secure)
@@ -135,7 +134,9 @@ export class CipherEngine {
if (expectedAuthCheck) {
const calculatedAuthCheck = this.authKey.subarray(0, 4).toString('hex');
- if (calculatedAuthCheck !== expectedAuthCheck) {
+ const calcAuthBuffer = Buffer.from(calculatedAuthCheck, 'hex');
+ const expectedAuthBuffer = Buffer.from(expectedAuthCheck, 'hex');
+ if (calcAuthBuffer.length !== expectedAuthBuffer.length || !crypto.timingSafeEqual(calcAuthBuffer, expectedAuthBuffer)) {
throw new Error("WRONG_PASSWORD");
}
}