PUZZLE #5307: Elastic Path Cipher (diff 1)
A cursive text is pulled taut into a straight line. The elastic weights (y-displacements) needed to restore the curve are XOR-ciphered. Decrypt, reconstruct the Catmull-Rom spline, sample at each character position.
DATA
| Difficulty |
1
|
| Char Count |
5
|
| Char X |
0.0, 20.0, 40.0, 60.0, 80.0
|
| Spacing |
20.0
|
| Height Scale |
3.5
|
| Samples Per Char |
8
|
| X Sample Start |
0.0
|
| X Sample End |
80.0
|
| X Offset |
0.0
|
| Baseline Start Y |
119.0
|
| Baseline End Y |
126.0
|
| Xorkey |
0x7f
|
| Weights |
f1ZDNzIyOUdacIKNlZmXkIZ4bmdlaXF8jqO3xcvMx7yp
|
| Weight Count |
33
|
| Instructions |
1. XOR-decrypt the base64 weights with xorkey
2. Interpret each byte as signed (b - 256 if b >= 128 else b)
3. Cumulative sum to get raw displacements
4. Divide by 8 and add to baseline y at each x
5. Sample y at each character x-position
6. letter = chr(65 + int(y / height_scale + 0.5))
|
| Verification Note |
The spline has 33 samples. At each char's x-position, interpolate between the nearest two sample points to get y.
|
| Hint |
Apply inverse XOR, then inverse transpose, then cumulative sum to recover displacements. Sample the curve at each character's x-position.
|
| Answer Format |
lowercase decoded message
|
author's note: Pool fill: elastic diff 1
— website sponsored —
[ ad space ]