목록2023/09 (14)
HJW's IT Blog
**AES (Advanced Encryption Standard) AES 는 DES 를 대체하는 블럭암호로 상업적 용도로 개발 128 bit 블록 사이즈, 128 192, 256 bit key size Feistel 구조를 사용하지는 않지만 각 라운드는 4가지 암호화 과정으로 이루어진다 바이트 치환 변환 행이동 열혼합 라운드 키 더하기 AES는 8bit 기본단위연산으로 동작하며 덧셈, 곱셈, 나눗셈 연산을 유한체를 바탕으로 연산 Rijndael 알고리즘 개발자들은 더이상 약분할 수 없는 8차 다항식 30개를 선택하여 사용 **유한체의 집합 S의 수학적 연산 정의 다항식 연산에 쓰이는 차수가 modular 2 로 동작하며, XOR 연산과 같다 곱셈의 결과가 n - 1 차수보다 클 경우, 다항식은 m(x) ..
정수론의 기본 개념과 유한체 가분성과 호제법 (Divisibility & Division Algorithm) ========================================================== **가분성 a, b, m 이 정수이고, b 가 0 이 아닐때, 임의의 수 m 에 대해 a = mb가 성립한다면, b가 a를 나눈다 라고 한다. 즉 나눗셈 여산 후, 나머지가 0 이면 b가 a를 나눈다 라고함 b | a == b가 a를 나눈다 b | a 이면 b 는 a 의 약수 ========================================================== **나누어짐의 특성 만약 a | 1 이면 a = 1 a | b && b | a 라면, a = ±b a | b && ..
군, 환, 체 (Groups, Rings, Fields) 군 ( Groups ) 군 G 는 {G, •} 로 정의 내림 군의 성질 닫힘: 만약 a 와 b가 군 G 에 속할경우 a • b 도 군 G에 속한다 결합: G의 모든 a, b, c에 대해 a • (b • c) = (a • b) • c 항등원소: G의 모든 a 에 대해 a • e = e • a = a 가 존재 역원: G 의 모든 a 에 대해 a • a' = a' a = e와 같은 a' 가 존재 교환: a • b = b • a 가 성립 순환군 ( Cyclic Groups ) 라는항등원을정의 G 의 모든 원소가 G의 임의의 원소의 멱승연산 a ^ k 의 형태로 표현이 가능한 경우 G는 순환군 이때, 원소 a 를 G 의 generator 라고 한다 환( R..
WITH 문과 CASE 문 WITH : 특정 query 에서 만 사용할 테이블을 정의하게 해준다 Query: For each department that has more than 3 employees, retrieve the department number and the number of its employees who are making more than $40000 WITH BIGDEPTS(Dno) AS ( SELECT Dno FROM EMPLOYEE GROUP BY Dno HAVING COUNT(*) > 3) SELECT Dno, COUNT(*) FROM EMPLOYEE WHERE Salary > 40000 AND Dno IN BIGDEPTS GROUP BY Dno; Case 문: 조건을 부여해서 ..
블록암호와 DES 스트림 암호 한번에 1bit 혹은 1 byte 의 디지털 데이터 스트림을 암호화 키 스트림은 평문 비트 스트림 만큼의 길이를 가진다 (ki == pi) 블록 암호 평문 블록 전체를 가지고 같은 크기의 암호문 블록 생성 64 or 128 bit n bit - n bit 블록 치환 (n = 4) 인경우 4 비트 입력으로 16개 값중 하나 선택하고 내부 치환에 의해 16개 출력값 중 하나 치환과 순열이 번갈아 가며 수행 치환: plain text 의 각 원소 또는 원소 그룹을 다른 원소에 사상 순열: plain text 의 순서는 순열의 순서대로 재배치 Shannon "이상적인 암호는 암호문에 대한 모든 통계적 정보가 사용된 키와 독립적" 확산 평문의 통계적 구조가 암호문에 광범위하게 분산 ..
대칭 암호 모델 대칭 암호 방식의 구성요소 평문: Plaintext 암호 알고리즘: Encryption Algorithm 비밀 키: Secret Key 암호문: Ciphertext 복호 알고리즘: Decryption Algorithm !대칭암호.png 암호문 Y, 메시지 X, 암호키 K 일때 E: encryption algorithm ( Y = E(K,X) ) D: Decryption algorithm ( X = D(K,X) ) 암호 시스템의 특징 3가지 다음 영역에 의해 특징화가 될 수 있다 평문을 암호문으로 변환하는데 사용되는 동작 치환 (Substitution) 전치 (Transposition) 사용한 키의 수 Single : 대칭 키 / 비밀키 암호, 관용암호 Two : 비대칭 키 / 공개키 암호..
컴퓨터 보안에 대한 정의 정보 시스템 자원에 대한 {무결성, 가용성, 기밀성 유지와 같은 목적 달성을 위해 자동화 정보 시스템에 적용되는 보호} 컴퓨터 보안의 3가지 주요 목적 (CIA triad) 기밀성: 데이터: 개인적이거나 비밀스러운 정보를 권한이 없는 자에게 노출 되거나 소유 x 프라이버시: 어떤 정보가 수집 및 저장되는지, 누구에게 노출되는지 무결성 데이터 무결성: 정보 / 프로그램이 오직 인가된 방법에 의해서만 변경 시스템 무결성: 시스템에 대한 비인가 조작 없이 원하는 기능을 수행하도록 보장 가용성 시스템이 적절한 시점에 동작할 수 있도록 인가된 사용자 에게는 서비스가 잘 제공 되도록 CIA Triad 요구사항과 보안 손실 기밀성: 권한이 있는 경우 개인 프라이버시 및 정보에 대한 접근, 노..
#Comparisons Involving NULL & Three-Valued Logic > NULL : unknown value, not applicable attribute > Three-valued Logic > IS [NOT] NULL ex) Retrieve the names of all employees who do not have supervisors SELECT Fname, Lname FROM EMPLOYEE WHERE Super_ssn IS NULL > IN 연산 > 중첩 질의 (Nested Query) > PROJECT 테이블에서 Dnum 이 5 인요소들의 Pnumber 를 골라 해당하는 Pname 을 출력 SELECT Pname FROM PROJECT WHERE Plocation='Hus..
#블록암호 > 블럭암호는 평문 블록 전체를 가지고 동일한 길이의 암호문 블록을 생성하는 암/복호화 방식 > 많은 블럭암호가 Feistel 구조를 띈다 >> 동일한 라운드 수로 구성되어 동작 >> 각 라운드는 데이터의 절반이 치환, 이후 데이터의 두개의 반을 교환하는 순열 수행 > DES 는 최근까지 가장 널리 사용되는 암호 알고리즘 >Data Encryption Standard # 블록 암호의 원리 > 스트림 암호 - 한번에 1bit 혹은 1byte 의 디지털 데이터 스트림을 암호화 - 키 스트림 (ki) 혹은 평문 스트림(pi)만큼의 길이를 가짐 > 블록암호 - 평문 블록 전체를 가지고 같은 크기의 암호문 블록 생성 - 전형적으로 64bit or 128bit > Feistel 암호 구조의 동기 - 블럭..
# 치환 기법 > 치환기법과 전치는 모든 암호 기술의 기초 > 평문의 문자를 다른 문자, 숫자 혹은 심벌로 바꿈 (Caesar 암호) > Caesar 암호란? >> 안호화 및 복호화 알고리즘을 알고 있음 >> 가능한 키는 25개 >> 평문의 언어를 알고 있으며 쉽게 인식 가능 (전사적 키 해독 공격에 취약) > 단일문자 치환 암호 기법 >> 각 평문 문자를 임의의 문자로 치환하는 경우 (키의 수가 26일 때, 총 26!) > Playfair 암호 >> 다중문자 치환 암호 기법 >> 단일 문자가 아닌 다중 문자를 암호화 함으로서 안전도를 높임 >> 특정 키워드를 기반으로 5x5 matrix >> 보안 수준: 26 x 26 = 676 > if both letters fall in same row, repla..