KISA에서 제공하는 ARIA 암호화 예제를 이용한 간단한 암호화를 해보았다.
16바이트로 딱 떨어지지 않는 데이터라도 제로 패딩을 하고 암호화를 하도록 기존의 함수를 조합한 정도뿐이지만...
개인적으로 함수 하나만 넣으면 결과를 얻을 수 있어 사용하기 편하게 만들었다.
기존 EncKeySetup 함수와 DeckeySetup 함수를 그대로 이용하였고 단순히 128비트 암호화를 사용하기 쉽게 함수만 2개 추가하였다
사용한 master_key는 단순히 16 바이트로 단순히 1~16까지 넣었다.
추가한 함수는 EnCrypt와 DeCrypt 이다.
EnCrypt는 다음과 같다.
암호화할 데이터와 결과를 얻을 버퍼, 평문의 길이를 넣으면 암호화된 결과의 길이가 리턴된다.
DeCrypt는 다음과 같다.
복호화 할 데이터와 결과를 얻을 버퍼, 복호화할 데이터의 길이를 넣으면 복호화 된 길이가 리턴된다.
해당 두 함수를 이용하여 ARIA128_test 함수를 만들었다
실행결과는 다음과 같다.
암호화를 하고 복호화를 해도 원래 데이터가 잘 나오는 것을 확인하였지만...
검색을 통해 알아낸 ARIA 암. 복호화 모듈로 검증을 해보았다.
암.복호화 모두 일치하는 것을 확인을 했다.
더 많은 테스트가 필요하겠지만.. 일단은 성공...?
반응형
'지식저장소 > C' 카테고리의 다른 글
[C] Ring Buffer / 링버퍼 구현 (0) | 2022.03.29 |
---|---|
[C/BOJ] 9012 괄호 - Stack이용 (0) | 2022.02.16 |
[C]구조체를 이용한 Stack 구현 (0) | 2022.02.16 |
[C/STM32] Uart로 printf 대신하기 (0) | 2022.01.14 |
[C] Hex Convert to HexString And HexString Convert to Hex (0) | 2021.10.26 |