#cryptography
노트 6개
Backend › Web Basics
2단계 인증: TOTP와 패스키인증기 앱의 6자리 코드(TOTP)는 등록 때 공유한 비밀 키와 현재 시각으로 서버와 앱이 같은 숫자를 각자 계산하는 방식이다. 패스키는 비밀을 공유하지 않는다: 기기가 사이트마다 키 쌍을 만들고 공개키만 서버에 주며, 로그인 때 서버의 챌린지에 개인키로 서명한다. 도메인에 묶여 있어 피싱에 강하다.
Backend › Web Basics
비밀번호 저장과 비밀번호 관리자서버는 비밀번호를 평문·암호문·단순 해시로 두지 않고, 사용자마다 다른 솔트를 섞어 Argon2id·bcrypt 같은 느린 해시로 저장한다. 비밀번호 관리자는 반대 방향의 문제를 푼다: 마스터 비밀번호에서 키를 유도해 금고를 기기에서 암호화하므로 서버는 내용을 볼 수 없다.
Backend › Web Basics
인코딩·암호화·해시·토큰화와 디지털 서명데이터를 바꾸는 네 가지 방법은 목적이 다르다. 인코딩은 형식 변환(키 없음, 보안 아님), 암호화는 키로 기밀성 확보(대칭·비대칭), 해시는 되돌릴 수 없는 지문, 토큰화는 원본을 금고에 두고 의미 없는 대체값을 쓰는 것이다. 해시와 개인키를 엮은 디지털 서명이 위변조와 서명자를 함께 증명한다. 용도별로 쓸 알고리즘(AEAD, HMAC, Argon2id, Ed25519, X25519·ML-KEM)과 nonce 재사용·변조·재전송·타이밍 같은 조합의 함정도 정리한다.
Computer Science › Engineer Information Processing
정보 시스템 보안보안 3요소와 위협 모델, 주요 공격 기법(사회공학·악성 코드·봇넷 포함)과 익스플로잇·취약점 생명주기, 버퍼 오버플로 방어, 포트 스캔, 안전한 프로그램의 원칙(심층 방어·격리), 대칭·비대칭·해시 암호와 키 길이·디피-헬만 원리, 고전 암호·인코딩 구별, 보안 프로토콜(TLS·IPSec), 접근 통제 모델(벨-라파듈라·비바)과 AAA 정리.
Computer Science › Network
SSH의 동작: 전송·인증·연결 계층SSH는 믿을 수 없는 네트워크 위에 암호화된 원격 접속 통로를 만든다. 전송 계층이 키 교환과 서버 호스트 키 확인으로 암호화 채널을 열고, 인증 계층이 공개키 등으로 사용자를 확인하며, 연결 계층이 그 하나의 통로를 셸·명령·포트 포워딩·파일 전송 채널로 나눠 쓴다.
Algorithm › Math
정수론 기초: 소수·최대공약수·합동식알고리즘 문제와 암호에 자주 나오는 정수론을 정리한다. 산술의 기본 정리와 나눗셈 정리, 유클리드 호제법과 베주 항등식(확장 유클리드), 에라토스테네스의 체로 소인수분해, 선형 합동식과 중국인의 나머지 정리, 오일러 피 함수와 페르마의 소정리, 약수 함수와 뫼비우스 함수, 선형 합동 생성기와 자릿수 묶음으로 큰 정수 더하기.