본문 바로가기

공부/암호학4

처음 배우는 암호학 ch4 블록암호 블록암호(Block Cipher) : 자료 블록을 처리하는 핵심 알고리즘과 운영 모드의 조합으로 구성되는 암호의 한 종류 즉, 일련의 자료 블록들을 처리하는 기법 자료 블록을 처리하는 핵심 알고리즘 - 암호화 알고리즘(E) : 키 K와 평문 블록 P -> 암호문 블록 C 산출 : C = E(K,P) - 복호화 알고리즘(D) : P = D(K,C) 보안 목표 '얼마나 무작위하게 보이는가?' 블록 암호가 안전하려면 반드시 의사무작위 치환(Pseudo random permutation, PRP) 에 해당해야함. : 키를 알지 못하는 공격자가 블록 암호의 출력을 계산할 수 없어야 함 P에 대한 E(K,P) 가 어떤 모습일지 단서 없고 그 어떤 패턴도 발견할 수 없어야 함. 블록 크기 블럭 암호 특정 짓는 두 개.. 2020. 8. 5.
처음 배우는 암호학 ch3 암호학적 보안 암호학에서의 보안과 컴퓨터에서의 보안은 다르다. 차이점은 암호학에서는 정량화(quantification)이 가능하다는 거다. 소프트웨어는 안전하다. 그렇지 않다로 끝나지만 암호학은 암호를 깨는데 필요한 노력의 양을 수치로 계산 할 수 있다. 목표는 푸는 것이 '불가능'한 문제를 엄밀하게 정의 하는 것이다. 여기서 불가능의 정의란 다음과 같다. 정보 보안성 : 이론적 -> 보안 정밀화 X (그냥 이론적으로 불가능, 영원히 못 깨는 거_ 계산 보안성 : 실질적 -> 실제로 암호 세기 측정 계산 보안성은 조건(시간, 자원, 메모리 등) 안에 못 깨면 안전하다고 간주 즉 '적당한' 시간 안에 깨는 것은 현실적으로 불가능하다는 점에서 계산 보안성을 갖추고 있음 t : 공격 연산 횟수 한계 \(\epsilon\) .. 2020. 7. 30.
처음 배우는 암호학 ch2 무작위성 무작위성(randomness)는 암복호화의 모든 곳에 등장 없으면 모든 연산이 예측이 가능하기 때문에 암복호화 자체가 불가능 무작위한 비트는 무작위한다는 것은 흔히 일어나는 착각임 무작위성 식별할 때 사람들이 흔히 저지르는 오류 다음과 같음. 비무작위성을 무작위성으로 오해 : 단지 무작위해 보인다고해서 무작위하게 생성되어있다고 생각하는 오류 무작위성을 비무작위성으로 오해 : 우연한 패턴을 보고 이유가 있을거라고 생각하는 오류 확률 분포 : 모든 가능성 나열 가능성이 모두 같으면 균등분포(uniform distribution) , 비균등분포는 편향됨(biased) 엔트로피 : 불확실성의 측도 엔트로피가 높으면 발견되는 확실성이 낮아집니다. 확률 분포의 엔트로피 계산 가능 확률 x 로그 곱들의 음의 합 -p.. 2020. 7. 29.
처음 배우는 암호학 ch1 암호화 평문 암호문 암호질의 복호질의 COA x o x x KPA o o x x CPA o o o x CCA o o o o 선택된 암호문을 공격하는 모형인 CCA 는 암호가 깨진 게 아니다. 중요한 건 비밀 키를 알아내는 것이다. 보안 목표 = 비구별성(indistinguishability, IND) 평문 p1,p2를 공격자가 암호질의를 수행해도 어떤 평문을 암호화한 것인지 구별할 수 없어야함 = 비가소성(non-malleability,NM) p1과 c1을 알때 p1과 연관이 있는 p2의 c2를 알 수 없어야한다. 반전(OTP는 알수 있음) 같은 키로 암호화한 평문을 XOR 연산을 통해 알 수 있다. 보안 개념 다음과 같은 형식으로 이루어진다. -IND-CPA : 선택된 평문에 대한 비구별성 -NM-CCA : .. 2020. 7. 29.