하이브리드 양자내성 TLS 키 교환

Hybrid post-quantum TLS key exchange

기존 키 교환과 양자내성 키 캡슐화 결과를 결합해 TLS 비밀을 도출합니다.

···
html
<div class="n-demo"><div class="n-head"><strong>HYBRID KEY AGREEMENT</strong><span>LIVE TRACE</span></div><div class="n-stage"><div class="hybrid"><div class="hybrid-inputs"><div id="hy0" class="n-box mono">X25519</div><div id="hy1" class="n-box mono">ML-KEM</div></div><div class="hy-join">↓ combine ↓</div><div id="hy2" class="n-box">TLS traffic key</div></div></div><div class="n-foot">tap to step · auto replay</div></div>
css
.n-demo{width:min(94vw,760px);height:min(88vh,324px);padding:clamp(9px,2.2vmin,18px);border:1px solid var(--line);border-radius:13px;background:var(--surface);display:flex;flex-direction:column;gap:clamp(5px,1.3vmin,10px);font:600 clamp(12px,2.4vmin,16px)/1.3 "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;overflow:hidden}.n-head,.n-foot{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.n-head strong{color:var(--accent)}.n-head span,.n-foot{font-size:12px}.n-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(4px,1vmin,10px)}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.n-box{padding:clamp(5px,1.5vmin,11px);border:1px solid var(--line);border-radius:8px;background:var(--bg);text-align:center}.n-on{border-color:var(--accent)!important;color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 12%,var(--surface))!important}.n-muted{color:var(--muted)}@media(max-width:400px){.n-head span{display:none}}.hybrid{width:85%;display:grid;gap:5px;text-align:center}.hybrid-inputs{display:flex;gap:8px}.hybrid-inputs .n-box{flex:1}.hy-join{color:var(--muted)}#hy2{max-width:75%;justify-self:center;width:100%}
js
let step=1;function advance(){for(let i=0;i<3;i++)document.getElementById('hy'+i).classList.toggle('n-on',i<=step);step=(step+1)%3}
const clickTarget=document.querySelector('.n-demo');if(clickTarget&&typeof advance==='function'){advance();const timer=setInterval(advance,1050);clickTarget.addEventListener('pointerdown',()=>{clearInterval(timer);advance()})}

RFC 10024는 TLS 1.3에서 기존 키 교환과 양자내성 KEM을 결합하는 방식을 정의합니다. 각 구성 요소가 비밀을 만들고 TLS 키 일정이 두 값을 함께 사용합니다.

데모는 두 입력이 결합 지점으로 모여 트래픽 키가 되는 흐름을 보여줍니다. 이는 실제 암호 연산의 시각화가 아니며, 구현은 표준 그룹과 라이브러리 지원을 따라야 합니다.

언제 쓰나

장기 기밀 데이터의 양자 위협 대비를 검토할 때 TLS 스택의 지원과 상호 운용성을 확인합니다.

페이지로 열기 ↗