[picoCTF][Cryptography][basic-mod2]
Writeup
- またしてもプログラムをBingChatに作ってもらった。
ただBingChatのプログラムは、そのままだと回答にならなかった。
python
# 数値と文字セットを定義
numbers = [432, 331, 192, 108, 180, 50, 231, 188, 105, 51, 364, 168, 344, 195, 297, 342, 292, 198, 448, 62, 236, 342, 63]
charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'
# モジュラ逆数を計算する関数
def mod_inverse(a, m):
for x in range(1, m):
if ((a % m) * (x % m)) % m == 1:
return x
return -1
# 各数値のモジュロと逆元を計算
mod_numbers = [num % 41 for num in numbers]
inv_numbers = [mod_inverse(num, 41) for num in mod_numbers]
# 文字にマッピング
message = ''.join([charset[num-1] for num in inv_numbers])
print('picoCTF{'+message+'}')
- 以上です。