쿼리 연습

전공 공부/학교 수업 2009.03.30 11:16


select dno,title from employee where empname ='김창섭';
select deptname,title from employee,department where empname ='김창섭' and department.deptno=employee.dno;
select empname,deptname,salary from employee,department where title='과장' and department.deptno=employee.dno;
select title,empname from employee,department where deptname='영업' and department.deptno = employee.dno;
select deptname,floor from employee,department where empname='이수민' and department.deptno=employee.dno;
select empname,deptname from employee,department where department.deptno=employee.dno;
select empname,title,salary
from employee
where salary<=3000000 and salary>=2500000;
select deptname,title,salary
from employee,department
where department.deptno=employee.dno
order by deptname,salary desc

select empname
from employee e,department d
where deptname='영업' and d.deptno=e.dno

select empname
from employee
where dno=(
select deptno
from department
where deptname='영업')

select empname
from employee
where dno=(
select deptno
from department
where deptname='기획');

select empname,title
from employee
where title=(
select title
from employee
where empname='박영권')

select empname
from employee,department
where deptname='기획' and department.deptno=employee.dno;

select empname,title
from department,employee
where empname='박영권' and department.deptno=employee.dno;

select empname
from department,employee
where deptname='영업' or deptname='개발' and department.deptno=employee.dno;

select empname
from employee
where dno in (
select deptno
from department
where deptname='영업' or deptname='개발'
);

네트워크

전공 공부/학교 수업 2009.03.15 00:26


 차후 컴퓨터 전반적인 과정을 요약하자면,


1.운영체제는 microsoft.linux.unix 에 관한 철저히 마스터 하셔야

좋은 결과를 만드실수 있습니다. - LPIC.MCSE.SCSA.SCNA.

2.프로그램 c,c++,java는 당연히 아셔야 되는 내용이겠습니다. - SCJP. SCJD

3.네트워크 - CCNA.CCNP

4.DB 관리에 필요한 MS-SQL.MY-SQL.UNIX-DBM(ORACLE).업그레이드 하시기 바랍니다. - OCP9i

5.그이후에 해킹과 더불어 SECURITY+보안공부를 하시는게 순서입니다. - SIS.CISA



안녕하세요.

 

IT교육센터 교육팀장 입니다.

 

네트워크 관리자에 대해서 전반적인 설명 드리겠습니다.

 

일단 네트워크 장비인 라우팅과 스위칭을 해야 합니다.

 

현재 가장 잘 알려져있는 네트워크자격증 시스코 시스템즈 사의 CCNA, CCNP, CCIE 자격증입니다.

 

CCNA는 시스코 시스템즈의 네트워크관련 초급에 해당되는 자격증입니다.

 

물론 국내의 네트워크 관리사 자격증이 있긴하지만 취업이나 실무에 도움이되는 영향력은 CCNA가 크죠 ^^

 

일단 시스코 네트워크 장비부터 공부하시고요.

 

네트워크 관리자라고 해서 네트워크장비만 다루는건 아닌걸 알고 계실꺼에요

 

윈도우, 리눅스, 유닉스, 그리고 보안 을 체계적으로 공부하시는게 좋을듯하고

 

취업을 한상태에서도 꾸준히 자신의 발전을 위해 여러 지식을 습득하는 노력이 필요하겠습니다


 

 

보통 보안전문가에게 필요로 하는 능력은 크게 5가지 기술력입니다.

 

첫 째, 프로그래밍에 대한 지식이 있으셔야 합니다.


프로그래밍은 정보보안전문가를 막론하고 IT 분야에 있어 가장 필수되는 지식입니다.


컴퓨터와 장비를 다루는데 있어, 기본되는 커뮤니케이션의 언어이고 서버관리,


네트워크관리, DB관리등에 있어서 프로그래밍언어에 대한 확실한 이해가 없이는


제대로 된 관리가 이루어지지 않습니다. 프로그래밍언어는 필수교육과정이므로


C언어와 JAVA 를 꾸준히 준비하셔야 합니다.


취득 가능한 자격증으로는 정보처리 산업기사/기사, SCJP 등이 있습니다.

 

 

둘 째, 시스템 운영체제에 대해서 알고 계셔야 합니다.


각 서버의 규모나 운영방향등에 맞추어 MS, UNIX, LINUX, SOLARIS 등 필요로 하는 서버내 운영체제가


틀려지게 되는데, 프로그래밍언어와 발 맞추어 컴퓨터 및 시스템과 대화하기 위한 프로그램이


운영체제 이므로, 확실한 이해와 응용할 수 있는 능력을 갖추고 있어야 합니다.


그 후에 각 운영체제의 네트워크와 유지보수 등이 가능합니다.


공부를 하실때에는 자격증 보다는 실무위주과정으로 공부를 진행하게 되실겁니다.


시스템 역시 3가지 정도로 나눠지게 됩니다.


MS / 리눅스 / 솔라리스 이렇게 나눠지네요


취득 가능한 자격증으론 MS사의 Windows(MCP, MCSE) LINUX(LPIC, RHCE) SOLARIS(SCNA, SCSA) 정도가 있겠네요 ^^

 

 

셋 째, 데이타 베이스 = 오라클,MY SQL,MS SQL 에 대해서 공부를 하셔야 합니다.

 

오라클의 경우 데이터베이스 분야에서 공식집계만

 

국내 시장의 50% 이상을 잠식하고 있습니다(비공식은 더 많을 것으로 예상)

 

오라클은 리눅스, 윈도우, 유닉스 어디에서든 작동한다는 장점을 가지고 있습니다

 

오라클(ORACLE) 은 현재 데이터베이스 시장 점유율 1위의 관계형 DBMS로서,

 

클라이언트/서버 데이터베이스솔루션을 제공 하는 미국 오라클 주식회사의

 

데이터베이스 관리시스템의 상품명 및 회사를 지칭하는말입니다.

 

오라클 데이터베이스는 현재 가장 많은 사용자가 사용하고 있고,

 

가장 높은 시장 점유율과 가장 높은신뢰성을 지닌

 

데이터베이스 관리 시스템이기도 합니다 ^^

 

MS SQL은 MS서버군에서만 작동 한다는 단점이 있으며

 

MY SQL은 무료이고 속도가 빠르다는 장점이 있지만사후 서비스와 보장성이 약해

 

기업용으로 사용하기에는 무리가 있습니다

 

그래서 많은 기업에서 오라클의 사용이 늘어나며이에따라서 많은 분들이 오라클의 국제 자격증인

 

OCP9i 또는 10g를 취득하고자 노력하는 추세입니다

 

취득 자격증 : OCA , OCP , OCM

 

 


넷 째 , 네트워크에 대해서 공부를 하셔야 합니다.

 

네크워크에서는 개념과, 프로토콜, 용어, 장비의 기능 및 운용능력등 네트워크에 관한

 

모든 점을 잡고 계셔야 합니다.

 

정보보안이라는 것은 네트워크라는 틀 위에서 진행 되는 것이므로 네트워크에

 

대한것은 모르는 것이 없어야만 한다고 생각합니다.

 

네트워크는 의외로 공부자체는 간단하게 하실수가 있습니다.

 

네트워크 자격증은 대부분 시스코나 노텔과 같은 외국 네트워크 장비업체들이 주도해 만들고 있는데,

 

