뭐, 어떤 프로그램이든지 광고 별로 상관은 안하는데 이건 쫌..

1. 뭐 이정도 광고야 그냥 스쳐가면서 봐주면 된다
근대 여기서 마우스를 올려주세요 보면 아시겠지만 -_-;;


2. 다른 작업을 하다 살짝 뒤에 있는, (창에 포커스 조차 안가있는데도 말이다!)
광고 쪽에 마우스 포인터가 스치게 되면..
젠장 맞을 갑자기 모든 창 위에 뜨는 커다란 광고 -_-..
!! 화들짝 놀라고서 하던 작업에 지장있는 것 뿐만 아니라...
마우스를 다른 곳으로 옮겨도 없어지지 않는 저 광고 -_-;;
항상 위로 나타나 불편하기 짝퉁머리 없음...
딴거 클릭할려다 스친거라면 닫기 전에 클릭을 못하는 경우도 발생;
게다가, 닫기 버튼도 요상 망측하게 생겨서 닫다기 광고 클릭됨;
이정도 되면 그냥 에메쎈 메신저를 꺼 버리고 싶어질 정도다 -_-


3. 그래서 이 프로그램을 깔아서 지워버렸음 /성공성공/



4. 사용한 프로그램은 이거당 (프로필중에 젤 마지막껄루 했다 걍ㅋ)


최신 버전은 http://www.mess.be/ 로 가시면 있고, 물론 출처도 동일.

'Computer > Windows' 카테고리의 다른 글

Windows Server 2003 기술자료  (0) 2007.04.24
IE Developer Toolbar  (2) 2006.11.06
AND

사회 공학 기법의 공격 흐름

사회 공학 기법을 사용하는 공격자는 공격 대상이 되는 특정 인물을 선정하였다면 다음과 같은 흐름으로 사회 공학 기법의 공격을 진행하게 된다.

1) 정보 수집(Information Gathering)

공격자는 제일 먼저 공격 대상과 관련된 가족 관계, 직장 생활 그리고 사회 모임 등의 개인적이거나 사회적인 활동 등과 관련된 다양한 정보들의 수집을 시도하게 된다. 공격자는 이 단계에서 수집한 다양한 정보들을 다음 단계인 관계 형성(Developing Relationship)을 위해서 사용하게 된다. 일반적으로 공격자는 공격 대상과 관련된 정보들을 수집하는 기법들은 다음과 같이 나누어 볼 수 있다.

- 직접적인 접근(Direct Approach)
공격자는 공격 대상 또는 공격 대상과 관련된 사람들에게 직접적으로 접근하여 관련된 정보들을 알아내는 방법을 이야기한다. 이 방법은 공격자가 공격 대상 또는 공격 대상과 관련된 주위 인물들을 직접 방문하여 우회적인 질문을 통하여 공격 대상의 개인적이거나 사회 활동 등과 관련된 다양한 정보들을 파악하는 방식이다.

- 어깨너머로 훔쳐보기(Shoulder Surfing)
공격자는 공격 대상의 주위에서 직접적인 관찰을 통하여 그가 기업 내에서 수행하는 업무 내역과 전화 통화 내역 등을 어깨 너머로 훔쳐보면서 공격 대상과 관련된 정보들을 수집하는 방식이다.

- 휴지통 뒤지기(Dumpster Diving)
공격자는 공격 대상이 가정 또는 직장에서 무심코 버리는 메모지, 영수증 또는 업무 중 생성한 문건 등 공격 대상과 관련된 문서들을 휴지통에서 수거하여 유용한 정보들을 수집하는 방식이다.

- 설문 조사(Mail-outs)
공격자는 공격 대상의 관심을 끌만한 사항을 설문지로 작성한 후 이 설문조사를 통하여 공격 대상의 개인적인 취미, 흥미 사항, 가족 사항과 관련된 개인 정보들과 함께 동호회 활동과 같은 사회적인 활동과 관련된 다양한 정보를 수집하는 방식이다.

