namdicul's blog

気ままに更新します. CTFと暗号理論について勉強中です.

"Cpaw CTF" Q26.[PPC]Remainder theorem

x ≡ 32134 (mod 1584891) 
x ≡ 193127 (mod 3438478) 

x = ? 


フラグはcpaw{xの値}です!

 

Answer:

 

プログラムを組みましょう. 今回はC言語を用いてプログラムを作成しました.

久しくプログラムを書いていなかったので, 最初は勘が鈍っていたのでしょうか...まさかの1から順にインクリメントしていきながらxの条件に合っているかを確かめていました...クソ非効率でしたね...

 

以下は作成したプログラムです. 参考にしてください.

#include <stdio.h>

 

int main()

{

 

  unsigned long i;

  for(i = 193127 ;; i+=3438478){

    if(i % 1584891 == 32134){

      printf("FLAG is -----------------> cpaw{%lu}\n", i);

      break;

    }

 

    printf("i = %lu is \t\t\t\t\t\t NO!!\n", i);

  }

 

  return 0;

}