본문 바로가기
반응형

분류 전체보기677

RSA 키 분배 알고리즘(Rivest-Shamir-Adleman method) 앞서 설명한 Diffie-Hellman과 같은 대칭키 방식을 토대로 더 강력한 알고리즘을 만들어 보겠다고 MIT의 Rivest, Shamir, Adleman 3명이 의기투합하여 만들었다. 3명의 이름을 따서 RSA법이라고 부른다. 디피-헬만법과 구분되는 점은 RSA에선 아예 암호화 키와 복호화 키가 다르다는 점이다. 큰 숫자를 소인수 분해하는 것이 어렵다는 것에 기반을 두고 디피-헬만법보다 훨씬 복잡한 공식을 사용한다. (디피-헬만법은 이산대수기반) 140자리 이상의 큰 소수의 곱과 추가적인 복잡한 연산을 통해 공개키와 개인키를 구성한다. 암호화/복호화 하는 데 있어서 대칭키보다 상대적으로 오랜 시간이 소요된다. 참고 - 가장 처음 나온 공개키기반 알고리즘 : 디피-헬만 - 디피 헬만과 같은 이산대수기반.. 2016. 10. 11.
디피-헬만 키 교환 알고리즘(Diffie-Hellman key exchange) 디피라는 사람과 헬만 이라는 사람이 공동 개발했다고 해서 디피-헬만법이다. 경우에 따라 디피-헬만 프로토콜이라고도 한다. - 비대칭키(공개키) 알고리즘에서 사용되는 키 교환 방식이다. - 상대방의 공개키와 나의 비밀키를 이용하여 비밀키를 생성한다. - A의 공개키와 B의 개인키를 DH연산하면 B의 비밀키가 되고 - B의 공개키와 A의 개인키를 DH연산하면 A의 비밀키가 된다. - 이산대수법에 의거한 수학적 공식에 의해 A의 비밀키와 B의 비밀키는 같아진다. - 송신자와 수신자는 이 비밀키를 사용하여 데이터를 암호화한 후 전달한다. 최초의 공개키 교환 알고리즘으로 IPSec, S-HTTP, SSL등 많은 프로토콜에서 기본적으로 사용하는 중요한 알고리즘이다. RSA또한 이 디피-헬만법에서 아이디어를 얻었다... 2016. 10. 11.
보안의 요건과 보안유지 기법 보안의 요건 기밀성(Confidentiality) : 시스템내의 정보와 자원은 인가된 사용자에게만 접근이 허용되며, 정보가 노출되더라도 읽을 수 없도록 함 무결성(Integrity) : 시스템 내의 정보는 오로지 인가된 사용자만 수정 할 수 있음 가용성(Availability) : 인가 받은 사용자에 데해서는 사용이 용이해야 함 인증(Authentication) : 시스템 내의 정보와 자원을 사용하려는 사용자가 인가된 사용자인지 확인하는 행위 부인 방지(Non Repudiation) : 시스템에 접근하고 데이터를 송•수신한 자가 그 사실을 숨기거나 부인할 수 없도록 증기를 기록•관리 보안유지 기법 외부 보안 시설 보안 : 천채지변이나 외부 침입로부터의 보안 운영 보안 : 전산소 관리 및 경영자들의 정책과.. 2016. 10. 10.
반가산기(Half-adder)와 전가산기(Full-adder) 반가산기란 두 개의 비트를 더하여 합(sum)과 올림자(carry)를 구하는 것이다. 머리 속으로 구현해 보자. 0+0=0 0+1=1 1+0=1 이까지만 보면 마치 OR연산자로 처리될 것 같지만 문제는 이거다. 1+1=0 두 비트가 모두 1일 때 결과는 10이 되어야 한다. 올림자(Carry)가 1이 되고 합(sum)은 0이 돼야 하는 것이다. 기초를 제대로 공부 했다면 아래와 같은 연산 결과를 가지는 연산자를 바로 알아챌 수 있을 것이다. 0 0 → 0 0 1 → 1 1 0 → 1 1 1 → 0 바로 XOR 이다. XOR이 있기 때문에 합(sum)은 의외로 간단하게 구현된다. 올림자(carry)는 더 쉽다. 위에서 보았듯이 둘다 1일 때만 1을 반환하면 된다. 그냥 AND연산자 하나면 쉽게 해결되는 것.. 2016. 10. 9.
인터럽트(Interrupt)의 개념과 종류 인터럽트는 컴퓨터 구조에서 CPU의 활동에 많은 영향을 끼치는 중요한 개념이다. 어느 전산 시험, 어느 회차에서도 관련 문제가 꼭 등장하므로 인터럽트에 대해서만 확실히 이해하고 가도 몇 문제는 더 풀 수 있을 정도이다. 인터럽트란 사전적 의미로는 '끼어들다', '중단시키다' 정도의 의미를 가진 말로 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행중인 작업을 중단하고 발생된 상황을 처리한 후 다시 실행중인 작업으로 복귀하는 것을 말한다. 인터럽트의 종류인터럽트의 종류는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 나뉠 수 있다. 외부 인터럽트전원 이상 인터럽트(Power fail interrupt) : 말그대로 정전, 파워 이상 등기계 착오 인터럽트(Machine check .. 2016. 10. 9.
명령어의 형식과 주소 지정방식 CPU구조는 기준에 따라 다양하게 분류될 수 있지만 명령어 처리방식을 기준으로 나누면 '단일누산기구조', '범용레지스터구조', '스택구조' 로 나눌 수 있다. 이런 분류는 명령어의 형태에 따라 나뉜다. CPU에게 있어서 명령어란 마이크로 오퍼레이션에 의해 수행되는 하나의 명령을 말한다. 명령어는 아래와 같이 4가지 형식으로 나뉜다. 명령어의 형식(구조) 1) 0-주소 구조 연산코드(Operation code)부 명령어는 보통 연산코드(OP-code)부와 자료(Operand)부(주소부라고도 한다)로 나뉘나 0-명령어 형식에선 자료가 없고 오로지 연산코드 밖에 없다. 이런 명령어는 스택구조에서 사용된다. 우리가 알고 있는 후위식으로 된 연산대상을 하나씩 Push, Pop해가며 연산이 이루어지는 것이다. 스택.. 2016. 10. 8.
마이크로 오퍼레이션 사이클 타임(Micro operation cycle time) 마이크로 사이클 타임과 CPU클럭 주기의 관계에 따라 3가지로 구분 된다. 1. 동기 고정식(Synchronous Fixed)CPU clock 주기를 Micro cycle time과 같도록 맞춘다. 실제 Micro operation의 수행 시간은 다르므로 CPU clock과 같도록 맞추려면 Micro operation 중 가장 수행시간이 긴 것과 맞춰야 한다.예를 들어 여러 Micro operation의 수행시간이 1, 5, 2, 4, 6, 3 등으로 서로 다르다면 Cycle time은 6으로 맞추어야 한다. 최소값이 1이나 평균값인 3정도로 맞춘다면 수행시간이 6인 Micro operation은 수행될 수 없기 때문이다. 보다 시피 구현은 무척이나 간단하다. 그리고 Micro operation의 수행시.. 2016. 10. 8.
프로세스(Process)와 프로세스 제어 블록(PCB) Process : 실행되고 있는 프로그램(주 기억장치에 올라가 있는 프로그램) Process in memory Stack : Call stack, Local variables in function Heap : 포인터를 위한 메모리 저장공간 (Heap과 Stack은 동적으로 크기가 변하기 때문에 메모리 상에서 멀리 떨어져 있다.) Data : 전역 변수(바뀌지 않는 값) Code : 프로그램 코드 PCB(Process control block : 프로세스 제어 블록) structure that contain information associated with each process- 프로세스가 생성될때 만들어진다.- 모든 프로세스는 고유한 PCB를 갖는다. 프로세스의 현재 상태(Process state, r.. 2016. 10. 3.
IEEE 802의 주요 표준 규격 802.1 : 전체의 구성, OSI 참조 모델과의 관계, 표준 규약 등 802.2 : LLC에 관한 규약 802.3 : CSMA/CD에 관한 규약 802.4 : 토큰 버스에 관한 규약 802.5 : 토큰 링에 관한 규약 802.6 : 도시형 통신망(MAN)에 관한 규약 802.11 : 무선 LAN(Wifi등)에 관한 규약 802.15 : 블루투스에 관한 규약 2016. 10. 2.
전위 순회(Preorder), 후위 순회(Postorder), 중위 순회(Inorder) A B C 위와 같을때 전위 순회(Preorder)Root - Left - Right위 앞 뒤 (A - B - C) 중위 순회(Inorder)Left - Root - Right앞 위 뒤 (B - A - C) 후위 순회(Postorder)Left - Right - Root앞 뒤 위 (B - C - A) 전위와 중위가 헷갈릴 수 있다. 후위는 명확하다.중위가 왼쪽에서 오른쪽으로 순서대로 가는 것이라고 위우자.중위가 Left - Root - Right이다.중위가 중간(Root)이 중간(순서상의 중간)에 있다. 2016. 10. 1.
소프트웨어 재공학(Reengeneering) 재공학은 기존 프로그램의 개선이나 유지보수의 관점에서 작게 볼 수도 있으나 실제로 그보다 큰 규모의 구조적 재설계를 의미하는 경우가 많다. 어찌보면 미묘한 차이일수도 있지만 굳이 구분을 해 보자면 아래와 같다. 오류 투성이의 프로그램을 쓰면서 새로운 기능이 좀 필요하면 추가도 하고 틈틈이 시간이 나면 오류를 수정해 나간다. 이는 유지보수이다.도서히 안되겠다 싶어 프로그램을 갖다 버리고 새로 도입하려다 보니 금전적으로 부담이 되기도 하고 새롭게 개발된 프로그램이 사용성이나 안정성 면에서 더 나을거란 보장이 없다. 그래서 지금 있는 프로그램을 뒤집어 엎어서 구조적인 부분부터 다시 점검해서 오류가 없도록 전면적인 수정을 한 뒤 리뉴얼을 하여 다시 오픈했다. 이는 재공학이다. 물론 재공학은 유지보수의 범주에 포.. 2016. 9. 19.
소프트웨어 재사용(Reuse) 재사용이라고 하면 단순히 예전에 만들어 놨던 것을 다시 또 사용한다는 단순한 느낌이지만, 실제로는 표준화된 솔루션, 라이브러리, 오픈소스 등이 모두 재사용의 범주에 들어간다고 할 수 있다. 개요 : 이미 개발되어 인정받은 소프트웨어의 전체 혹은 일부분을 다른 소프트웨어 개발이나 유지보수에 사용하는 것재사용 요소 : 전체 프로그램, 부분 코드, 응용된 지식, 데이터 모형, 구조, 테스트 계획, 문서화 방법 등 즉, 웹페이지 레이아웃을 비슷하게 구현했다면, 다른 개발건에서 나왔던 메뉴얼이 양식을 그대로 차용했다면 이 또한 재사용이다. 정말 포괄적인 범위의 재사용을 말하는 것이다. 재사용의 이점 - 개발 시간과 비용을 단축시킨다. - 소프트웨어 품질을 향상시킨다. - 프로젝트 실패의 위험을 감소시킨다. - 시.. 2016. 9. 19.
소프트웨어 검사(Test) 전략 순서는 다음과 같다 1. 단위(코드) 검사 - 코딩이 이루어 진 후 모듈 단위로 테스트 - 주로 화이트박스 테스트 2. 통합(설계) 검사 - 단위 검사가 완료된 모듈들을 결합하는 과정에서 수행하는 테스트 - 모듈간의 인터페이스와 연관된 오류를 찾는다. - 하향식 통합 검사 : 상위 모듈에서 하위 모듈 방향으로 통합하여 테스트 한다. Stub가 필요하다. - 상향식 통합 검사 : 하위 모듈에서 올라가며 테스트한다. Stub가 필요 없다. * Stub는 모듈을 대체하는 더미용 출력값, 또는 임시 모듈을 의미한다. * A와 B가 결합된 C모듈이 있을때 하향식 검사는 A와 B에서 옳은 값이 들어온다는 가정 하에 C가 잘 동작 하는 것인지 보는 것이므로, A와 B로부터 와야할 값을 임의로 설정해 두는 것이다. *.. 2016. 9. 18.
소프트웨어 품질관리 활동 품질 관리 = 품질 통제 + 품질 보증 품질이란? 설계 품질 : 얼마나 잘 설계했는가 일치 품질 : 얼마나 설계한대로 잘 만들었는가 품질 통제 : 소프트웨어 개발, 운영, 유지보수 과정에서 품질을 유지하기 위해 조직 내에서 행해지는 품질관리 품질 보증 : 소프트웨어의 신뢰성을 보장해주기 위해 제 3자의 입장에서 수행하는 품질관리 2016. 9. 18.
현재 기준으로 등록 가능한 3글자 kr도메인 afb.krafd.krahb.krahf.krajf.krajd.krajb.krakf.krapf.kraqb.kraqd.kraqf.kraqe.krard.krauf.kravb.kravd.kravf.krawb.krawf.kraxb.kraxd.krayb.kraxf.krayf.krazb.krazc.krazd.krbaf.krazf.krbfe.krbhf.krblf.krbpd.krbqa.krbqf.krbqe.krbqd.krbua.krbue.krbva.krbve.krbvf.krbxa.krbxe.krbxf.krbza.krbzd.krbze.krbzf.krcpe.krcud.krcuf.krcva.krcwe.krcxe.krcyf.krczd.krcza.krczb.krcze.krczf.krdfb.krdfe.krdka.krdpf.krdq.. 2016. 8. 19.
부동산 재테크 시작! 시세차익인가 수익형인가? 부동산으로 재테크를 한다고 하면 보통 시세차익형과 수익형으로 구분하는 경우가 많다. 다들 알겠지만 시세차익형 부동산은 사 놓은 것 자체로는 돈이 안 되지만(오히려 돈이 들지만) 시세가 오른 뒤 되팔 때 한 번에 수익을 취하는 것이고, 수익형은 나중에 시세가 오를건 기대할 수 없지만(오히려 떨어질 위험도 있지만) 가지고 있는 것 자체로 임대수익이 생기는 것을 말한다. 1. 시세차익형이나 수익형이나 드는 돈은 비슷하다.2. 시세차익형을 선택할지 수익형을 선택할지는 입지에 따라 다르다. 결국 '지금은 수익형이 대세' '지금은 시세 차익을 노릴 때' 같은 건 집어 치우고 지금 살고 있는 곳 주변의 입지를 살펴서 선택을 해야 한다. 물론 시간과 돈이 많다면 굳이 지금 살고 있는 곳 주변이 아니더라도 다른 지역까지.. 2016. 8. 15.
개발계와 운영계를 구분하여 안전하게 개발하기 작은 규모의 서비스는 운영 WAS를 직접 건들여 가며 작업을 할 수도 있다. 또는 로컬에서 테스트 하다가 새벽에 살짝 업데이트 할 수도 있다. 현재 접속된 세션만 소실될 뿐 큰 리스크는 없기 때문이다. 하지만 실시간 이용자가 어느 정도 많아지고 규모가 커지면 더 이상 그렇게 무모한 운영은 불가능하다. 이럴 땐 주로 개발계, 운영계를 구분하여 개발계에서 개발/테스트 후 형상관리를 통해 운영계에 배포하는 이중 작업이 필요하다. 이를 도와주는 관련 솔루션도 많지만 우선은 정말 간단히 구별할 수 있는 이론적인 방법을 살펴보자. 우선 작업 폴더를 ctrl+c, ctrl+v하여 복사한다. 특정한 위치에 sysdef.php(아무 이름이나 가능하다. php가 아니라면 sysdef.js, sysdef.java등)라는 파.. 2016. 7. 28.
퍼시픽림(2013) 딱 영화 홍보문구에서 말한대로 만족시켜 준다. 영화 사상 가장 큰 규모의 괴수와 로보트들이 지지고 볶고 싸우는 영화이니, 괴수영화나 로봇 영화 좋아 하는 사람들은 만족감을 느낄 수 있겠다. 괴수의 이름이 일본어라는 점, 일본인이 주인공 중 한명이라는 점, 에반게리온(일본 애니메이션)이나 트랜스포머(일본 원작)을 떠올리게 하는 플롯, 영화의 전반적인 분위기가 마치 일본 작품을 원작으로 하고 있는 듯한 착각을 불러 일으키나 의외로 원작이 따로 없는 그냥 토종 헐리우드 영화다. 그렇지만 일본 문화에 대한 오마주가 다분히 느껴지므로 일본에 대해 거부감이 있는 사람들은 불편해질 만 하다.영화는 흥행 성적만큼이나 무난 그 자체이다. 괴수와 로봇의 크기만큼은 압도적이지만 기본 설정이나 내용은 어느 하나 새롭고 특별한.. 2016. 5. 15.
반응형