Why are neural networks and cryptographic ciphers so similar? (2025)
개요
신경망 훈련과 암호화 알고리즘은 겉보기에는 다르지만, 순차적/병렬적 데이터 처리, 선형/비선형 변환 반복, 격자 구조에서의 행/열 믹싱 등 근본적인 알고리즘 구조에서 놀라운 유사성을 공유한다.
주요 내용
* 순차적 데이터 처리: 가변 길이 입력을 고정 크기 상태로 처리하기 위해 토큰/바이트를 순차적으로 처리하는 방식은 순환 신경망(Recurrent Neural Network)과 SHA-3의 스펀지 구조(Sponge construction)에서 동일하게 나타난다.
* 병렬적 데이터 처리: 현대 하드웨어의 병렬성을 활용하기 위해, 각 청크(chunk)에 함수 $f$를 병렬로 적용하고 덧셈으로 결합하는 방식이 신경망의 트랜스포머(Transformer) 아키텍처와 암호학의 고속 메시지 인증 코드(Message Authentication Codes)에서 사용된다. 순서 정보를 복구하기 위해 위치 인코딩(position encoding)이 추가된다.
* 기본 프리미티브: 선형 및 비선형 레이어 반복: 코어 함수는 선형 변환(mixing)과 비선형 변환(complexity)을 번갈아 반복하는 구조를 가진다. 이는 연구 및 엔지니어링 노력을 하나의 레이어 타입 분석 및 최적화에 집중하게 한다.
* 효율적인 믹싱: 행 및 열 교차: 상태를 격자로 구성하고 행 믹싱과 열 믹싱을 교차하는 방식은 신경망의 어텐션(attention) 메커니즘과 피드포워드(feed-forward) 레이어, AES 암호의 ShiftRows/MixColumns, ChaCha20 암호의 행/대각선 믹싱에서 발견된다. 이는 전체 상태를 한 번에 믹싱하는 것보다 효율적이며 병렬성을 높인다.
* 유사성의 원인: 두 분야는 아이디어의 직접적인 복제보다는, 알고리즘 설계의 세 가지 근본적인 특성 때문에 유사한 구조를 발전시켰다.
1. 상대적으로 약한 정확성 요구사항: 신경망은 미분 가능성, 암호학은 역행렬 가능성만을 요구하여 단순한 기본 프리미티브의 반복과 실험을 용이하게 한다.
2. 복잡성 및 믹싱 품질 요구사항: 모든 출력 비트가 모든 입력 비트에 복잡하게 의존해야 한다는 요구사항은 반복적인 믹싱 레이어를 통해 정보의 상호작용을 강화한다.
3. 높은 성능 강조: 경제적 압력으로 인해 저수준 하드웨어 성능에 대한 강조가 크며, 이는 단순하고 병렬화 가능한 알고리즘 설계를 장려한다.
시사점
신경망과 암호학은 각각의 분야에서 요구되는 복잡성, 믹싱, 성능이라는 공통된 목표에 따라 독립적으로 유사한 알고리즘 구조를 발전시켜왔으며, 이는 향후 두 분야 간의 새로운 아이디어 교류와 발전을 촉진할 가능성이 있다.
댓글
GitHub Discussions