세계적으로 볼 때 시스코 자격증이 가장 인기가 높습니다.

 

국내에서도 시스코사의 네트워크 장비를 주로 쓰고 있는데,

 

한 통계에 의하면 국내 네트워크 장비 시장의 80% 이상을 시스코가 장악하고 있다고 합니다.

 

CCNA / CCNP가 인기가 있는 이유는 바로 이러한 시스코의 시장 지배력 때문입니다.

 

그렇기 때문에 네트워크에 대한 기본 공부를 하실때에는 간단히 CCNA 와 CCNP를 목표로

 

공부를 하시면 되겠네요

 

취득 가능한 자격증으론 CCNA, CCNP, CCIE 가 있습니다 ^^

 

 

마지막으로 보안&해킹쪽으로 공부를 하시면 되는데요

 

해킹에도 종류가 많은건 알고계시죠? 시스템 해킹 , 네트워크해킹 , 어플리케이션 해킹등

 

많은 종류의 해킹이 존재하는데요 ~ 이런 해킹에 대해서 본격적으로 공부를 하실려면

 

제가 앞서서 말씀드린 프로그래밍과 , 시스템OS ,네트워크에 대한 기본지식이 탄탄하게

 

뒷받침 되어야 합니다 ^^

기업에서 요구하는 기본적인 자격요건

 

▒ 네트워크엔지니어 ▒

 

▶네트워크컨설팅◀

- 기업 IT 전략 수립 및 분석 컨설팅 , (CI/CRM/ERP 기법, 투자효과 분석, IT 전략 수립 및 분석, 마스터 플랜 수립)

 

- Network 설계 및 구축 컨설팅 (시뮬레이션, BMT, Design, 장비 Implementation)

 

▶네트워크구축 및 운영◀

- 국내/해외 IP망(MPLS, VPN), 전송망(DWDM, MSPP), Voice, VoIP등 Network 서비스 운영 , 구축 설계 및 기술지원 경험자

 

▒ 시스템엔지니어 ▒

 

▶시스템 구축 및 운영◀

- IT시스템 설계 구축 및 프로젝트 관리 경험자

- Window 2000/Window NT, Unix/Linux 장비운영 Install ,Device 관리 X-Window,

  Sendmail, Clustering, 튜닝 시스템 프로그래밍 ,  시스템 설계

 

▶Database 관리(DBMS, LDAP)◀

-Install ,분산DB 구성, Standby 구성, Backup &Recovery, DB 도메인 관TroubleShooting 및 튜닝 경험자












▶네트워크시스템 분석가 및 개발자◀(네트워크 전문가)

 


 <<업무 내용>>

 

네트워크시스템분석가 및 개발자는 LAN(local area network : 구내정보통신망), WAN(wide area network : 광

 

역통신망), 인터넷, 인트라넷 등과 같은 네트워크시스템을 기획·설계·개발하고 시험하는 업무를 한다.

 
네트워크시스템 구축을 의뢰한 고객(기업)의 업무에 필요한 최적의 네트워크 환경을 만들기 위해 우선 고객의 요

 

구사항과 업무특성을 분석한다. 그리고 관리·운영의 안정성과 편리성, 확장성, 경제성 등을 고려하여 네트워크시

 

스템을 설계한다. 설계 시에는 고객이 보유하고 있는 통신장비, PC, 서버를 비롯해 데이터베이스, 소프트웨어 등

 

을 파악하여 최적의 속도와 안정성을 가진 네트워크시스템을 구현할 수 있도록 한다. 네트워크시스템 구축에 적

 

합한 네트워크 장비와 관련 소프트웨어를 생산업체에 주문한다. 발주한 장비가 들어오면 시스템 장비와 소프트웨

 

어를 설치하고 테스트를 거쳐 성능에 이상이 없는지 점검하여 최적의 설정을 한다. 네트워크를 통한 보안상 문제

 

가 발생하지 않도록 대책을 수립하며 오류가 발생하면 이를 즉시 해결한다. 그리고 네트워크시스템을 최적의 상

 

태로 유지하기 위한 모니터링 방법을 개발한다. 시스템운영관리자에 대한 교육도 네트워크시스템분석가 및 개발

 

자의 역할이다.
 

 

 <<근무 환경>>

 

네트워크시스템 개발 마감 일자에 맞추기 위해 초과근무를 하기도 한다. 최적의 시스템을 오류 없이 구현해야 한

 

다는 부담감과 오류발생 시 문제해결 과정에서 스트레스를 받기도 한다.

 


 <<교육및훈련>>

 

4년제 대학교 이상에서 컴퓨터공학, 전자공학, 통신공학 등을 전공하는 것이 취업에 유리하다. 그러나 종사자 가

 

운데는 비전공자도 많다. 네트워크 분석 및 개발 업무를 맡기 위해서는 네트워크, 하드웨어, 소프트웨어, 프로그

 

래밍, 프로토콜 등에 대한 충분한 이해가 필요하기 때문에 관련 분야에서 몇 년간의 경험과 훈련을 거친 후에 진

 

출하는 경우가 대부분이다.

 
 
 <<관련 학과>>

 

전문대학 및 대학교의 컴퓨터공학과, 전자공학과, 통신공학과 등이 있다.

 


 <<관련 자격 및 면허>>

 

국가기술자격으로는 한국산업인력공단에서 시행하는 정보관리기술사, 정보처리기사(산업기사), 전자계산조직응

 

용기술사, 전자계산기조직응용기사 등이 있다. 민간자격으로는 정보통신컴퓨터자격관리협회의 Network Master

 

가 있다. 국제자격으로는 마이크로소프트사의 MCSE, 시스코사의 CCIE, CCNA, CCNP, CCDP, CCDA, 썬마이크

 

로시스템즈사의 SCNA, 노벨사의 CNE 등이 있다.

 


 <<입직경로 및 진출분야>>


네트워크시스템분석가 및 개발자는 SI(시스템통합)업체, 통신업체, 네트워크 장비업체, 네트워크 설치 및 유지·보

 

수업체, 기업체 전산실 등에서 종사한다. 업체에서는 대부분 4년제 대학교 졸업 이상자에 한해 채용하며 관련 분

 

야 경력자를 우대하는 편이다.

 


 <<승진 및 경력개발>>


경력이 쌓이면 네트워크 구축 프로젝트를 총괄·지휘하는 프로젝트관리자(PM)가 될 수 있다. 이·전직은 주로 네트

 

워크와 관련한 동종 분야로 옮기는 경우가 대부분이며, 그 비율도 낮은 편이다.
 

 

 <<적성및흥미>>

 

네트워크에 대한 지식은 물론 하드웨어와 소프트웨어에 대한 지식도 반드시 필요하다. 또한 최적의 네트워크시스

 

템을 설계하고 문제를 해결할 수 있는 분석적이고 논리적인 사고가 필요하다. 설계를 의뢰한 고객과 원활한 의사

 

소통을 할 수 있는 능력도 있어야 한다.

 


 <<종사 현황>>

 

『산업·직업별 고용구조조사』에 의하면 네트워크시스템분석가 및 개발자는 3,112명으로 연령별로는 30대가

 

75.4%로 가장 많고 학력별로는 대졸이 77.1%로 가장 많다.

 


 <<수입>>

 