- 시스템 분석(Forensic analysis)
공격 대상이 사용하는 컴퓨터 시스템에 공격자는 직접적이거나 간접적인 접근을 통하여 해당 컴퓨터 시스템에 존재하는 공격 대상의 작성한 다양한 문서들 그리고 웹 사이트 방문 기록 등 온라인상에서의 활동과 관련된 다양한 정보들을 수집하는 방식이다.

- 인터넷(Internet)
인터넷에 존재하는 다양한 검색 엔진(Search Engine)을 이용하여 인터넷에 존재하는 공격 대상과 관련된 개인적인 정보 및 사회 활동과 관련된 다양한 정보들을 수집하는 방식이다.

2) 관계 형성(Developing Relationship)

1 단계인 정보 수집 단계에서 공격자는 공격 대상과 관련된 다양한 정보들을 충분히 수집하였다고 판단할 경우, 공격자는 이제 공격 대상과 직접적인 관계를 형성하기 위해 2 단계인 관계 형성(Developing Relationship) 단계로 발전하게 된다.
앞서 이야기한 바와 같이 사회 공학 기법의 인간 기반(Human Based) 또는 컴퓨터 기반(Computer Based)의 수단 들을 공격자는 적절하게 활용하여 공격 대상에게 접근하게 된다. 이 관계 형성 단계에서는 사회 공학 기법에서는 절대 빼놓을 수 없는 가장(假裝, Masquerade)이라는 것이 공격자에 의해 발생하게 된다.
가장(假裝, Masquerade)이라는 의미 자체에서 알 수 있듯이 공격자는 공격 대상에게 자신의 본 모습을 숨기고 다른 누군가로 위장하여 접근하게 된다. 이렇게 다른 누군가로 가장(假裝, Masquerade)하여 공격 대상에게 접근하는 것은 공격 대상이 가질 수 있는 경계심을 없애고 신뢰할 수 있는 사람이라는 신뢰감을 형성하기 위한 것이다. 이 신뢰감을 바탕으로 공격자는 자신이 가진 특수한 목적을 달성하기 위한 사항을 다음 단계인 공격(Exploitation)에서 요청하게 된다.
이 관계 형성 단계에서는 앞서 설명한 바와 같이 공격자는 공격 대상에게 믿을 수 있는 사람이라는 신뢰감을 심어주기 위해서 일반적으로 다음 유형의 인물들로 가장(假裝, Masquerade)하게 된다.

- 중요한 인물(Important User)
공격자는 공격 대상의 직장 상사나 정부 기관의 고위 공무원 등으로 위장한다. 공격 대상은 공격자의 이러한 가장(假裝, Masquerade)으로 인해 그가 요청하는 사항을 쉽게 거부하거나 거절하지 못하게 된다.

- 도움이 필요한 인물(Helpless User)
공격자는 공격 대상의 도움을 절대적으로 필요로 하는 인물로 위장한다. 이로 인해 공격 대상은 자신이 아니면 공격자를 도와 줄 사람이 없음으로 자신이 반듯이 도와주어야만 한다고 생각하게 된다.

- 지원 인물(Support Personnel)
공격자는 공격 대상의 기업 내, 외부의 컴퓨터 시스템 또는 관공서 등의 지원 부서 인물로 위장한다. 이러한 위장으로 인해 공격자는 공격 대상에게 현재 심각한 문제가 있음을 알리고 이를 해결하는데 자신이 도움을 줄 수 있는 인물로 묘사하게 된다.

- 역 사회 공학(Reverse Social Engineering)
앞서 설명한 방식과는 조금 다른 접근 방식인 역 사회 공학이라는 기법이 있다. 가장(假裝, Masquerade)을 이용한 기법에서 공격자는 모두 공격 대상에게 도움을 요청하는 인물들로 위장하는 것이 일반적인 유형이다. 하지만 이 역 사회 공학 기법은 공격자가 공격 대상이 모르게 미리 특정한 문제를 유발시킨 후 공격 대상이 자발적으로 공격자에게 도움을 요청하도록 만드는 기법이다. 이 기법을 통해서 공격자는 공격 대상이 가지고 있는 특정 문제를 해결함으로써 공격 대상에게 공격자 자신을 도움을 준 신뢰할 수 있는 좋은 사람으로 쉽게 판단할 수 있게 만든다.

