←
$ Misc: Radio Telescope
Flag: BITSCTF{s1l3nc3_1n_th3_n01s3}Observation
The file contains 10,000 floating-point samples that look like noisy telescope data. The description hints that the signal occasionally “skips a beat” (brief clearings in noise).
Analysis
I checked the signal for short low-variance windows (small local standard deviation). These clear windows appear at regular intervals (roughly every 384 samples), and each window has values clustered around a specific integer.
Those integer-like values map directly to ASCII.
Extracted sequence:
[67, 84, 70, 123, 115, 49, 108, 51, 110, 99, 51, 95, 49, 110, 95, 116, 104, 51, 95, 110, 48, 49, 115, 51, 125]
ASCII decode:
CTF{s1l3nc3_1n_th3_n01s3}
Repro Script
import numpy as np
x = np.loadtxt("rt7-log.txt")
w = 5
k = np.ones(w) / w
m = np.convolve(x, k, "valid")
m2 = np.convolve(x * x, k, "valid")
s = np.sqrt(np.maximum(0, m2 - m * m))
# low-variance points (the "silent" windows)
idx = np.where(s < 0.2)[0]
# merge nearby points into clusters
clusters = []
start = prev = idx[0]
for i in idx[1:]:
if i - prev <= 2:
prev = i
else:
clusters.append((start, prev))
start = prev = i
clusters.append((start, prev))
# decode
vals = []
for a, b in clusters:
c = (a + b) // 2
vals.append(round(float(np.mean(x[c:c+5]))))
msg = ''.join(chr(v) for v in vals)
print(vals)
print(msg)