『산업·직업별 고용구조조사』에 의하면 네트워크시스템분석가 및 개발자의 월평균임금은 305만원으로 상위

 

25%는 333만원, 하위 25%는 150만원이다.

 


 <<직업 전망>>

 

향후 5년간 네트워크시스템분석가 및 개발자의 고용은 다소 증가할 것으로 전망된다.

 
 『2003 IT전문인력 수급현황 분석과 전망』(한국노동연구원, 2005)에 따르면, 네트워크시스템분석가 및 개발자

 

는 2008~2010년 동안 연평균 6.03% 증가하여 연평균 취업자 수가 약 5,100명에 이를 것으로 전망하였다.

 

기업이나 정부 기관 등에서 업무효율 향상과 비즈니스 확대를 위해서는 각 컴퓨터시스템 간의 네트워크 환경을

 

최적의 수준으로 구축하는 것이 필요하다. 조직 내의 네트워크(LAN) 뿐만 아니라 외부에 위치한 동일 조직이나

 

혹은 타 기관과의 네트워크(WAN)도 매우 중요하기 때문에 이에 대한 수요는 꾸준히 증가할 것이다. 비록 네트워

 

크서비스 시장에서 회선교환 등 저속서비스에 대한 수요는 감소 또는 정체하겠지만, 가상사설망(VPN)서비스 또

 

는 고속 대용량 데이터네트워크 서비스에 대한 수요는 증가할 것으로 예상된다. 멀티미디어 서비스 수요가 증가

 

함에 따라 무선인터넷을 중심으로 고속대용량 데이터네트워크 서비스에 대한 수요가 증가할 것이다. 또한 기존에

 

는 기업체 등에서 WAN을 구축하기 위해 통신사업자를 통해 고비용, 비효율의 사설망을 구축하였으나, 향후에는

 

이를 대체하기 위해 인터넷망을 마치 전용선으로 사설망을 구축한 것처럼 사용하는 가상사설망(VPN)에 대한 수

 

요가 크게 증가할 것으로 예상된다.

 

그리고 기존 네트워크의 개편, 기업 내 경비절감을 위한 유·무선 네트워크 통합, 유비쿼터스 환경을 기반으로 한

 

모바일시스템의 이용, 무선네트워크 증가, 홈네트워크의 확대 등으로 네트워크시스템에 대한 연구·개발 투자가

 

증가하고 시스템구축을 위한 인력수요도 증가할 것으로 예상된다.

 
또한 거래주체별 전자상거래 규모 현황을 살펴보면 기업간, 기업·정부간, 기업·소비자간 전자상거래 규모가 2006

 

년 2/4분기에 2002년 동기 대비 220% 증가하였다. 전자상거래 시스템을 구축하기 위한 인력수요도 지속적으로

 

발생할 것이다. 























1. 위에 링크걸린 책을 보려면 C, C++, MFC, C# 전부다 공부해야 되나요?

이 책을 보려면 학습수준이 어느정도일때 봐야 적당한가요?

 

아닙니다 C#까지는 아직 공부 안하셔도 됩니다. 다만 지금 자바를 공부 하고 계시는데

C언어를 공부하라고 하는 이유는 리눅스와 유닉스 윈도우까지 C언어로 구성이 되어 있기 때문에

기초 즉, 초석을 닦으라는 의미로 씨언어를 공부하시라는겁니다~

 

2. C계열은 자바와달리 윈도우프로그래밍과 리눅스/유닉스 프로그래밍이 따로인것같던데,

두가지 모두 공부해야하나요? C++, C#도 유닉스쪽으로 공부를 따로 해야되나요?

 

네 맞습니다. 두가지를 공부를 하셔야 하구요 C#까지는 필요 없으세요~실질적으로 유닉스는 대기업이나

공기업에서 주로 마니쓰기 때문에 일단 그쪽으로 생각이 있으시다면 공부를 하셔야 겠지만 그게 아니시라면

유닉스까지는 하실 필요 없으세요~

 

3. 네트워크공부를 하라는소릴 들었는데, 네트워크개론을 말하는것인지...??

또 네트워크공부를 할때 어떤부분을 중요하게 봐야할까요?

 

네트워크 공부를 하라고 하심은 이제 Cisco 라는 세계적인 네트워크 회사가 있으십니다. 여기서 만든

CCNA(Cisco Certified Network Associate) 국제 공인 자격증이 있습니다. 이자격증을 목표로 두고 공부를 하시면서 네트워크에 관한 기본 지식을 공부하시는겁니다.

 

4.정보보안, 해킹쪽으로 공부하려면 반드시 소켓프로그래밍을 알아야하는지?

또 보안쪽 공부하기전에 사전에 공부해야할것들은 어떤게 있나요?

 

이쪽 분야는 하나라도 더 아시면은 분명히 써먹을곳이 있는 분야인건 아실껍니다. 그러므로 소켓프로그래밍이

당장에는 필요 없다고 느끼시더라도 일단 여유가 있으시다면은 공부하세요~

보안쪽으로 가기 위해선 우선 컴퓨터의 모든 분야에 대한 기초 적인 지식은 가지고 계셔야 합니다.

C언어/운영체제,시스템(리눅스,유닉스,윈도우서버)/네트워크 CCNA 을 갖추시구요

 

이제 더불어서 웹해킹,어플리케이션해킹,네트워크해킹,시스템해킹,침해대응,포렌식(역추적기술) 등을

공부 하시어서 SiS, CiSA, CiSSP 와 같은 보안 관련된 자격증을 취득을 하시면 됩니다.

*참고로 CiSA, CiSSP 이 자격증들은 합격을 하시고 3~5년 동안 보안에 관련된 업무를 보셔야지 최종자격증이

나오십니다.

 

제대로 답변이 되었을지 모르겠네요.

더 궁금한게 있으시다면 쪽지 남겨 주세요~

웹 해킹과 방어 PPT

전공 공부/학교 수업 2009.03.14 18:16



출처 : 프리렉(웹 해킹과 방어)

정보처리기사 자격증 대비

전공 공부/학교 수업 2008.12.20 21:52

알고리즘- 원리를 이해하고 알고리즘적인 사고에 익숙해지자. 문제를 외우는 것은 아무런 도움이 안되는 것 같다.  그리고 알고리즘을 그리는게 아니라 빈칸을 채우는 것이므로 필요이상으로 스트레스를 받을 필요는 없다고 생각한다.

 데이터베이스- 각 사이트마다 어려워진 데이터베이스문제를 대비해 공부할 분량을 엄청 늘려 놓았다. 모두 완전히 공부하려면  두달     

                      세달이 걸려도 완전히 이해를 못 할 것이다. 왜냐면 데이터베이스란 과목이 전산학과의 경우 한학기의 분량이기때문이다.

                     그러므로 기본적인것만 완전히 숙지하고 나머지는 운에 맞겨야 한다.  어떤 시험(4회)에서는 공부를 한달 한 사람이나 3

                    일 하고 온 사람이나 별 반 차이가 없기 때문에 예측을 할 수 없기 때문에 데이터베이스에서 고득점하려다가 다른 과목이

                     소흘해 지는 수가 있다.  어떻게 나올지 모르기 때문에 알고리즘을 중점적으로 학습하고 데이터베이스는 말 그대로 운에

                     맞겨야 한다.  3회시험에서는 시중에 어떤 교재에서도 볼 수 없는 용어가 나왔다.  맞춘 사람은 극히 극 소수였다.

                    4회시험은 마지막 시험이라서 그런지 평이했다(대신 업무프로세스에서 물을 먹였다) 그러므로 데이터베이스란 과목이

                   워낙 방대한 분량이므로 맘먹고 어려운 문제를 낸다면 전산을 공부하지 않은 사람은 대비가 불가능 하다고 생각된다

                    그러므로 기본적인것만 숙지하고 나머지는 문제에서 유추하거나 운에 맞겨야 될 듯 싶다.