3) 공격(Exploitation)

세 번째 단계인 공격(Exploitation)은 공격자가 수집한 다양한 정보들을 바탕으로 공격 대상과 충분한 신뢰감을 형성하였다고 판단 할 경우에 진행하게 된다. 특히 이 세 번째 단계로 넘어가기 위해서는 공격자 자신을 공격 대상이 더 이상 의심하지 않는다는 판단이 중요하게 작용하게 된다.
이러한 신뢰 관계가 충분히 형성이 되면 공격자는 자신의 특수한 목적을 이룰 수 있는 사항을 공격이라는 단계에서 공격 대상에게 요청하게 된다. 이 단계에서 공격자는 일반적으로 다음과 같은 형태를 보임으로서 공격 대상으로 하여금 자신이 요청한 사항을 쉽게 거부하지 못하도록 한다.

- 의견 대립 회피
공격자는 공격 대상에게 자신의 특수한 목적을 위한 행동을 요청할 때 공격 대상이 지적하거나 이야기하는 사항 등에 대해서 적절한 동의를 보여 공격 대상과는 다른 의견으로 인해 대립과 충돌이 발생하지 않도록 한다. 그럼으로써 공격자 자신이 요청한 사항에 대해서 공격 대상이 거부를 하지 않고 긍정적으로 수긍할 수 있는 상황을 연출하게 된다.

- 사소한 요청에서 큰 요청으로 발전
공격자는 공격 대상에게 처음부터 자신이 가지고 있는 특수한 목적에 부합하는 사항을 요청하지 않고 공격 대상이 느끼기에 사소한 문제라고 판단되는 작은 사항부터 요청하여 동의를 구하게 된다. 그 이후 점진적으로 큰 요청 사항을 이야기하여 공격 대상이 쉽게 거절하지 못하는 상황을 연출하게 된다.

- 감정에 호소
공격자는 공격 대상에게 자신의 어려운 상황을 이야기함으로써 공격 대상이 측은지심(惻隱之心)과 같은 감정을 느끼도록 만든다. 공격 대상 스스로가 자신이 아니면 공격자의 어려운 문제를 해결 해줄 수 없다는 연민의 감정으로 인해 공격자의 요청 사항을 수락하는 상황을 연출하게 된다.

- 신속한 결정
공격자는 공격 대상에게 자신의 특수한 목적을 수행할 요청 사항을 이야기할 때 의견이 대립되거나 다른 문제가 발생 할 경우, 신속하게 공격 대상과 타협을 하거나 양보를 한다. 공격자는 절대 무리하게 요청 사항을 요구하여 공격 대상과 의견이 대립되는 어려운 상황을 연출하지는 않는다.

4) 실행(Execution)

마지막 실행(Execution) 단계에서 공격 대상은 공격자가 요청한 사항에 대해 직접적인 실행으로 옮김으로써 이로 인해 실질적인 피해가 발생하게 된다. 그리고 공격자는 요청 사항으로 인해 확보한 유형의 또는 무형의 자신을 이용하여 실질적인 목적을 수행할 수 있게 된다. 이렇게 공격자의 요청을 수락하는 공격 대상은 대부분이 다음과 같은 상황으로 기인한다.

- 책임 회피
공격 대상은 공격자의 요청 사항을 수행하지 않을 경우에 자신에게 유형의 또는 무형의 어떠한 책임이 발생하게 될 것으로 생각하게 된다. 이로 인해 공격 대상은 공격자의 요청 사항을 수락하고 실행하게 된다.

- 보상 심리
공격 대상은 공격자의 요청 사항을 수행할 경우 자신에게 유형의 또는 무형의 어떠한 대가를 받게 될 것으로 판단하게 된다. 이로 인해 공격자의 요청 사항을 긍정적으로 수락하고 적극적으로 실행하게 된다.

- 도덕적 의무감
공격 대상은 공격자의 요청 사항을 수행하지 않음으로 인해 스스로의 양심적 가책을 받을 수 있다고 판단하게 된다. 이러한 도덕적 의무감으로 인해 공격자의 요청 사항을 수락하고 도와주게 된다.

