const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('cryptoAPI', { deriveAuthKeys: (password, salt) => ipcRenderer.invoke('crypto:deriveAuthKeys', password, salt), encryptData: (plaintext, keyHex, ivHex) => ipcRenderer.invoke('crypto:encryptData', plaintext, keyHex, ivHex), decryptData: (ciphertext, keyHex, ivHex, tagHex) => ipcRenderer.invoke('crypto:decryptData', ciphertext, keyHex, ivHex, tagHex), generateKeys: () => ipcRenderer.invoke('crypto:generateKeys'), randomBytes: (size) => ipcRenderer.invoke('crypto:randomBytes', size), sha256: (data) => ipcRenderer.invoke('crypto:sha256', data) });