• AI글쓰기 2.1 업데이트

함수를 이용한 암호

미리보기 파일은 샘플 파일 입니다.
최초 생성일 2024.11.23
14,500원
AI자료를 구입 시 아래 자료도 다운로드 가능 합니다.
다운로드

상세정보

소개글

"함수를 이용한 암호"에 대한 내용입니다.

목차

1. 암호학 해시함수와 암호시스템
1.1. 해시함수란?
1.2. 해시함수의 특징
1.3. 해시함수의 정의
1.4. 메시지 인증코드 알고리즘
1.5. 해시함수에 대한 공격
1.6. 해시함수의 적용 분야
1.6.1. 자료구조 분야
1.6.2. 전자서명
1.6.3. 메시지 인증
1.6.4. 데이터 무결성
1.6.5. 패스워드 암호화
1.6.6. OTP
1.6.7. 의사난수 생성기
1.6.8. 소프트웨어 변경 검출
1.6.9. 블록체인
1.7. 과제를 하면서 느낀점

2. RSA 암호화 알고리즘
2.1. 공개키 암호화 알고리즘
2.2. RSA 암호화 알고리즘
2.2.1. RSA 암호화 알고리즘 3단계
2.3. RSA 암호화 알고리즘 안정성

3. 대칭 암호화 방식의 종류와 각각의 기능
3.1. 대칭키 암호화의 특징
3.2. 대칭키 암호화 방식의 종류
3.2.1. DES 알고리즘
3.2.2. 스트림 암호 알고리즘
3.3. 비대칭키 암호화의 사용
3.3.1. RSA 알고리즘

4. 참고 문헌

본문내용

1. 암호학 해시함수와 암호시스템
1.1. 해시함수란?

해시함수란 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 해시 함수에 의해 얻어지는 값은 해시 값, 해시 코드, 해시 체크섬 또는 간단하게 해시라고 한다. 암호학적 해시 함수는 현대 암호학에서 중요한 역할을 수행하고 있는데, 무결성, 메시지 인증 등에 사용되고 있다. 비 암호학적 컴퓨터 응용 분야에 사용되고 있는 일반 해시 함수와 비교할 때 두 경우 모두 큰 정의역에서 작은 치역으로의 함수라는 점에서 유사하다. 해시 함수는 임의의 길이 메시지를 입력하여 고정된 길이의 해시 값(해시 코드)을 출력한다.


1.2. 해시함수의 특징

해시함수의 특징은 다음과 같다.

첫째, 해시함수는 압축성과 계산의 용이성을 만족해야 한다. 해시함수 h는 임의 길이의 입력 x를 고정된 비트 길이를 갖는 출력 값 h(x)에 대응시키며, 함수 h와 입력 값 x에 대해 h(x)를 계산하기 쉽다""이다.

둘째, 해시함수 h가 가져야 할 기본 성질은 역상 저항성, 두 번째 역상 저항성, 충돌 저항성이다. 역상 저항성은 주어진 임의의 출력 값 y에 대해 y=h(x)를 만족하는 입력 값 x를 찾는 것이 계산적으로 불가능한 성질이다. 두 번째 역상 저항성은 주어진 입력 값 x에 대해 h(x)=h(x'), x ≠ x'를 만족하는 다른 입력값 x'를 찾는 것이 계산적으로 불가능한 성질이다. 충돌 저항성은 h(x)=h(x')을 만족하는 임의의 두 입력값 x, x'을 찾는 것이 계산적으로 불가능한 성질이다. 이러한 성질들은 서로 다른 입력 값에서 동일한 출력 값이 나오면 안 된다는 것을 의미한다""이다.

셋째, 해시함수의 정의에는 일방향 해시함수와 충돌 저항 해시함수가 있다. 일방향 해시함수는 압축성, 역상 저항성, 두 번째 역상 저항성을 만족하는 해시함수이며, 충돌 저항 해시함수는 압축성, 두 번째 역상 저항성, 충돌 저항성을 만족하는 해시함수이다""이다.

넷째, 메시지 인증코드 알고리즘은 비밀키 k를 파라미터로 갖는 함수 h_k의 집합으로, 계산의 용이성, 압축성, 계산의 저항성 등의 성질을 만족한다""이다.


1.3. 해시함수의 정의

해시함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 해시 함수에 의해 얻어지는 값은 해시 값, 해시 코드, 해시 체크섬 또는 간단하게 해시라고 한다.

