aes 데이터 스 트림 디 코딩 과정
이식 에 필요 한 파일 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 바이트 한 번.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android 와. net 이 서로 연 결 된 RSA 암호 화. net RSA 암호 화 에 사용 할 공개 키 는 다음 과 같은 문자열 입 니 다. nGb = < / Modulus > < Exponent > AQAB < / Exponent > < / RSAKyValue > 와 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.