일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- webhacking
- Payload
- System
- 운영체제
- BOF
- Spring
- LOB
- hacking
- 정보보안기사
- webhacking.kr
- SQL
- 웹해킹
- 워게임
- 해킹
- 정보보안기사 실기
- Buffer Overflow
- OS
- Operating System
- wargame
- 네트워크
- pwnable
- Shell code
- system hacking
- Lord of BOF
- PWN
- Spring Framework
- 정보처리기사 실기
- Pwnable.kr
- stack overflow
- Spring MVC
- Today
- Total
목록IT 보안/Cryptography (7)
DongDD's IT
[Cryptography] Diffie-Hellman, ECC Diffie-Hellman Key Exchange - 비밀 키를 공유하는 방법- 유한 필드의 exponentation에 기반하고 있음- 안전성은 이산 대수 문제(DLP, Discrete logarithms problem)의 어려움에 기반 Key Exchange 1. 큰 소수인 p를 선택 2. mod p의 primitive root인 g 설정 3. 수신자, 송신자는 a와 b를 선택하여 A = g^a mod p, B = g^b mod p를 계산 4. 계산된 A,B를 서로에게 전송하고 K = B^a mod p = A^b mod p를 계산 5. 계산에 의해 생긴 k를 비밀 키로 사용 Security 1. 이산 대수 문제의 어려움에 기반하여 안전성이 ..
[Cryptography] Public Key Cryptography - RSA Public key cryptography - 두개의 key 사용(public key, private key)- 비대칭키(asymmetric system)- 키 배포가 필요없어 대칭키 시스템의 문제 해결- Digital Signatures에 사용 Key 1. Public key- message를 암호화하는데 사용- 전자서명에서는 signature를 검증하기 위해 사용 2. Private Key- message를 복호화하는데 사용- 전자서명에서는 signature를 생성하기 위해 사용 Encryption/Decryption 1. Encryption- 수신자의 공개키를 이용하여 암호화하고 Ciphertext를 전송 2. Decr..
[Cryptography] Stream Cipher - RNG, PRNG, RC4 Random Number - Stream cipher에서 사용되는 Key stream을 생성하는데 사용 TRNG - 실제로 랜덤성을 가진 source를 이용하여 random bit stream 생성PRNG - Seed를 입력으로하는 알고리즘을 사용하여 random bit stream 생성- 공격자가 Seed를 알고 있을 경우, 해당 Seed를 이용해 같은 random number 재생성 1. Requirements- Randomness : random number처럼 보여야함(uniformity, scalability, consistency)- Unpredictability : Random한 수들의 규칙을 보고 앞, 뒤의 ..
[Cryptography] Modes of Operation(블록 암호 운용 모드) Modes of Operation - 하나의 비밀키를 사용하는 Private key system의 block cipher에서 안전한 암호화를 하기 위해 고안된 방법 Initial Vector(IV) - 암호화를 난수화하기 위해 사용되는 비트 블록- 난수화하기 위한 초기 벡터- 몇몇 운용 방법에 사용- IV를 전송할 때는 추후에 나올 ECB로 암호화하여 전송 Padding - 평문의 길이가 블록 크기의 배수가 아닐 경우, 모자란 평문 뒷 부분에 padding을 붙여 block의 배수로 맞추기 위한 방법 1. Padding 방법1) Zero Padding- 00 00 00 00으로 padding2) Bit Padding- 8..
[Cryptography] AES(Advanced Encryption Standard) AES 배경 - DES가 tehoretical attack과 exhaustive key search attack에 취약하기 때문에 대체를 위해 출현- AES 공모에서 Rijndael 선정 특징 - TDES보다 빠르고 강력함- symmetric block cipher- Block Size : 128 bit- Key Size : 128/192/256 bit- Round : 10/12/14 (key size에 따라)- Round Key size : 128 bit- DES와 달리 Feistel 구조가 아닌 SPN구조(Iterative) Encryption ex) AES Encryption- irreducible polynom..
DES(Data Encryption Standard) Modern Block Cipher - 고전 암호에서 Substitution과 Transposition이 결합되어 사용되면서 Modern Cipher로 넘어옴- 암호화 알고리즘에서 넓게 사용- 기밀성, 인증- DES가 Modern block cipher에 속함 Block Cipher vs Stream Cipher Block Cipher - plaintext를 특정 크기의 block으로 나눠 암호화, 복호화 수행- block 단위로 수행- stream cipher보다는 속도가 느림- 현재는 block cipher가 더 많이 쓰임- Encryption Algorithm과 Decryption Algorithm은 같을 수도 있고 다를 수도 있음(DES는 같음..
[Cryptography] Classical Ciphers Crpytography 용어 1. Plaintext(평문)- 암호화되지 않은 일반 문장 2. Ciphertext(암호문)- 평문을 암호화시킨 문장 3. Cipher- 암호화에 사용되는 알고리즘 4. Key- 암호화, 복호화에 사용되는 키 5. Encrypt(encipher)- 암호화(평문 -> 암호문) 6. Decrypt(decipher)- 복호화(암호문 -> 평문) 7. Cryptanalysis(암호해독)- key를 모른채로 암호문을 해독 분류 1. 암호화 타입에 따른 분류1) substitution(치환)- 특정 문자를 다른 문자로 치환하여 암호화 2) transposition(전치)- 문자들의 위치를 섞어 암호화 3) product- sub..