Comments 8
#define er1(k) (rotr(2*x[(r-1)%xw]^x[(r+1)%xw]^k^r,8)*9^k)
enRUPT (u32 *x, const u32 xw, u32 *key, const u32 kw)
{
u32 r, s=4, n=s*(2*xw+kw);
for (r=1; r<=n; r++) x[r%xw] ^= er1(key[r%kw]);
}
unRUPT (u32 *x, const u32 xw, u32 *key, const u32 kw)
{
u32 r, s=4, n=s*(2*xw+kw);
for (r=n; r ; r--) x[r%xw] ^= er1(key[r%kw]);
}
EnRupt в 11 строчек вместе с расшифровкой
Неплохо было бы в первых абзацах рассказать что такое DES.
Н-да, на низкоуровневом языке такое в 30 строк не уместишь, однозначно.
PS Любопытно, а когда бог объявлял конструктор и инициализировал переменные («Да будет свет!») — это сколько примерно строк кода на C++? (Попутно, вспоминается и «сколько ангелов поместится на одном пикселе?»)
PS Любопытно, а когда бог объявлял конструктор и инициализировал переменные («Да будет свет!») — это сколько примерно строк кода на C++? (Попутно, вспоминается и «сколько ангелов поместится на одном пикселе?»)
Смотрю на код и чувствую себя идиотом. Это правда не эзотерический язык типа brainfuck? Им кто-то реально пользуется? И эти программы потом читают?
По поводу «кто-то пользуется» — на сайте языка есть достаточно внушительный список компаний и университетов, среди них Intel, HP и Maple.
Читают или не читают — сказать не берусь, но лично я после пары вечеров с интерпретатором уже вполне себе могу читать конструкции, хоть и не без труда и не без помощи словарика.
Читают или не читают — сказать не берусь, но лично я после пары вечеров с интерпретатором уже вполне себе могу читать конструкции, хоть и не без труда и не без помощи словарика.
Язык — прямой наследник APL, поэтому не эзотерический.
Программы читаются, но этот навык долго нарабатывается.
В данном посте читается сравнительно легко, тут в основном explicit-форма записи. Есть tacit-форма. Ее читать сложнее. Также очень зависит от кода. Если люди много скобок пишут, не могут пользоваться нормально крюками и вилками — то читается плоховато.
Программы читаются, но этот навык долго нарабатывается.
В данном посте читается сравнительно легко, тут в основном explicit-форма записи. Есть tacit-форма. Ее читать сложнее. Также очень зависит от кода. Если люди много скобок пишут, не могут пользоваться нормально крюками и вилками — то читается плоховато.
AES на J на одной странице: mas.orgfree.com/j-aes.htm
Sign up to leave a comment.
DES на J в сотню строк