OTP 암호학 + One-Time Password

코딩 파인애플·2026년 10월 1일

CRYPTOGRAPHY

목록 보기
5/5
post-thumbnail

안녕하십니까 코딩 파인애플입니다
이번 시간에는 OTP 암호에 관해 알아보겠습니다.

⭕𝓣ⓟ 암호란⁉️⁉️⁉️

OTL OTP 암호, One-Time Pad 암호라 불리는 암호는 평문과 같은 길이의 완전한 무작위 키를 딱 한 번만 사용하는 암호 방식을 일컫습니다

위 암호의 주 특징은

  • 키가 무작위.

  • 키 길이가 평문 길이와 동일.

  • 한 번 쓴 키는 재사용 불가.

적인 특징이 존재합니다

짤

🔒 암호화

컴퓨터에서는 보통 ❌⭕R로 표현합니다

암호문 = 평문 xor 키

❓❓❓ : 아니 그럼 그냥 베타적 논리합 암호 아님 ❓+‼️+🤔+🤔

예...사실상 OTP암호가 XOR과 거의 비슷하나 한 가지 차이점이 있다면

XOR 암호는 키가 평문에 비해 짧아 키를 여러 번 돌려쓰는 반면에

OTP 암호는 키의 길이가 평문의 길이와 완전히 동일하다는 점이 있습니다

XOR
평문 : 10110110 00101101 11101010
키   : 01101101 #돌려써야함

OTP
평문 : 10110110 00101101 11101010
키   : 01101101 11001010 00110111 #깔끔

XOR는 키가 짧아 돌려쓰는 특징이 있으며 그 과정에 패턴이 생기는 취약점이 존재하지만

OTP는 완전히 평문과 암호문의 길이가 동일해 정보이론적으로 완전한 보안이 증명된 암호 체계입니다

...예...그냥 XOR의 좀 특별한 변형입니다.

짤

⭕ne-Time 🅿️assword

살짝 번외로 One-Time Password도 존재합니다

위에서 설명한 One-Time Pad와 완전히 다른 개념인데

One-Time Password는 은행 앱이나 2단계 인증에서 보는 6자리 숫자 같은 건데,

예를 들어 197211이라는 코드가 생성되면, 일정 시간이 지나거나 한 번 사용한 뒤에는 유효하지 않게 됩니다

HOTP

카운터 값을 이용해 OTP를 생성합니다

로그인할 때마다 카운터가 증가하고, 비밀키와 카운터를 이용해 새로운 코드가 만들어집니다

OTP = f ( K, Counter )

TOTP

현재 시간을 바탕으로 1회용 인증 번호를 생성합니다

특정한 시간마다 (30~60초) 1회용 인증 코드를 생성합니다

OTP = f ( K, Time )

대표적으로 Google Authenticator 와 2FA가 있습니다






이상으로 글을 마치겠습니다 감사합니다.
케숙이


요즘따라 짤 선정이 많이 미숙해지는 것 같습니다... 좀 더 분발하겠습니다.

0개의 댓글