목록전체 글 (106)
개발스토리
순차 탐색(Sequential Search) 순차 탐색은 말 그대로 순차적으로 비교해가면서 찾는 것이다. data = {28, 40, 56, 63, 74, 87, 95}라는 배열이 있다. 74가 어디에 있는 지 알고 싶다. data[0]부터 값을 살펴봐서 74인지 아닌지 하나하나 확인하는 것이다. data[0], data[1] ... 탐색하다가 data[4] == 74이므로 여기서 탐색을 멈추게 되는 것이다. 복잡도(Time Complexity) 만약 data 배열에서 28을 탐색하면 1번만에 찾아낼 것이다. 40을 탐색하고자 한다면 2번만에 찾아낼 것이고, 56을 탐색하고자 한다면 3번만에 찾아낼 것이고, … 95를 탐색하고자 한다면 7번만에 찾아낼 것이다. 그럼 탐색하는게 걸리는 평균 연산 횟수는 (..

● Goal - 컴퓨터 용어를 습득 - protocol이 무엇인가? - network edge : host, access net, physical media - network core : packet/circuit switching , Internet structure - performance : loss , delay , throughput , security > network 성능을 체크하는 기준. ● What is the Internet 인터넷(Internet)이란 여러 통신망을 하나로 연결한다는 의미의 ‘인터 네트워크(inter-network)’라는 말에서 시작되었으며, 이제는 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 통신망을 의미합니다. 한 문장으로 정리하면 이렇게 됩니다. 아래는 부가..

페르마 정리(Fermat Theorem) • 만약 p가 소수라면 a는 p에 의해 나누어지지 않는 양의 정수이면, 다음이 성립한다 a^(p-1) ≡ 1 mod p test • a=7, p= 19, 7^18 ≡ x mod 19, x=? • 7^2 = 49 ≡ 11 mod 19 • 7^4 = 121 ≡ 7 mod 19 • 7^8 = 49 ≡ 11 mod 19 • 7^16 = 121 ≡ 7 mod 19 • a^(p-1) = 7^18 = 7^16 * 7^2 ≡ 7*11 ≡ 1 mod 19 페르마 정리의 다른 유용한 형태 • 만약 p가 소수이고 a가 양의 정수라 a^p ≡ a mod p가 성립한다. • 예) a=3, p=5, 3^5 = 243 ≡ 3 mod 5 • 예) a=10, p=5, 10^5 = 100000 ..

모듈러 연산 (mod) • 나머지연산 • a mod b : a를 b로 나눈 나머지 • 어떤 양의 정수 n과 a가 주어지고, 만약 a를 n으로 나눈다면 다음과 같은 관계를 가지는 몫 q와 나머지 r을 얻는다 -> a = qn + r ( 0

Block cipher • 긴 평문을 일정한 길이의 블록으로 나누어 블록단위로 암호화하는 방식 • SW 구현이 쉽다 • Round를 사용하여 반복적으로 암호화하므로 안전 • 대부분 Feistel cipher structure에 기반 • DES, AES, SEED, ARIA, Bluefish, Serpent 등 - block 단위로 암호화 후 block 단위로 복호화 한다. Feistel Cipher Structure란? • 대부분 Block cipher에 사용 • 입력 block을 반으로 나눈다 • 왼,오른쪽 바꿔가며 여러 round 수행 - 하나의 block을 두 개로 나누어 왼쪽 부분은 plain text left, 오른쪽 부분은 plain text right라고 보면 된다. - block ciphe..