업무프로세스- 용어를 공부해야 한다. 전에는 업무프로세스는 한글자도 공부 안해도 모두 만점이다 라고 강사들이 모두 그랬지만 4회에

                    서는  용어를 모르면 모두 찍어야 했다.

신기술영어 -  이과목도 모아니면 도식이다. 전에는 tta에서 모두 출제 되어서 10점 맞는 사람도 있었으나

                    4회에서는 성실히 강사가 공부하라는 데 모두  공부 했음에도 내가 공부한 용어는 2문제 나왔다. 

                  그럼에도 공부할 부분은 모두 보고 가야 한다. 사실 공부할 분량은 그리 많지 않다.

전산영어-   상당부분 신기술용어및 필기때 과목과 겹친다 영어가 된다면 추리해서 푸는 것도 가능하다.

유비쿼터스 해외 논문

전공 공부/학교 수업 2008.11.29 14:14

암호학(Cryptography) 의 모든 것

전공 공부/학교 수업 2008.10.12 17:18



사용자 삽입 이미지

  암호학
(Cryptography, 또는 cryptology 라 하는데 이는 그리스어 κρύπτω krýpto 의 '숨겨진' 과 동사 γράφω gráfo "~를 쓰다 " 또는 λέγειν legein "말하다" 에서 유래했다.) 은 숨겨진 정보를 찾아내고 연구하는 학문이다. 현대에선 암호학은 수학과 컴퓨터 공학에 한 갈래로 정보이론(information theory) , 컴퓨터 보안, 그리고 공학과 많은 연관이 있다. 암호학은 현대사회의 필수 불가결한 학문으로 ATM 카드, 컴퓨터 비밀번호, 전자 상거래 등과 같은 부분에서 쓰인다.
 
암호학에 관련된 용어들

  지금까지, 암호학은 주로 '부호화 하는 것(Encryption, 평문을 암호화된 문장으로 바꾸는 것)' 을 가리켰다. 반면에 '복호화(Decryption)' 하는 것은 부호화하는 것의 반대로 어떠한 알수 없는 암호문(ciphertext) 를 평문(plation text) 로 변환하는 것이다. 사이퍼(cipher 또는 cypher 라고도 씀) 는 어떠한 평문을 암호문으로 부호화 하는 것과, 암호문을 평문으로 복호화 하는 것을 하는 알고리즘을 일컫는다. 사이퍼를 통해 부, 복호화 하려면 그에 대한 알고리즘과, 키(key) 가 필요하다. 키는 비밀스러운 매개체로 (오직 암호문을 주고받는 상대자 많이 알고 있다) 부, 복호화 하는데 쓰인다. 키는 매우 중요하며, 키를 이용하지 않는 사이퍼는 매우 쉽게 해독되기 때문에 상당히 효과가 떨어진다.
  보통, '코드(code)' 는 어떠한 평문의 부호화 과정이나 숨겨진 뜻을 일컫는 말이다. 하지만 암호학에서는 좀더 깊은 뜻이 들어 있다; 이는 평문의 어떠한 부분을 대체한 것(예를들어 단어, 문장 등) 을 말한다. 예를들어서 '2 개의 애플파이가 새벽에 우리를 공격한다' 라는 평문에서는 '애플파이' 가 코드다. 왜냐하면 '애플파이' 는 '전투기' 를 대체한 말이기 때문이다. 코드는 고도의 암호학에서는 잘 쓰이지 않는다. 하지만 어떠한 지명 같은 것을 가리킬 때 (예를 들어 작전명 오버로드 - Operation Overlord, 이는 노르망디 상륙 작전을 일컫는 말이다.) 는 종종 쓰인다.
   영어에서 'cryptography' 와 'cryptology' 는 비슷한 뜻을 지닌다. 하지만 'cryptography' 는 주로 암호화 하는 방법을 가리키는 단어고, 'cryptology' 는 주로 암호화 하는 방법(cryptography) 및 암호 해독학(cryptanalysis)을 모두 지칭하는 말이다.
  암호학에서는 종종 언어들의 특성을 연구하기도 한다. 예를들어서 영문 암호문을 해독할 때, 'k' 가 많이 나타났다면 이는 'e' 를 'k' 로 바꾸었다고 생각할 수 있다. 왜냐하면 'e' 는 영어 문장에서 가장 많이 등장하는 알파벳이기 때문이다. 그 외에도 문장의 패턴이라든지 알파벳의 조합이라든지 등을 연구하는데 이를 암호언어학(Cryptolinguistics) 라 한다.

암호학의 역사

  현대시대 전에도 암호학은 매우 중요한 역할을 담당했다. 어떠한 메세지를 암호화된 문장으로 바꾸거나 다시 평문으로 바꾸는 작업과 어떠한 메세지가 상대로 전해질 때 비록 중간에 제 3 자(비밀 키를 모르는) 가 가로채더라도 알 수 없게 만드는 기술 등 으로 쓰였다. 최근의 암호학은 위 외에도 메세지의 도청 여부를 판단하거나, 송,수신자의 인증, 디지털 사인, 컴퓨터 보안 등에서 매우 중요한 역할을 담당한다.
  초기의 암호화 과정은 단지 펜과 종이만 필요할 정도로 단순하였다. 초기의 사이퍼 종류는 전자 암호법(transposition ciphers) 라 불리는 것으로 이는 메세지의 알파벳의 순서를 뒤섞어 놓는 것이였다. 예를들자면 'help me' 를 전자 암호법으로 부호화 한다면, 'ehpl me' 가 된다. 또한 환자식 암호법(substitution ciphers) 라 불리는 사이퍼는 알파벳들을 다른 알파벳으로 일대일 대응시켜서 부호화 하는 것이다. 예를들자면 'fly at once' 를 부호화 한다면 'gmz bu podf' 가 되며 이는 f 를 g 로, l 을 m 으로 등등 서로 대응시켜 바꾸었다. 한 예로 카이사르는 환자식 암호법으로 이용해 부호화 했는데 각 알파벳을 3칸 앞으로 밀어서 나타냈다. 예를들자면 'I like math' 는 'l olnh pdwk' 로 부호화 되었다.
사용자 삽입 이미지

디지털 워터마크(Digital watermarks), 가운데 Brian Kell 2008 이 워터마크다.

사용자 삽입 이미지

