aes 데이터 스 트림 디 코딩 과정

코드 다운로드:http://www.aescrypt.com/download/
이식 에 필요 한 파일 aes. h   aes.c    sha256.h    sha256.c
분석 파일: AesCrypt. c
aes 복호화 사용 자체 가 간단 합 니 다. 128 비트, 192 비트, 256 비트 암호 화 코드 는 다음 과 같 습 니 다.
    aes_context                 ctx;

    unsigned char buf[16];
    unsigned char key[32];
/*** 128 bits       ***/
aes_set_key( &ctx, key, 128 );  //     key   16  
aes_encrypt( &ctx, buf, buf );  //    buf    16    

/*** 192 bits       ***/
aes_set_key( &ctx, key, 192 );  //     key   24  
aes_encrypt( &ctx, buf, buf );  //    buf    16    

/*** 256 bits       ***/
aes_set_key( &ctx, key, 256 );  //    key    32  
aes_encrypt( &ctx, buf, buf );  //    buf    16    

128 비트, 192 비트, 256 비트 복호화 코드 는 다음 과 같 습 니 다.
unsigned char buf[16];
unsigned char key[32];
/*** 128 bits       ***/
aes_set_key( &ctx, key, 128 );  //     key   16  
aes_decrypt( &ctx, buf, buf );  //    buf    16    

/*** 192 bits       ***/
aes_set_key( &ctx, key, 192 );  //     key   24  
aes_decrypt( &ctx, buf, buf );  //    buf    16    

/*** 256 bits       ***/
aes_set_key( &ctx, key, 256 );  //    key    32  
aes_decrypt( &ctx, buf, buf );  //    buf    16    

aes. c 의 테스트 코드 호출 과 복호화 가 각각 9999 번 으로 aes 실행 속 도 를 검사 합 니 다.
sha 256 호출 과정
typedef unsigned char sha256_t[32];
sha256_t                    digest;
sha256_context              sha_ctx;
unsigned char buffer[64]
sha256_starts(&sha_ctx);sha256_update(&sha_ctx, buffer, 32); // buffer 전 32 바이트 데이터 혼동 / / 또는 sha 256update(&sha_ctx, buffer, 64); // buffer 64 바이트 데 이 터 를 헷 갈 리 게 합 니 다. 길이 매개 변 수 는 반드시 2 의 멱 이 필요 하지 않 습 니 다. 임의의 buffer 데이터 대응 길이 모두 sha 256finish(&sha_ctx, digest); // 32 바이트 sha 256 검사 코드 받 기
AesCrypt. c 에 서 는 sha 256 을 사용 하여 원본 암 호 를 혼동 하여 256 비트 의 aes 키 를 얻 었 습 니 다.
우선 초기 벡터 와 비밀번호 iv 획득key[0-15] (IV),   iv_key [16 - 47] (KEY), 흐름 은 그림 과 같다.
무 작위 IV 로 저 장 된 것 을 얻 고 IV 및 암호 로 sha 256 등록 코드 를 키 로 암호 화 합 니 다
초기 벡터 와 비밀번호 (iv key [0 - 15] (IV),  iv key [16 - 47] (KEY) 파일 에 저장 합 니 다.
디 코딩 할 때 정확 한 비밀번호 와 앞 에 저 장 된 IV 로 키 를 만 들 고, 디 코딩 이 방금 저 장 된 비밀 번 호 를 추가 합 니 다.
iv_key, 흐름 도 는 다음 과 같 습 니 다.키 저장 프로 세 스 가 완료 되 었 습 니 다.그 다음 에 일반적인 파일 암호 화 과정, 16 바이트 한 번.

좋은 웹페이지 즐겨찾기