2023/04

메시지 다이제스트 메시지 다이제스트(message digest)는 데이터 덩어리(예: 메시지, 파일)의 고유한 고정 길이의 해시 값입니다. 이 값은 원본 데이터의 요약된 형태로, 원본 데이터의 변경 없이 동일한 메시지 다이제스트를 생성합니다. 메시지 다이제스트는 암호학에서 해시 함수를 사용하여 생성되며, 이러한 해시 함수는 보안 및 암호화와 관련된 다양한 애플리케이션에서 사용됩니다. 메시지 다이제스트의 몇 가지 주요 특징과 용도는 다음과 같습니다: 데이터 무결성 데이터를 변경하면 메시지 다이제스트도 변경되므로, 전송된 데이터의 무결성을 검증할 수 있습니다. 메시지 다이제스트를 사용하여 원본 데이터가 변경되지 않았는지 확인할 수 있습니다. 고유성 원본 데이터에 대해 생성된 메시지 다이제스트는 고유하며, 다..
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의 형태로) 나타내라. 풀이 일반적인 네트워크에서는 게이트웨이를 고려해야 ..
· DEV/Backend
PostGreSQL 모든 권한 부여하는 방법 먼저, PostgreSQL 쉘에 접속합니다. psql -U postgres -W -h localhost 데이터베이스를 생성합니다. CREATE DATABASE your_database_name; 새로운 사용자를 생성합니다. CREATE USER your_user_name WITH PASSWORD 'your_password'; 사용자에게 데이터베이스에 대한 모든 권한을 부여합니다. GRANT ALL PRIVILEGES ON DATABASE your_database_name TO your_user_name; 사용자에게 데이터베이스 생성 권한을 부여합니다. ALTER USER your_user_name CREATEDB; 이제 사용자는 모든 권한이 부여된 상태에서 데..
· ETC
M1 맥북에서 PostgreSQL 설치 M1 맥북에서 PostgreSQL을 설치하고, Node.js에서 TypeORM으로 구동하는 과정을 설명하겠다. Homebrew 설치 확인: 먼저, Homebrew가 설치되어 있는지 확인하려면 터미널에서 brew -v를 입력한다. Homebrew가 설치되어 있지 않다면, https://brew.sh/ 웹사이트에서 Homebrew를 설치한다. PostgreSQL 설치: 터미널에서 다음 명령어를 입력하여 PostgreSQL을 설치한다. brew install postgresql PostgreSQL 서비스 시작: 설치가 완료되면, PostgreSQL 서비스를 시작한다. brew services start postgresql Node.js 프로젝트 생성: 터미널에서 프로젝트..
메시지 인증 방법 메시지 인증이란 통신 양쪽으로 하여금 받은 메시지가 진짜임을 확인하도록 해주는 절차를 말한다. 인증에서 중요한 두가지는 무결성과 기밀성이다. 메시지 인증 : 메시지 내용이 변경되지 않았다는 것을 확인 근원지 인증 : 올바른 송신자 확인 관용 암호를 이용한 인증 관용 암호는 대칭 키 암호 기법의 하나이다. 대칭키 방식의 암호화라 생각하면 이해가 수월하다 송신자와 수신자가 동일한 키를 가지고 있다고 가정하자 해당 대칭키를 가지고, 메시지에 오류 감지 코드와 순서 번호,타임 스탬프를 포함시켜 수신자에게 전송한다 수신자는 메시지가 변경 되지 않았고, 순서가 달라지지 않았음을 알 수 있다. 또한 네트워크를 지나는 동안 소요 되는 시간 외에 고의적으로 지연 되지 않았음을 확인 할 수 있다. 시사점..
암호 블록 운용 모드 대칭 블록 암호에서는 한 번에 한 블록씩 처리한다. 블록 암호를 다양하게 사용하기 위해 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
berom
'2023/04 글 목록 (10 Page)