마이크로도트 카메라(microdot camera)


  외교관이나 스파이, 전쟁 지도자들에게는 의사소통시 암호화하는 것이 필수적이였다. 예를들자면 초기의 히브리 사이퍼가 그 예이다. 카마수트라(Kama Sutra, 고대 인도의 힌두 성전) 에는 서로 사랑하는 이들이 남에게 폐를 끼치지 않게 의사소통 할 수 있는 방법으로 암호학을 추천했다. 심층암호(steganography, 메세지의 존재성 조차 숨겨 매우 안전하게 보관한다.) 또한 고대시대 에서 만들어졌다. 예를들면 헤로도투스(Herodotus, 그리스의 역사가)는 노예의 머리를 깍은 후에 비밀 메세지를 세긴 후, 다시 머리를 자라게 해 숨겼다. 요즘에는 보이지 않은 잉크나, 마이크로도트(microdots, 점 크기 만한 미소사진), 디지털 워터마크(digital watermarks, 디지털 워터마크는 디지털 콘텐츠에 사용자만이 알 수 있는 아이디(ID) 또는 정보 등의 부호를 삽입하거나, 영상·음성 등의 신호에 특정한 코드나 유형 등을 삽입하는 기술), 등을 이용해 정보를 숨긴다.
사용자 삽입 이미지

비제네르(Blaise de Vigenère)

사용자 삽입 이미지

알베르티(Leon Battista Alberti)


   고전의 사이퍼(위에 나와있듯이 환자식 암호법나 전자 암호법 등)를 통한 부호화된 암호문은 언제나 통계학적인 정보를 남겨 이를 통해 암호를 해독할 수 있다. 9세기에 빈도수 분석법(frequency analysis) 이 발견된 이후 대부분의 암호문은 쉽게 해독될 수 있었다. 위와 같은 고전 사이퍼들은 아직도 퍼즐 같은 곳에서 많이 쓰인다. 다중단일문자치환 암호법(polyalphabetic cipher)가 알베르티(Leon Battista Alberti)에 의해 1467년 발명되기 전까지 많은 사이퍼들은 매우 취약했었다. 알베르티가 발명한 다중단일문자치환 암호법은 메세지의각 부분마다 다른 사이퍼를 이용하는것 이였다. 알베르티는 또한 그가 발명한 다중단일문자 치환 암호법을 이용해 자동으로 부호화 해주는 해주는 사이퍼 장비를 발명해 냈다. 1586년에는 프랑스 외교관 비제네르(Blaise de Vigenère) 가 비제네르 암호법(polyalphabetic Vigenère cipher)을 만들었다. 이는 키워드(key word)를 이용한 암호법으로 어떠한 키워드가 이용됬는지에 따라 평문이 다르게 암호화 된다. 1800년대 중반에는 배비지(Babbage)가 비제네르 암호법으로 암호화된 평문은 빈도수 분석법으로 부분적으로 해독할 수 있음을 보였다.
사용자 삽입 이미지

오그스트(Auguste Kerckhoffs)

사용자 삽입 이미지

클라우드(Claude Shannon)


  빈도수 분석법이 매우 유용한 해독 테크닉이였지만 암호문은 아직 효과적이였다. 많은 사람들은 빈도수 분석법을 통해 암호를 해독하는 것에 대해선 두려워 하지 않았다. 암호문을 빈도수 분석법을 이용하지 않고 해독하기 위해서는 무슨 사이퍼가 이용되었는지 알아야만했다. 따라서 간첩 행위, 뇌물 수수, 강도 행위 등이 사이퍼를 알아내기 위해 사용되었다. 이는 19세기 들어 더 눈에 띄게 나타났는데 사이퍼의 알고리즘의 경우, 이를 보호할 수 있는 방법이 없었따. 따라서 상대방이 이 암호문의 사이퍼를 정확히 알고 있는 경우라도 암호가 잘 보호되어야만 했다. 따라서 1883년에 오그스트(Auguste Kerckhoffs) 에 의해 'Kerckhoffs 의 원리' 가 만들어 졌고 이는 클라우드(Claude Shannon) 에 의해 'Shannon's Maxim' - '적이 사이퍼를 알 때' 라는 이름으로 보완되었다.

