암호학(7)
-
Dreamhack [crypto] Double DES
보호되어 있는 글입니다.
2024.06.30 -
SuNiNaTas [forensics] 18번
써니나타스 포렌식 18번 문제(이 문제가 가장 점수가 적어서 얘부터 풀었다ㅋㄱㅋㄱㅋㄱ) 숫자의 형태가 아스키같으니 변환해보자아스키 변환 사이트 : https://ko.rakko.tools/tools/76/ 텍스트-ASCII 변환기 / 번역기 : ASCII에서 텍스트로, 텍스트에서 ASCII로 | RAKKOTOOLS🔧텍스트를 아스키로 또는 아스키를 텍스트로 변환ko.rakko.tools 변환을 했는데..... 여전히 암호화되어 있는 것 같다. 텍스트로 변환된 문자열을 base64 디코딩 해보자.base64 디코딩 사이트 : https://www.base64decode.org/ko/ Base64 디코딩 및 인코딩 - 온라인Base64 형식에서 디코딩해보세요. 아니면 다양한 고급 옵션으로 인코딩해보세요..
2024.06.19 -
DreamHack [crypto] basic_crypto1
암호학 워게임입니다. 문제 파일EDVLF FUBSWR GUHDPKDFN 문제 풀이 Roman emperor’s cipher를 검색해보면 아래의 화면이 나타난다. 카이사르 암호는 암호화하고자 하는 내용을 알파벳별로 일정한 거리만큼 밀어서 다른 알파벳으로 치환하는 방식이다. decode 사이트https://www.boxentriq.com/code-breaking/caesar-cipher Caesar Cipher Decoder (online tool) | BoxentriqThis is a complete guide to the Caesar cipher and the tools you need to decode it. Learn about its famous history and where it is s..
2024.05.21 -
cryptography
Cryptography 제삼자로부터 정보를 보호하는 방법에 대한 연구 키 생성Key generation 암호화 및 복호화에 사용할 키를 만드는 과정 암호화키를 이용해 평문Plaintext 을 암호문Ciphertext 으로 변환하는 과정 복호화송신자가 전송한 암호문을 수신자가 키를 이용해 Ciphertext를 Plaintext로 변환하는 과정 인코딩Encoding데이터를 다른 형태로 변환하는 것데이터의 기밀성을 고려하지 않으며, 누구나 디코딩하여 원문을 구할 수 있음크기를 줄이거나 컴퓨터가 이해하기 쉬운 형식으로 변형하기 위해 사용ex) 압축, base64, ...PyCryptodome 패키지PyPI에 등록되어 있는 암호학 전용 패키지AES, DES, RSA와 같은 암호 + 소수 판별과 같은 기능을 가진 ..
2024.05.09 -
DreamHack [crypto] Basic_Crypto 1
dreamhack crypto 난이도 1 첫번째 문제입니다.Roman emperor's cipher ==> 카이사르 암호 평문의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 치환하는 암호화 기법으로, 시저 암호라고도 부름.즉, 암호화를 할 때 평문을 n번씩 밀려서 암호화하는 방법.알파벳을 밀어낸 횟수를 key라고 하면, 알파벳은 총 26자 => 가능한 키의 개수는 26. 복호화 시작=~~~~~~ (서치했습니다^^;)출처: http://[Dreamhack] Basic_Crypto1.. : 네이버블로그 (naver.com) #caesar.c#define _CRT_SECURE_NO_WARNINGS#include #include #include int main(void) { char arr[501]; ..
2023.09.04 -
DreamHack [crypto] ROT128
암호학 워게임입니다.(암호학 최고!!!)소스코드#!/usr/bin/env python3hex_list = [(hex(i)[2:].zfill(2).upper()) for i in range(256)] #0~255 정수 값을 16진수 문자열로 변환한 뒤, 이를 두 자리로 맞추고 대문자로 바꾼 값을 list에 저장with open('flag.png', 'rb') as f: #flag파일을 이진모드로 열어서 파일 내용을 읽어옴 plain_s = f.read() #plain_s에 저장plain_list = [hex(i)[2:].zfill(2).upper() for i in plain_s] #plain_s에 저장된 바이트 값을 16진수 문자열로 변환한 뒤, 이를 두 자리로 맞추고 대문자로 바꾼 값을 l..
2023.08.31