first commit
This commit is contained in:
+40
@@ -0,0 +1,40 @@
|
||||
import { type Cipher, type TArg, type TRet } from './utils.ts';
|
||||
/**
|
||||
* FPE-FF1 format-preserving encryption.
|
||||
* @param radix - Alphabet size for each input digit.
|
||||
* @param key - AES key bytes.
|
||||
* @param tweak - Optional tweak bytes.
|
||||
* @returns Encrypt/decrypt helpers over digit arrays.
|
||||
* @example
|
||||
* Encrypts decimal digits without changing their format, using a fresh AES key.
|
||||
*
|
||||
* ```ts
|
||||
* import { FF1 } from '@noble/ciphers/ff1.js';
|
||||
* import { randomBytes } from '@noble/ciphers/utils.js';
|
||||
* const key = randomBytes(16);
|
||||
* const ff1 = FF1(10, key);
|
||||
* ff1.encrypt([1, 2, 3]);
|
||||
* ```
|
||||
*/
|
||||
export declare function FF1(radix: number, key: TArg<Uint8Array>, tweak?: TArg<Uint8Array>): {
|
||||
encrypt(x: number[]): number[];
|
||||
decrypt(x: number[]): number[];
|
||||
};
|
||||
/**
|
||||
* Binary FPE-FF1 wrapper over byte arrays.
|
||||
* @param key - AES key bytes.
|
||||
* @param tweak - Optional tweak bytes.
|
||||
* @returns Encrypt/decrypt helpers over byte arrays.
|
||||
* @example
|
||||
* Encrypts raw bytes through FF1's binary alphabet wrapper with a fresh AES key.
|
||||
*
|
||||
* ```ts
|
||||
* import { BinaryFF1 } from '@noble/ciphers/ff1.js';
|
||||
* import { randomBytes } from '@noble/ciphers/utils.js';
|
||||
* const key = randomBytes(16);
|
||||
* const ff1 = BinaryFF1(key);
|
||||
* ff1.encrypt(new Uint8Array([1, 2, 3]));
|
||||
* ```
|
||||
*/
|
||||
export declare function BinaryFF1(key: TArg<Uint8Array>, tweak?: TArg<Uint8Array>): TRet<Cipher>;
|
||||
//# sourceMappingURL=ff1.d.ts.map
|
||||
Reference in New Issue
Block a user