사용자 삽입 이미지
  많은 종류의 기계 장비를 통해서 사이퍼를 이용하는 경우도 많다. 한가지 예를들자면 고대 그리스의 스키테일(scytale) 의 경우 스파르타 인들이 전자 암호법을 이용해 암호화 할 때 쓰였던 도구다. 중세시대에는 사이퍼 그릴(cipher grille) 과 같은 장비가 만들어 졌으며 이는 심층암호화 하기 위해 쓰인다.  다중단일문자치환 암호법이 발명된 이후, 사이퍼 디스크(cipher disk), 요하네스 트리테미우스(Johannes Trithemius)의 tabula recta (사각
사용자 삽입 이미지
알파벳 테이블로, 각 열은 기
존의 알파벳을 한 칸씩 뒤로 밀어서 나타낸 표이다.) , 토마스 제퍼슨의 멀티 실린더(Thomas Jefferson's multi-cylinder, 1900년대에 바제리에 의해 독립적으로 재 발명된다.) 등이 그 예 이다. 20세기에도 몇몇의 부호화하는 기계장비들이 발명되었다. 예를들면 제 2차 세계대전서 이용되었던 에니그마(Enigma machine)가 그 예이다.

  제 2차 세계대전 이후 디지털 컴퓨터와 전자장비 등의 발달에 따라 더욱 복잡한 사이퍼의 이용이 가능해졌다. 게다가 종전의 고전 사이퍼는 오직 문자만을 암호화 할 수 있었던 반면에 컴퓨터는 2진 형식으로 표현된 어떠한 데이터도 암호화 가능해 암호 해독을 위한 언어학적인 접근을 불가시켰다. 고전의 문자나 숫자들을 암호화 했던 고전 사이퍼와는 달리 많은 수의 컴퓨터 사이퍼들은 각각의 이진 비트에 대해 암호화를 한다(때로는 한꺼번해 하기도 한다). 그러나 컴퓨터 사이퍼는 고전 사이퍼에 비해 그 복잡도를 매우 증가시켰고 몇몇의 사이퍼들은 암호화 하기 매우 빠르면서도 효과적이며 해독하려면 오랜 시간이 걸리는 좋은 사이퍼들도 있다.

   암호학에 대한 심층있는 연구는 비교적 최근에 시작되었다. 1970년대 후반에 데이타 암호화 기준(DES, the Data Encryption Standard) 가 발표되었고 RSA 알고리즘을 통한 암호화 기법이 탄생하였다. 그 후로 암호학은 통신, 컴퓨터 네트워크, 컴퓨터 보안등에서 매우 널리 쓰이게 되었다. 요즘의 암호화 기법들은 컴퓨터가 계산하기에 시간이 걸리는 것들을 이용하는데 예를들자면 큰 정수의 소인수분해라던지 이산대수(discrete logarithm) 문제 등을 이용한다. 현대의 대다수의 암호화 기법들은 일시패드(OTP, one-time-pad) 기법을 제외하곤 '컴퓨터가 이 문제를 효과적으로 풀지 못할 때에' 라는 사실을 가정하에 안전하다고 한다. 일시패드 암호화 방법은 평문에 대해 패드(pad) 라 불리는 난수 키(여기서 의사 난수가(pseudo random) 이 아닌 완전한 난수) 를 모듈러 연산을 해(2진 데이터의 경우 XOR 연산도 된다) 낸 결과가 암호가 된다. 이 때 난수 키는 딱 한 번 밖에 이용하지 않기 때문에 이런 암호를 가르켜 일시패드(one-time pad) 라 한다. 이는 1917년에 개발되었고 만약 난수 키가 계속 비밀로 지켜진다면 완벽한 보안성(절대로 깰 수 없음) 을 자랑한다. 또한 어떠한 사이퍼가 완벽한 보안성을 가지려면 OTP 키와 같은 키가 반드시 필요하다는 사실도 증명되었다.  
사용자 삽입 이미지

전자프론티어재단(EFF, Electronic Frontier Foundation) 의 $250,000 짜리 DES 공격 기기는 1800개의 특별 제작된 칩을 장착하고 며칠 만에 DES 키를 해독할 수 있다.

  암호화 알고리즘을 개발하는 사람들은 반드시 먼 미래에 암호를 해독하는 데 쓰이는 장치를 염두에 두고 만들어야 한다. 예를 들자면 컴퓨터의 엄청난 계산능력을 통해 암호를 해독하기 위한 무차별 대입 공격(brute-force attacks) 가 수월해 졌다. 또한 미래에 개발된 양자 컴퓨터의 엄청난 연산능력은 RSA 암호방식에 쓰이는 큰 수의 소인수 분해를 현존의 컴퓨터 보다 훨씬 빠른 속도로 해낼 수 있으리라 본다.

  20세기 전까지 암호학은 암호화된 문장의 언어학 적인 패턴을 찾는데 주력하였다. 하짐나 현재의 암호학은 수학, 정보이론, 컴퓨터 공학, 통계학, 조합론, 추상 대수학, 정수론 까지 모두 포괄되는 내용이 되었다. 뿐만아니라 암호학은 공학에서의 하나의 분야이다. 또한 암호학적인 문제들과 양자역학과의 관계를 연구하는 것도 열띄게 연구되고 있다.

현대의 암호학

 1. 대칭키 암호화(Symmetric-key cryptography)
사용자 삽입 이미지

대칭키 암호화 기법의

  대칭키 암호화는 송,수신자가 똑같은 키를 사용하여 부,복호화 하는 것을 말한다(키가 서로 다를 수 도 있지만 약간의 계산만 한다면 구할 수 있는 상태이다). 이는 1976년도 까지 공공연하게 알려져 있던 암호화 방법 이였다.

  현대 암호학에서 대칭키 사이퍼에 대한 연구는 주로 블록 사이퍼(block ciphers) 와 스트림 사이퍼(stream ciphers) 로 한다. 블록 사이퍼는 알베르티의 다중단일문자치환 암호법이 더 구체화 된 것 이라 볼 수 있다. 블록 사이퍼는 평문의 한 부분을 키로 택한 후, 똑같은 크기의 암호문으로 암호화 한다. 메세지들이 대부분 크기가 한 블록 이상 되기 때문에 각 블록들을 잘 맞추는 것도 필요하다. 몇가지 방법들이 개발되었고 몇몇 들은 다른 것 보다 높은 보안성을 자랑한다.

  데이타 암호화 구격(DES,Data Encryption Standard) 와 고급 암호화 표준(AES, Advanced Encryption Standard) 는 미 정부 암호화 구격에 따라 지정된 블록 사이퍼 디자인 기준이다. (결국에는 DES 가 아닌 AES 가 공식적으로 채택되었다) 비록 DES 는 공식적으로 지정된 표준이 아니였지만, 아직도 꽤 많은 곳에서 쓰이고 있다. 예를들자면 ATM 암호화나, 이메일, 보안 원격 접속 등이 그 예이다. 많은 종류의 블록 사이퍼들이 개발되고 발표되었지만 많은 블록사이퍼들은 쉽게 해독 수 있다.    

  스트림 사이퍼는 블록 사이퍼와는 반대로, 매우 긴 스트림 키를 만들어 평문에 비트 대 비트 아니면 문자 대 문자 단위로 마치 일시패드 기법 처럼 결합시킨다. 스트림 사이퍼 에서는 출력 스트림은 사이퍼가 작동할 때 마다 바뀌는 내부 상태에 따라 달라진다. 내부 상태의 변화는 오직 키에 의해 결정되며 몇몇의 스트림 사이퍼와 평문 스트림도 마찬가지 이다. RC4 는 가장 잘 알려진 스트림 사이퍼이다 .
사용자 삽입 이미지

해시 함수


  해시 함수(Cryptographic hash functions, message digest functions 라 불리기도 한다) 는 키가 필요 없으며 단지 암호화 알고리즘에 관련이 있다. 그 함수들은 데이타를 받아들이고(종종 전체 메세지로 이용한다), 짧은 해시 값을 내보낸다. 두 개의 평문이 똑같은 해시값을 내보내는 일(collsions) 은 매우 발생하기 힘들다.

  메세지 인증 코드(Message Authentication codes, MACs) 는 암호화 된 해시 함수들과 비슷하며 단지 해시 값을 인증하기 위해 비밀 키를 이용한다는 점만 다르다.

2. 공개 키 암호화(Public-key cryptography)

  대칭키 암호화는 가장 큰 단점은 통신 네트워크 상의 멤버들 수가 증가할 수 록 필요한 키의 수는 제곱에 비례해 보안성을 위한 키 관리를 매우 어렵게 만든다. 게다가 서로 통신시 서로간에 키를 안전하게 알려줄 수 있는 방법이 없다면 닭-달걀 문제(chicken-and-egg problem, 닭은 알을 낳지만, 알은 닭을 부화시킨다. 따라서 어느 것이 더 먼저 만들어 졌을까? 하는 문제이다.) 를 발생시켜 암호학계에 커다란 장애물이 되었다.
사용자 삽입 이미지

위트필드 디피(Whitfield Diffie)

사용자 삽입 이미지

마틴 헬먼(Martin Hellman)


  1976년에 학계에 놀라운 발표가 있었다. 위트필드 디피(Whitfield Diffie) 마틴 헬먼(Martin Hellman)은 공개키(public key, 포괄적으로 보자면 비대칭키(asymmetric key)라 볼 수 있다. ) 라는 것을 발표했는데 이는 공개키와 개인키(private key)가 서로 다르지만 수학적인 연관이 있어 이를 이용하는 것이였다. 공개키 시스템은 비록 한 키로 부호화 한다면 다른 키 만이 복호 가능하도록 만들어 졌다. 대신에 두 키는 비밀스럽게 밀접한 관계를 맺으며 생성된다. 역사가 데이비드 칸(David Kahn)은 공개키 암호화를 "다중단일문자치환 암호법 다음으로 암호학계에 새로운 혁명을 일으킨 암호법" 이라고 했다.

  공개키 암호화 시스템에선 공개키는 다른 사람들에게 알려져도 되지만, 공개키와 동시에 비밀스럽게 생성된 개인키는 반드시 비밀로 남아있어야 한다. 공개키는 주로 부호화 할때 쓰이며, 개인키는 주로 복호화 할 때 쓰인다. 디피와 헬먼은 공개키 암호화가 디피-헬먼 키 교환 프로토콜(Diffie-Hellman key exchange protocol) 을 통해 실현 가능성을 보였다.
 
사용자 삽입 이미지

샤미르(Adi Shamir),로날드 리베스트(Ronald Rivest), 애들만(Len Adleman)


  1978년에 리베스트(Ronald Rivest), 샤미르(Adi Shamir), 애들만(Len Adleman) 은 또다른 공개키 암호화 시스템인 RSA(개발한 수학자의 머리글자를 따서 이름을 지음)  를 발명했다. 디피-헬만과, RSA 알고리즘은 높은 보안성을 띈 공개키 사이퍼이며 이는 전세계에서 가장 많이 쓰이는 사이퍼다. 그 외에도 공개키 사이퍼로는 Cramer-Shoup 암호체계, ElGamel 암호, 그리고 여러 종류의 타원 곡선 암호화 기법들이 있다.

  공개키 암호화는 디지털 서명 체계로도 사용할 수 있다. 디지털 서명은 우리가 흔히 말하는 서명과 똑같은 성질을 띄고 있다; 자신의 것은 쓰기는 쉽지만 다른 사람의 것을 따라하기는 힘들 다는 점이다. 디지털 서명은 영구적으로 초기에 서명된 문서에 영구적으로 결합된다. 이 말은 디지털 서명은 그 문서 전체를 암호화 하지는 않으며 제 3자가 그 문서의 내용을 볼 수 는 있지만 그 문서가 누구로 부터 왔는지에 대한 정보는 사라지지도 바뀌지도 않는 다는 점이다. 디지털 서명 체계이는 두 개의 알고리즘이 쓰인다. 첫번째로는 서명을 위해 비밀키(또는 메세지의 해시값) 이 사용되며 두번째로는 인증을 위한 것으로 공개키가 서명의 정당성을 검사하기 위해 사용된다. RSA 와 DSA(Digital Signature Algorithm, 디지털 서명 알고리즘) 가 주로 사용된다.

  공개키 알고리즘은 보통 전산학적으로 계산하기 어려운 정수론 문제들을 기반한다. 예를들자면 RSA는 큰 정수의 소인수 분해에 난해성을 기반으로 하며, 디피-헬먼 과 DSA 는 이산 대수문제의 난해성을 기반으로 한다. 최근에 개발된 타원 곡선 암호화기법은 타원곡선을 이용한 복잡한 문제를 기반으로 개발되었다. 위에 나열된 문제들은 어떤 수에 대한 모듈로(modular) 연산과 지수 연산 같은 것들을 기반으로 하기 때문에 전산학적으로 블록 사이퍼보다 시간이 오래걸린다. 따라서 공개키 암호체계는 주로 복합 암호체계(hybrid cryptosystems)를 사용하한다. 복합 암호체계선 주로 메세지를 암호화 속도가 빠른 대칭키 알고리즘을 이용해 암호화 하며 이 때 이용되는 키는 공개키 알고리즘을 이용해서 암호화 되어서 보내진다.

암호 해독학(Cryptanalysis)

  암호 해독학의 가장 큰 목적은 암호 체계에서 보안상의 문제점이나 취약점을 발견해 이를 통해서 제 3자가 암호를 해독해 내는 것이다. 암호 해독은 주로 악의가 있는 공격자가 시스템을 파괴하기 위해 행해진다. 또는 그 시스템을 디자인한 사람이 자신의 시스템의 취약성을 파악하기 위해 공격하기도 한다. 현대에서는 암호화 알고리즘과 프로토콜들은 실제로 사용되기 전에 검사와 테스트를 거쳐서 높은 보안성이 검증 되면 사용한다.

사용자 삽입 이미지

일시패드(one-time-pad)

  암호에 대한 가장 큰 오해는 모든 암호문은 해독될 수 있다는 것이다. 하지만 벨 연구소(Bell Labs) 에 소속된 클라우드는 일시패드 사이퍼는 키가 만약 완전한 난수이며 다시 재사용되지 않고 어떠한 공격자들에게서도 비밀로 유지된다면 일시패드 사이퍼를 통해 암호화된 평문은 결코 해독될 수 없음을 증명하였따. 하지만 일시패드가 아닌 대부분의 사이퍼들은 무차별 대입 공격을 통해서 해독될 수 있으나 키의 크기가 커지면 커질수록 무차별 대입을 통해 해독하는데 걸리는 시간은 지수적으로 커진다. 현재까지 알려진 사이퍼 중 일시패드 사이퍼만이 이론상으로 결코 깨질 수 없는 사이퍼이다.

  암호 해독을 하기 위해선 여러 종류의 방법이 사용되며 이는 다음과 같이 종류를 나눌 수 있다. 암호문 공격(ciphertext-only attack) 은 암호 해독가들이암호문들의 집합에만 오직 접근 가능하다는 것을 가정한 상태에서의 공격 방법이다.(현대의 좋은 암호체계는 이 암호문 공격에 당할 염려가 없다.) 알려진 평문 공격(known-plaintext attack)은 공격자가 평문과 암호문의 샘플을 가지고 있고 더 많은 정보(예를들자면 비밀키)를 알기위해 자유롭게 평문과 암호문에 대해 공격이 가능할 수 있는 공격 방법이다. 선택된 평문 공격(chosen-plaintext attack) 에서는 공격자가 평문과 이에 상응하는 암호문들을 가졌을 때의 공격방법이다. 한 예로 영국군이 독일군의 암호를 해독하기 위해 사용했던 Gardening 이란 작전도 이에 포함된다. 마지막으로 선택된 암호문 공격(chosen-ciphertext attack)은 공격자가 암호문을 고르고 이에 상응하는 평문을 알 때 사용하는 기법이다.

  공개피 알고리즘은 앞에서 설명했듯이 전산학적으로 계산하기 힘든 문제에 기초를 둔다. 예를들자면 가장 유명한 것으로 큰 정수의 소인수 분해의 난해성(RSA 암호) 에 기초를 두거나 이산 대수문제의 난해성을 둔 암호들 도 있다. 따라서 공개키 암호의 해독은 컴퓨터를 통해서 더 빠르게, 효과적으로 계산하는 것이 필요하다. 예를들자면 현재까지 알려진 타원 곡선을 기반으로한 이산 대수 문제를 푸는 알고리즘은 현재까지 알려진 가장 빠른 소인수분해 알고리즘 보다 더 오래 걸리기 때문에 소인수분해 기반 사이퍼들은 타원 곡선 사이퍼 보다 더 큰 키를 이용한다. 따라서 계산 능력이 좀 떨어지는 소형 장비들은 RSA 암호보다 타원 곡선 암호를 이용하기 때문에 1990년대 중반 부터 유명세를 띄기 시작했다.

  순수 암호 해독가들은 알고리즘 자체의 취약점을 이용해 암호를 해독하지만 다른 종류의 공격으로는 그 암호화 하는 장비 자체를 공격하는 것으로 'side-channel attacks' 라 부른다. 만약에 공격자가 예를들자면 장비가 암호화 할 평문들의 숫자에 접근이 가능하거나, 장비에게 비밀번호나 PIN 문자에 대한 오류 보고가 가능할 때, 공격자는 시이퍼를 뚫기 위한 타이밍 공격(timing attack) 이 가능하다. 또한 공격자가 중요 정보를 얻기 위해 전달되는 메세지 길이나, 패턴 등을 알아내는 것을 트래픽 분석(traffic analysis) 라 한다. 또한 그 암호하는 사람을 통해서 (절도, 강탈, 공갈, 간첩행위 등을 통해) 알아내는 방법도 있는데 여태까지 나열 한 방법 중 가장 효과적인 방법이라 볼 수 있다.

마치며...

  암호학은 현대사회에서 매우 중요한 부분을 담당하고 있는 학문이다. 우리가 지금 인터넷을 쓰고 있는 상황에서도 수많은 정보가 부,복호화 되고 있으며 어디선가는 3자에 의해 해독되고 일지도 모른다(많은 수의 음모론자들은 NSA가 모두 도청해 해독한다고 한다). 뿐만 아니라 옥션 해킹 사건 처럼 보안에 대해서 취약한다면 자신의 개인정보가 모두 유출 될 지도 모른다. 따라서 우리는 암호학에 대한 관심을 가지고 보안에 신경써야 할 필요가 있다.
  위 적은 내용(솔직히 번역한 나도 모르는 부분이 많다) 을 모두 알 필요는 없지만 암호사에 대한 간략한 내용과 우리가 쓰는 암호들의 종류, 그리고 전자 상거래 같은 중요한 기밀 자료 전달시에 사용되는 암호들이 무엇인지 아는 것은 필요하다고 생각한다.
                                                                                                                             

참고자료

http://en.wikipedia.org/wiki/Cryptography (기본적으로 이 사이트의 내용을 통 번역했음)
그 외 사진을 찾은 수많은 인터넷 사이트들
우리말이 사전에 없는 단어들은 다른 사람이 쓴 단어를 사용함.

5/5 ~ 5/11 에 걸쳐 1주일간 번역함. 
                                                                                                                             


출처 : http://kevin0960.tistory.com/

New directions in cryptography

전공 공부/학교 수업 2008.09.23 15:26


정보보안에 대한 지식

전공 공부/학교 수업 2008.06.21 12:53
대략적인 공부 순서를 설명을 드리면 프로그래밍언어  c언어 c++

 

 

운영체제 리눅스 유닉스  그다음 네트워크 ccna ccnp  여기까지가 해킹을 배우기 위한

 

 

선수 과정이라고 보시면 됩니다. 이 부분 까지 이해를 하셔야  시스템해킹 네트워크해킹

 

 

마지막으로 침해 대응 과정을 배우신다고 생각을 하시면 됩니다.

 

 

 

먼저 정보보안에 필요한 지식으로써는

 

 

1 . C언어 및 UNIX

  

2 . 침입탐지 시스템(Firewall)의 설계능력 배양

 

3 . 보안 정책, 시스템 운영 및 관리기술 습득 

 

4 .  내부 네트워크 보호 및 외부망과 안전한 정보전송 기술 습득 : TCP/IP, 네트워크 보안 수립, NAT, VPN

  

5 .  암호 및 보안 프로토콜 : 인증, 서명, 전자상거래 보안

  

6 . 해킹방식과 해킹Tool 구사능력 습득 

 

7 . 인터넷 보안 Tool : 인터넷 보안 도구, 해킹탐지 및 대책

리눅스 명령어

전공 공부/학교 수업 2008.03.26 12:30
ㅇㅁㄴ

VI 명령어

전공 공부/학교 수업 2008.03.23 13:47

파일 편집하시다가.... 생각나는 것들 올립니다.

혹시라도 모르시는 분들.. 도움이 되셨으면..

파일 명령어도 올립니다.


기본 :

<ctrl + f > 반 페이지 다음 이동

<ctrl + b > 반 페이지 전 이동

<h>  좌로 이동. 오른쪽으로 이동은 <k>

<l> 우로 이동. 밑으로 이동은 <j>

<o> 현재 라인 밑에 줄 삽입 후 입력. 위줄에 줄 삽입후 입력은 대문자 <O>

<w> 단어순 이동. 반대는 <b>

<$> 줄 끝 이동 반대는 <^>

<a> 현재 글자 다음부터 입력. 줄의 마지막 줄부터 입력은 대문자 <A>

<yy> 현재줄 복사

예) <yy> 후 <p> 입력하면 현재줄을 복사해서 다음줄에 붙인다.

