PUZZLE #4432: Elastic Path Cipher (diff 6)
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 |
6
|
| Char Count |
6
|
| Char X |
0.0, 20.0, 40.0, 60.0, 80.0, 100.0
|
| Spacing |
20.0
|
| Height Scale |
6.0
|
| Samples Per Char |
18
|
| X Sample Start |
0.0
|
| X Sample End |
100.0
|
| X Offset |
0.0
|
| Baseline Start Y |
306.0
|
| Baseline End Y |
216.0
|
| Xorkey |
0xce
|
| Weights |
ziQuFxwDBwgKCgsJBQEYEyshNMjf1erl//v09fLy9Pn94OjR28LIMTQ7PCAjJSUkIiM+OjkzzMbD3tvZ1NXT09PT1dTZ297Dxs0xNTc7PTw+ISEhIT88Ojk3Mw==
|
| Weight Count |
91
|
| 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 91 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 6
— website sponsored —
[ ad space ]