1. 서론
데이터베이스는 현대 사회의 핵심 기반으로서, 고객 정보, 금융 기록, 개인 데이터 등 방대한 정보를 관리한다. 이러한 특성은 데이터베이스 보안을 기술적 문제를 넘어선 사회적 관점에서도 중요한 과제로 만든다. 그러나 데이터베이스 보호는 복잡하며, 특히 암호화 기술 적용은 난이도를 높인다. 최근 잦은 데이터 유출 사고는 보안 취약성을 드러내며 사회 전반에 심각한 파급 효과를 초래한다. 정보 유출은 개인의 피해로 이어져 보이스피싱, 신분 도용 등 2차 범죄에 악용되며, 재산적 손실과 정신적 고통을 유발한다. 또한 반복되는 사고는 기업과 공공기관에 대한 사회적 신뢰를 저하시켜 디지털 서비스 이용을 위축시키고, 정보 시스템에 대한 불신을 초래한다. 나아가 국가 기반 시스템이나 안보 관련 데이터베이스가 공격당할 경우, 사회 핵심 기능 마비로 이어져 국가 안보와 질서 유지에 중대한 위협이 된다[1].
이러한 중요 정보를 보호하는 데 필수적인 기술 중 하나가 암호 기술이다. 암호 기술은 데이터를 비가독 형태로 변환하여 권한 없는 사람이 접근할 수 없게 만든다. 이 과정을 암호화라고 하며, 암호화된 데이터를 원래의 형태로 되돌리는 과정을 복호화라고 한다. 암·복호화 과정에는 암호 키(key)가 사용되며, 이 키는 제삼자가 알 수 없도록 철저히 관리되어야 한다. 암호 기술은 이를 통해 데이터 기밀성, 데이터 무결성, 인증, 그리고 부인 방지와 같은 보안 기능을 제공한다[2].
현대 암호 기술은 1976년 Diffie와 Hellman이 발표한 논문 '암호의 새로운 방향(New Directions in Cryptography)'에서 공개키 암호 개념을 처음으로 도입되면서 마련되었다[2]. 공개키 암호 방식은 공개키와 비밀키 한 쌍을 생성하여 운용된다. 이때 암호화에 사용되는 공개키는 외부에 공개하는 반면, 복호화에 사용되는 비밀키는 사용자가 철저히 보안을 유지하며 보관한다. 이 방식의 가장 큰 장점은 송신자와 수신자가 사전에 암호 키를 공유할 필요가 없다는 점이다. 따라서 불특정 다수도 안전한 암호 통신망을 구축하고 활용하는 데 매우 효과적이다.
한편, 1977년 미국 상무성 표준국(NIST)은 데이터 보호를 위해 암호 알고리즘을 공개 모집하였고, IBM이 제안한 DES(Data Encryption Standard)를 표준 알고리즘으로 채택하였다[3]. 이로 인해 금융 시스템을 중심으로 상업적 암호화 활용을 크게 늘리는 계기가 되었다. 또한, 컴퓨터 통신망을 통한 문서 전송과 전자 자금 이체가 활성화되면서 암호 방식이 대중에게 널리 알려지고 폭넓게 사용되는 계기가 마련되었다.
본 논문에서는 대칭키 기반 AES와 비대칭키 기반 RSA를 중심으로 암호화 알고리즘의 원리와 동작 방식을 분석한다. 그리고 IntelliJ 환경에서 두 방식을 구현한 뒤, 자바에서 데이터베이스와 연결하기 위한 표준 API인 JDBC(Java Database Connectivity)와 MySQL, SQLite JDBC 드라이버를 이용해 이를 데이터베이스에 적용한다.
또한 AES와 RSA를 결합한 하이브리드 암호화 방식을 추가로 설계·구현하고, MySQL과 SQLite 환경에서 각 방식(AES, RSA, Hybrid)의 암·복호화 속도와 메모리 사용량을 측정하여 성능을 비교한다.
이러한 성능 지표는 암호화 기술의 보안 수준과 별개로 실제 데이터베이스 운영 환경에서 암호화 기술을 도입할 때 발생할 수 있는 시스템 부하, 응답 지연, 자원 소모 문제와 직결된다. 따라서 본 연구는 성능 비교를 통해 데이터베이스 보안 기능 구현의 효율성을 평가하고, 안정적 운영과 보안 강화 방안을 제시한다. 나아가 분석 결과를 토대로 효율적인 하이브리드 암호 시스템을 제안하여, 데이터베이스 보안 요구사항과 시스템 환경에 최적화된 암호화 방법 선택을 위한 실질적 참고 자료를 제공한다. 또한 데이터 보안을 위한 암·복호화를 수행하여 성능을 분석한다. 각 데이터별로 암·복호화 벤치마킹 성능을 제시한다.
본 논문의 구성은 다음과 같다. 2장에서는 AES, RSA, 그리고 하이브리드 암호화 방식의 원리와 구현 방법을 설명하며, 3장에서는 실험 환경과 데이터베이스 설정을 포함한 성능 평가 방법을 제시한다. 4장에서는 실험 결과를 분석하고, 5장에서는 결론과 향후 연구 방향을 논의한다.
2. 관련 연구
본 장에서는 대칭키 기반 AES, 비대칭키 기반 RSA, 그리고 하이브리드 암호화 방식의 기본 원리와 작동 과정을 기술한다.
2.1 AES (Advanced Encryption Standard)
2.1.1 기본 원리와 작동 방식
AES(Advanced Encryption Standard)[4]는 대칭키 방식의 블록 암호 알고리즘으로, 128비트 단위의 블록을 고정 길이 키로 암호화 및 복호화한다. AES는 128비트, 192비트, 256비트의 세 가지 키 길이를 지원하며, 키 길이에 따라 라운드 수(Nr)가 달라진다. 각 라운드에 맞는 별도의 라운드 키가 필요하며, 키 확장 과정을 통해 생성된다. 만들어진 키는 총 4 × (Nr + 1) 워드로 이루어져 있으며, 각 라운드에서 사용된다.
AES-128 암호화는 초기 변환 후 10개 라운드로 진행되며, 각 라운드는 해당 라운드 키를 사용한다. 암호화는 초기 키와 평문 XOR 연산으로 시작한다. 키 확장 과정은 입력 암호화 키에서 여러 확장 키를 만들어 각 라운드에서 순차적으로 사용한다.
2.1.2 장점과 단점
대칭 암호화의 가장 큰 장점은 연산 속도가 빠르고, 구현이 간단하며, 대용량 데이터 처리에 효율적이라는 점이다[4]. 특히 하드웨어 및 소프트웨어 환경 모두에서 높은 처리 속도를 보장하므로, 실시간 통신이나 대규모 데이터 암호화에 적합하다. 하지만 보안키를 안전하게 교환하고 철저하게 관리하는 것이 꼭 필요하며, 만약 공격자가 대칭 키를 손에 넣는다면 누구나 데이터를 복호화할 수 있는 위험이 있다[4]. 이러한 이유로 대칭 암호화 방식은 보통 비대칭 암호화 기법과 함께 사용된다.
AES는 대표적인 대칭 암호화 알고리즘으로, 암호화와 복호화 과정에서 메모리 사용량이 일정하고 안정적이라는 특징을 가진다[5]. 이는 128비트 고정 블록 구조와, 각 블록에 적용되는 수학적 변환 과정이 규격화되어 있어 효율적인 자원 사용이 가능하기 때문이다.
2.2 RSA (Rivest-Shamir-Adleman)
2.2.1 기본 원리와 작동 방식
RSA는 1977년 Rivest, Shmir, Adleman에 의해 개발된 공개 키 암호화 알고리즘 중 하나이며, 암호화, 전자서명, 인증 등 보안 분야에서 넓게 사용된다[5]. RSA의 보안성은 두 개의 큰 소수의 곱에 대한 인수분해가 계산적으로 어려운 수학적 성질에 기반한다. RSA에서 암·복호화에 사용되는 공개키와 개인키는 다음 절차에 따라 생성된다.
먼저 두 개의 서로 다른 큰 소수 p, q를 선택하고, N = p × q를 계산한다. 이후 오일러 피함수 𝜙(N) = (p-1) × (q-1)를 구한다. 1 < e < 𝜙(N) 범위에서 gcd(e, 𝜙(N)) = 1을 만족하는 정수 e를 선택한 뒤, d∙e≡1(mod 𝜙(N))을 만족하는 정수 d를 계산한다. 이때, (e, N)은 공개키, (d, N)은 개인키로 사용되며, 개인키는 절대로 외부에 노출되어서는 안 된다.
RSA 암호화는 공개키 (e, N)를 이용해 평문 M을 암호문 C로 변환하며, 복호화는 개인키 (d, N)를 이용해 암호문 C로부터 평문 M을 복원한다. 식 (1)과 (2)는 각각 암호화와 복호화 과정을 나타낸다.
C ≡ Me (mod N) (1)
M ≡ Ce (mod N) (2)
이때 암·복호화 과정은 모두 모듈러 거듭제곱(modular exponentiation) 연산을 통해 수행되며, 이는 반복적인 모듈러 곱셈(modular multiplication)으로 구현된다.
2.2.2 장점과 단점
RSA는 대칭키 방식에서 발생하는 키 교환 문제를 완화하고 안전한 키 분배 수단을 제공한다는 점에서 강점을 가진다. 공개키를 이용하므로 사전 키 공유가 필요 없고, 전자서명과 인증 기능을 동시에 지원할 수 있어 보안성이 높은 환경에서 유용하다.
그러나 이러한 안전성을 유지하려면 일반적으로 2,048비트 또는 3,072비트 이상의 긴 키 길이가 요구되며[5], 대형 정수에 대한 반복적인 모듈러 거듭제곱 연산은 연산 속도를 저하시킬 뿐 아니라 하드웨어 구현 시 높은 연산 복잡성을 초래한다[6]. 또한 RSA는 AES에 비해 계산량과 알고리즘 복잡성이 높아 메모리 사용량이 많으며[5], 특히 공개키 생성 과정에서 1024, 2048, 4096비트 크기의 두 소수를 곱하는 대형 정수 연산과 복잡한 키 구조 처리가 필요해 자원 소모가 크다는 한계를 가진다.
2.3 Hybrid Cryptosystem
2.3.1 기본 원리와 작동 방식
Hybrid 암호 시스템은 비대칭키 암호를 이용해 세션키를 안전하게 교환하고, 대칭키 암호를 이용해 실제 메시지를 효율적으로 암·복호화하는 방식이다. 이 방식은 비대칭키 암호의 키 분배 보안성과 대칭키 암호의 고속 처리 성능을 결합하여 상호 보완적인 장점을 제공한다. 전체 동작 절차는 (그림 1)에 제시된 암호화 과정과 (그림 2)에 제시된 복호화 과정으로 구성된다[7].

