SECURITY 13

[CRYPTO]Other_PublicKey_Cryptosystems

Diffie-Hellman Key Exchange역사:1976년에 Whitfield Diffie와 Martin Hellman이 처음 발표한 키 교환 방식.그러나 이보다 몇 년 전 GCHQ(영국 정부 통신본부)에서 독립적으로 개발되었으나 기밀로 유지되었음.키 교환:Diffie-Hellman 키 교환 방식은 서로를 모르는 두 당사자가 안전하지 않은 채널을 통해 공통된 비밀 키를 생성할 수 있도록 함.이 키는 이후 암호화 통신에 사용될 수 있음.(계산적) Diffie-Hellman 문제:g: 특정 그룹 G의 생성자(기준 값).x, y: 무작위로 선택된 정수.주어진 g, g^x, g^y 값으로부터 g^{xy}를 계산하는 것이 매우 어려움.대부분의 그룹에서 이 문제는 이산 로그 문제(DLP, Discrete Lo..

SECURITY/CRYPTO 2024.12.04

[CRYPTO] UserAuthentication

1. 정보보안: 사용자 인증 개요보안 목표:기밀성(Confidentiality)무결성(Integrity)부인 방지(Non-repudiation)인증(Authentication)인증의 정의:사용자의 신원을 확인하거나 데이터의 진위 여부를 검증.2. 인증 요소(Authentciation Factors): 소유 기반(Ownership Factor)- something the user has:사용자가 소유한 물건(예: 보안 토큰, ID 카드).지식 기반(Knowledge Factor)- something the user know:사용자가 알고 있는 정보(예: 비밀번호, PIN).고유성 기반(Inherence Factor)- Something the user is (or does):사용자의 생체 정보(예: 지문,..

SECURITY/CRYPTO 2024.12.04

[CRYPTO] 타원 곡선 암호화(ECC)-Elliptic Curve Cryptography

Elliptic Curve Cryptography1. Weierstrass 방정식Weierstrass 방정식은 타원 곡선을 나타내는 기본적인 수식이다.여기서:a1,a2,a3,a4,a6는 임의의 값(계수)이고,K는 이 방정식이 정의된 수 체계이다.(예: 실수나 유리수 등).2. K의 특성(characteristic)이 2 또는 3이 아닌 경우x와 y를 다음과 같이 변환할 수 있다.  3. 변환 후 방정식여기서 a,b∈K(a와 b는 K에 속하는 값) 4. 판별식(Discriminant)이 곡선의 판별식(Discriminant)은 다음과 같이 계산:판별식은 타원 곡선이 어떤 특성을 가지는지를 알려주는 중요한 값이다.특히, Δ≠0 일 경우, 곡선은 비특이(non-singular) 상태를 갖는다.(즉, 매끄럽고 ..

SECURITY/CRYPTO 2024.12.04

[CTF 대회] LG유플러스 시큐리티 해커톤(2024)-write up

요 대회를 참가해보았다. 한 문제 풀었는데 write-up을 작성해볼려고 한다!신기한게 맵 형태로 되어있다. 기존 CTF와 다른 느낌… Account Service를 풀어보자~ [Account Service]들어가면 로그인과 회원가입페이지가 보인다. - 로그인 페이지 - 회원가입페이지 느낌상 파일업로드, sql 인젝션 느낌이 났다. 한 번 개발자도구로 소스코드를 보자! 확인해보니 저런 코드가 있다. 음 fileupload 느낌이 확났다. 따라서 /upload_ok.php에 php 파일을 업로드해서 플래그를 읽으면 될 것같았다. - 그냥 이미지를 넣고 로그인하면요런식으로 업로드 된 파일이 적용되지 않고 기본 이미지로 적용된다. 자 코드로 업로드해보자import requests # 서버 URL url = "..

SECURITY 2024.11.16

[WEB] phpMyRedis -dreamhack

자 이번에는 phpMyredis write up을 작성해보려고 한다.  사이트를 들어가보니 command와 submit, Command History, Config, Reset 버튼이 보인다.  save를 누르고 submit을 해보니 저장된 위치가 /data/이다. 이제 config를 눌러봐야겠다  get과 set 버튼이 존재하고 key, value 값을 넣고 submit을 보낸다.음... sqli이니까 악의적인 값을 넣는게 키포인트인 것 같다. 이제 코드를 확인해보자index.php phpMyRedis ..