Portable Acceleration of Learning With Errors KEMs for Post-Quantum Cryptography
본 논문은 OpenMP Target offloading을 사용하여 LWE(Learning With Errors) 기반 키 캡슐화 메커니즘(KEM)의 휴대 가능한 GPU 구현을 제시하며, 단일 소스 코드베이스가 벤더 종속성을 피하면서 NVIDIA와 AMD 가속기 모두에서 상당한 성능 가속과 에너지 효율성을 달성할 수 있음을 입증한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 미래의 "양자" 슈퍼컴퓨터조차도 뚫을 수 없는 초강력 디지털 금고를 만들려고 한다고 상상해 보세요. 이를 위해 당신은 "오류를 포함한 학습(Learning With Errors, LWE)"이라는 거대하고 복잡한 수학 퍼즐을 풀어야 합니다. 이것은 마치 수백만 개의 아주 작은 노이즈 섞인 자석들로 만들어진 건더기 속에서 특정 바늘 하나를 찾는 것과 같습니다. 그런데 더 큰 문제는, 당신이 찾으려고 할수록 그 자석들이 이리저리 흔들린다는 점입니다.
문제는 무엇일까요? 이 퍼즐을 푸는 것은 일반적인 컴퓨터로는 시간이 너무 오래 걸립니다. 그것은 마치 아주 작은 숟가락 하나로 모래산을 한 알 한 알 옮기는 것과 같습니다. 그래서 저자들은 이렇게 물었습니다: "만약 우리가 거대하고 매우 빠른 건설 현장 인력(GPU)을 사용한다면 어떨까?"
위대한 발견: 하나의 코드, 두 개의 팀
보통 건설 인력을 고용하려면, 특정 팀(예: NVIDIA의 CUDA)을 고용해야 하고 그들만이 이해할 수 있는 지침을 작성해야 합니다. 만약 다른 팀(예: AMD)을 고용하고 싶다면, 지침서 전체를 다시 써야 합니다. 이는 비용이 많이 들고 번거로운 일입니다.
이 논문은 당신이 단 하나의 단일 지침 세트(OpenMP Target이라고 불리는 것)를 작성하면, NVIDIA 팀과 AMD 팀 모두에서 완벽하게 작동하도록 만들 수 있다는 것을 보여줍니다. 이것은 마치 가스레인지 주방에서 요리를 하든 전기레인지 주방에서 요리를 하든, 재료를 하나도 바꾸지 않고도 똑같이 작동하는 레시피를 쓰는 것과 같습니다.
마법의 기술: 주방 안에 머물기
이 수학 퍼즐에서 가장 시간을 잡아먹는 요소는 메인 컴퓨터(CPU)와 초고속 GPU 사이를 계속 왔다 갔다 하는 것입니다. 이것은 마치 요리사가 양념을 한 꼬집 넣을 때마다 소금을 가지러 팬트리까지 달려가는 것과 같습니다.
저자들은 필요한 "소금"(수학 계산에 필요한 난수)을 GPU 주방 안에 그대로 유지하는 방법을 찾아냈습니다. 그들은 RNGonGPU라는 도구를 업그레이드하여 NVIDIA와 AMD 팀 모두와 잘 작동하도록 만들었습니다. 이제 GPU는 자리에서 일어나지 않고도 필요한 모든 난수를 스스로 생성할 수 있습니다. 덕분에 작업 흐름이 매끄럽고 빠르게 유지됩니다.
경주: 누가 승리하는가?
연구팀은 네 가지 서로 다른 초고속 컴퓨터에서 이 새로운 방식을 테스트했습니다:
- NVIDIA A100: 강력하고 표준적인 슈퍼컴퓨터.
- NVIDIA GH200: 뇌(CPU)와 근육(GPU)이 초고속 고속도로(NVLink)로 접착되어 있는 거대한 "슈퍼칩".
- AMD MI300X: 거대한 메모리 뱅크를 가진 강력하고 표준적인 슈퍼컴퓨터.
- AMD MI300A: 뇌와 근육이 정확히 동일한 메모리 뱅크를 공유하는 칩.
결과는 다음과 같았습니다:
- 속도 향상: 수학 퍼즐의 크기가 커졌을 때(크기 4,096), GPU 버전은 일반 컴퓨터 버전보다 120배 더 빨랐습니다. 훨씬 더 큰 퍼즐(크기 16,384)에서도 GPU는 여전히 눈부시게 빨랐던 반면, 일반 컴퓨터는 거의 잠든 상태나 다름없었습니다.
- 승자: NVIDIA GH200이 약 60초 만에 작업을 마쳐 가장 빨랐습니다. AMD MI300X가 85초를 기록하며 그 뒤를 바짝 쫓았습니다. 두 기기 모두 데이터를 빠르게 쏟아낼 수 있는 거대하고 빠른 메모리 뱅크(HBM3)를 가지고 있습니다.
- 놀라운 패자: AMD MI300A는 뇌과 근육이 메모리를 공유하기 때문에 훌륭할 것이라고 생각할 수도 있습니다. 하지만 실제로는 114초가 걸려 가장 느렸습니다. 왜일까요? 뇌와 근육이 같은 물 호스를 두고 싸웠기 때문입니다. GPU가 데이터를 옮기려고 할 때 CPU도 자신의 수학 계산을 하려고 했고, 둘이 서로 방해가 된 것입니다. 이것은 마치 두 사람이 동시에 하나의 빨대로 음료를 마시려는 것과 같습니다. 어느 누구도 제대로 된 한 모금을 마실 수 없습니다.
에너지와 열
연구팀은 또한 이 기기들이 전기를 얼마나 사용하는지도 확인했습니다. NVIDIA GH200은 단순히 더 빨리 끝냈을 뿐만 아니라, 작업을 수행하는 데 드는 에너지도 적었습니다. 퍼즐을 푸는 데 약 9.7 kJ의 에너지가 사용된 반면, AMD MI300X는 약 26.2 kJ가 필요했습니다. 즉, NVIDIA 기기가 약 2.5배 더 에너지 효율적이었습니다.
이것이 의미하는 바
이 논문은 초고속 보안을 위해 반드시 NVIDIA와 AMD 중 하나를 선택해야 하는 것은 아니라는 점을 증명합니다. 당신은 양쪽 모두에서 실행되는 하나의 코드 베이스를 사용할 수 있습니다. 하지만 연구팀은 단순히 빠른 칩을 갖는 것만으로는 충분하지 않으며, 메모리가 어떻게 구성되어 있는지가 그만큼 중요하다는 것도 보여주었습니다. 만약 뇌와 근육이 동일한 메모리를 두고 싸우게 된다면, 전체 시스템은 느려집니다.
요약하자면, 저자들은 휴대 가능한 GPU 가속 보안이 단순한 꿈이 아니라, 메모리 차선에서의 교통 체증을 피하기 위해 적절한 하드웨어 설정을 선택하기만 하면 더 빠르고 효율적으로 구현될 수 있는 현실임을 입증했습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.