(그림 1) Hybrid Encryption Process[7]

(그림 2) Hybrid Decryption Process[7]
암호화 과정에서 송신자는 먼저 난수 R과 r을 선택한다. 이후, 세션키 생성기(SKG, Session Key Generator) 모듈에 수신자의 공개키(pkR, public key of the receiver), 송신자의 비밀키(skS, secret key of the sender), 그리고 난수 R과 r를 입력하여 암호문 C1을 생성한다. 이 과정에서 수행되는 KAP(Key Authentication Protocol)는 송신자와 수신자가 상호 신뢰할 수 있는 세션키를 생성하기 위한 키 인증 절차로, 1단계(1-pass) 키 분배 프로토콜을 통해 난수 R을 안전하게 전달하고 양측의 키 소유를 검증한다.
C1 = R⊕KAP(pkR, skS, R, r) (3)
송신자는 난수 R을 의사 난수 생성기(G, pseudo-random generator)에 입력하여 세션키 K = G(R)을 계산한다. 생성된 세션키 K를 대칭키 암호화 모듈(ENC, Symmetric Encryption)의 키로 사용하여 평문 메시지 m을 암호화하고, 암호문 C2를 생성한다.
C2 = ENCK(m) (4)
또한 무결성 검증을 위해, 해시 함수 모듈(H, Hash Function)에 C1, C2, R, m을 입력하여 검증값 C3을 생성한다.
C3 = H(C1, C2, R, m') (5)
마지막으로 송신자는 (C1, C2, C3)를 수신자에게 전송한다.
복호화 과정에서 수신자는 자신의 키(skR, secret key of the receiver)와 송신자의 공개키(pkS, public key of the sender)를 세션키 복원 모듈(SKR, Session Key Recovery)에 입력하여 C1로부터 R을 복원한다. 복원된 R을 동일한 의사 난수 생성기 G에 입력하여 세션키 K = G(R)를 얻고, 이를 이용해 C2를 복호화하여 평문 m′를 얻는다. 마지막으로, H(C1, C2, R, m')와 수신한 C3가 일치하면 m′를 유효한 평문을 승인한다.
2.3.2 장점과 단점
Hybrid 암호 시스템의 가장 큰 장점은 보안성과 성능의 균형을 동시에 확보할 수 있다는 점이다. 세션키를 비대칭키 암호를 통해 안전하게 교환함으로써 키 유출 위험을 최소화할 수 있으며, 실제 데이터 전송 과정에서는 대칭키 암호를 사용하므로 순수 비대칭키 방식에 비해 암·복호화 속도가 빠르다. 이러한 특성은 대용량 데이터 전송 환경에서 특히 유리하며, 다양한 대칭키와 비대칭키 알고리즘의 조합을 통해 환경과 요구사항에 맞춘 유연한 구성도 가능하다.
그러나 단점도 존재한다. 대칭키와 비대칭키 알고리즘을 모두 구현해야 하므로 설계와 개발 과정이 복잡해지고, 공개키·비밀키 쌍과 세션키를 모두 관리해야 하는 키 관리 체계가 필요하다. 또한 세션키 교환 시 비대칭 연산이 추가되어 순수 대칭키 암호 방식에 비해 초기 암호화 단계에서 오버헤드가 발생할 수 있다.
3. 암·복호화 시스템
본 장에서는 AES, RSA, Hybrid의 세 가지 암호화 기술에 대해 구현 과정과 환경 설정 방법을 기술하고, 사용한 데이터셋 및 성능 평가 지표를 설명한다. 이를 통해 각 알고리즘의 구현 세부 사항과 평가 방법론을 명확히 제시한다.
3.1 구현 환경
본 논문에서 암호화 기술을 구현하고 성능을 측정하기 위한 주요 환경은 IntelliJ, MySQL, SQLite로 구성된다. 이러한 구현 환경의 관계를 (그림 3)에 나타내었으며, 각 구성 요소의 역할을 차례대로 기술한다.

(그림 3) System Flow
3.1.1 IntelliJ IDEA
본 연구에서 주된 개발 환경인 IntelliJ IDEA는 MySQL과 SQLite를 각각 연결하여 로드한 데이터를 세 가지 암호화 알고리즘(AES, RSA, Hybrid)으로 암·복호화하는 역할을 수행한다. 또한 JMH(Java Microbenchmark Harness)를 활용해 암·복호화 속도와 메모리 사용량을 벤치마크하고, 이를 통해 알고리즘별 성능 변화를 분석한다.
3.1.2 Database System
본 연구에서는 MySQL과 SQLite를 데이터베이스 환경으로 사용한다. 두 데이터베이스에는 오픈 데이터셋(Open Dataset)을 기반으로 생성한 테이블을 로드하고 저장한 뒤, IntelliJ와 연동하여 암·복호화 구현을 위한 데이터를 관리한다.
MySQL[8]은 클라이언트-서버 방식을 사용하는 대표적인 관계형 데이터베이스 관리 시스템이다. 이 구조에서는 별도의 서버가 존재하고, 여러 프로그램이 이 서버에 연결해 데이터를 효과적으로 관리할 수 있다. 2012년 이후로 MySQL은 가장 널리 사용되는 오픈소스 RDBMS 중 하나가 되었으며, Twitter, Facebook, Netflix, Spotify 같은 글로벌 대형 웹 서비스와 앱의 핵심 데이터베이스로 활용되고 있다.
MySQL은 빠른 처리 속도와 높은 신뢰성을 목표로 설계되었으며, 복제 기능 덕분에 데이터 백업과 수평 확장을 쉽게 지원한다. 또한, 보안 기능과 사용자 관리가 정교하게 구성되어 있고, 방대한 공식 문서와 phpMyAdmin 등 다양한 외부 도구를 통해 사용 편의성이 높다. 다만, 표준 SQL 규격과 완전 일치하지 않으며 일부 기능에 제한이 있다는 단점이 있다. 그럼에도 불구하고, 강력한 커뮤니티와 폭넓은 배포로 인해 웹 기반 애플리케이션 개발에서 보편적으로 선택된다.
반면에, SQLite[8]는 서버가 없는 임베디드 데이터베이스 엔진으로, 전체 데이터베이스가 단일 파일로 디스크에 저장된다. 애플리케이션 내부에 라이브러리 형태로 포함되어 직접 데이터 읽기·쓰기를 수행하며, 휴대성과 신뢰성이 뛰어나고 메모리 자원이 적은 환경에서도 안정적으로 동작한다. 시스템 충돌이나 전원 차단 상황에서도 ACID(Atomicity, Consistency, Isolation, Durability) 트랜잭션 속성을 철저히 준수하여 데이터 무결성을 보장한다. 또한, SQLite 라이브러리는 600KiB도 안 되는 크기로 매우 가볍고, 설치와 관리가 쉬우며, 하나의 파일로 저장되기 때문에 다른 시스템으로 옮기기 용이하다. 그러나 동시에 여러 쓰기 작업을 처리하는 데 한계가 있으며, 사용자 관리 기능과 내장 보안 기능이 거의 없어 다중 사용자 및 고보안 환경에는 적합하지 않다. 그럼에도 단일 사용자 환경이나 제한적인 동시 접근 환경, 예를 들어 웹 브라우저, 모바일 앱, IoT 장치 등에서 널리 사용된다.
3.2 Kaggle Dataset
본 연구에서는 텍스트 데이터와 이미지 데이터 두 종류의 데이터셋을 구성하여, 서로 다른 데이터 특성을 가진 환경에서 MySQL과 SQLite 데이터베이스의 암·복호화 성능을 비교·분석한다. 이를 통해 데이터 유형이 성능에 미치는 영향을 함께 평가한다.
Kaggle은 공개된 데이터를 공유하는 플랫폼으로, 본 연구에서 활용하는 텍스트와 이미지 데이터는 Kaggle에 등록된 Open Dataset이다. 본 실험에서는 텍스트 및 이미지 데이터에 대해 서로 다른 크기의 두 데이터셋을 활용하여 성능을 평가하였다.
텍스트 데이터셋의 경우, 첫 번째 텍스트 데이터셋 ‘FIFA’는 2022년 기준 월드컵 참가국의 영문명, FIFA 랭킹, 랭킹 산정 기관 및 점수 등의 정보를 포함한다[9]. 그리고 두 번째 데이터셋 ‘Top 5’는 2014/15시즌부터 2021/22시즌까지의 유럽 5대 리그 각 팀의 리그 성적 정보를 포함한다[10].
이미지 데이터셋의 경우, 첫 번째 이미지 데이터셋 ‘GTSRB’[11]는 German Traffic Sign Recognition Benchmark(GTSRB)의 약자로, 컴퓨터 비전 분야에서 독일 교통 표지판을 인식하고 분류하는 모델 개발을 위한 벤치마크 데이터셋이다. 해당 데이터셋은 총 43종의 독일 교통 표지판 이미지를 포함하며, 실제 환경 이미지로 구성되어 있다. 원본 이미지는 9 × 9픽셀에서 200 × 200픽셀로 32 × 32 리사이즈(정규화)하여 사용한다.
두 번째 데이터셋 ‘Chest_xray’[12]는 1세에서 5세 사이의 소아 환자 흉부 X선 이미지 5,863장(JPEG)으로 구성되어 있으며, 폐렴(Pneumonia)과 정상(Normal)의 두 가지 카테고리로 분류되어 있다. 각 데이터셋의 세부 정보는 <표 1>에 나타내었다.
<표 1> Dataset Details

3.3 성능 지표
성능 평가는 암·복호화 연산 속도와 메모리 사용량을 측정하여 수행하였다. 암·복호화 연산 속도는 식 (5)처럼 계산하여 ms으로 표현하였다.
totalTime / 1,000,000 (5)
메모리 사용량은 식 (6)처럼 계산하고 MB로 변환하여 나타내었다.
totalMemoryUsage / (1,024 * 1,024) (6)
측정 결과는 데이터베이스 종류(MySQL, SQLite)와 데이터 유형(텍스트, 이미지)별로 세 가지 암호화 알고리즘(AES, RSA, Hybrid)의 성능 변화를 비교 및 분석하였다.
본 실험에서 암·복호화 성능분석 실험은 (그림 3)의 흐름과 같이 IntelliJ 환경에서 JDBC를 통해 MySQL과 SQLite 데이터베이스에 연동하여 수행하였다. 각 데이터셋(CSV, 이미지 데이터)을 대상으로 AES, RSA, Hybrid 알고리즘의 암호화(Encryption)와 복호화(Decryption)를 각각 1,000회 반복 실행하고, 평균값을 기록하였다. 측정 지표는 암호화 시간(ms), 복호화 시간(ms), 메모리 사용량(MB)이며, 이를 통해 알고리즘별 성능을 비교 및 평가하였다.
4. 실험 결과
4.1 암·복호화 성능 분석
암·복호화 성능은 암·복호화 각각의 총 시간과 메모리 사용량을 기준으로 평가하였다. <표 2>와 <표 3>은 MySQL과 SQLite 환경에서 텍스트 및 이미지 데이터셋을 대상으로 측정한 AES, RSA, Hybrid 알고리즘의 암·복호화 시간(ms)과 메모리 사용량(MB)을 비교한 결과를 보여준다.
<표 2> Comprehensive Performance Evaluation of Cryptographic Algorithms on Text Datasets

<표 3> Comprehensive Performance Evaluation of Cryptographic Algorithms on Image Datasets

측정 결과, AES가 모든 환경에서 가장 짧은 암·복호화 시간과 가장 낮은 메모리 사용량을 기록하였다. 텍스트 데이터셋에서 AES의 암호화/복호화 시간은 MySQL 환경 기준 각각 3.5ms와 3.3ms, SQLite 환경 기준 2.9ms와 2.7ms로 매우 짧았다. 이미지 데이터셋에서도 AES는 MySQL 환경에서 503.7ms와 467.0ms, SQLite 환경에서 297.7ms와 258.3ms로 모든 알고리즘 중 가장 빠른 처리 속도를 보였다.
Hybrid 알고리즘은 AES보다는 느리지만 RSA보다는 빠른 중간 수준의 성능을 보였다. 텍스트 데이터셋의 경우 MySQL 환경에서 15.8ms(암호화)와 29.9ms(복호화), SQLite 환경에서 13.6ms와 22.9ms로, AES 대비 느리지만 RSA 대비 크게 빠르다. 이미지 데이터셋에서도 동일한 경향이 나타났으며, 암호화 과정이 복호화보다 오래 걸렸다. 이는 매번 새로운 AES 세션키와 초기화 벡터(IV)를 생성하기 위해 SecureRandom을 호출하는 오버헤드와 RSA 공개키 암호화 연산이 결합된 구조적 특성에 의한 영향이다.
RSA는 모든 경우에서 가장 긴 암·복호화 시간과 가장 높은 메모리 사용량을 기록하였다. 특히 복호화 시간이 암호화 시간보다 현저히 길었는데, 이는 모듈러 거듭제곱 연산에서 사용되는 개인키 지수가 암호화 시의 공개키 지수보다 훨씬 크기 때문이다. 예를들어, 이미지 데이터셋에서 MySQL 환경 기준 암호화 시간은 6012.2ms, 복호화 시간은 146,032ms였으며, 텍스트 데이터셋에서도 MySQL 환경에서 76.5ms(암호화)와 1491.9ms(복호화)로 큰 차이를 보였다.
종합적으로, 데이터베이스 종류와 데이터 유형에 관계없이 AES가 가장 우수한 성능을 보였으며, 그 다음이 Hybrid, 가장 느린 것은 RSA로 나타났다.
4.2 Database System에 따른 분석
본 연구에서는 MySQL과 SQLite 두 가지 데이터베이스 환경에서 암·복호화 성능을 비교하였다. (그림 4)는 두 데이터베이스 환경에서 AES, RSA, Hybrid 알고리즘의 성능을 데이터셋 유형(텍스트, 이미지)별로 암호화 시간, 복호화 시간, 메모리 사용량 측면에서 비교한 결과를 나타낸다.

(그림 4) Performance comparison of encryption algorithms (AES, RSA, Hybrid) on text (FIFA, Top5) and image (GTSRB, Chest_xray) datasets using MySQL and SQLite.
측정 결과, MySQL 환경의 암·복호화 총 시간과 메모리 사용량이 SQLite보다 전반적으로 높게 나타났다. 이는 MySQL이 클라이언트–서버 아키텍처 기반으로 동작하면서 발생하는 네트워크 통신 오버헤드, 서버 내부 처리 부하, 그리고 매 반복 시 데이터베이스 커넥션 설정 및 해제 비용 때문으로 해석된다.
반면, SQLite는 애플리케이션 내에 임베드되는 파일 기반 데이터베이스로, 네트워크 통신 없이 직접 파일 시스템에 접근하므로 이러한 오버헤드가 없고, 결과적으로 더 빠른 데이터 접근과 낮은 메모리 사용량을 보였다. 다만, 이미지 데이터셋의 경우 MySQL과 SQLite에서 메모리 사용량이 유사하게 나타났다. 이는 데이터베이스 종류와 무관하게, 이미지 데이터가 암·복호화 과정에서 byte[] 배열 형태로 JVM 힙 메모리에 로드되며, 연산 중 해당 데이터의 복사본이 생성되어 동일한 수준의 메모리를 점유하기 때문이다.
4.3 Dataset에 따른 분석
본 연구에서는 텍스트 파일과 이미지 파일 두 종류의 데이터셋을 대상으로 암·복호화 성능을 비교하였다. 측정 결과, 이미지 파일이 텍스트 파일보다 총 연산 시간과 메모리 사용량이 전반적으로 높게 나타났다. 이는 이미지 파일이 픽셀 값과 색상 정보 등 시각적 표현에 필요한 대규모 바이너리 데이터를 포함하고 있기 때문이다.
텍스트 데이터셋의 종류에 따라 성능 차이가 존재하였다. ‘FIFA’ 데이터셋은 국가명, 랭킹, 점수 등 단순한 문자열 기반의 소용량 데이터로 구성되어 암·복호화 속도가 매우 빠르게 나타났다. 반면, ‘Top 5’ 데이터셋은 시즌별 리그 성적 등 다중 행과 다수의 수치형 열을 포함하고 있어, 파일 크기와 입출력(I/O) 연산이 증가함에 따라 암·복호화 시간이 상대적으로 길게 측정되었다.
이미지 데이터셋의 종류에 따라 성능 차이도 유사한 양상이 나타났다. ‘GTSRB’는 43종의 교통 표지판 이미지를 포함하며, 이미지 해상도가 비교적 낮고 파일 크기가 작아 상대적으로 빠른 암·복호화 속도를 보였다. 반면, ‘Chest_xray’ 데이터셋은 고해상도 X-ray 이미지를 포함하고 있어, 데이터 처리 연산이 많아 암·복호화 속도가 상대적으로 느리게 나타났다.
암호화 연산은 데이터 크기에 비례하여 계산량이 증가하므로, 데이터 양이 많을수록 처리 시간이 길어지고 메모리 사용량도 증가한다. 특히 이미지 파일은 암호화 전에 디스크에서 읽어 메모리에 적재하는 과정이 필요하며, JPEG·PNG와 같은 압축 포맷의 경우 압축 해제 후 원본 픽셀 데이터로 변환하는 과정에서 추가적인 메모리 소비가 발생한다. 이로 인해 Hybrid 암호화 알고리즘에서 암호화 단계의 처리 시간이 복호화 단계보다 높게 측정되는 경향이 나타났다.
반면 텍스트 파일은 데이터 크기가 작아 상대적으로 빠르게 처리되지만, 복호화 후 문자열(String) 변환 과정에서 추가적인 연산 오버헤드가 발생해 복호화 시간이 암호화 시간보다 길어지는 현상이 확인되었다.
5. 결론
본 연구는 AES, RSA, 그리고 두 방식을 결합한 Hybrid 암호화를 구현하여 데이터베이스(MySQL, SQLite)와 데이터 유형(텍스트, 이미지)에 따른 암·복호화 성능을 시간과 메모리 사용량 측면에서 비교 및 분석하였다.
실험 결과, AES는 모든 조건에서 가장 짧은 처리 시간과 낮은 메모리 사용량을 기록하여 가장 우수한 성능을 보였다. Hybrid는 AES보다 느리고 메모리 소모가 컸지만 RSA보다는 효율적이었으며, RSA는 세 가지 방식 중 가장 낮은 성능을 보였다. 데이터 유형별로는 텍스트가 이미지보다 일관되게 처리 속도가 빠르고 메모리 사용량이 적었고, 데이터베이스별로는 SQLite가 MySQL보다 전반적으로 빠르고 경량이었다. 이러한 경향은 모든 실험 조건에서 동일하게 나타났다.
이 같은 결과는 대칭키 기반 AES의 구조적 단순성과 효율성, Hybrid의 세션키 생성과 키 래핑 과정에서 발생하는 오버헤드, RSA의 대형 정수 모듈러 연산으로 인한 높은 계산 비용, 이미지 데이터의 디코딩과 대용량 처리 부담, 그리고 MySQL의 클라이언트–서버 구조에 따른 통신 오버헤드와 SQLite의 임베디드 특성에 기인한다.
향후 연구에서는 키 생성 및 관리 효율화, RSA 연산 속도 향상, 스트리밍·배치 암호화 기법의 적용을 통해 다양한 환경에서도 안정적인 성능을 유지할 수 있는 동적 암·복호화 적용 방법론을 개발할 계획이다.
References
- J. H. Yoon, "Transitions and Implications of Cybersecurity Issues in the Data Security Era", The Journal of Political Science & Communication, Vol. 27, No. 3, pp. 73-112, 2024. https://doi.org/10.15617/psc.2024.10.31.3.73
- W. Diffie and M. E. Hellman, "New directions in cryptography", IEEE Transactions on Information Theory, Vol. 22, No. 6, pp. 644-654, 1976. https://doi.org/10.1109/TIT.1976.1055638
- D. P. Leech and M. W. Chinworth, "The Economic Impacts of NIST's Data Encryption Standard (DES) Program", Planning Report 01-2, National Institute of Standards and Technology, 2001.
- National Institute of Standards and Technology (NIST), "Announcing the Advanced Encryption Standard (AES)", FIPS PUB 197, U.S. Department of Commerce, 2001.
- E. Özer and H. Aydos, "Performance and Security of AES, D ES, and RSA in Hybrid Syste ms: An Empirical Analysis of T riple Encryption" , International Journal of Computational and Experimental Science and Engineering (IJCESEN), Vol. 10, No. 4, pp. 1901-1906, 2024.
- R. Rivest, A. Shmir and L. Adleman, "A method for obtaining Digital Signatures and Public-Key Crypto-systems", Communcatoins of Association for Computing Machinery (ACM), Vol. 21, No. 2, pp. 120-126, 1978. https://doi.org/10.1145/359340.359342
- S. H. Oh, J. Kwak and D. H. Won, "Hybrid Cryptosystem providing Implicit Authentication for sender", Journal of the Korea Institute of Information Security and Cryptology, Vol. 12, No. 6, pp. 71-80, 2002. https://doi.org/10.13089/JKIISC.2002.12.6.71
- D. Kengalagutti and G. Chethana, "Comparing Database Management Systems: MySQL, PostgreSQL, SQLite", International Research Journal of Engineering and Technology, Vol. 7, No. 6, pp. 2238-2241, 2020.
- Kaggle, "Football - FIFA World Cup, 1930-2022", [Internet], Available: https://www.kaggle.com/datasets/piterfm/fifa-football-world-cup, Accessed: Oct. 2025.
- Kaggle, "Top 5 European Football Leagues (2014-2022)", [Internet], Available: https://www.kaggle.com/datasets/ferrariboy4k/top5leagues, Accessed: Oct. 2025.
- Kaggle, "GTSRB - German Traffic Sign Recognition Benchmark", [Internet], Available: https://www.kaggle.com/datasets/meowmeowmeowmeowmeow/gtsrb-german-traffic-sign, Accessed: Oct. 2025.
- Kaggle, "Chest X-Ray Images (Pneumonia)", [Internet], Available: https://www.kaggle.com/datasets/paultimothymooney/chest-xray-pneumonia, Accessed: Oct. 2025.