PUZZLE #3836: Elastic Path Cipher (diff 2)
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 |
2
|
| Char Count |
3
|
| Char X |
0.0, 20.0, 40.0
|
| Spacing |
20.0
|
| Height Scale |
4.0
|
| Samples Per Char |
10
|
| X Sample Start |
0.0
|
| X Sample End |
40.0
|
| X Offset |
0.0
|
| Baseline Start Y |
128.0
|
| Baseline End Y |
136.0
|
| Xorkey |
0x23
|
| Weights |
IwERHWZkZh0SAS/X/PPgn5qf4u//
|
| Weight Count |
21
|
| 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 21 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 2
— website sponsored —
[ ad space ]