Computer Science/Security

RC4 암호 시스템은 바이트 단위로 작동하며, 다양한 크기의 키를 사용하는 스트림 암호란 무엇인가이다 암호화 알고리즘에는 랜덤 치환에 기초해서 만들어졌다 SSL/TLS, WEP, WPA 프로토콜에 상요 된다. RC4 알고리즘 상태 벡터 S 초기화 상태 벡터 S 초기화는 RC4 알고리즘에서 가장 먼저 수행되는 과정입니다. 상태 벡터 S는 0부터 255까지의 정수를 원소로 가지며, 각 원소는 8비트 숫자입니다. 초기화 과정은 다음과 같이 이루어집니다: 상태 벡터 S를 초기화합니다. 처음에는 S[i] = i (0
스트림 암호 스트림 암호는 입력 요소를 연속적으로 처리하여 지속적으로 한 번에 한 요소씩 배출한다. 비록 블록 암호가 훨씬 많이 사용되기는 하지만, 경우에 따라서는 스트림 암호가 더 적합하기도 하다. 스트림 암호 구조 일반적으로 스트림 암호를 설계할 때에는 한 번에 한 비트씩 처리하거나 한 바이트보다 큰 자료를 처리할 수 있도록 만든다. 전형적인 스트림 암호는 한 번에 평문 한 바이트씩 암호화한다. 이 구조에서 랜덤한 8비트 숫자의 스트림을 만들어내는 의사 난수 비트 생성기에 하나의 키를 입력으로 사용한다. 의사 난수 스트림은 입력되는 키를 알지 못하면 예측할 수 없는 스트림이며, 한 번에 한 바이트씩 평문 스트림과 비트별로 XOR 연산된다. 즉, 평문과 키 스트림을 XOR함으로써 암호화와 복호화가 가능..
난수 난수는 다양한 네트워크 보안 응용에서 암호화를 할 때 중요한 역할을 한다. 난수 생성에는 여러 방법이 있으며, 하드웨어 기반의 난수 생성기(TRNG)와 소프트웨어 기반의 난수 생성기(PRNG)가 있습니다. TRNG는 물리적인 노이즈를 기반으로 진정한 난수를 생성하는 반면, PRNG는 알고리즘을 사용하여 난수를 생성합니다. 이 때문에 PRNG는 초기 시드 값에 따라 생성되는 난수가 결정되므로, 완벽한 예측 불가능성을 가지지 못할 수도 있습니다. 하지만, 적절한 알고리즘과 시드 관리를 통해 안전한 난수 생성이 가능합니다. 난수의 역할 다수의 네트워크 보안 알고리즘에서는 난수를 사용한다. RSA는 무엇인가? 대칭 스트림 암호 키 생성 임시 세션 키 용도 대칭 키 생성 TLS, WiFi, 전자메일, IPs..
의사 난수 난수를 암호 응용 분야에서 생성 할 때는 보통 알고리즘 기법에 기초해서 생성한다. 이런 알고리즘은 입력 값을 알면 출력 값을 정확히 알 수 있고, 통계적으로는 무작위성을 갖지 못하는 수열을 생성한다. 하지만 생성된 수열이 여러 가지 무작위성 테스트를 무사히 통과 할 수 있는데 이런 수열을 보통 의사 난수라 표현한다. 진성 난수를 생성하는 방법으로는 보통 TRNG를 사용한다 의사 난수의 경우에는 PRNG를 사용한다 하드웨어적 난수 생성 방법(TRNG) - 진성 난수 생성 TRNG는 입력 값으로 실제 랜덤한 정보를 사용하는데 이 입력 값을 보통 엔트로피 소스라고 한다. 엔트로피 소스는 컴퓨터의 물리적 환경에서 얻을 수 있는 값으로 키 입력 타이밍 패턴, 디스크 전기 작용, 마우스 움직임, 시스템 ..
AES Intro. 3DES로도 부족한 이유, 3 DES는 암호 해독에 대한 저항성이 크기 때문에 꽤나 안전하다. 하지만 단점이 있었으니 구현 속도가 느리다. DEA 보다 라운드 수가 3배나 많기 때문에 당연히 느릴 수 밖에 없다. 또한 DEA와 3DES는 64비트 블록을 사용하였다. 현 시점에서는 보안을 위해 더 큰 비트 블록을 사용 할 때가 되었다. AES는 무엇인가 3DES의 앞선 단점 때문에 AES가 등장하였다. 더 높은 보안성과 월등히 개선된 보안 알고리즘으로써! 블록 길이(크기) 128 비트 대칭 블록 암호 키의 길이는 128 192 256 비트를 지원 페이스텔 암호 구조 with 대칭 블록 암호가 아니다! 각 라운드에서 대체와 치환을 이용해 데이터 블록 전체를 병령 처리를 한다 AES 암호화..
3중 DES 3중 DES는 금융 분야에서 사용할 목적으로 1958년 처음으로 표준화 되었다. 3중 DES는 세 개의 키를 사용하고, DES 알고리즘을 3번 수행한다. 3 개의 서로 다른 키를 이용한 3 DES는 168 비트의 유호 키 길이를 갖는다 K1=K3를 사용해서 2 개의 키를 이용하는 것도 허용 한다. 암호화 알고리즘 알고리즘을 간단하게 설명 하면 암호-복호-암호 순서(EDE)를 따른다. 암호-복호-암호 를 거치는데 이 때 복호 과정 자체는 보안 강도에 크게 기여하지 않는다 복호화 과정은 주로 기존 DES 시스템과 호환성을 유지하기 위한 목적으로 사용된다. 그러나 전체적인 3DES 방식에서 보안 강도를 높이는데에 필요하기 때문에 이 과정이 포함 되었다 3DES 굳이 암호-복호-암호 과정을 가져야 ..
DES Data Encryption Standard는 암호화 알고리즘인 Data Encryption Algorithm (DEA)를 기반으로 한다. 암호화 알고리즘 평문의 길이는 64비트 평문이 길면 64비트로 나눈다 복호화 시에는 서브키의 순서를 뒤집어서 적용한다 키 길이는 56비트 DES의 구조는 [[Notes/페이스텔 암호 구조|페이스텔 암호 구조]]의 변형이다 라운드 회수는 16회 56 비트짜리 원래 키로부터 16개의 서브키를 생성한다 DES의 강도 암호화 알고리즘의 강도에 대한 문제는 두 가지 관점에서 볼 수 있다. 알고리즘 자체의 문제 그리고 56비트 키에 관한 문제이다. 알고리즘 자체 문제란 말은 알고리즘의 특성을 이용한 암호 해독 가능성이다. 하지만, DES는 많은 연구에도 불구하고 치명적인..
페이스텔 암호 구조 with 대칭 블록 암호 대부분의 대칭 블록 암호 알고리즘 구조는 페이스텔 구조에 기초해서 만들어졌다 페이스텔 암호 구조의 기본 원리 2w 비트인 평문 블록과 키 K가 암호 알고리즘의 입력으로 사용 될 것이다 우선 평문 블록을 L0와 R0로 쪼개서 각 N 번의 라운드를 거쳐 암호문 블록을 생성하기 위해 합쳐진다 페이스텔 암호의 장점은 암호/복호 알고리즘 두 가지를 서로 다른 알고리즘으로 구현할 필요가 없다 라운드 함수와 라운드 키 - 페이스텔 구조의 핵심 각 라운드 과정에 사용 되는 입력 값은 이전 라운드 과정의 결과물인 L과 R 값이다 또한, 각 라운드마다 사용 되는 서브 키 K 또한 모두 다르다. 모든 라운드 과정은 왼쪽 반 데이터에 substitution을 수행한다. 그 후 라운..
Intro. 대칭/비대칭 키와 해쉬 함수를 이용한 Digital Signiture 만드는 방법 Asymmetric from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_OAEP import base64 # 키 생성 key = RSA.generate(2048) # 공개키(Pu)와 비공개키(Pr) 추출 Pu = key.publickey() Pr = key # 메시지 암호화 def rsa_encrypt(m, Pu): cipher = PKCS1_OAEP.new(Pu) ciphertext = cipher.encrypt(m) return ciphertext # 암호문 복호화 def rsa_decrypt(ciphertext, Pr): cipher = PK..
대칭 암호 원리 대칭 암호는 관용 암호, 비밀-키 암호 또는 단일-키 암호라고 알려져 있다. 대칭 암호의 보안은 키의 비밀성에 의해 지켜진다. 알고리즘을 모르게해서 지켜지는 것이 아니다 즉 공격자가 암호/복호 알고리즘을 알고 암호문을 가지고 있더라도 그 암호문을 해독할 수 없어야 한다(알고리즘은 공개 되어 있다고 생각하자) 대칭 암호의 필수 요건 강한 알고리즘 안전한 비밀키 공유 대칭 암호 구조의 5가지 요소 평문 원문이나 데이터로서 알고리즘의 입력으로 이용된다 암호 알고리즘 입력으로 들어온 원문을 다양한 방법으로 치환하고 변환한다 비밀 키 알고리즘의 한 입력으로 사용 된다 이 키를 이용하는 알고리즘에 의해 정확한 대체와 전환이 이루어진다 암호문 출력으로 나오는 암호화 된 메시지 평문과 비밀 키에 따라서..
berom
'Computer Science/Security' 카테고리의 글 목록 (7 Page)