14 #ifndef _issacapi_se_h
15 #define _issacapi_se_h
45 typedef struct _SECONTEXT {
111 int ciphertext_alloc_len,
127 int ciphertext_alloc_len,
145 int plaintext_alloc_len,
162 int plaintext_alloc_len,
177 const char *ciphertext_file,
178 const char *plaintext_file,
191 const char *plaintext_file,
192 const char *ciphertext_file,
203 const char *ciphertext_file,
204 const char *plaintext_file,
217 const char *plaintext_file,
218 const char *ciphertext_file,
233 int ciphertext_alloc_len,
254 int plaintext_alloc_len,
276 int ciphertext_alloc_len,
293 int plaintext_alloc_len,
363 #ifdef ISSACAPI_SE_TEST
370 print_byte_of_len(
const unsigned char *buf,
int len) {
372 for (i = 0; i < len; ++i) {
373 printf(
"%02x", buf[i] & 0xff);
381 unsigned char key[1024];
383 printf(
"PKCS#12 PBE : ");
386 print_byte_of_len(key, 20);
388 printf(
"PKCS#12 PBE : ");
391 print_byte_of_len(key, 20);
393 printf(
"PKCS#12 PBE : ");
396 print_byte_of_len(key, 21);
398 printf(
"SHARE PKCS#12 PBE : ");
401 print_byte_of_len(key, 20);
unsigned int ISSAC_RETURN
ISSAC-API 실행 결과 [ ISSACAPI_BASIC_RETURN, ISSACAPI_ERRORS, ISSAC_LICENSE_ERR ]
Definition: issacapi_bs_definitions.h:32
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_Encrypt(void *ciphertext, int *ciphertext_len, int ciphertext_alloc_len, void *plaintext, int plaintext_len, SECONTEXT *secontext)
평문을 암호화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_PBKDF2_GetKey(void *keyOut, int keyLen, const char *passwd, const char *salt, int saltLen, int iterations, int hashType)
입력된 값들을 기반으로 키를 생성(유도)한다. (PKCS#5 - PBKDF2)
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_Decrypt(void *plaintext, int *plaintext_len, int plaintext_alloc_len, void *ciphertext, int ciphertext_len, SECONTEXT *secontext)
암호문을 복호화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_Decrypt_Auth(void *plaintext, int *plaintext_len, int plaintext_alloc_len, void *ciphertext, int ciphertext_len, void *authdata, int authdata_len, void *iv, int iv_len, int tag_len, SECONTEXT *secontext)
입력한 암호문을 CCM/GCM 방식으로 복호화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SECONTEXT_Create(SECONTEXT *secontext)
SECONTEXT 구조체를 초기화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_Encrypt_CMS(void *ciphertext, int *ciphertext_len, int ciphertext_alloc_len, void *plaintext, int plaintext_len, SECONTEXT *secontext)
PKCS #7 - EnvelopedData 메시지 형식으로 암호화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SECONTEXT_Copy(SECONTEXT *destination_secontext, SECONTEXT *source_secontext)
SECONTEXT 를 복사한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_Encrypt_File(const char *ciphertext_file, const char *plaintext_file, SECONTEXT *secontext)
입력한 파일을 암호화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SECONTEXT_Delete(SECONTEXT *secontext)
SECONTEXT 에 할당된 메모리를 해제한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_Encrypt_File_BSize(const char *ciphertext_file, const char *plaintext_file, SECONTEXT *secontext, int buffer_size)
입력한 파일을 암호화한다. (입력한 버퍼크기 사용)
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SECONTEXT_Set(SECONTEXT *secontext, const void *key, int key_len, const void *iv, int iv_len, int mode, int cipher_id)
SECONTEXT 에 암호화를 위한 정보들을 입력한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_Decrypt_File(const char *plaintext_file, const char *ciphertext_file, SECONTEXT *secontext)
입력한 파일을 복호화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_DecryptEx(void *plaintext, int *plaintext_len, int plaintext_alloc_len, void *ciphertext, int ciphertext_len, SECONTEXT *secontext, int pad_type)
암호문을 복호화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_PBKDF_PKCS12_GetKey_Advanced(void *keyOut, int keyLen, int idByte, const char *passwd, const char *salt, int saltLen, int iterations, int hashType)
입력된 값들을 기반으로 키를 생성(유도)한다. (PKCS#12 v1.0 Appendix. B)
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_Encrypt_Auth(void *ciphertext, int *ciphertext_len, int ciphertext_alloc_len, void *plaintext, int plaintext_len, void *authdata, int authdata_len, void *iv, int iv_len, int tag_len, SECONTEXT *secontext)
입력한 원문을 CCM/GCM 방식으로 암호화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_PBKDF_PKCS12_GetKey(void *keyOut, int keyLen, const char *passwd)
입력된 PIN을 기반으로 암복호화용 키를 생성(유도)한다. (PKCS#12 v1.0 Appendix. B)
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_Decrypt_File_BSize(const char *plaintext_file, const char *ciphertext_file, SECONTEXT *secontext, int buffer_size)
입력한 파일을 복호화한다. (입력한 버퍼크기 사용)
ISSACAPI_SE_MODES
대칭키 암호 블록 운용모드
Definition: issacapi_se.h:25
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_Decrypt_CMS(void *plaintext, int *plaintext_len, int plaintext_alloc_len, void *ciphertext, int ciphertext_len, SECONTEXT *secontext)
PKCS #7 - EnvelopedData 메시지 형식의 암호문을 복호화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_GetRandom(void *buf, int buflen)
랜덤값을 생성한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_SE_EncryptEx(void *ciphertext, int *ciphertext_len, int ciphertext_alloc_len, void *plaintext, int plaintext_len, SECONTEXT *secontext, int pad_type)
평문을 암호화한다.
@ ISSACAPI_SE_CTS_MODE
Cipert Text Stealing (출력 크기가 입력 크기와 동일한 패딩 방법을 사용하는 CBC)
Definition: issacapi_se.h:34
@ ISSACAPI_SE_OFB_BYTE_MODE
Output Feedback 에서 암호화 한 블럭의 상위 j-bits 가 1 바이트 일 때
Definition: issacapi_se.h:33
@ ISSACAPI_SE_OFB_MODE
Output Feedback
Definition: issacapi_se.h:32
@ ISSACAPI_SE_CBC_MODE
Cipher Block Chaining
Definition: issacapi_se.h:27
@ ISSACAPI_SE_GCM_MODE
Galois/Counter Mode of Operation
Definition: issacapi_se.h:40
@ ISSACAPI_SE_CCM_MODE
Counter Mode With CBC-MAC
Definition: issacapi_se.h:41
@ ISSACAPI_SE_CFB1_MODE
Cipher Feedback with bit feedback
Definition: issacapi_se.h:35
@ ISSACAPI_SE_ECB_MODE
Electronic Codebook
Definition: issacapi_se.h:26
@ ISSACAPI_SE_CTR_MODE
Counter Mode
Definition: issacapi_se.h:36
@ ISSACAPI_SE_MCFB_MODE
Cipher Feedback with variable-sized message input.
Definition: issacapi_se.h:37
@ ISSACAPI_SE_CFB_BYTE_MODE
Cipher Feedback 에서 암호화 한 블럭의 상위 j-bits 가 1 바이트 일 때
Definition: issacapi_se.h:31
@ ISSACAPI_SE_CFB_MODE
Cipher Feedback
Definition: issacapi_se.h:30
대칭키 암호화 컨텍스트
Definition: issacapi_se.h:45
void * instance
Definition: issacapi_se.h:47
void * key
Definition: issacapi_se.h:46
int cipher_id
Definition: issacapi_se.h:48
#define FUNCCALL
Definition: wasdk_public.h:9
#define WA_SDK_API
Definition: wasdk_public.h:27