해시함수의 정의는 다음과 같다. 첫째, 압축성을 만족해야 한다. 함수 h는 임의 길이의 입력 x를 고정된 비트 길이를 갖는 출력 값 h(x)에 대응시킨다. 둘째, 계산의 용이성을 만족해야 한다. 함수 h와 입력 값 x에 대해, h(x)는 계산하기 쉽다.

해시함수 h가 가져야할 기본 성질로는 역상 저항성, 두 번째 역상 저항성, 충돌 저항성이 있다. 역상 저항성은 주어진 임의의 출력 값 y에 대해, y=h(x)를 만족하는 입력 값 x를 찾는 것이 계산적으로 불가능한 것을 의미한다. 두 번째 역상 저항성은 주어진 입력 값 x에 대해 h(x)=h(x'), x != x'를 만족하는 다른 입력값 x'를 찾는 것이 계산적으로 불가능한 것을 의미한다. 충돌 저항성은 h(x)=h(x')을 만족하는 임의의 두 입력값 x, x'을 찾는 것이 계산적으로 불가능한 것을 의미한다.

해시함수는 일방향 해시 함수와 충돌 저항 해시함수로 나뉜다. 일방향 해시 함수는 역상 저항성과 두 번째 역상 저항성을 갖는 해시 함수이다. 충돌 저항 해시함수는 두 번째 역상 저항성과 충돌 저항성을 갖는 해시 함수이다.


1.4. 메시지 인증코드 알고리즘

메시지 인증코드 알고리즘은 비밀키 k를 파라미터로 갖는 함수 h_k의 집합이며, 다음과 같은 성질을 만족해야 한다""

첫째, 계산의 용이성이다. 주어진 키 k와 입력 x에 대해 h_k(x)를 계산하기 쉬워야 한다""

둘째, 압축성이다. 함수 h_k는 임의 길이의 입력 x에 대해 고정된 n비트의 값을 출력해야 한다""

셋째, 계산의 저항성이다. 주어진 입력-출력 쌍 (x_i, h_k(x_i))에 대해 h(x)=h(x_i), x != x_i를 만족하는 다른 입력-출력 쌍 (x, h_k(x))를 찾는 것이 계산적으로 불가능해야 한다""

이러한 메시지 인증코드 알고리즘은 통신 중의 오류나 수정, 그리고 '거짓 행세'를 검출하는 데 사용될 수 있다""


1.5. 해시함수에 대한 공격

해시함수에 대한 공격은 크게 세 가지로 나눌 수 있다.

