일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 개발/Java
- 개발/보안
- 카카오 테크 캠퍼스
- 개발/환경
- 개발/언어/Java
- ⌨️Developer/보안
- 개발/컴퓨터네트워크
- 개발/CS/OS
- 개발/네트워크
- 개발/OOP
- ai
- 개발/Tools/프레임워크/Spring
- 대외활동/카카오테크캠퍼스
- 카테캠
- 취업
- 개발/webrtc
- AI/ML
- 카카오테크캠퍼스
- 개발/MySQL
- AI/GPT
- 개발/CS/알고리즘
- 알고리즘
- 개발/언어론
- 개발/프레임워크&라이브러리
- 개발/Java/Spring
- ⌨️Developer
- 개발/Electron
- electron
- 개발
- 개발/에러
- Today
- Total
목록Computer Science (173)
봄수의 연구실
대칭 암호를 이용한 대칭키 분배 대칭 키 암호를 올바로 사용하려면 메시지를 주고 받는 양쪽이 반드시 동일한 키를 공유해야만 하고, 반드시 다른 사람은 그 키에 접근할 수 없도록 해야 한다. 키 분배 기술이란 다른 사람이 키를 보지 못하게 하면서 데이터를 교환하고자 하는 쌍방에게 전달하는 수단을 의미한다. 아래는 키 분배 기술의 예시이다. A가 키를 선택한 뒤 B에게 직접 전달 제3자가 키를 선택한 뒤에 A와 B에게 직접 전달 A와 B의 공유키로 한 사람이 새 키를 작성하고 공유키로 암호화하여 상대방에게 전송 A와 B가 제3자인 C와 암호화된 연결이 확립되어 있다면, C가 암호화된 링크를 통해서 A와 B에게 키를 전달 세션 키와 영구 키를 사용하는 방법 이 방법은 위의 키 분배 기술의 예시 중 4번을 따라..
원격 사용자 인증 원칙 사용자 인증이란 주장하는 신원이나 시스템 개체를 검증하는 과정이라고 정의되어 있다. 식별 단계 : 보안 시스템에서 식별자 제시 검증 단계 : 개체와 식별자를 묶어서 인증 할 수 있도록 인증 정보 제시 또는 생성 핵심은 사용자 인증은 주장된 내용을 검증하는 방식으로 이루어진다. NIST 전자 사용자 인증 모델 전자 사용자 인증이란 전자적으로 정보 시스템에 제시된 사용자 신원에 대해 신뢰를 확립하는 과정이다 시스템은 인증된 신원을 이용하여 인증된 개체가 특정 기능을 수행 할 수 있도록 허가할지 말지를 결정한다. 특정 기능 데이터베이스 트랜잭션 시스템 자원에 대한 접근 등등 SP 800-63-2 E-인증 구조 모델 해당 인증 모델에서는 다수의 개체와 프로시저들이 연관된 사용자 인증용 일..
디지털 서명 NIST에서 정의 한 것에 따르면, 데이터를 암호학적으로 변환한 결과로서 적절하게 구현할 경우 출처인증, 데이터 무결성, 서명인 부인 봉쇄를 검증하는 메커니즘에 사용된다. 디지털 서명은 데이터에 종속되는 비트 패턴으로, 파일, 메시지 또는 다른 유형의 데이터 블록을 입력 값으로 하는 함수 형태의 에이전트에 의해 생성 된다. 디지털 서명 생성과 검증 위의 그림은 일반적인 디지털 서명 생성 절차를 나타낸 그림이다. 디지털 서명은 메세지 출처와 무결성은 지켜주지만, 기밀성을 지켜주지는 못한다. 밥은 메시지 M을 해시 함수에 넣은 후, 디티절 서명 생성 알고리즘을 통해 짧은 블록을 만들어 메시지 M에 첨부한다 앨리스는 받은 비트 블록과 메시지 M을 동일하게 해시 함수-디지털 서명 생성 알고리즘에 넣..
Diffe-hillman 알고리즘 Diffie-Hellman 키 교환은 공개키 암호화 기법 중에서 대칭 키를 공유하기 위해 사용되는 방법입니다. 이 알고리즘의 목적은 두 사용자가 비밀 키를 안전하게 교환하는데 있다 알고리즘 자체는 키를 교환하는데 국한되어서 사용한다 핵심 Diffie-Hellman 키 교환의 핵심은 이산 로그 문제와 모듈러 산술 문제입니다. 이를 이용하여 Alice와 Bob은 비밀 수를 선택하고, 이를 통해 대 키(비밀키)를 생성합니다. 이 알고리즘은 인증 및 기밀성이 보장되지 않으므로, 보안 통신 시스템에서는 이를 보완하기 위해 추가적인 암호화 방법을 사용합니다. 예를 들어, SSL/TLS 프로토콜에서는 Diffie-Hellman 키 교환을 사용하면서, 서버 인증을 위해 디지털 인증서를..
형식 언어 (3) - 형식 문법 표현 방법 형식 언어(formal language)는 규칙적인 구조와 규칙에 따라 생성된 문자열의 집합입니다. 이러한 규칙은 문법(grammar)이라고도 하며, 형식 언어는 이러한 문법에 따라 생성된 문자열들의 집합으로 구성됩니다. 형식 문법은 크게 2 가지 방법으로 정의 할 수 있습니다. 생성 규칙 만을 가지고 표현하거나 G = Vn,Vt, P, S로 정의하는 것입니다 오늘의 규칙 대문자로 표기된 기호와 시작 기호를 나타내는 기호 S는 논터미널 기호입니다. 로 묶어서 나타낸 기호도 논터미널 기호입니다. 소문자 영문자, 연산자 기호, 구분자, 숫자 등은 터미널 기호입니다. 대문자 끝부분의 기호는 터미널과 논터미널 기호를 나타내는 문법 기호입니다. 소문자 영문자는 터미..
형식 언어 (2) - 언어 형식 언어(formal language)는 규칙적인 구조와 규칙에 따라 생성된 문자열의 집합입니다. 이러한 규칙은 문법(grammar)이라고도 하며, 형식 언어는 이러한 문법에 따라 생성된 문자열들의 집합으로 구성됩니다. 오늘 설명할 언어는 의미(Semantic)의 개념은 포함하지 않습니다 L은 언어를 뜻합니다 두 언어의 합집합 두 언어의 접속 L의 거듭 제곱 즉 거듭 제곱한 만큼 뽑는 경우의 수 문제입니다 클리니 클로저, 포지티브 클로저 유도 정의된 문법으로부터 어떤 언어가 생성되는지, 언어가 문법에 맞는지를 알기 위해 유도를 설명한다 α, β 등 그리스어 소문자는 문법 기호로 구성된 문자열을 나타냅니다. 한 번 이상의 유도는 *가 아니라 +로 위에 것을 바꿔야 합니다 유도라..
형식 언어 (1) 문자열 형식 언어(formal language)는 규칙적인 구조와 규칙에 따라 생성된 문자열의 집합입니다. 이러한 규칙은 문법(grammar)이라고도 하며, 형식 언어는 이러한 문법에 따라 생성된 문자열들의 집합으로 구성됩니다. 형식 언어는 컴퓨터 과학에서 중요한 개념으로, 프로그래밍 언어, 데이터베이스 쿼리 언어, 통신 프로토콜 등 다양한 분야에서 사용됩니다. 형식 언어는 종류에 따라 위의 4가지로 분류가 됩니다 형식 언어 정의 1. 알파벳 : 언어의 문장을 이루는 기본적인 기호 알파벳이란 공집합이 아닌 기호들의 유한 집합으로 시그마로 표시한다. 알파벳의 의미는 일반적인 프로그래밍 언어에서 사용하는 문자,기호의 집합이다 2. 문자열 : 알파벳에 대한 문자열은 알파벳에서 정의 된 기호들..
어휘 분석부터 구문 분석까지 실습 어휘 분석기의 소중함을 배워보자 어휘 분석기의 유무에 따라 어떻게 식을 인식해 가는지 과정을 봅시다 foo = (bar - 60) 어휘 분석기가 없는 구문 분석 간단한 C 언어 문법 (1) ::= (2) ::= = ; (3) ::= (4) ::= + | - | (5) ::= * | / | (6) ::= | | ( ) (7) ::= (8) ::= ( | _){ | | _} (9) ::= {} (10) ::= a |⋯| z (11) ::= 0 | 1 | ⋯| 9 어휘 분석 토큰 단위 분리 : foo | = | ( | bar | - | 60 | ) | 식별자 : foo, bar 연산자 : = , - 상수 : 60 구분자 : ( , ) , ; 구문 분석 구문 분석(Syntax ..
BNF (Backus-Naur Form) BNF (Backus-Naur Form)은 프로그래밍 언어의 문법 규칙을 표현하기 위한 메타언어입니다. BNF는 규칙을 생성하기 위한 표기법으로 LHS(left-hand side)와 RHS(right-hand side)로 구성되어 있습니다. LHS는 한 개의 논터미널(Non-terminal)로 구성된 문자열로 표현되며, BNF에서는 각괄호()를 사용하여 표현합니다. RHS는 터미널(Terminal)과 논터미널로 구성된 문자열로 표현되며, BNF에서는 각괄호를 사용하지 않고 표현합니다. 즉, 위 예시에서 ''와 ''가 LHS에 해당하며, ‘|’, ‘,’ 등으로 구분된 'id’와 ‘’, 그리고 ''와 ''가 RHS에 해당합니다. BNF 문법은 문법 전체를 형식적으로 ..
OSPF 알고리즘 Link-state 알고리즘은 OSPF(Open Shortest Path First) 라우팅 프로토콜에서 사용되는 알고리즘 중 하나입니다. 이 알고리즘은 OSPF 라우터가 연결된 모든 링크 정보를 수집하고 그래프 형태로 나타내며, 그래프를 사용하여 최단 경로를 계산합니다. OSPF는 대규모 네트워크에서 사용되며, 이런 환경에서는 라우팅 테이블을 구성하는 것이 굉장히 복잡하고 시간이 많이 걸립니다. 따라서 OSPF에서는 각 라우터가 이웃 라우터와 정보를 교환하며, 이 정보는 링크 상태, 대역폭, 지연 등의 정보를 포함합니다 결과적으로 라우터는 이 정보를 사용하여 자신의 최단 경로 테이블을 계산합니다. Link State 알고리즘 : OSPF 라우팅 프로토콜 OSPF(Open Shortes..