AES-256-GCM Encryption
GeoLocker uses Advanced Encryption Standard with 256-bit keys in Galois/Counter Mode, providing both confidentiality and authenticity.
Key Derivation Function
// Simplified key derivation process
function deriveVaultKey(masterPassword, gpsCoordinates, deviceId, salt) {
const locationHash = HMAC-SHA256(gpsCoordinates, salt);
const deviceBinding = HMAC-SHA256(deviceId, locationHash);
const passwordKey = PBKDF2(masterPassword, salt, 100000, 256);
return HKDF-Expand(
HKDF-Extract(passwordKey, deviceBinding + locationHash),
contextInfo: "GeoLocker-v1-vault-key",
length: 256
);
}
Encryption Process
- Key Generation: Location + Password + Device → Unique 256-bit key
- IV Generation: Cryptographically secure random 96-bit nonce
- Authentication: GCM mode provides built-in authentication tag
- Metadata Encryption: File names, timestamps, and attributes encrypted separately