Modular Inverting

2023. 2. 6. 15:25·Wargame/Cryptohack
728x90
반응형

1. intro

2. code 및 분석

2.1.  code

N/A

 

2.2. 분석

역함수다!

 

우리는 유한체가 더하거나 곱해도 항상 Fp 유한체의 다른 요소임을 알 수 있었다.

유한체의 모든 요소 g는 g * d ≡ 1 (mod p)를 만족하는 d를 가진다.

이를 g의 곱셈역라고 한다.

예를 들어

7 * 8 = 56 ≡ 1 (mod 11)

이다.

그렇다면 3 * d ≡ 1 (mod 13)

을 만족하는 곱셈역는 무엇인가?

페르마의 소정리가 어떻게 곱셈역을 구하는데 도움이 되는지 생각해보자.

 

3. exploit

3.1. 페르마의 소정리 활용

페르마의 소정리는 앞서 공부한 것과 같이 p가 소수면

a^(p - 1) mod p = 1

이는 곧

a^(p - 1) mod p = 1 mod p

a^(p - 1) * p^(-1) mod p = 1 * p ^(-1) mod p

a^(p - 2) mod p = a ^(-1) mod p

a^(p - 2) % p = a ^(-1)

이 되기에 a^(p - 2) % p가 곧 a의 역원이다.

이를 위에 적용하면

3^11 % 13

이 되고 a^(-1) = 9가 된다.

 

3.2. 베주 방정식 및 확장 유클리드 호제법 활용.

3 * d ≡ 1 (mod 13)를 베주 방정식 형태로 변형하면

3s + 13t = 1

가 된다.

앞서 작성한 코드에 넣어보면

┌──(kali㉿kali)-[~/Downloads]
└─$ python solve.py 
3
13
9 -2
-4 1

가 되며,

3 * 9 + 13 * (-2) = 1

또는

3 * (-4) + 13 * 1 = 1

이 된다.

그러므로 정답은 9 또는 -4인데, 일반적으로 양수를 사용하기에 9가 된다.

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Wargame > Cryptohack' 카테고리의 다른 글

Legendre Symbol  (0) 2023.02.13
Quadratic Residues  (0) 2023.02.08
Modular Arithmetic 2  (0) 2023.02.03
Modular Arithmetic 1  (0) 2023.02.03
Extended GCD  (0) 2023.02.02
'Wargame/Cryptohack' 카테고리의 다른 글
  • Legendre Symbol
  • Quadratic Residues
  • Modular Arithmetic 2
  • Modular Arithmetic 1
wyv3rn
wyv3rn
아저씨의 흔한 취미. wyv3rn#1249
  • wyv3rn
    think storage
    wyv3rn
  • 전체
    오늘
    어제
    • 분류 전체보기 (493)
      • To do list (6)
        • Doing (0)
        • Complete (6)
      • Diary (35)
      • Tips & theory (77)
      • Kernel Exploit (22)
      • Wargame (313) N
        • pwn.college (34)
        • Dreamhack (148) N
        • pwnable.kr (15)
        • Lord of Sqlinjection (3)
        • Cryptohack (20)
        • Root me (27)
        • CodeEngn (4)
        • Exploit Education (22)
        • ROP Emporium (8)
        • H4C (10)
        • Hackerchool (22)
      • CTF (40)
        • Solved (38)
        • Unsolved (2)
      • Script (0)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

    • PWN wargame 모음 (및 느낀점)
    • 비공개 글들에 대해.
    • 뭐라도 하나 얻어가시길...
  • 인기 글

  • 태그

    ROOT ME
    heap
    Me
    pwntools
    64bit
    la ctf
    _IO_FILE
    tcache
    root
    32bit
    FSB
    lob
    phoenix
    hackerschool
    root-me
    vtable
    libc
    BOF
    x64
    Buffer Overflow
    rop
    x86
    docker
    Format String Bug
    exploit education
    RTL
    cryptohack
    dreamhack
    pwnable.kr
    CANARY
  • 최근 댓글

  • 최근 글

  • 250x250
    반응형
  • hELLO· Designed By정상우.v4.10.3
wyv3rn
Modular Inverting
상단으로

티스토리툴바