<dd> 현재줄 삭제

<3dd> 3줄 삭제 ( 삭제는 되지만 버퍼에는 있기 때문에 <p>명령으로 붙일 수 있음 move같은 개념 )


*  작업하다 실수로 이상한 줄이나 지웠을 때 <u>를 입력하면 복구.

<:w> 저장 ( 세미콜론 하고 w)

<:q!> 저장하지 않고 종료

<:x> 저장 후 종료 <:wq> 와 같은 명령임

<r> 한글자 바꿈. 계속 바꾸고 싶으면 <R>



1.  # !vi      < 전에 vi 로 열었던 문서 재편집 함, 다른 명령어에도 적용됨 ex) !ls >


2.  화면 첫줄에 "#" 표시를 넣고 싶다.

     <esc>키를 누르고 (편집모드) 넣고싶은 줄로 이동 후 세미콜론 <:> 입력

     :.,$s/^/#/g

    해설 <.> 은 현재 줄입니다. <$s>는 마지막 줄이구요. <^> 은 줄 맨 처음입니다.

    따라서 현재 줄부터 마지막 줄까지 줄의 처음을 <#> 으로 다 바꾼다는 의미입니다.

    적당히 응용 가능합니다. ^^


3. 명렁어 또는 패턴 검색

    편집 모드<esc>로 간 후에 </> 누르고 패턴을 치면 그 패턴에 대해서 검사합니다. 그 후 <n>키로 그 패턴들을 살펴볼 수 있습니다.

    <n>키는 다음 패턴으로 이동할 수 있고 <shift + n> 은 전 패턴으로 이동할 수 있습니다.


