728x90
반응형

분류 전체보기 1420

컴퓨터보안 : 일방향 해시함수

일방향 해시함수 무결성(integrity)는 보장하지만 기밀성을 보장받지 못함. 위장에 대해 보호받을 수 없음. 부인에 대해 보호받을 수 없음. 해시함수는 평문을 암호화하는 함수이다. 즉 A와 B가 같은 내용을 보냈고 같은 해시함수를 사용했다면 암호화된 텍스트도 같을 것이다. 그래서 무결성을 알 수 있다. 해시함수의 보안성을 높이는 방법 2가지 해시함수의 보안성을 높이는 방법으로 스트레칭이 있다. 스트레칭은 복잡한 연산을 반복 적용하는 것을 의미한다. 즉 암호화 해시 함수를 수천, 수만 번을 반복하는 것인데 이는 무작위 공격으로 비밀번호를 추측하는데 많은 시간을 걸리게 하는 방법이다. 반복횟수를 늘리기만 하는 것으로도 보안성을 높일 수 있다. 또한 해시 값에 솔트를 추가하느냐 아니냐에 따라 보안성이 크게..

MIPS Architecture & Operation, 구조와 연산 [컴퓨터구조]

MIPS의 구조를 보자 MIPS는 32비트의 레지스터를 가지고 있고 각 레지스터는 0-31 비트가 있다. 레지스터를 더 자세히 보자면 32-bit 레지스터를 레지스터 파일(Register File)이라고 한다. 2개의 read port와 1개의 write port가 있다. 1 clock에 2개를 읽고 1개를 쓸 수 있다는 것이다. 저기 그림과 같이 src1 data 와 src2 data를 동시에 읽을 수 있다. 32개의 레지스터 중에서 2개를 읽을 수 있으니까 32-bit짜리 데이터 2개를 읽을 수 있다. (읽을 레지스터는 src1 addr, src2 addr을 통해서 주소를 입력받아서 읽게 되어있다.) (주소는 5-bit) write는 쓰기 위한 데이터 (32-bit) 어떠한 주소에 쓰냐면 dst ad..

C언어 예제 16 "Boxes through a Tunnel"[HackerRank]

https://www.hackerrank.com/challenges/too-high-boxes/problem Boxes through a Tunnel | HackerRank Find the volume of short enough boxes. www.hackerrank.com 배경지식 구조체에 관한 지식이 있어야 한다. 구조체에 대한 글을 써야겠다.. 그래서 링크올려야지. 1. 하나의 요소가 3가지 변수를 가져야 하는구나. 2. 요소마다 배열을 하면 너무 귀찮은데?? 구조체를 이용해야겠다. 3. 구조체에서 멤버변수를 가져오면 되겠다. (항목 연산자, membership operator)를 이용하면 되겠다. 4. 이와 같이 여러개의 변수를 가져올 때는 구조체를 활용하면 좋고, 구조체를 포함하는 구조체도 만..

벤치마크, Benchmark [컴퓨터구조]

BenchMark 컴퓨터의 성능을 측정하기 위해서 Benchmarks 라는 것이 나오게 되었다. 그러나 기준이 필요했다. 표준기계가 있어서 그것으로 측정한다고 한다. CINT란 Floating 계산말고 INT로 성능을 시험했다는 뜻이라고 한다. Name 이라 써진 것이 프로그램들이다. 저기 SPEC ratio가 기준 컴퓨터보다 몇배가 뛰어난지 측정한 것이다. 그러나 산술 평균을 쓰지 않고 Geometirc Mean ,기하 평균을 썼다. 벤치마크 프로그램을 수행할 때는 원칙이 있는데 누가 돌려도 성능이 똑같이 측정이 되어야한다. 그래서 위와 같이 list everything 처럼 측정 환경을 같게 해주고 측정을 해야한다. 즉 변인을 잘 통제해야한다는 뜻이다.

ISA, Principle of Machine Design [컴퓨터구조]

Instruction : Language of the computer (ex MIPS) 인스트럭션이란 컴퓨터 언어라고 생각하면 되겠다. Instruction set: The vocabulary of commands that a computer understands 다시 말해서 컴퓨터의 종류가 다르다면 Instruction set 또한 다를 것이다. (대부분 같겠지만) 초기의 컴퓨터는 simple instruction set을 가지고 있었다. 물론 복잡한 형태로 CISC, Complex Instruction Set Computer 거치긴 했지만 RISC, Reduced Instruction Set Computer로 바뀌면서 다시 현대에는 simple로 되어가고 있다. 예를 들면 ARMv7: Similar ..

컴퓨터구조(3) Cloud TPU (2017Google I/O)

https://www.youtube.com/watch?v=UsDhVx6cOrw 참고하면 될 것이고 TPU 라는 것은 Tensor Processing Unit이라는 것인데 2017년 당시 GPU보다 30배정도 성능이 뛰어났고 전력비도 80배 가까이 좋았다. 구글에서는 유저가 늘어남에따라 규모가 커졌는데 오류율을 낮출 필요성을 느꼈다. 여기서 A.I와 M.L(인공지능과 머신러닝) 을 도입해야 겠다고 생각했고 엄청난 계산을 위한 TPU를 개발했다. 머신러닝은 2가지 요소로 볼 수 있는데 1. 훈련(Training) 2. 추론(Inference) 훈련은 집약적작업이며 방대한 계산을 요구하는 작업이고 추론은 실시간으로 이뤄져야하는 작업이다. 그래서 2017년 차세데 TPU인 cloud TPU를 발표했다. 이는 G..

C언어 예제 14 "Calculate the Nth term"[HackerRank]

https://www.hackerrank.com/challenges/recursion-in-c/problem Calculate the Nth term | HackerRank Use recursion to solve this challenge. www.hackerrank.com 배경지식 recursive라 함은 재귀를 말한다. 흔히 recursive function해가지고 자기 자신을 부르는 함수를 말한다. 재귀에 대한 글은 따로 써야겠다. 1. 재귀문을 써서 만들라고?? 초항이 몇개지? 2. 3개니까 1,2,3,으로 모든 항을 계산하는 거구나 3. s(7) = s(4) + s(5) + s(6) 이네 초항을 포함하지 않는 최초의 항은 7번째구나 4. 4번째랑 5번째 6번째에는 초항으로 계산이 되어서 종료가..

728x90
반응형