셀룰러 오토마타를 이용한 데이터 암호화 키 생성

셀룰러 오토마타를 이용한 데이터 암호화 키 생성
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 1차원 이진 셀룰러 오토마타(ECAs)의 규칙 중 난수성을 보이는 규칙을 찾아, NIST 통계 테스트를 통해 의사난수 생성기로서의 적합성을 검증하고, 이를 데이터 암호화 키로 활용할 가능성을 탐구한다. 실험 결과 규칙 30이 가장 높은 의사난수성을 보였으며, 다른 규칙은 일부 테스트에서만 통과하였다.

상세 분석

본 연구는 암호학적 키 생성에 필요한 고품질 의사난수(Pseudo‑Random Number, PRN) 를 제공하기 위해 1차원 이진 셀룰러 오토마타(ECA)의 규칙을 체계적으로 평가한다. 먼저, 스티븐 울프람이 제시한 4가지 동역학적 클래스(1‑고정, 2‑주기, 3‑혼돈·의사난수, 4‑복합) 중 클래스 3과 4에 속하는 규칙들을 문헌(특히 Zenil 2010)에서 13개, 무작위 초기 조건 하에서는 38개로 추출한다. 이후 브라질 연구팀이 제시한 서브클래스(RD, DP, CDP, DKCA)를 기준으로 네 가지 대표 규칙—30(RD), 54(DKCA, 대칭), 73(CDP), 110(DP + DKCA, 대칭)—을 선택하였다.

키 생성 메커니즘은 다음과 같다. 각 규칙에 대해 무작위 100 문자(0/1) 길이의 초기 시드 문자열을 생성하고, Mathematica를 이용해 1,000개의 파일 각각에 1,000비트 길이의 출력 시퀀스를 10 만 번(총 10 억 비트) 생성한다. 이렇게 얻은 시퀀스들을 하나의 대형 파일로 결합한 뒤, NIST SP 800‑22(버전 1.0)에서 정의한 15가지 통계 테스트(모노비트, 블록 빈도, 런, 최대 런, 행렬 랭크, 푸리에 스펙트럼, 템플릿 매칭, 모우러 통계, 선형 복잡도, 시리즈, 근사 엔트로피, 누적 합, 누적 합(역), 랜덤 워크, 랜덤 워크 변형)를 적용한다.

테스트 결과는 표 1에 요약된다. 규칙 30은 13개의 테스트 중 11개를 통과했으며, 실패한 두 테스트(블록 빈도, 누적 합)에서는 “완전한 런” 현상이 관찰돼 실제 난수 생성기에서는 드물게 나타나는 현상으로 해석한다. 규칙 54와 73은 대부분의 테스트에서 실패했으며, 특히 선형 복잡도와 행렬 랭크에서 낮은 점수를 받아 구조적 규칙성이 남아 있음을 시사한다. 규칙 110은 중간 정도의 성능을 보였으며, 일부 테스트(모노비트, 푸리에 스펙트럼)에서만 통과했다.

결론적으로, 클래스 3의 서브클래스 RD에 속하는 규칙 30이 의사난수 생성기로서 가장 적합함을 확인했다. 이는 규칙 30이 “혼돈” 특성을 가장 강하게 발현하며, 초기 조건에 대한 민감도가 높아 시드가 바뀔 때마다 완전히 다른 출력 패턴을 만든다는 점과 일치한다. 반면, 다른 서브클래스에 속하는 규칙들은 구조적 패턴이 남아 있어 암호학적 보안에 취약할 가능성이 있다.

연구의 한계는 다음과 같다. 첫째, 시드 길이와 출력 길이를 고정했기 때문에 다른 파라미터(예: 더 긴 시드, 다중 차원 CA)에서의 성능 변화를 검증하지 못했다. 둘째, NIST 테스트는 통계적 특성을 평가하지만 실제 암호 공격(예: 차분 공격, 선형/비선형 분석)에 대한 저항성을 직접 검증하지 않았다. 셋째, Mathematica 기반 구현이 실제 하드웨어 난수 생성기와 비교했을 때 연산 효율성이 떨어질 수 있다.

향후 연구에서는 (1) 다차원 셀룰러 오토마타와 비이진 상태(다중 색) 모델을 탐색해 키 공간을 확대하고, (2) 규칙 30을 기반으로 한 스트림 암호 설계 및 실제 암호 분석을 수행하며, (3) FPGA/ASIC 구현을 통해 실시간 고속 난수 생성 성능을 평가할 계획이다. 이러한 확장은 셀룰러 오토마타 기반 난수 생성기가 기존 PRNG(예: AES‑CTR, ChaCha20)와 경쟁할 수 있는 실용적인 암호 솔루션으로 자리매김할 가능성을 제시한다.


댓글 및 학술 토론

Loading comments...

의견 남기기