Для удовольствия я пишу строковый шифр в сборке для DCPU-16 (вымышленный процессор для игры 0x10c). Процессор имеет только 16-битные регистры и работает при 100 кГц. Однако на данный момент доступ к памяти и такие вещи, как умножение и деление, непристойно быстренько (A DIV
с использованием двух косвенных обращений к памяти занимает всего 5 циклов).Написание потокового шифрования для DCPU-16, на котором я должен сосредоточиться на заданных его ограничениях?
С такими ограничениями, каким будет мой лучший вариант? Я рассматривал RC4, однако я обеспокоен тем, что другие люди, использующие мой код, не будут использовать его правильно, и у нас может быть еще одна катастрофа WEP в наших руках. Я чувствую, что мне нужно будет сделать что-то более сложное, чем RC4, чтобы защитить других программистов от самих себя, однако я обеспокоен алгоритмами, использующими магические числа или предварительно вычисленные таблицы, которые ожидают, что 8-битные байты станут наименьшей единицей вместо 16-битных слов.
* «Однако я обеспокоен тем, что другие люди, использующие мой код, не будут использовать его правильно, и мы могли бы провести еще одну катастрофу WEP» * - Это верно для любого шифрования. –
Хм, это очень верно. @ BlueRaja-DannyPflughoeft написал что-то похожее на ваш комментарий в качестве ответа, и я дам вам принятый ответ. –