看雪CTF第十題

2021-09-07 13:09:34 字數 856 閱讀 8982

__int64 sub_140006f50()

while ( v6 ); //

初始化rop,並賦值rop = str,其中str是乙個表示base進製整數的字元陣列

mpz_init_set_str(&rp_rsa_e, input_key_before6, 16i64);//

mpz_init_set_str (mpz_t r, const char *sp, int base)

mpz_init_set_str(&rp_rsa_p, input_key_after6, 16i64);//

mpz_init_set_str (mpz_t r, const char *sp, int base)

if ( mpz_probab_prime_p(&rp_rsa_p, 500i64) )//

mpz_probab_prime_p (const mpz_t n, int reps)}}

}break

; }

}} v8 = "

註冊失敗\n\n";

label_16:

print_140006ea0(v8);

sub_14002d1b4(

"pause");

return

0i64;

}

分析發現這是rsa演算法,提供了n和d,輸入e和p進行匹配。其計算公式如下:

q=n/p

n = (p-1)*(q-1

)d1 =invert(e,n)

d1 == d?

其中的invert是求模反元素的函式呼叫。

23號第十題

小兔的叔叔從外面旅遊回來給她帶來了乙個禮物,小兔高興地跑回自己的房間,拆開一看是乙個棋盤,小兔有所失望。不過沒過幾天發現了棋盤的好玩之處。從起點 0,0 走到終點 n,n 的最短路徑數是c 2n,n 現在小兔又想如果不穿越對角線 但可接觸對角線上的格點 這樣的路徑數有多少?小兔想了很長時間都沒想出來...

尤拉計畫 第十題

the sum of the primes below 10 is 2 3 5 7 17.find the sum of all the primes below two million.低於10的素數之和為2 3 5 7 17。找出200萬以下所有素數的總和。思路這道題與第7題的線性篩思路一樣,只...

第十題 爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1 階 1 階 2 階示例 2 輸入 3 輸出 3 解釋 有三種方法可以爬到樓頂。3.1 階 ...