@kr-yeon/kisa-seed
Version:
Typescript implementation of the KISA SEED encryption and decryption
55 lines (52 loc) • 2.46 kB
text/typescript
declare class KISA_ENC_DEC {
static _KISA_ENCRYPT: number;
static _KISA_DECRYPT: number;
value: number;
constructor(value: number);
static KISA_ENCRYPT: KISA_ENC_DEC;
static KISA_DECRYPT: KISA_ENC_DEC;
}
declare class KISA_SEED_KEY {
key_data: number[];
init(): void;
}
declare class KISA_SEED_INFO {
encrypt: number;
ivec: number[];
seed_key: KISA_SEED_KEY;
cbc_buffer: number[];
buffer_length: number;
cbc_last_block: number[];
last_block_flag: number;
constructor();
}
declare class KISA_SEED_CBC {
private static ENDIAN;
private static readonly BLOCK_SIZE_SEED;
private static readonly BLOCK_SIZE_SEED_INT;
private static Subst;
private static SeedRound;
private static EndianChange;
private static RoundKeyUpdate0;
private static RoundKeyUpdate1;
private static BLOCK_XOR_CBC;
private static readonly LR_L0;
private static readonly LR_L1;
private static readonly LR_R0;
private static readonly LR_R1;
static KISA_SEED_Encrypt_Block_forCBC(inData: number[], in_offset: number, outData: number[], out_offset: number, ks: KISA_SEED_KEY): void;
static KISA_SEED_Decrypt_Block_forCBC(input: number[], in_offset: number, outData: number[], out_offset: number, ks: KISA_SEED_KEY): void;
static chartoint32_for_SEED_CBC(input: Uint8Array, inLen: number): number[];
static int32tochar_for_SEED_CBC(input: number[], inLen: number): Uint8Array;
static SEED_CBC_init(pInfo: KISA_SEED_INFO, enc: KISA_ENC_DEC, pbszUserKey: Uint8Array, pbszIV: Uint8Array): 0 | 1;
static SEED_CBC_Process(pInfo: KISA_SEED_INFO, input: number[], inLen: number, output: number[], outLen: number[]): number;
static SEED_CBC_Close(pInfo: KISA_SEED_INFO, output: number[], out_offset: number, outLen: number[]): number;
static SEED_CBC_Encrypt(pbszUserKey: Uint8Array, pbszIV: Uint8Array, message: Uint8Array, message_offset: number, message_length: number): Uint8Array;
static SEED_CBC_Decrypt(pbszUserKey: Uint8Array, pbszIV: Uint8Array, message: Uint8Array, message_offset: number, message_length: number): Uint8Array;
private static stringToUint8Array;
private static base64ToUint8Array;
private static uint8ToBase64;
static encrypt(pbszUserKey: string, pbszIV: string, message_str: string): string;
static decrypt(pbszUserKey: string, pbszIV: string, base64_str: string): string;
}
export { KISA_SEED_CBC };