Hacker News new | ask | show | jobs
by ishi 3221 days ago
Cool, I knew that LFSRs were used in ciphers. I was not aware that they were also useful for implementing old-school graphical effects.

https://en.wikipedia.org/wiki/Linear-feedback_shift_register...

3 comments

CSS[1] was the defacto 'DRM' back in the day, which used two LFSRs for 40-bit encryption. Apart from being able to brute force it today, there are many other ways to break it[2].

Now the DRM on DVDs/BluRays is AACS[3], which uses AES. You might also recognise it from the 'copyrighted numbers' fiasco[4]

[1]: https://en.wikipedia.org/wiki/Content_Scramble_System

[2]: https://en.wikipedia.org/wiki/Content_Scramble_System#Crypta...

[3]: https://en.wikipedia.org/wiki/Advanced_Access_Content_System

[4]: https://en.wikipedia.org/wiki/AACS_encryption_key_controvers...

Similar concepts are used for raid 6 parity (LSFR + Galois Fields). A pdf I found describing raid 6 parity describes the field and LSFR use and some background. https://www.kernel.org/pub/linux/kernel/people/hpa/raid6.pdf

(I took at stab at implementing them awhile back as an experiment. https://github.com/jimktrains/r6parity)

I'm not sure I'd call Wolfenstein 3D "old-school".

But then I did start with computers in 1980.

It's funny where we draw our lines. Some younger guys will call Half-Life 2 old-skool, which for me felt like it was just a couple of years ago.
Most of recent CS graduates weren't even born when this game was released, so it's not even "old-school" -- it's "ancient" for them.