첫째, 일방향 해시함수에 대한 공격이다. 일방향 해시함수는 입력값 x에 대해 해시값 y=h(x)를 계산하기는 쉽지만, 주어진 해시값 y에 대해 역상 x를 찾거나, 주어진 쌍 (x,h(x))에 대해 h(x')=h(x)를 만족하는 x'를 찾는 것이 계산적으로 불가능하도록 구현된다. 하지만 이런 일방향 해시함수에 대해서도 다양한 공격 방식이 시도되는데, 대표적인 공격으로는 생일 공격과 무차별 대입 공격이 있다. 생일 공격은 생일 역설을 이용하여 h(x)=h(x')인 쌍을 찾아내는 공격이고, 무차별 대입 공격은 가능한 모든 입력값을 시도해서 해시값을 찾아내는 방식이다. 이런 공격들에 대해서는 충분한 길이의 해시값을 사용하거나 솔트 값을 추가하는 등의 방어책이 필요하다.

둘째, 충돌 저항 해시함수에 대한 공격이다. 충돌 저항 해시함수는 서로 다른 입력값 x, x'에 대해 h(x)=h(x')를 만족하는 것이 계산적으로 불가능하도록 구현된다. 하지만 이런 충돌 저항 해시함수에 대해서도 생일 공격을 활용하여 충돌을 찾아내는 방식이 있다. 이를 방어하기 위해서는 더 긴 해시값을 사용하거나 해시함수의 구조를 복잡하게 만드는 방법이 있다.

셋째, 메시지 인증코드에 대한 공격이다. 메시지 인증코드는 비밀키 k를 파라미터로 갖는 해시함수 h_k를 사용하여 메시지에 대한 인증 정보를 생성한다. 이때 공격자는 비밀키에 대한 어떠한 정보도 없이, 주어진 입력-출력 쌍 (x_i,h_k(x_i))에 대해 h_k(x')=h_k(x)이면서 x != x'인 새로운 입력-출력 쌍 (x,h_k(x))을 찾는 것이 목표이다. 이를 방어하기 위해서는 비밀키의 길이를 충분히 길게 설정하고, 키 관리를 철저히 하는 등의 방법이 필요하다.

종합하면, 해시함수에 대한 다양한 공격 방식이 존재하지만, 충분한 길이의 해시값 사용, 솔트 값 추가, 복잡한 구조의 해시함수 설계, 철저한 키 관리 등을 통해 이를 효과적으로 방어할 수 있다. 최근에는 SHA-3와 같은 신뢰성 높은 해시함수가 개발되어 사용되고 있다.


1.6. 해시함수의 적용 분야
1.6.1. 자료구조 분야

자료구조 분야에서 해시함수는 중요한 역할을 담당한다. 해시함수는 임의의 길이의 데이터를 고정된 길이의 데이터로...


참고 자료

학점은행제 암호학 교안
블록체인 기술의 핵(核), ‘암호 해시’ 파헤치기 (박용범, 2018.08.09.)https://news.samsung.com/kr/블록체인-기술의-핵核-암호-해시
해휘함수, 해쉬함수의 성질, 해쉬함수 특징, 전자서며에 이용되는 해시 함수의 특성(Code Dragon)https://codedragon.tistory.com/6260
해싱, 해시함수, 해시테이블 (ratsgo’s blog, 2017.10.25.)https://ratsgo.github.io/data%20structure&algorithm/2017/10/25/hash/
해시함수 (위키피디아)https://ko.wikipedia.org/wiki/해시_함수
최현. (2003). RSA알고리즘을 이용한 GSM 인증프로토콜 제안 및 구현 (국내석사학위논문). 全北大學校 大學院, 전라북도.
신인철,이민섭,박창섭,김범식,우찬일,& 최춘수. (1998). RSA 암호화 알고리즘의 구현에 관한 연구. 論文集, 33(-), 225-245.
박정균. (1999). RSA와 ECC암호화 방법의 비교분석 (국내석사학위논문). 明知大學校 大學院, 경기도.
류희수. (2005). RSA 공개키 암호 공격기법 탐구. 과학교육논총, 18(-), 89-98.
허석원. (2003). 스마트카드 구현에 적합한 최적화된 RSA 암호화 프로세서 설계 (국내석사학위논문). 연세대학교 대학원, 서울.
강영재. (2013). 타원곡선암호시스템과 RSA암호시스템 차이분석 (국내석사학위논문). 명지대학교 대학원, 서울.
배움 너머 [중1수학] 암호를 풀어라 . (n.d.). https://www.ebs.co.kr/tv/show?prodId=10294&lectId=10119355.
http://middleware.tistory.com/
정보보안개론 책 p355~360 , 블로그 http://middleware.tistory.com/
KISA http://seed.kisa.or.kr/iwt/ko/intro/EgovCryptographic.do
동서대학교 http://kowon.dongseo.ac.kr/~lbg/web_lecture/it/lec3/lec3.htm
http://blog.naver.com/seokcrew/30095825332
http://www.ams.org/samplings/feature-column/fcarc-internet
http://vaert.tistory.com/65
http://reinliebe.tistory.com/79
http://seed.kisa.or.kr/iwt/ko/intro/EgovCryptographic.do
위키백과
http://ko.wikipedia.org/wiki/%EB%8C%80%EC%B9%AD_%ED%82%A4_%EC%95%94%ED%98%B8
정보보안개론 책 p361
http://middleware.tistory.com
http://kowon.dongseo.ac.kr/~lbg/web_lecture/it/lec3/lec3.htm
KISA http://seed.kisa.or.kr/iwt/ko/intro/EgovCryptographic.do
RSA알고리즘 http://reinliebe.tistory.com/79

주의사항

저작권 EasyAI로 생성된 자료입니다.
EasyAI 자료는 참고 자료로 활용하시고, 추가 검증을 권장 드립니다. 결과물 사용에 대한 책임은 사용자에게 있습니다.
AI자료의 경우 별도의 저작권이 없으므로 구매하신 회원님에게도 저작권이 없습니다.
다른 해피캠퍼스 판매 자료와 마찬가지로 개인적 용도로만 이용해 주셔야 하며, 수정 후 재판매 하시는 등의 상업적인 용도로는 활용 불가합니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우