Computer Science

SHA 안전 해시 함수 최근 가장 널리 사용되는 해시 함수는 SHA(안전 해시 알고리즘)이다. 본 글에서는 SHA 512를 기준으로 해시 함수를 설명 할 것이다. SHA 512는 무엇인가 입력 메시지 크기 : 최대 길이가 2^128 비트 이하인 메시지 출력 : 512 비트 해시 처리 단위 : 1024 비트 블록 해시 과정 : 메시지부터 다이제스트까지 생성 과정 패딩 비트 붙이기 메시지 패딩은 메시지의 길이가 블록 크기(여기서는 1024비트)의 배수가 아닐 때 추가되는 비트를 말합니다. 이 패딩 비트는 비트 1로 시작하고, 나머지는 0으로 채워져 있습니다. 길이(length) 붙이기 SHA 알고리즘의 길이 붙이기 단계에서는 메시지의 원래 길이를 128 비트 정수로 나타내어 메시지 끝에 붙입니다. 이 때, ..
단순 해시 함수 가장 간단한 형태의 해시 함수를 만드는 방법은 각 블록의 비트별 XOR을 하는 것입니다 단순 해시 함수 만드는 방법 단순 함수 생성 방정식은 위와 나온 것과 같다. 즉 각 비트를 미리 준비된 블록의 값에 XOR 함으로써 해시 함수를 생성하는 것이다. 각 비트의 자리별로 패리티를 계산함으로써 해시 함수를 생성하는 방법인데, 이를 세로 덧붙임 검사(vertical XOR)라고 한다. 이 방식은 메시지 블록을 32비트(4바이트) 단위로 분할하고, 각 단위별로 비트들을 XOR 연산하여 하나의 해시 값을 생성합니다. 이때, 메시지 블록의 크기가 해시 값의 크기보다 작을 경우에는 덧붙임 검사(padding)을 수행합니다. 이 과정에서 메시지 블록 마지막에 1비트를 추가하고, 남은 비트를 0으로 채워..
안전 해시 함수 일방향 해시 함수 혹은 안전 해시 함수는 메시지 인증과 디지털 서명에서 매우 중요한 함수이다. 안전 해시 함수는 암호학적으로 안전한 해시 함수로, 일방향성, 프리이미지 저항성, 충돌 저항성의 조건을 만족하고 보안성이 검증된 함수를 말합니다 해시 함수 요건 해시 함수의 목적은 파일 메시지 데이터 블록에 대한 fingerprint를 만드는 것이다. 메시지 인증에 사용하기 위해서 해시 함수 H는 다음과 같은 속성이 있어야 한다 H는 어떠한 크기의 데이터 블록에도 적용 될 수 있어야 한다. H는 일정한 길이의 출력을 생성해야 한다. H(x)는 어떤 x에 대해서도 계산이 쉬워야 하고, 하드웨어적이나 소프트웨어적으로 구현을 실제로 할 수 있어야 한다 일방향 성질(프리이미지 저항성) : H(x) = ..
서브넷 인터페이스 수와 프리픽스 계산하는 방법 네트워크 하향식 접근 4장 연습 문제 중 서브넷 인터페이스 수와 프리픽스를 계산하는 문제가 나옵니다 이해 대한 풀이와 함게 서브넷과 프리픽스 계산 방법을 다시 짚고 가겠습니다 본문의 문제 P8. 서브넷 1, 서브넷 2, 서브넷 3인 3개의 서브넷을 서로 연결하는 라우터를 생각해보자. 이 3개의 서브넷의 인터페이스 모두 프리픽스 22.31.17/24을 가져야 한다고 가정하자. 또한 서브넷 1은 62개 인터페이스를 지원하고, 서브넷 2는 106개의 인터페이스를 지원하고, 서브넷 3은 12개의 인터페이스를 지원한다고 가정하자. 이러한 조건에 만족시키는 3개의 네트워크 주소를(a.b.c.d/x의 형태로) 나타내라. 풀이 일반적인 네트워크에서는 게이트웨이를 고려해야 ..
메시지 인증 방법 메시지 인증이란 통신 양쪽으로 하여금 받은 메시지가 진짜임을 확인하도록 해주는 절차를 말한다. 인증에서 중요한 두가지는 무결성과 기밀성이다. 메시지 인증 : 메시지 내용이 변경되지 않았다는 것을 확인 근원지 인증 : 올바른 송신자 확인 관용 암호를 이용한 인증 관용 암호는 대칭 키 암호 기법의 하나이다. 대칭키 방식의 암호화라 생각하면 이해가 수월하다 송신자와 수신자가 동일한 키를 가지고 있다고 가정하자 해당 대칭키를 가지고, 메시지에 오류 감지 코드와 순서 번호,타임 스탬프를 포함시켜 수신자에게 전송한다 수신자는 메시지가 변경 되지 않았고, 순서가 달라지지 않았음을 알 수 있다. 또한 네트워크를 지나는 동안 소요 되는 시간 외에 고의적으로 지연 되지 않았음을 확인 할 수 있다. 시사점..
암호 블록 운용 모드 대칭 블록 암호에서는 한 번에 한 블록씩 처리한다. 블록 암호를 다양하게 사용하기 위해 NIST에서 5가지 운용 모드를 정의하였다 전자 코드북 모드(ECB) 이 모드에서는 평문을 고정된 크기의 블록으로 나누고, 각 블록을 암호화하여 암호문을 생성합니다. 암호화된 블록은 서로 독립적으로 처리되므로, 동일한 평문 블록이라도 암호문에서의 결과 값은 항상 동일합니다. 이러한 특성으로 인해, ECB 모드는 블록 단위의 패턴이나 구조를 쉽게 파악할 수 있어 보안성이 낮은 모드로 간주됩니다. ECB 모드는 각 블록이 독립적으로 처리되므로, 암호화된 블록의 순서를 바꾸어도 평문을 복원할 수 있습니다. 이러한 특성으로 인해, ECB 모드는 데이터 무결성을 보장하지 않습니다. ECB 모드에서 동일한 ..
RC4 암호 시스템은 바이트 단위로 작동하며, 다양한 크기의 키를 사용하는 스트림 암호란 무엇인가이다 암호화 알고리즘에는 랜덤 치환에 기초해서 만들어졌다 SSL/TLS, WEP, WPA 프로토콜에 상요 된다. RC4 알고리즘 상태 벡터 S 초기화 상태 벡터 S 초기화는 RC4 알고리즘에서 가장 먼저 수행되는 과정입니다. 상태 벡터 S는 0부터 255까지의 정수를 원소로 가지며, 각 원소는 8비트 숫자입니다. 초기화 과정은 다음과 같이 이루어집니다: 상태 벡터 S를 초기화합니다. 처음에는 S[i] = i (0
스트림 암호 스트림 암호는 입력 요소를 연속적으로 처리하여 지속적으로 한 번에 한 요소씩 배출한다. 비록 블록 암호가 훨씬 많이 사용되기는 하지만, 경우에 따라서는 스트림 암호가 더 적합하기도 하다. 스트림 암호 구조 일반적으로 스트림 암호를 설계할 때에는 한 번에 한 비트씩 처리하거나 한 바이트보다 큰 자료를 처리할 수 있도록 만든다. 전형적인 스트림 암호는 한 번에 평문 한 바이트씩 암호화한다. 이 구조에서 랜덤한 8비트 숫자의 스트림을 만들어내는 의사 난수 비트 생성기에 하나의 키를 입력으로 사용한다. 의사 난수 스트림은 입력되는 키를 알지 못하면 예측할 수 없는 스트림이며, 한 번에 한 바이트씩 평문 스트림과 비트별로 XOR 연산된다. 즉, 평문과 키 스트림을 XOR함으로써 암호화와 복호화가 가능..
난수 난수는 다양한 네트워크 보안 응용에서 암호화를 할 때 중요한 역할을 한다. 난수 생성에는 여러 방법이 있으며, 하드웨어 기반의 난수 생성기(TRNG)와 소프트웨어 기반의 난수 생성기(PRNG)가 있습니다. TRNG는 물리적인 노이즈를 기반으로 진정한 난수를 생성하는 반면, PRNG는 알고리즘을 사용하여 난수를 생성합니다. 이 때문에 PRNG는 초기 시드 값에 따라 생성되는 난수가 결정되므로, 완벽한 예측 불가능성을 가지지 못할 수도 있습니다. 하지만, 적절한 알고리즘과 시드 관리를 통해 안전한 난수 생성이 가능합니다. 난수의 역할 다수의 네트워크 보안 알고리즘에서는 난수를 사용한다. RSA는 무엇인가? 대칭 스트림 암호 키 생성 임시 세션 키 용도 대칭 키 생성 TLS, WiFi, 전자메일, IPs..
의사 난수 난수를 암호 응용 분야에서 생성 할 때는 보통 알고리즘 기법에 기초해서 생성한다. 이런 알고리즘은 입력 값을 알면 출력 값을 정확히 알 수 있고, 통계적으로는 무작위성을 갖지 못하는 수열을 생성한다. 하지만 생성된 수열이 여러 가지 무작위성 테스트를 무사히 통과 할 수 있는데 이런 수열을 보통 의사 난수라 표현한다. 진성 난수를 생성하는 방법으로는 보통 TRNG를 사용한다 의사 난수의 경우에는 PRNG를 사용한다 하드웨어적 난수 생성 방법(TRNG) - 진성 난수 생성 TRNG는 입력 값으로 실제 랜덤한 정보를 사용하는데 이 입력 값을 보통 엔트로피 소스라고 한다. 엔트로피 소스는 컴퓨터의 물리적 환경에서 얻을 수 있는 값으로 키 입력 타이밍 패턴, 디스크 전기 작용, 마우스 움직임, 시스템 ..
berom
'Computer Science' 카테고리의 글 목록 (15 Page)