그냥 심심해서 적어 봤습니다. 정말 초보 분들만 보시구.. 도움 되셨음 합니다. ㅋ


                                                      <출처 : 네이버 지식인 >
-----------------------------------------------------------------------------------
stty erase ^H  (컨트롤 v + h ) back space가 작동됨.
script _____.txt 현재작업했던 내용이 저장됨. ctrl + d 완료.
passwd 패스워드 변경
ls -al 리스트 전체를 보여줌
mkdir 디렉토리 생성 cd는 이동
rmdir -p 순차적 삭제
cp 카피 (-r) elfprxhflRKwl qhrtk
rm -r  파일지우기
     -rf 디렉토리및 파일까지 삭제
vi 모드에서 빠져나갈때 esc + : 커맨드입력창에서 q
cat 파일 내용을 화면에 출력
cd 폴더변경 하지만 cd만 치면 홈디렉토리
head,tail 원하는 파일 앞부분 출력, 뒷부분 출력
pwd 현재경로




I 현재 커서 앞에서부터 입력 A 현재 커서 뒤에서부터 입력
H 커서를 왼쪽으로 한 칸 이동 J 커서를 아래로 한 칸 이동
K 커서를 위로 한 칸 이동 L 커서를 오른쪽으로 한 칸 이동
Crtl + F 다음화면으로 이동 Crtl + B 전 화면으로 이동
x 커서가 있는 문자 삭제 (del) X 커서가 있는 문자의 앞문자 삭제
dd 현재 커서의 행 삭제 숫자 + dd 현재 커서부터 숫자만큼의 행 삭제
yy 현재 커서가 있는 라인을 복사 숫자 + yy 현재 커서부터 숫자만큼의 행을 복사
p 복사한 내용을 현재 라인 이후에 붙여넣기 P 복사한 내용을 현재 라인 이전에 붙여넣기
/텍스트 "텍스트의 내용을 검색 n 다음 찾은 곳으로 커서 이동


티스토리 툴바