해시 함수 임의 크기의 데이터를 입력으로 받아, 고정된 크기의 데이터를 반환하는 함수 해시 함수의 반환값은 해시 값이라고 함 암호학적 해시 함수 성질 제1 역상 저항성 : 암호학적 해시 함수 H에 대해 y가 주어질 때, H(x) = y 를 만족하는 x를 찾기 어렵다. 이는 함수가 일방향 함수여야 함을 의미. 제 2 역상 저항성 : 함수 H에 대해 x가 주어질 때, x !=x’, H(x) = H(x’)을 만족하는 x’을 찾기 어렵다. 충돌 저항성 : 함수 H에 대해 x가 주어질 때, x != x’, H(x) = H(x’)을 만족하는 x, x’을 찾기 어렵다. 해시 함수의 종류 MD5, SHA256 메시지 인증 코드(MAC) MAC은 데이터와 함께 보내는 추가적인 정보로, MAC을 통해 데이터의 무결성을 보..
패딩 평문에 데이터를 붙여서 평문의 크기가 블록 크기의 배수가 되도록 만드는 과정. 비트 패딩 : 마지막 블록에서 평문이 채우지 못하는 비트 중 최상위 비트를 1로 설정하고, 나머지는 모두 0으로 채우는 패딩 기법입니다. 바이트 패딩 : 바이트 단위로 패딩을 수행하는 패딩 기법. 바이트 패딩(PKCS#7) : PKCS는 공개키 암호의 표준 문서로서, 그 중 7번쨰 문서인 PKCS#7은 AES와 같은 블록 암호의 패딩 기법을 제시하고 있다. 이 PKCS#7에 소개된 패딩 기법은 PKCS#7으로 마지막 블록에 4바이트를 패딩한 것이다. [ 운영모드 ] > ECB 모드 가장 간단한 운영모드로, 블록들은 모두 같은 키로 암호화 된다. ECB 모드에서는 각 블록이 독립적으로 암호화되므로 여러 블록을 병렬적으로 암..
DES 구조 8바이트(64비트)를 한 블록으로 하는 블록 암호 전체 구조는 초기 순열, 최종 순열, 페이스텔 구조의 16라운드, 각 라운드에 사용되는 48비트의 키를 생성하는 키 생성 함수로 구성됨 DES에 입력되는 키의 길이는 64비트인데, 패리티 비트를 제거하면 실제로 사용되는 키의 길이는 56비트다. 백도어 : 컴퓨터 보안에서는 시스템을 쉽게 장악할 수 있도록 만들어진 비밀 통로를 백도어라고 한다. DES 원리 DES는 혼돈 성질을 만족하기 위해 치환을, 확산 성질을 만족하기 위해 순열을 사용한다. 곱 암호 : 치환이나 순열 같은 단순한 연산들로 한 라운드로 구성하고, 각 라운드를 여러 번 반복하여 암호학적 안전성을 확보하는 암호다. 페이스텔 암호 특징 : 페이스텔 구조를 사용하면 역함수가 존재하지..
1. 고전 암호 1) 치환 암호 : 평문의 문자를 다른 문자로 바꾸는 것 - 단일 문자 치환 암호 : 평문의 각 문자를 약속된 다른 문자로 치환하는 암호로 일대일 대응관계이다. ex) 카이사르 암호 : 평문의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 치환. - 다중 문자 치환 암호 : 평문의 한 문자가 암호문에서 여러 종류의 문자로 치환될 수 있다. ex) 비제네르 암호 : 암호와화 복호화가 미리 정해진 키워드를 통해 반복하며 치환하여 이루어진다. Ci=Ek(Mi)=(Mi+Ki)mod26 Mi=Dk(Ci)=(Ci−Ki)mod26 2) 전치 암호 : 평문을 구성하는 문자들의 순서를 재배열하여 암호문을 만든다. 3) 공격방법 - 전수 키 탐색 공격 : 평문과 암호문을 알 때, 키..

문제 파일을 다운로드 받은 후 접속 정보 사이트로 들어갑니다. 사이트에서 Login 클릭 후 guest / guest 로 로그인을 해봅니다. admin이 아니라고 나타납니다. 이 때 주소창에 /admin을 추가해보면 다음과 같이 나타나는 것을 알 수 있습니다. admin에 해당하는 값을 복사하여 원래의 창으로 돌아간 다음 개발자 도구에서 Application을 클릭하여 cookies를 선택 후 sessionid의 Value 값에 붙여넣기 하여 변경해준다. 그리고 새로고침을 해주면 다음과 같은 화면이 나타나는 것을 확인할 수 있습니다.

문제 파일을 다운로드 후 index.html을 클릭하여 들어가본다. 개발자 도구에서 Sources로 들어가서 Ctrl+shift+F를 사용하여 flag를 검색해보면 파일이 하나 나오지만 해당 파일에서 플래그의 값을 얻을 수 없다. 따라서 flag의 기본 값인 DH를 검색하면 해당 플래그의 값을 얻을 수 있습니다.