분류 전체보기
-
RSA암호학 2016. 6. 4. 16:59
RSA 암호 방식 개요 1978년 MIT의 Rivest, Shamir와 Adleman이 RSA 공개키 암호 방식을 제안 RSA 암호 방식의 수학적인 원리 이해합성수의 소인수 분해의 어려움을 이용하여 RSA 암호 방식을 실현함- 가입자는 백 자리 크기 이상의 두 개의 소수 p,q를 선택하여 n = p * q 를 계산한다.- 이 때 p와 q를 알고 있는 사람은 n을 계산하기 쉽지만 n만 알고 있는 사람은 n으로 부터 p와 q를 찾는 소인수 분해가 어렵다. RSA 공개키, 사설키(개인키) 생성 방법 RSA 암호 방식의 암호화 과정과 복호화 과정(그림)C = M^Ke mod nM = C^Kd mod n RSA 암호 방식이 안전하기 위하여 갖추어야 할 p와 q의 조건 3가지1. p와 q는 거의 같은 크기의 소수이..
-
공개키암호학 2016. 6. 4. 16:13
공개키 암호 방식 개요"New directions in cryptiography"- 1976년 Diffie, Hellaman, 공개키 암호 방식 이론 발표- 기존의 관용 암호 방식에서 발생하는 키 관리 문제점을 해결한 암호 방식을 제안공개키 암호 방식- 키를 두 개로 나누어 하나는 암호화 키로 또 다른 하나는 복호화 키로 사용한다.- 암호화 키는 공개목록에 등록 공개하고 복호화 키는 개인이 비밀리에 보관한다.- 그러므로 암호화 키는 공개키, 복호화 키는 개인키라 부른다.- 키의 사전 분배가 필요 없는 획기적인 방식 공개키 암호 방식의 등장 배경 (관용 암호 방식의 문제점을 이해하고 있어야 함)기존의 관용 암호 방식에서 발생하는 문제점- 키 관리, 키 분배- 관용 암호 방식 키 개수 : n(n-1) / 2..
-
운용 모드암호학 2016. 6. 3. 22:29
ECB 모드 블록 암호의 운용 방식 중 가장 간단한 방식평문을 각 블록 암호 알고리즘에서 정의한 일정한 비트로 나누어 암호화하는 방식암호화해야 하는 데이터가 기본 블록단위보다 큰 경우에는 사용을 권고하지 않음. 그러므로, 짧은 길이의 평문 암호화에 사용 장점 :- 블록 암호화가 서로 독립적으로 작용하기 때문에 이전 블록 값에서 발생한 에러는 이후 블록 값에 영향을 주지 않음- 특정한 블록만을 대상으로 암호화 또는 복호화하는 환경에서 효과적단점 :- 동일한 평문 -> 동일한 암호문 출력- 동일한 암호문 -> 항상 동일한 평문 출력- 그러므로, 암호문 단독 공격의 가능성이 높음 CBC 모드출력 암호문이 다음 평문 블록에 영항을 미치게 하여 각 암호문 블록이 전단의 암호문의 영향을 받도록 만든 방식ECB에서 ..
-
AES암호학 2016. 6. 3. 22:03
-AES 개요 평문을 128비트 단위로 나누어 암호화, 복호화를 수행각각의 128비트를 4x4 행렬로 표현하여 연산을 수행함State- 4x4행렬로 표현- 암호화, 복호화 과정의 중간 단계 결과물- (4, Nb)의 이차원 행렬로 표현 [ Nb : 블록 길이 / 32 = 4 ]- 기본 연산은 바이트 단위로 수행 -AES에서의 덧셈과 곱셈 연산덧셈 연산은 mod2곱셈 연산은 mod8- m(x) = x^8 + x^4 + x^3 + x + 1 -AES 암호화 과정1. 초기 평문과 라운드 키 XOR 연산2. [SubBytes(), ShiftRows(), MixColumns()] Nr-1 번 수행3. 마지막 라운드에서는 MixColumns() 연산을 수행하지 않음 -AES-128/192/256 비교 (키 길이, 평..
-
SEED암호학 2016. 6. 3. 19:21
-SEED 개요 전자상거래, 금융, 무선통신 등에서 전송되는 개인정보와 같은 중요한 정보를 보호하기 위해 1999년 2월 한국정보보호진흥언과 국내 암호전문가들이 순수 국내기술로 개발128비트 블록암호알고리즘128비트 key 사용1999년 9월 정보통신단체 표준으로 제정2005년에는 국제 표준화 기구인 ISO/IEC 국제 블록암호알고리즘 표준으로 제정됨 -SEED 암호화 과정1. 16라운드의 Feistel 연산2. Swapping (왼 오) -SEED-128/256 비교 (키 길이, 평문 블록 길이, 라운드수) 키 길이 블록 길이 라운드 수 SEED-128 128 128 16 SEED-256 256 128 24 -SEED f함수± : mod 2^32⊕ : EX-OR A = G((X⊕K0)⊕(Y⊕K1))B ..
-
MFC 파일MFC 2016. 5. 30. 17:06
* 파일처리- CDocument 활용- CArchivecf) cout입력대상 ex) Archive &ar;ar읽어오기 - Serialize() (CObject) // 도큐먼트의 내용을 디스크로부터 읽어오고, 저장if (ar.IsStoring()){arm_strID // 파일로부터 데이터를 읽음}CViewCDocument파일 - OnNewDocument() 함수- OnSaveDocument() 함수- OnOpenDocument() 함수 * 예제 저장 : 대화상자 -> 뷰 -> 도큐먼트 -> 파일저장읽기 : 파일읽기 -> 도큐먼트 -> 뷰
-
기말고사준비_3MFC 2016. 5. 26. 11:59
* View에서 모달대화상자 띄우기1) 헤더 파일 인클루드(대화상자클래스)2) 버튼 이벤트 핸들러 ([전체검색][항목별검색])CSearchAll m_Dlg;m_Dlg.DoModal(); * 대화상자(전체검색, 항목별검색)에서 DB접근1) View의 포인터 얻어오기- 헤더 인클루드- 프레임의 포인터 얻어오기CMainFrame * pFrame = (CMainFrame *)AfxGetMainWnd();- View의 포인터 얻어오기CDB2View * pView = (CDB2View *)pFrame->GetActiveView(); 2) View포인터 통해서 m_pSet을 이용해 DB접근pView->m_pSet->필드변수(m_name) * 전체검색 1. OnInitDailog()에 모두 코딩 * 항목별검색1. On..
-