728x90
반응형

cryptography 7

[Cryptography] 패딩과 운영모드(ECB, CBC, CTR, CFB, OFB)

- 패딩 평문의 길이가 블록 크기의 배수가 되도록 평문의 끝에 데이터를 추가하는 기법입니다. 비트패딩(Bit Padding): 마지막 블록에서 평문이 채우지 못하는 비트 중 최상위 비트를 1로 설정하고, 나머지는 모두 0으로 채우는 패딩 기법입니다. 평문의 크기가 정확히 블록 크기의 배수일 때, 수신자가 메세지의 일부를 패딩으로 오인하게 되는 문제가 있기에 이를 막기 위해 비트 패딩을 적용할 때는 평문의 크기가 블록 크기의 배수이면, 패딩으로 한 블록을 추가합니다. ex) 평문이 1001 1011 1011 1000 이라면 끝의 1000을 패딩이라고 착각하고 평문 복구 시 지워버릴 수 있기 때문에 오해가 생기지 않도록 이런 경우에는 1001 1001 1011 1000 1000 0000 0000 0000 과..

[Cryptography] 암호의 기능

1. 기밀성(Confidentiality) 허락된 사람만 정보를 열람할 수 있게 하는 기능 2. 무결성(Integrity) 송신자가 보낸 정보에 변조가 일어나지 않았음을 보증하는 기능 3. 인증(Authentication) 정보를 주고 받는 상대의 신원을 확인하는 기능. ex) 공인인증서, 웹에서 아이디와 비밀번호를 입력하는 것 4. 부인 방지(Non-repudiation) 정보를 교환한 이후에 교환한 사실을 부인할 수 없게 하는 기능

[Cryptography] 고전 암호

- 고전 암호의 분류 치환(Substitution): 평문의 문자를 다른 문자로 바꾸는 것 전치(Transposition): 평문 문자들의 위치를 바꾸는 것 단일 문자 치환 암호(Monoalphabetic Substitution Cipher) 다중 문자 치환 암호(Polyalphabetic Substitution Cipher) - 단일 문자 치환 암호(Monoalphabetic Substitution Cipher) 평문의 각 문자를 약속된 다른 문자로 치환하는 암호입니다. 복호화를 위해 치환의 대응 관계는 일대일 대응입니다. * 키 공간(Key Space): 가능한 모든 키의 집합 - 다중 문자 치환 암호(Polyalphabetic Substitution Cipher) 단일 문자 치환 암호와 달리, 평문..

[Cryptography] 비대칭키(Asymmetric key)

- Asymmetric key(비대칭키) 암호화와 복호화에 서로 다른 키를 사용하는 암호화 방식입니다. 공개키 암호화 방식이라고도 합니다. 이 방식에서는 공개키와 개인키라는 두 개의 키가 쌍으로 생성됩니다. 두 키 중 하나로 암호화 하면 쌍을 이루는 다른 키로 복호화합니다.(public key로 암호화하면 private key로 복호화, private key로 암호화하면 public key로 복호화) 공개키(public key)는 누구에게나 공개되며, 개인키(private key)는 키를 생성한 개인만이 알고 있어야 합니다. 키 관리의 어려움이 대칭키 암호화보다 적습니다. PKI(Public Key Infrastructure) 기술의 근간을 이룹니다. 대표적인 알고리즘은 다음과 같습니다. RSA-2048..

[Cryptography] 대칭키(Symmetric key)

- 대칭키(Symmetric key) 키 하나로 암호화(보안성 부여)와 복호화를 모두 수행하는 방식입니다. 암호화와 복호화에 동일한 키를 사용하기 때문에 알고리즘이 간단하고 빠르게 수행됩니다. 비대칭키 방식에 비해 효율적입니다. 대칭키 암호화의 주요한 제한 사항은 키 관리의 어려움과 안전한 키 공유 메커니즘의 필요성입니다. 이를 극복하기 위해 공개키 암호화(비대칭키)와 대칭키 암호화를 혼합한 하이브리드 암호화 방식이 많이 사용됩니다. 대표적인 알고리즘은 다음과 같습니다. DES: 56비트의 키를 사용하여 데이터를 암호화하고 복호화하는 데 사용됩니다. DES는 초기에 널리 사용되었으나 현재는 안전성이 취약한 것으로 간주되어 사용이 제한되고 있습니다. DES는 블록 암호화 방식으로 64비트 블록을 처리하며,..

[Cryptography] Hash Function(해시 함수)

- Hash function 임의의 크기를 가진 데이터를 고정된 크기의 해시 값으로 매핑하는 함수입니다. 해시 함수는 입력 데이터에 대해 일관된 길이의 출력 값을 생성하며, 일반적으로 매우 빠르게 계산됩니다. 체크섬의 한 방법이라고 볼 수 있습니다. 이러한 특징으로 인해 해시 함수는 데이터의 고유한 식별자를 생성하거나, 데이터의 무결성을 검증(데이터가 변조, 위조가 되지 않았다고 증명)하는 데 널리 사용됩니다. 대표적으로 인증서 검증, 디지털 포렌식, 디지털 서명(Hash + PKI), 패스워드 단방향 암호화, 블록체인 등에 활용됩니다. 단방향성(One-wayness, 일방향성): 해시 함수는 입력에 대해 쉽게 계산 가능하지만, 해시 값을 역산하여 입력 값을 복원하는 것은 매우 어렵습니다. 즉, 해시 함..

[Cryptography] Checksum(검사합)

- Checksum 데이터 무결성을 검사하기 위해 사용되는 간단한 오류 검출 기술입니다.(무결성 보장은x, 일부 오류를 검출하는 용도) 데이터 전송 중에 발생할 수 있는 잠재적인 오류를 감지하는 데 도움이 됩니다. 주로 컴퓨터 네트워크 통신, 데이터 저장 및 전송, 파일 무결성 검사 등에 활용됩니다. 보안성은 없습니다.(기밀성,무결성 보장X) Checksum은 데이터의 일부분에서 파생되는 고유한 값으로, 데이터 블록의 내용을 대표하는 역할을 합니다. 단방향성을 띄기때문에 역계산을 할 수 없습니다. 일반적으로 데이터 블록의 모든 비트를 포함하는 더 큰 체크섬 값으로 표현됩니다. 입력 값의 크기와 상관없이 결과 값의 길이(혹은 크기)가 일정합니다.(일정 자릿수를 정하고 범위를 넘는 자리올림은 버려서 자릿수 ..

728x90
반응형