aria 암호화 c 예제

ARIA의 낮은 수준 구현의 마지막 단계는 build.info 파일을 만드는 것입니다. 이렇게 하면 OpenSSL의 루트 디렉토리에 있는 구성 파일을 ARIA 디렉토리에서 파일을 컴파일하고 OpenSSL의 라이브러리 Makefile을 구성하는 방법을 알려줍니다. 다음은 간단한 예입니다: CTR 모드를 제외한 e_aria.c 파일에서 제공한 모든 암호 체인 모드를 추가합니다. 또한 CBC 모드에 대한 일부 별칭이 포함되어 있습니다. 오류 코드는 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을 참조하십시오. 이러한 함수의 프로토타입을 프로토 히려면 crypto/aria/내에서 aria_locl.h를 만들 수 있습니다., 그러나 현재 선호 하는 방법은 암호/포함/내부/aria.h에서 이러한 함수를 프로토 타입 하는 것입니다. 크립토 /포함 / 내부 / aria.h에 포함 된 프로토 타입 함수는 다음에 의해 포함 될 수있다 : 당신은 가장 낮은 수준의 암호화 및 암호 해독을 수행하는 두 가지 기능을 정의해야, ARIA에 대한 그들은 모두 동일하고 첫 번째는 실제로 정의되었지만 : 간단히 말해서, EVP는 프로그래머에게 낮은 수준의 OpenSSL 암호화 기능과 쉽게 상호 작용할 수 있는 높은 수준의 인터페이스를 제공합니다.

높은 수준의 EVP와 새로 생성된 ARIA 암호 사이의 간격을 분기하려면 암호화/evp/e_aria.c 파일을 만들어야 합니다. 최소한 파일에는 다음과 같은 매우 간단한 예이지만 이 구조에는 암호화 및 암호 해독 함수모두에 필요한 모든 키 자료가 포함됩니다. 또한 이 구조체에 함수 포인터를 포함하여 키가 암호화 또는 암호 해독에 사용되는지 여부를 제어할 수도 있습니다. 이것은 아래에 더 설명될 것입니다. util/mkdir.pl ARIA에서 known_algorithms 목록에 추가 되어야 하며 ARIA 헤더 파일에 대한 포함 경로(no_aria가 정의되지 않은 경우)가 정의되어 있어야 합니다. libcrypto 라이브러리에 ARIA를 포함시다. 더 복잡한 build.info 파일 만들기에 대한 추가 지침은 Configurations 디렉터리에 포함된 README 파일을 보거나 다른 암호의 구현을 확인하십시오.