*현*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 2
검색어 입력폼
  • [영상처리] VC로 만든 N8 Connectivity (연결성) 알고리즘 소스 평가A좋아요
    ..FILE:사용 설명서.txt### N8연결성 탐색 알고리즘 ###과 목 : 영상처리교수님 : 이규원 교수님학 과 : 컴퓨터통신전자공학부학 번 : 9684044이 름 : 육현수N8연결성 탐색 알고리즘 사용 설명서..@ 메뉴 @# File- New : 빈 영역의 이미지를 만든다..크기는 8x8, 16x16, 32x32, 64x64 중 선택- Open : 파일로 저장된 이미지 데이타를 불러온다.- Save : 화면에 만든 이미지를 파일로 저장한다.- Clear : 화면이 지우거나, 점들로 가득 채운다.- Exit : 프로그램을 종료한다.# Basic- N8연결성 : N8방식으로 이웃점들을 탐색하여 결과를 보여준다..- N8연결성(Demo) : N8방식으로 이웃점들을 탐색하고,어떻게 탐색을 했는가를 화면에 보여준다..- Default Image : N8방식에 쓸 수 있는 기본 이미지를 불러온다.단, 같은 폴더에 Default??.txt 파일이 존재해야 한다.# Help- Help : 간단한 설명이 나온다.- About : 제작자 설명이 나온다.@ 클라이언트 영역 @N8연결성(Demo)를 선택해 시연중이 아니라면 언제든지..마우스 왼쪽 버튼으로 점을 찍을 수 있고, 마우스 오른쪽 버튼으로 점을 지울 수 있습니다.그리고, 만들어진 이미지를 Save메뉴를 이용해 저장도 할 수 있습니다.@ 데모 시연 @Basic / N8연결성(Demo)를 눌러 어떻게 탐색 되었는지를 보여줍니다.. (보여주기 속도 선택)시연중 시연을 마치려면 마우스 오른쪽 클릭을 누르면 됩니다.* 주의 데모는 127x127이하의 이미지 크기와 127개 이하의 오브젝트를 갖는 이미지에서만보여주기가 가능합니다..@ 이미지 화일 구조 @EX) Default16.txt16 : 이미지의 X축 길이입니다.16 : 이미지의 Y축 길이입니다.0000000000010000 : 0번째 라인0000010000100000 : 1번째 라인*************011 :0**************************10000///BOOL CConnectivity::GetPixel(int &x, int &y, int tIndex){if(tIndex=dwLastIndex) return FALSE;x=pwListX[tIndex];y=pwListY[tIndex];return TRUE;}//////////////////////////////////////////////////// 해당점이 몇번 오브젝트인지를 반환// 반환 : FALSE -> 오브젝트 탐색 이전..// 이미지를 벗어난 좌표값// TRUE -> 반환 성공//////////////////////////////////////////////////BOOL CConnectivity::CheckPixel(int &tObject, int x, int y){int tOffset;if(pdwListObject == NULL) return FALSE;if(x=wSizeX || y=wSizeY) return FALSE;tOffset=(wSizeX*y)+x;if(pdwIndexMatrix[tOffset]==0) return FALSE;tObject=pdwListObject[tOffset];return TRUE;}////////////////////////////////////////////////////////////////////////// 시연을 위해 만들어진 멤버들... DEMO DEMO DEMO DEMO DEMO DEMO //////////////////////////////////////////////////////////////////////////// CSqList 클래스는 외부에서 초기화 되어 있어야 한다..int CConnectivity::StartDemo(CSqList *DEMO,short x, short y,unsigned char *Image){int tIndex,to;Empty();wSizeX=x;wSizeY=y;dwObjectNumber=0;dwLastIndex=1; // 주의 : 0번은 쓰지 않음...tIndex=x*ort,unsigned char*); // 오브젝트 탐색 루틴void RasterScanDemo(CSqList *,unsigned char*); // 레스트 스캔 루틴(데모)BOOL SearchDemo(CSqList*,short,short,unsigned char*); // 오브젝트 탐색 루틴(데모)};#endif..FILE:Default16.txt161600000*************00*************0001*************01*************0**************************11*************0000*************110001**************************1*************00110000*************0**************************1*************1111100000*************0..FILE:Default32.txt3232000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000*************000000000000000000*************000111000000000000*************0001100000000000000*************011000000000000000*************001*************000*************0*************00000*************110000000000000**************************0000**************************00000*************0*************00000*************0*************00000*************00*************0000*************000*************000*************00000000000000000000000000000*************0000*************000000000000000000000000000000000000*************0*************011000000000000000000000000000*************0111100*************0110000000000000000000000000000*************000111*************0110000000000000000000000000000000*************0011*************01000000000000000000000000000000000*************00*************010000000000000000000000000000000000*************00*************0000000000000000000000000000000000000**************************000000000000000000000000000000000000000000000000*************000000000000000000000000000000000000000000000000000*************0000000000000000000000000000000000000000000000000000*************000000000000000000000000000000000000000000000000000*************00000000000000000000000000000000000000000000000000*************000000000000000000000000000000000000000000000000000*************000000000000000000000000000000000000000000000000000*************0000000000000000000000000000000000000000000000000 내부라면 Offset을 반환한다..if(CheckBlock(tOffset,x,y)){// 이미지에 점이 있는 위치라면 점을 제거한다..if(IMAGE[tOffset] == 1){IMAGE[tOffset]=0;ObjectImage[tOffset]=10;InvalidateRect(hWnd, NULL, FALSE);}}break;case WM_MOUSEMOVE: // 마우스를 움직였다면..if(TimerFlag) break; // 타이머가 작동중이라면 작동 안함// 움직인 위치를 받아온다..x=LOWORD(lParam);y=HIWORD(lParam);// 마우스를 움직인 곳이 이미지 내부라면...if(CheckBlock(tOffset,x,y)){switch(wParam){case MK_LBUTTON: // 왼쪽 버튼을 누른상태로 이동중이라면// 주석은 LBUTTONDOWN과 동일.. 0 -> 1if(IMAGE[tOffset] == 0){IMAGE[tOffset]=1;ObjectImage[tOffset]=11;InvalidateRect(hWnd, NULL, FALSE);}else if(ObjectImage[tOffset] != 11){ObjectImage[tOffset]=11;InvalidateRect(hWnd, NULL, FALSE);}break;case MK_RBUTTON: // 오른쪽 버튼을 누른상태로 이동중이라면..// 주석은 RBUTTONDOWN과 동일.. 1 -> 0if(IMAGE[tOffset] == 1){IMAGE[tOffset]=0;ObjectImage[tOffset]=10;InvalidateRect(hWnd, NULL, FALSE);}break;}}break;// 종료 메시지 처리부분case WM_DESTROY:// 타이머가 동작중이었다면 타이머 제거..if(TimerFlag) KillTimer(hWnd,IDT_DEMO);Remove(); // 클래스 및 변수 제거PostQuitMessage(0);return FALSE;}return DefWindi
    공학/기술| 2002.10.16| 3페이지| 1,000원| 조회(560)
    미리보기
  • [통신보안] VC++로 짠 Simple DES 소스 평가A+최고예요
    단순DES 알고리즘9684044 / 육현수1. 문 제Simple DES를 프로그램으로 구현하라.2. 문제 정의/분석? S-DES의 암호 알고리즘은 8비트의 평문 블록과 10비트의 키를 입력으로 취하여 8비트의 암호문 블록을 출력한다.? S-DES의 복호 알고리즘은 8비트의 암호문 블록과 그 암호문 생성에 사용되었던 10비트 키를 입력으로 취하여 원래의 8비트 평문 블록을 출력으로 생성한다.? S-DES를 암호화 알고리즘을 구현하기 위해서는 대략 아래와 같은 함수들이 있어야 한다.? 초기순열(IP) : 데이터 내부의 비트들의 순서를 바꾼다.? fk : 순열과 치환을 포함하고 키 입력에 의존한다.? SW : 데이터의 두 절반 부분을 상호 교환하는 간단한 순열 함수? 역순열 함수(IP-1) : 초기순열의 역3. 알고리즘에 대한 설명? 서브키 생성 알고리즘1) 10비트의 키를 입력받아, 초기순열에 넣어 자리배치를 바꾼다.P10 (k1,k2,k3,k4,k5,k6,k7,k8,k9,k10) = (k3,k5,k2,k7,k4,k10,k1,k9,k8,k6)2) 10비트의 키를 상위 5비트와 하위 5비트로 나누어 각각을 왼쪽으로 Rotate 한다.3) 10비트 중 8비트만을 골라서 치환한다.P8 (6,3,7,4,8,5,10,9)4) P8로 치환한 값을 서브키(K1)로 한다.5) 2)번에서 생성된 결과를 상위 5비트와 하위 5비트로 나누어 각각을 왼쪽으로 2비트만큼 Rotate 한다.6) 10비트 중 8비트만을 골라서 치환한다. (P8)7) P8로 치환된 두 번째 값을 서브키(K2)로 한다.? 암호화 알고리즘1) 8비트의 데이터를 초기순열(IP)에 넣어 자리를 바꾼다.IP (2,6,3,1,4,8,5,7)2) 함수 fk에 넣는다.(1) 8비트중 상위 4비트, 하위 4비트로 나눈다.(2) 상위 4비트를 확장순열 한다.E/P (4,1,2,3,2,3,4,1)(3) 확장순열 결과와 K1을 XOR연산한다.(4) 다시, 상위 4비트와 하위 4비트로 나누어 S-Box의 S0, S1에 넣는다.① S-Box는 입력된 4비트중 1번째와 4번째 비트는 S박스의 행 번호를 표시하기 위한 2비트 숫자로 취급, 2번째와 3번째 비트는 S박스의 열을 표시하기 위한 2비트 숫자로서 취급한다.S0 =S1 =② S0은 하위, S1은 상위 비트에 적용한다.(5) S-Box에서 나온 4비트와 (1)번의 하위 4비트를 XOR연산한다.3) fk에서 나온 8비트를 스위치 함수에 넣어 상위 4비트와 하위 4비트를 바꾼다.4) fk함수에 다시 8비트 값을 넣는다. (단, 이번엔 서브키(K2)를 적용한다.)5) fk에서 나온 8비트를 역순열(IP-1) 해주면 암호화가 완료된다.IP-1 (4,1,3,5,7,2,8,6)? 복호화 알고리즘1) 암호문 8비트를 초기 순열(IP) 처리해준다.2) fk함수에 넣는다. (서브키 K2로 해준다.)3) 스위치 함수에 넣어 상위 4비트와 하위 4비트를 바꾼다.4) fk함수에 넣는다. (서브키 K1으로 해준다.)5) 역순열(IP-1)을 해주면 평문이 만들어진다.4. Flow Chart? 암호화? 복호화초기순열(IP)fk함수(k1)상위 4비트와하위 4비트를 바꿈fk함수(k2)역순열(IP-1)모든 문자열 변환YesNo시 작종 료초기순열(IP)fk함수(k2)상위 4비트와하위 4비트를 바꿈fk함수(k1)역순열(IP-1)모든 문자열 변환YesNo시 작종 료5. 데이터 구조? Main1) 사용한 변수char InText[101]: 사용자에게서 입력받은 문장을 저장하는 변수char EncText[101]: 입력한 변수를 암호화한 데이터를 저장하는 변수char OutText[101]: 암호화된 데이터를 평문으로 바꾼 문장을 저장하는 변수2) 사용한 함수void MakeBin(char *Out, char *In, int Size)입력한 문자들의 바이너리 값으로 보여주기 위해 만든 함수? CSDes 클래스1) 멤버변수short Key1: 서브키(K1)을 저장한다.short Key2: 서브키(K2)를 저장한다.bool KEY_SET: 키를 설정해 주었는지를 기억한다.2) 멤버함수void SetKey(short Key)? 암호화 혹은 복호화 할 때 쓰일 킷값을 설정할 때 쓴다.charEncryption(char Data)boolEncryption(char *Out, char *In, int Size)? 암호화 해주는 멤버로 위의 것은 한 문자단위, 아랫것은 문자열 단위로 암호화 한다.charDecryption(char Data)boolDecryption(char *Out, char *In, int Size)? 복호화 해주는 멤버로 위의 것은 한 문자단위, 아랫것은 문자열 단위로 복호화 한다.shortKeyIP(short Key)? 키의 초기 순열 멤버shortLeftShift1(short Key)? 키를 상위 5비트, 하위 5비트 각각 왼쪽으로 시프트(Rotate)해주는 멤버shortKeyTransPosition(short Key)? 키를 치환해주는 멤버shortDataIP(short Data)? 데이터의 초기순열(IP)를 처리해준다.shortFunctionK(short Data, short Key)? fk함수로 한 문자와 서브키를 받아 처리한다.shortExPermutation(short Data)? 확장/순열 멤버이다..shortS_Box(short Data)? S-Box를 구현한 멤버voidS_BoxSlice(short &s1, short &s2, short sData)? S-Box 내부에서 4비트를 행과 열로 나눠주는 멤버shortS_BoxSub1(short Data)? S-Box 내부에서 하위 4비트를 처리하는 S0shortS_BoxSub2(short Data)? S-Box 내부에서 상위 4비트를 처리하는 S1shortDataIP_1(short Data)? 역순열 멤버(IP-1)shortDataSwitch(short Data)? 상위 4비트와 하위 4비트를 바꿔주는 스위치 기능 멤버6. 출력값그림1) 프로그램 실행의 초기상태 그림2) 평문과 키를 입력한다.그림3) ‘암호문 생성’버튼을 누르면 화면 가운데 있는 암호문 창에 암호화된 문장이 뜬다. 그림4) 암호해독을 위해서는 암호화 했을 때 썼던 키와 동일한 키를 입력해주고 ‘암호문 해독’버튼을 누르면 된다.그림5) ‘암호문 해독’버튼을 누르면 키가 정확하다면 암호문을 정확히 평문으로 바꿔서 보여준다. 그림6) 암호문이 틀렸을 경우는 이상한 문자들로 출력되어 알아볼 수 없다.7. 소스? CSDes 클래스////////////////////////////////////////////////////////////// 심플데스를 구현한 클래스...// 제작자 : 컴퓨터공학전공 / 9684044 / 육현수////////////////////////////////////////////////////////////#ifndef__SIMPLE_DES_CLASS__#define__SIMPLE_DES_CLASS__#include////////////////////////#include"Flags.h"// 비트 단위 처리를 하기위한 클래스..// 영상처리 레포트에 썼던 것을 그대로 옮겨 왔음..class CSDes:private CFlags{private:shortKey1;// K1 값을 저장shortKey2;// K2 값을 저장.boolKEY_SET;// Key값이 입력 되었는지를 저장public:CSDes();CSDes(shortKey);//~CSDes();voidSetKey(short Key);// 키를 정의함// 암호문 생성용 멤버charEncryption(char Data);boolEncryption(char *Out, char *In, int Size);// 평문 생성용 멤버charDecryption(char Data);boolDecryption(char *Out, char *In, int Size);protected:shortKeyIP(short Key);// 키의 초기 순열shortLeftShift1(short Key);// 왼쪽 시프트shortKeyTransPosition(short Key);// 키 치환shortDataIP(short Data);// 데이터 초기 순열shortFunctionK(short Data, short Key);// fk 함수shortExPermutation(short Data);// 확장/순열 함수shortS_Box(short Data);// S-BOXvoidS_BoxSlice(short &s1, short &s2, short sData);// 행,열 구해주는 함수shortS_BoxSub1(short Data);// S0shortS_BoxSub2(short Data);// S1shortDataIP_1(short Data);// 역순열shortDataSwitch(short Data);// 스위치};#endif// 생성자.. 클래스 초기화CSDes::CSDes(){Key1=0;Key2=0;KEY_SET=false;}// 생성자.. 클래스 초기화.. 키값을 받는다..CSDes::CSDes(short Key){SetKey(Key);}// 키값을 받아 k1, k2를 생성한다.void CSDes::SetKey(short Key){shortTempK1, TempK2;TempK1=KeyIP(Key);// 자리바꿈TempK2=LeftShift1(TempK1);// 왼쪽으로 한번 자리옮김Key1=KeyTransPosition(TempK2);// 키 치환 (10bit -> 8Bit)TempK2=LeftShift1(LeftShift1(TempK2));// 왼쪽으로 두번 자리옮김Key2=KeyTransPosition(TempK2);// 키 치환 (10Bit -> 8Bit)KEY_SET=true;}// 키의 초기순열short CSDes::KeyIP(short Key){static short KEY_PMT[10]={2,4,1,6,3,9,0,8,7,5};// 자리바꿈 위치shorttKey=0;for(int i=0;i
    프로그램소스| 2002.10.16| 14페이지| 1,000원| 조회(1,830)
    미리보기
전체보기
받은후기 5
5개 리뷰 평점
  • A+최고예요
    3
  • A좋아요
    1
  • B괜찮아요
    1
  • C아쉬워요
    0
  • D별로예요
    0
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 05월 18일 월요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
10:00 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감