- 사소한 문제
공격 대상은 공격자의 요청 사항이 아주 사소한 문제임으로 이를 수락하고 수행하더라도 크게 심각한 문제가 발생하지 않을 것이라고 쉽게 판단하게 된다. 그로 인해 쉽게 공격자의 요청을 수락하고 실행 하게 된다.


[저자] 안철수연구소 ASEC 장영준 주임연구원

[안철수연구소 2007-04-24]

다소 잊고 지냈지만 항상 즐겼던 한마디가 있다..

세상의 모든 일들이 다 이루어지기 위한 전제 조건이 있듯이..

전혀 문제 없는 권한은 치명적 권한을 위한 발판...

'Computer > 속임의 정체' 카테고리의 다른 글

RSA 알고리즘 - 본론  (0) 2007.02.15
RSA 알고리즘 - 서론  (10) 2007.01.11
AND

'Computer > Windows' 카테고리의 다른 글

MessPatch G5 8.1178 (MSN 메신저 광고 제거)  (4) 2007.05.04
IE Developer Toolbar  (2) 2006.11.06
AND

우분투 리눅스서 비프음을 없애려 노력하다가 찾은 방법.

아래 방법을 쓰면 모든 프로그램의 비프음이 사라진다고 한다 -.-zz

vi 나 vim 등으로 /etc/profile 파일을 열어서 다음을 추가한다.

echo -ne '\033[11;0]'

신경쓰이고 특히 주변사람들에게 눈치보이는 비프음.. 간단하게 제거되었습니다 -_-bb

'Computer > UNIX and LINUX' 카테고리의 다른 글

우분투 (Ubuntu) 6.10 서버 (Server) - 네트워크 설정.  (0) 2007.04.24
메일 포워딩 세팅  (1) 2006.10.10
Sound Programming  (0) 2006.09.15
AND

오늘은 우분투를 설치하였습니다

페도라나 레드햇 같은 것만 계속 쓰다가 데비안쪽을 쓰니 햇갈리는게 많이 있네요 -.-;;

특히, 서버 버전은 GUI가 없더러군요 -.-;;


고정아이피 설정입니다 :]

azki@ubuntu:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
       address xxx.xxx.xxx.78
       netmask 255.255.255.0
       network xxx.xxx.xxx.0
       broadcast xxx.xxx.xxx.255
       gateway xxx.xxx.xxx.1

물론 주소는 상황따라 다르겠지염 (ethX 도.)

DNS 설정은 다음과 같이 합니다 (/etc/resolv.conf 은 처음에 없어서 만들어서 사용하였음.)

azki@ubuntu:~$ cat /etc/resolv.conf
nameserver xxx.xxx.xxx.1
nameserver xxx.xxx.xxx.1

물론 상황에 따라 마음대로, 예를 들면 Kornet의 주소인 168.126.63.1 과 같은 주소.


참고로 DHCP 를 사용한다면.. (유동아이피.)

/etc/network/interfaces 는 이렇게..

auto lo
auto eth0
iface lo inet loopback
iface eth0 inet dhcp

/etc/resolv.conf 는 DHCP 클라이언트가 알아서 해주므로 안해두 된다.

DHCP 클라이언트 설치는

# apt-get 사용시 -
apt-get install dhcp-client
# aptitude 사용시 -
aptitude install dhcp-client

(dhcp-client 가 설치된 경우 실행가능한 명령 'dhclient' 가 부팅시 네트워크 데몬에 의해 실행됨)

기타:
1. 랜카드 감지 확인은 'dmesg' 로 가능.
2. 설정 적용은 '/etc/init.d/networking restart' 나 'ifdown' 후 'ifup' 으로 가능.

'Computer > UNIX and LINUX' 카테고리의 다른 글

리눅스 비프(linux beep)음 제거  (2) 2007.04.24
메일 포워딩 세팅  (1) 2006.10.10
Sound Programming  (0) 2006.09.15
AND

int b (int * a) { return ++(*a); }

