aria 암호화 c 예제

오류 코드는 make update를 사용하여 OpenSSL에서 동적으로 처리됩니다. 업데이트는 부분적으로 나중에 crypto/*.c, crypto/*////.c, ssl/*.c 및 앱/*.c에서 util/mkerr.pl을 재귀적으로 실행하는 오류를 호출합니다. 이 스크립트는 오류 및 함수 코드를 검색하고 라이브러리의 오류/이유 코드로 자동으로 추가합니다. 기본적으로 함수 또는 reason 코드를 “닮은” 문자열을 찾습니다. 예를 들어, EVP_F_ARIA_INIT_KEY 및 EVP_R_ARIA_KEY_SETUP_FAILED. 자세한 설명서는 암호화/사용/README 및 유틸리티/mkerr.pl을 참조하십시오. 다음은 {here]에 사용되는 코딩된 예제입니다: 이제 e_aria.c가 빌드되었으므로 EVP 하위 시스템에 등록해야 합니다. 암호화/evp/c_allc.c를 수정하여 ARIA를 등록합니다. util/mkdir.pl ARIA에서 known_algorithms 목록에 추가 되어야 하며 ARIA 헤더 파일에 대한 포함 경로(no_aria가 정의되지 않은 경우)가 정의되어 있어야 합니다: 이것은 매우 간단한 예이지만 이 구조에는 암호화 및 암호 해독에 필요한 모든 키 자료가 포함됩니다. 함수. 또한 이 구조체에 함수 포인터를 포함하여 키가 암호화 또는 암호 해독에 사용되는지 여부를 제어할 수도 있습니다. 이것은 아래에 더 설명될 것입니다.

완료되면 e_aria.c를 암호화/evp의 build.info 파일에 추가합니다. 즉, EVP는 프로그래머에게 낮은 수준의 OpenSSL 암호화 기능과 쉽게 상호 작용할 수 있는 높은 수준의 인터페이스를 제공합니다. 높은 수준의 EVP와 새로 생성된 ARIA 암호 사이의 간격을 분기하려면 암호화/evp/e_aria.c 파일을 만들어야 합니다. 최소한 파일에는 enc 매개 변수를 사용하여 키가 암호화 또는 암호 해독에 사용되는지 여부를 확인하는 다른 방법은 포함됩니다. enc에 대한 값은 암호화이고 암호 해독의 경우 0입니다. 즉, aria.c 에 포함된 코드가 libcrypto 라이브러리의 나머지 부분에 포함된 코드에 의존하고 ARIA를 libcrypto에 포함시키는 것을 구성합니다. 더 복잡한 build.info 파일 만들기에 대한 추가 지침은 Configurations 디렉터리에 포함된 README 파일을 보거나 다른 암호의 구현을 확인하십시오. 어셈블리에 최적화된 버전의 경우 훨씬 더 많은 참여가 있으며 이 가이드의 범위를 벗어납니다.

이는 암호화 구현뿐만 아니라 EVP 계층에도 영향을 미칩니다. AES(Rijndael)의 핵심 강점은 S-box의 사용이며 암호화 프로세스를 통해 바이트를 스크램블한 다음 암호 해독을 위해 스크램블을 해제하는 것입니다.

This entry was posted by in Uncategorized.