분류 전체보기
-
Modular Arithmetic 1 문제 및 설명 몸을 숙이고 암호학자의 노트를 본다고 상상해 보세요. 다음과 같은 메모가 표시됩니다: 4 + 9 = 1 5 - 7 = 10 2 + 3 = 5 처음에는 그들이 미쳤다고 생각할지도 모릅니다. 아마도 이것이 오늘날 당신이 생각할 수 있는 많은 데이터 유출이 있는 이유일 것입니다. 하지만 이것은 모듈식 산술 모듈 12에 지나지 않습니다(비록 이상한 표기법이 있긴 하지만). 여러분은 그것을 모듈식 산술이라고 부르지 않았을 수도 있지만, 여러분은 시간을 알려주는 것을 배운 이후로 이런 종류의 계산을 해왔습니다. (이 방정식들을 다시 보고 시간을 더하는 것에 대해 생각해보세요.). 형식적으로 "시간 계산"은 합동성 이론에 의해 설명됩니다. 우리는 만약 a = b m..
[Cryptohack] General (Modular Arithmetic 1, 2, Modular Inverting)Modular Arithmetic 1 문제 및 설명 몸을 숙이고 암호학자의 노트를 본다고 상상해 보세요. 다음과 같은 메모가 표시됩니다: 4 + 9 = 1 5 - 7 = 10 2 + 3 = 5 처음에는 그들이 미쳤다고 생각할지도 모릅니다. 아마도 이것이 오늘날 당신이 생각할 수 있는 많은 데이터 유출이 있는 이유일 것입니다. 하지만 이것은 모듈식 산술 모듈 12에 지나지 않습니다(비록 이상한 표기법이 있긴 하지만). 여러분은 그것을 모듈식 산술이라고 부르지 않았을 수도 있지만, 여러분은 시간을 알려주는 것을 배운 이후로 이런 종류의 계산을 해왔습니다. (이 방정식들을 다시 보고 시간을 더하는 것에 대해 생각해보세요.). 형식적으로 "시간 계산"은 합동성 이론에 의해 설명됩니다. 우리는 만약 a = b m..
2023.05.26 -
Ron was Wrong, Whit is Right 문제 및 설명 여기 RSA 공개 키 묶음이 있습니다. 인터넷에 접속한 사람들로부터 그들이 보낸 메시지와 함께 수집되었습니다. excerpt.py 에서 볼 수 있듯이, 모든 사람이 PKCS#1 OAEP를 사용하여 자신의 메시지를 암호화했습니다. 암호 해독이 가능해서는 안 되지만, 일부 키에 문제가 있는 것은 아닐까요? 풀이 더보기 from Crypto.Cipher import PKCS1_OAEP from Crypto.PublicKey import RSA msg = "???" with open('21.pem') as f: key = RSA.importKey(f.read()) cipher = PKCS1_OAEP.new(key) ciphertext = ciph..
[Cryptohack] RSA (Ron was Wrong, Whit is Right)Ron was Wrong, Whit is Right 문제 및 설명 여기 RSA 공개 키 묶음이 있습니다. 인터넷에 접속한 사람들로부터 그들이 보낸 메시지와 함께 수집되었습니다. excerpt.py 에서 볼 수 있듯이, 모든 사람이 PKCS#1 OAEP를 사용하여 자신의 메시지를 암호화했습니다. 암호 해독이 가능해서는 안 되지만, 일부 키에 문제가 있는 것은 아닐까요? 풀이 더보기 from Crypto.Cipher import PKCS1_OAEP from Crypto.PublicKey import RSA msg = "???" with open('21.pem') as f: key = RSA.importKey(f.read()) cipher = PKCS1_OAEP.new(key) ciphertext = ciph..
2023.05.25 -
Transparency 문제 및 설명 HTTPS를 통해 웹 사이트에 연결할 때, 서버가 보내는 첫 번째 TLS 메시지는 서버 TLS 인증서를 포함하는 ServerHello입니다. 브라우저는 TLS 인증서가 유효한지 확인하고 유효하지 않을 경우 TLS 핸드셰이크를 종료합니다. 검증에는 다음 사항이 포함됩니다: - 인증서의 이름이 도메인과 일치합니다 - 인증서가 만료되지 않았습니다 - 인증서는 최종적으로 브라우저 또는 운영 체제에서 신뢰하는 CA(인증 기관)의 루트 키에 의해 서명됩니다("신뢰 체인"을 통해) CA에는 인증서에 서명할 수 있는 권한이 있으므로 인터넷의 보안은 올바른 사용자에게 TLS 인증서를 발급하는 데 따라 달라집니다. 즉, 실제 도메인 소유자에게만 인증서를 발급해야 합니다. 그러나 Win..
[Cryptohack] General (Transparency)Transparency 문제 및 설명 HTTPS를 통해 웹 사이트에 연결할 때, 서버가 보내는 첫 번째 TLS 메시지는 서버 TLS 인증서를 포함하는 ServerHello입니다. 브라우저는 TLS 인증서가 유효한지 확인하고 유효하지 않을 경우 TLS 핸드셰이크를 종료합니다. 검증에는 다음 사항이 포함됩니다: - 인증서의 이름이 도메인과 일치합니다 - 인증서가 만료되지 않았습니다 - 인증서는 최종적으로 브라우저 또는 운영 체제에서 신뢰하는 CA(인증 기관)의 루트 키에 의해 서명됩니다("신뢰 체인"을 통해) CA에는 인증서에 서명할 수 있는 권한이 있으므로 인터넷의 보안은 올바른 사용자에게 TLS 인증서를 발급하는 데 따라 달라집니다. 즉, 실제 도메인 소유자에게만 인증서를 발급해야 합니다. 그러나 Win..
2023.05.24 -
Privacy-Enhanced Mail? 문제및 설명 인코딩 부분에서 살펴본 것처럼 암호화는 큰 정수, 원시 바이트, 16진수 문자열 등 매우 다양한 형식으로 데이터를 처리합니다. 암호화 데이터의 송수신을 지원하기 위해 몇 가지 구조화된 형식이 표준화되었습니다. 이러한 공통 데이터 형식을 인식하고 조작할 수 있습니다. PEM은 키, 인증서 및 기타 암호화 자료를 보내는 데 널리 사용되는 형식입니다. 모양은 다음과 같습니다 base64 인코딩된 데이터를 한 줄의 머리글과 바닥글로 감싸 데이터 구문 분석 방법을 나타냅니다. 헤더와 본문에 정확한 하이픈 수가 있어야 합니다. 그렇지 않으면 암호화 도구가 파일을 인식할 수 없습니다. base64 인코딩된 데이터는 DER 인코딩된 ASN.1 값입니다. 혼란스럽습니..
[Cryptohack] General (Privacy-Enhanced Mail?)Privacy-Enhanced Mail? 문제및 설명 인코딩 부분에서 살펴본 것처럼 암호화는 큰 정수, 원시 바이트, 16진수 문자열 등 매우 다양한 형식으로 데이터를 처리합니다. 암호화 데이터의 송수신을 지원하기 위해 몇 가지 구조화된 형식이 표준화되었습니다. 이러한 공통 데이터 형식을 인식하고 조작할 수 있습니다. PEM은 키, 인증서 및 기타 암호화 자료를 보내는 데 널리 사용되는 형식입니다. 모양은 다음과 같습니다 base64 인코딩된 데이터를 한 줄의 머리글과 바닥글로 감싸 데이터 구문 분석 방법을 나타냅니다. 헤더와 본문에 정확한 하이픈 수가 있어야 합니다. 그렇지 않으면 암호화 도구가 파일을 인식할 수 없습니다. base64 인코딩된 데이터는 DER 인코딩된 ASN.1 값입니다. 혼란스럽습니..
2023.05.23 -
소프트웨어 생명주기(SDLC) - 시스템의 전 공정을 체계화한 절차 SDLC 모델 종류 - 폭포수 모델 : 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어감, 선형 순차적 모형(고전적 생명주기 모형) - 프로토타이핑 모델 : 프로토타입을 구현해, 고객의 피드백을 반영하며 만들어 간다 - 나선형 모델 : 위험을 최소화하기 위해 점진적으로 개발 - 반복적 모델 : 구축 대상을 나누어 병렬적으로 개발 후 통합하거나, 반복적으로 개발(SDLC 모델) 소프트웨어 개발방법론 - 구조적 방법론 : 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합.(하향식 방법론) 나씨-슈나이더만 차트 사용(도형식, 제어 논리 구조, 명확한 식별) - 정보공학 방법론 : 정보시스템 개발에 필요한 관리 절차와 작업 기반을 체..
정보처리기사 실기 정리소프트웨어 생명주기(SDLC) - 시스템의 전 공정을 체계화한 절차 SDLC 모델 종류 - 폭포수 모델 : 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어감, 선형 순차적 모형(고전적 생명주기 모형) - 프로토타이핑 모델 : 프로토타입을 구현해, 고객의 피드백을 반영하며 만들어 간다 - 나선형 모델 : 위험을 최소화하기 위해 점진적으로 개발 - 반복적 모델 : 구축 대상을 나누어 병렬적으로 개발 후 통합하거나, 반복적으로 개발(SDLC 모델) 소프트웨어 개발방법론 - 구조적 방법론 : 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합.(하향식 방법론) 나씨-슈나이더만 차트 사용(도형식, 제어 논리 구조, 명확한 식별) - 정보공학 방법론 : 정보시스템 개발에 필요한 관리 절차와 작업 기반을 체..
2023.05.22 -
Marin`s Secret 문제 저는 제 비밀 목록에서 소수를 생성하는 초고속 방법을 찾았습니다. 풀이 더보기 #!/usr/bin/env python3 import random from Crypto.Util.number import bytes_to_long, inverse from secret import secrets, flag def get_prime(secret): prime = 1 for _ in range(secret): prime = prime
[Cryptohack] RSA (Marin`s Secret, Fast Primes)Marin`s Secret 문제 저는 제 비밀 목록에서 소수를 생성하는 초고속 방법을 찾았습니다. 풀이 더보기 #!/usr/bin/env python3 import random from Crypto.Util.number import bytes_to_long, inverse from secret import secrets, flag def get_prime(secret): prime = 1 for _ in range(secret): prime = prime
2023.05.22