int main(int argc, char* argv[])
{
int a = 55;
printf("Hello arguments! 1 : a, b(&a)\n%%0: %d\n%%1: %d\n", a, b(&a));
printf("Hello arguments! 2 : b(&a), a\n%%0: %d\n%%1: %d\n", b(&a), a);
return 0;
}
AND

요새 난 정신없는 javascript 질을 하고 있는중
나의 동반자 prototype 과 함께.. FF vs IE 와 Opera, Netscape.. 전전긍긍-_-..
지나간 이야기이지만, 그냥 삽질 했던 것 자취를 남긴당
참고로 테스트 환경은 다음과 같다 =_=
Firefox 2.0, Internet Explorer 6.0, Opera 8.5, Netscape 8.1 - on windowsXP


DOM 에서 뭔가 엘리멘트를 만들때 이런 것을 주로 쓴다

createElement(String tagName) : static HTML Element

예를 들면 다음과 같다

var testInputElement = createElement('input');

그리고 속성들을 지정할때는
testInputElement.value = 'korea';
testInputElement.type = 'text';
등과 같이 Element 의 멤버들에 접근하면 된다. (setAttribute 를 이용해도 되고)
이렇게 한 결과는 다음과 같다
<input value='korea' type='text'>

암튼 문제는 이런 것이다..
원래 라디오 버튼 사용은 다음과 같이 한다
<input type='radio' name='onandoff' value='on'>
<input type='radio' name='onandoff' value='off'>

위와 같이 name 속성을 똑같은 것으로 지정하면 서로 관계를 갖게 되고, 베타적으로 작동(선택)을 할 수 있다

여기서, 위의 라디오버튼들을 생성해보자 (createElement 를 이용해서)

var radio1 = document.createElement('input');
var radio2 = document.createElement('input');
radio1.type = radio2.type = 'radio';
radio1.name = radio2.name = 'onandoff';
radio1.value = 'on';
radio2.value = 'off';

자 댔다 ㅋㅋ (조심해서 썼으나 틀렸을 수도 있음)

근대 문제가 있다 IE에서!
FF에서는 전혀 문제가 없다 (물론 그를 기반한 넷츠도 문제 없고 오페라 물론 괜찮다)
이상하게도 IE에서는 radio 버튼 생성을 저런식으로 하면 안된다
type 속성까지는 적용되지만 name 속성을 적용한 것이 동작하지 않는다 (일시적인 문제인 것인지 확인해 보기 위해 다른 이벤트를 동작시켜서 name 속성을 변경시켜봤지만 마찬가지였다)
실제로 appendChild 등을 통해 화면에 뿌려보면 name 없는 radio 버튼 처럼 작동을 한다
(베타적인 선택을 하지 못할 뿐만 아니라 아예 선택이 되지 않는다)

MSDN에 따르면, 우리는 이런식으로 라디오 버튼을 생성해야만 한다

var radio1 = document.createElement("<input type='radio' name='onandoff' value='on'>");
var radio2 = document.createElement("<input type='radio' name='onandoff' value='off'>");

오, 뭔가 이런식으로도 만들 수 있구나.. 앞으로도 그냥 이런식으로 만들면 되겠구나.
라고 생각했었다 처음엔..
물론 다른 엘리멘트들도 이런 식으로 생성이 가능하다.
그런데 문제는.
W3C DOM 스펙에 맞지 않는다는 것이다

The W3C DOM spec is supposed to be "the name of the element type to instantiate" (e.g., createElement('input'))

심지어 FF에선 작동하지 않고

Raises an INVALID_CHARACTER_ERR error if the specified name contains an illegal character.

throw 한다..

이밖에 IE..에 실망한 많은 경우들을 열거하면서 불평하고 싶지만.. 일단 해결책을 찾아보자.

내가 이 문제에 대해 사용햇던 방법은 다음과 같다 (try ~ catch)

try {
  var radio1 = document.createElement("<input type='radio' name='onandoff'>");
  var radio2 = document.createElement("<input type='radio' name='onandoff'>");
}
catch (e) {
  var radio1 = document.createElement('input');
  var radio2 = document.createElement('input');
  radio1.type = radio2.type = 'radio';
  radio1.name = radio2.name = 'onandoff';
}
radio1.value = 'on';
radio2.value = 'off';

