본문 바로가기

about Security/암호8

[현대암호기초] # # Random numbers 임의 번호  암호화 기반의 네트워크 보안 알고리즘에 대한 무작위 번호의 많은 사용: ∘공개키 알고리즘용 키 생성(예: RSA) ∘대칭 스트림 암호용 스트림 키 생성 ∘임시 세션 키로 사용하기 위한 대칭 키 생성(예: TLS, Wi-Fi, 이메일 보안, IPSec) ∘재생을 방지하기 위한 인증 프로토콜의 키 배포 시나리오(예: Kerberos) # 난수순서에 대한 요구사항  무작위성 ∘ 균일 분포: 1초와 0초의 발생 빈도가 거의 동일함 (한 문자에 치우치지 않는다.) ∘ 독립: 순서에 따라 이어지는 사람은 다른 사람으로부터 유추할 수 없다.  예측 불가능성 ∘ 이전 값에서 미래 값을 예측할 수 없어야 함 ∘ 많은 앱의 요구사항 : 통계적으로 무작위적이 아니라 예측불가 .. 2020. 11. 1.
[현대암호기초] 2020. 10. 30.
[현대암호기초] #05 block cipher / DES + AES 시험아 이제 제발 날 놓아줘ㅓ... # feistel (파이스텔 사이퍼) 구조 일반적인 암호 설계 원리로 대부분의 대칭키 암호 시스템에 적용됨 문장을 반으로 나눠 왼쪽과 오른쪽으로 분리한다. n_left : n round에서 right쪽을 round key로 암호화한 후 left쪽이랑 XOR연산해서 n+1 round의 right쪽에 전달 n_right: n+1 round의 left쪽으로 얌전히 전달 ♥ 안정성의 문제가 round Func 문제로 귀결 ♥ 특정한 round Func와 무관하게 복호화 가능하다. * : i번째 round에서 쓰는 서브키로 키-스케줄 알고리즘에 따라 K로부터 얻어짐 서브키 생성알고리즘이 복잡할수록, round Func 복잡할수록 보안성이 높아진다. block, key size .. 2020. 10. 29.
[현대암호기초] #04 블럭암호 block cipher(1) 블록암호 block cipher # 대칭키 암호방식 = 비밀키 암호방식 - 암복호화에 동일한 (하나의) 키를 사용하며, 이 키를 안전하게 전송, 보관해야 함 - 알고리즘과 암호문은 모두에게 주어짐, 알고리즘과 키로 암호문을 풀어서 평문을 알아냄 정보 교환 전에 “비밀리에” 키 분배 필요 & 과정 : 송신자가 평문을 암호화하여 수신자에게 보내면 수신자가 암호문을 복호화하여 평문을 얻는다. ♥ 암호화 속도가 빠르고, 키의 크기가 작다. # 대칭키 암호방식을 암호화 단위로 분류 스트림 vs. 블록 암호 ∘블록암호 : 한 번에 한 블록의 원소를 입력 처리하여 각 입력블록마다 출력블록을 생성 (block 단위로) ∘Stream 암호 : 입력 요소를 연속적으로 처리하여 한 번에 하나씩 출력 (들어오는대로)  스트.. 2020. 10. 28.
[현대암호기초] #03. 무작위성 무작위성: 무작위성이 없으면 모든 연산이 예측가능하므로 암복호화가 불가능하다. 무작위성에 대한 오류 비무작위성을 무작위성으로 오해 무작위성을 비무작위성으로 오해 + 클모고로프 복잡도 (Kolmogorov complexity) : (비트)문자열의 무작위성을 측정한 것으로 유한한 길이를 가진 데이터 열의 복잡성을 나타내는 지표 중 하나 + 확률분포와 무작위성 균등 분포 : 모든 결과의 발생 가능성이 같다. 비균등분포 : 결과의 발생 가능성이 모두 같지는 않은 분포 (많은 확률을 가진 case를 ‘편향되었다’고 한다.) + 엔트로피 : 불확실성, 시스템에 존재하는 무질서의 측도 - 엔트로피가 높을수록 결과들에서 발견되는 확실성이 낮아진다. 확률분포의 엔트로피 : (각 확률 X 그 확률의 이진 로그 곱)의 합의.. 2020. 10. 12.
[현대암호기초] #02. OTP + 공격모형 + 암호화 응용 # 일회용 패드 (OTP) one time pad OTP : 가장 안전한 암호 -완전 비밀성을 보장한다. 일회용 패드는 평문P와 무작위 키K를 받아서 암호문 C를 산출한다 이때 K는 평문과 같은 길이이며 P와 K를 XOR하여 C를 얻는다. 일화용 패드는 일화용이며 K를 단 한 번만 사용해야 한다 + OTP가 안전한 이유 어떤 암호문이 주어졌을 때 가능한 모든 평문의 경우 중 일부를 공격자가 배제하지 못하게 한다. ? (완벽한 비밀성을 달성하기 위해서는) OTP의 키가 메시지만큼 길어야 한다 -암호문을 안다고 해도 평문에 대하여 그 길이를 제외한 어떤 정보도 알아낼 수 없다. ? K를 모르는 공격자에게 C의 비트는 모두 무작위해 보인다 -> 만일 키K가 무작위하다면 산출된 C역시 공격자가 보기에 K만큼이나.. 2020. 10. 12.
[현대암호기초] #01. 암호화 + 고전암호 # 암호화 # 암호화 : 어떠한 자료를 이해할 수 없는 형태로 만들어서 그 자료의 기밀성(confidentiality)를 보장한다. 암호화를 위해서는 알고리즘과 비밀 값이 필요한데, 암호화 알고리즘 = 암호, Cipher 암호화에 쓰이는 비밀 값 = key -> 비밀키를 모르면 누구도 암호화된 메시지에서 어떤 정보를 알아낼 수 없다. 암호화되지 않은 메시지를 평문 (plain text), 암호화된 메시지를 암호문 (cipher text), 평문과 키를 암호화 함수에 입력하여 암호문을 만들고 암호문과 키를 복호화 함수에 입력하여 평문을 얻는다. ★ 암호문은 평문과 길이가 같거나 더 길다. 하지만 평문보다 짧은 길이의 암호문은 없다 # 고전 암호 # 고전암호: 컴퓨터가 쓰이기 전, 비트가 아닌 문자를 다루는.. 2020. 10. 11.
[현대암호기초] #00. 암호화 encryption 2020. 10. 11.