일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- forensic
- Symmetric key
- 웹
- CTF
- Defcon
- 포렌식
- C언어
- 암호수학
- php
- WEB
- Symmetric key algorithm
- 대칭키암호
- network forensic
- Symmetric key crypto
- pythonchallenge
- NFPC
- c
- The python challenge
- python
- 대칭키 암호
- 파이썬
- 파이썬 문법
- 암호
- Stream cipher
- 암호학
- 파이썬 공부
- DefCon 21
- 네트워크
- block cipher
- 파이썬 문제
- Today
- Total
목록암호학 (6)
Hardner
[Block cipher]Feistel Cipher Feistel Cipher란?- 블록 암호 설계의 하나의 유형.- 특정 암호가 아니다.- 대체 및 순열의 조합ex) Plaintext = (L0, R0)- 평문 블록을 왼쪽과 오른쪽으로 나눈다. 암호화와 복호화 과정. - 암호화: Plaintext = (L0, R0) 각 라운드는 i=1, 2, 3, …, n에 대해==XOR F(, )를 계산하면 F는 round 함수이고, 는 서브 키이다. Ciphertext = (, ) - 복호화: Ciphertext = (, ) 각 라운드 i = n, n-1, n-2, …, 1에 대해 다음과 같이 계산한다. = = XOR F(, )여기서 F는 round 함수이고, 는 서브 키이다.Plaintext = (L0, R0) ..
선형 피드백 시프트 레지스터(LFSR) LFSR이란?- Linear Feedback Shift Register의 약자이며, 시프트 레지스터의 일종이다. - 레지스터에 입력되는 값이 이전 상태 값들의 선형 함수로 계산되는 구조를 가지고 있다. - 이 때 사용되는 선형 함수는 주로 배타적 논리합(XOR) 이다. - LFSR의 초기 비트 값은 시드(seed)라고 부른다. - LFSR의 동작은 결정론적이기 때문에, LFSR로 생성되는 값의 수열은 그 이전 값에 의해 결정된다. - 레지스터가 가질 수 있는 값의 개수는 유한하기 때문에, 이 수열은 특정한 주기에 의해 반복된다. - 하지만 선형 함수를 잘 선택한다면 주기가 길고 무작위적으로 보이는 수열을 생성할 수 있다. LFSR 예시: 각 상태는 4bit의 크기를..
[Stream cipher] RC4 RC4- 자기수정 Lookup table. - 테이블은 항상 0~255의 순열을 포함한다. - 처음 256 바이트는 반드시 버려야한다.-그렇지 않으면 공격자가 키를 복구할 수 있다. - RC4는 SSL을 포함한 많은 앱에서 사용된다. - 32비트 프로세서가 아닌 8비트 프로세서에 최적화 되어있다. - 초기 순열을 Key로 초기화한다.- Key의 길이는 0~256 바이트까지 가능하다. - 각 단계에서 RC4- 현재 Lookup table에서 요소들을 바꾼다.- 테이블에서 Key stream 바이트를 선택한다. - RC4의 각 단계는 바이트를 생성한다.- 소프트웨어에서 효율적이다. Initialization.- S[] 는 0~255의 순열이다.- key[]는 key의 N ..
[Stream Cipher] A5/1 A5/1이란?- Stream cipher 방식을 사용하는 것으로, 쉬프트 레지스터를 기반으로 한다.- GSM 핸드폰 시스템에서 사용된다.- bit단위로 키 스트림이 생성된다. A5/1은 3개의 선형 피드백 쉬프트 레지스터(LFSR)로 구성된다.- X: 19 bits (, , , …, ) - Y: 22 bits (, , , …, ) - Z: 23 bits (, , , …, ) Key K: - 총 64비트이다. - 처음에 X, Y, Z레지스터를 채운다. - 각 값은 단일 비트이고, Key는 레지스터의 초기값 채울 때 사용한다. A5/1 Algorithm. m = maj(, , ) // X, Y, Z중에서 가장 많은 수를 고른다. Ex) maj(0, 1, 0) = 0 an..
Symmetric Key Crypto(대칭 키 암호) Symmetric Key algorithm이란? 암호화 알고리즘의 한 종류로, 암호화와 복호화에 같은 암호 키를 사용하는 알고리즘을 말한다.대칭 키 암호에서는 암호화와 복호화를 하는데 있어서 같은 암호 키를 공유 해야 한다. 장점: 암호화 연산 속도가 빠르기 때문에 효율적인 암호 시스템을 구축할 수 있다. 단점: 키 전달 및 관리가 어렵다. (암호키는 암호화되지 않는 평문이고, 분실하거나 타인에게 노출되면 보안이 취약해짐.) 대칭키 암호화 방식은 데이터를 변환하는 방식에 따라 Stream cipher, Block cipher로 구분된다. Stream cipher - Stream cipher like a one-time pad. ( 스트림 암호는 일회용..