음 FF, IE, Opera, Netscape에서 제대로 동작하는걸 확인했는데
버전 따라서 안될지도 모르겠고, Safari에서는 확인해보지 못했다.
다른 방법으로는 애초에 appendChild 메소드를 사용 안하고 innerHTML 속성을 사용하는 방법도 있다


ps. 여담이지만..
radio button 속성중 베타적 선택을 가능케하는 name 이 없을 경우..
각각의 브라우저가 다르게 반응한다 -.-
IE6: 위에도 적었지만 아예 선택(checked)자체가 되지않는다
FF2: 한개 한개 다르게 선택이 된다, 즉 4개를 만들면 4개다 선택이 가능하다.
Opera8: 마치 name이 없는 것으로 그룹화된 것 처럼 정상적으로 베타적 작동(선택)을 한다

AND

저번 서론에 이어 본론을 설명한닷 ㅇ_ㅇ

사실 필자의 수학 공부가 부족하고 배껴 넣기도 귀찮아서 알고리즘의 증명따위는 그냥 넘긴다
그러나 알고 싶은 분들을 위한 링크를 남기겠다
http://wizpia.com/documents/security/guardian4.html


증명을 다 넘기고 과정을 보면 다음과 같다

두개의 소수를 p, q를 구하고서

(p-1)*(q-1) 과 서로소인 수 e를 하나 구한다 이것을 공개키 e라 부르자.

그리고 (e * d) - 1 mod (p-1)*(q-1) = 0 인 d를 구한다. 이것을 비밀키 d라고 하자.

여기에서 왠지 모를 정리에 의해

암호화시킬 코드의 e 제곱을 (p*q)로 나눈 나머지 값과 (p*q)값, 그리고 비밀키 d로 암호화 시킬 코드를 복호화할 수 있다.

즉, 우리가 암호화 할 코드를 n 이라 하고,

ne승을 p곱하기 q로 나눈 나머지 값을 m이라 하자

그럼, m의 d승을 p곱하기 q로 나눈 나머지 값이 n이 되는 것이다


정리해보자

일단 p*q 값(p곱하기q)은 복잡하므로 이를 r이라고 부르겠다.

암호화에 필요한 것은 원래 값 n 그리고 공개키 e값과 r값. 그래서 나온 암호문이 m.

복호화에 필요한 것은 암호문 m과 그리고 비밀키 d값과 r값. 그래서 나온 복호문이 n.

상당히 간단하다 일단 단순한 숫자 암호를 암호화하고 복호화하는 것에 몇라인 들어가지않는다

crypt(n, e, r) { return (n^e) mod r; }
decrypt(m, d, r) { return (m^d) mod r; }

물론, 실제로 적용하자면 키 생성부분과 전송하는 부분과 암호화할 데이터를 블럭화하거나.. 어째꺼나 많이 늘겠지만, 원리는 위와 같이 간단하다.


암호의 쓰임새는 서론에서 말했었던거 같다. 음 예제까지 정리하기는 귀찮고..

그냥 몇가지 아마 예제를 구현하며 공부할 사람에게 필요 할지도 모르는 것들을 올려놓겠다..


RSA 알고리즘
꽤나 자세히 설명되어 있다. 웹에 찾아보면 많은데 다 거기서 거기인듯 하다. 나름 수학기호도 깔끔히 되어있다.
http://wizpia.com/documents/security/guardian4.html

RSA 암호 연습
실제로 자바스크립트로 간단한 RSA 암호화-복호화 과정을 실습해 볼 수 있어서 막막하다 싶을때 끄적거리기 좋다. 살짝 예외처리가 안되있는 경우도 있지만 잘 구현해 놓은 것 같다. 다 거기서 거기인 평범한 글로 설명되어 있는 보통의 사이트들과 사뭇 다른 사이트.
http://cissoft.dju.ac.kr/amho/sub/training/rsa.html

BIG_INT_LIB

큰 수를 다루도록 해준다
제곱 연산을 하는만큼 엄청 큰수에 대한 연산이 필요할 수도 있다
사실 글 쓴 녀석은 빅인트 라이브러리에서 제공하는 big_int_powmod() 함수를 이용해 제곱과 모듈러를 구현했다.
http://valyala.narod.ru/big_int/

RSA 키 생성기

조금 버벅이기는 하지만 잘 만들어지는 것 같다
http://hc.pe.kr/

소수 모아논 헤더

그다지 쓸 모 없어 보이긴해도 간단한 용도로나 예제같은걸 해보는데에 쓸만할지도..



서론가기
http://2.azki.org/117

'Computer > 속임의 정체' 카테고리의 다른 글

사회 공학 기법의 공격 흐름 (Social Engineering)  (0) 2007.04.26
RSA 알고리즘 - 서론  (10) 2007.01.11
AND

요새 공부한.. 공부하고 있는 알고리즘 ' '
대략 간단한 '유클리드 호제법'(Euclid's Algorithm), '페르마의 소정리'(Ferma's Little Theorem) 등을 이용한 소위 매우 간단한 알고리즘.
간단히 설명하면 암호화하는 키와 복호화하는 키가 다른 암호화 방식이랄까..

매우 매력적이다
특히 네트워크 상에서 누군가 패킷을 스니핑 한다 해도 소용이 없다
상당히 재미있다 혹시 모르시는 분들을 위해 설명을 간단히 하고 넘어가겠다

A 와 B 가 있다.
A 는 B 에게 뭔가 암호화된 중요한 자료를 주고 싶다.
A 는 B 에게 키를 달라 한다.
B 하나의 키 쌍을 만들어 암호화 할 수 있는 키를 A 에게 준다. (한 쌍 == 암호화키 + 복호화키)
A 는 B 에게 받은 키를 이용해 자료를 암호화 시킨다.
A 는 암호화 된 자료를 B에게 보낸다.
B 는 받은 암호화된 자료를 아까 자신이 만들었던 키 쌍중 복호화를 위한 키를 사용해 복호화한다

여기서 주고 받은 것을 정리해 보면 다음과 같다
A -> B : 키를 달라는 요청
B -> A : 암호화를 위한 키
A -> B : 암호화된 자료
즉, 복호화를 위한 키가 공개되지 않으므로 B외에는 이 암호화를 풀 수 없다.

근대 한가지 짚고 넘어갈 것이 있다
RSA 말고 다른 수학적 방법들로도 암호화를 위한 키와 복호화를 위한 키를 따로 만들 수 있다
그런데 왜 사용을 않는가??
암호화를 위한 키를 이용해 복호화를 위한 키를 추측할 수 있기 때문이다.
예를 들어 +1 이란 키가 암호화키였다면 복호화키는 -1 이 되는 거다
이것은 알고리즘이 공개되어있기 때문에 당연한 일이다
그런데.. 왜 RSA는 강력하다 하는가??
이는 키를 만드는 방식에 있다 (== 이 말의 뜻이 결국 알고리즘의 전체를 표현하는거겠지만ㅋ)

'Computer > 속임의 정체' 카테고리의 다른 글

사회 공학 기법의 공격 흐름 (Social Engineering)  (0) 2007.04.26
RSA 알고리즘 - 본론  (0) 2007.02.15
AND

툴바 개발 자료를 찾다가.. 찾은 유용한 툴바 =_=..

디벨로퍼나 디자이너님들께 매우 유용할 듯 보인다

http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en#Overview


간단한 기능들을 캡쳐해봤다 (이것 외에도 많은 강력한 기능들이 있어요~)

View DOM


View (Class and ID infomation, Link Paths, Tan Indexs 등등)


Outline (Table Cells, Tables, DIV elements, Images 등등)


Show Ruler




ps. 우클릭이 안대는 사이트들 이미지 퍼갈때도 유용할듯한..

'Computer > Windows' 카테고리의 다른 글

MessPatch G5 8.1178 (MSN 메신저 광고 제거)  (4) 2007.05.04
Windows Server 2003 기술자료  (0) 2007.04.24
AND