Алгоритм ЛСДУ3
Согласно алгоритму, имя, отчество и фамилия записываются вместе без пробелов: артемюрьевиччайка. Последовательность букв необходимо разделить на блоки, в каждый блок включаются символы через четыре начиная с первого, второго, третьего, четвертого и пятого. Получается «аюик», «ррча», «тьч», «ееа», «мвй».
Каждый символ из этой последовательности заменяется на его числовой код. Если в названии компании, которое нужно зашифровать, есть цифры, они не меняются. Вместо букв же пишутся их номера в алфавите, к которым прибавили цифру девять. Таким образом получаем: а — 10, ю — 41, и — 19, к — 21, р — 27, р — 27, ч — 34, а — 10, т — 29, ь — 39, ч — 34, е — 15, е — 15, а — 10, м — 23, в — 12, й — 20.
Для каждого блока математики вычислили свой набор коэффициентов (все коэффициенты есть в распоряжении редакции). Для первого числа первого блока коэффициент — 38, для второго — 1, для третьего — 4, для четвертого — снова 4. Для первого числа второго блока коэффициент — 9, для второго — 2, для третьего — 2, для четвертого — 5. Для первого числа третьего блока коэффициент — 36, для второго — 3, для третьего — 8. Для первого числа четвертого блока — 0, для второго — 7, для третьего — 14. Для первого числа последнего блока — 38, для второго — 1, для третьего — 1.
Каждая цифра из блока умножается на ее коэффициент. Произведения складываются. Для первого блока расчет будет такой: 10*38 + 41*1 + 19*4 + 21*4 = 581.
Результат расчета — в данном случае 581 – делится на число 43 (сумма цифр и букв в русском алфавите: 10+33=43). 581 делится на 43 с остатком 22: 581 = 43*13 + 22. Остаток — 22 — это код символа, который будет в первом исходном коде имени. По ранее указанному правилу, чтобы получить букву из цифры, вычитаем 9 из 22: 22 – 9 = 13. Под 13-м номером в русском алфавите следует буква «Л». Она и будет первой буквой кода. По такому же алгоритму вычисляются кодовые символы и в остальных блоках.
С помощью программы «Сноб» закодировал имена Владимир Владимирович Путин и Джон Эддардович Сноу. Программа зашифровала имя российского президента как «чщ2з1», а героя телесериала «Игра престолов» как «бтнйд».
no subject
no subject
no subject
no subject
Забороть частотку русского алфавита и перейти к равномерному распределению в хешах можно и без такого... эээ... каминг-аута.
no subject
Не совсем ясно, что делать, если в ФИО больше 25 букв, как у какой-нибудь банальной Александры Александровны Крестовоздвиженской.
Ну и сразу приходит в голову математическая задачка на подбор коэффициентов для получения из очевидного исходного имени очевидного результата из пяти букв.
no subject
Вероятно, позиционные коэффициенты циклически применяются, хуже от этого уж точно не будет.
no subject
no subject
no subject
То есть тринадцатая буква просто игнорируется и не влияет на результат.
Так что коллизий будет завались.
Да, было бы прикольно восстановить ФИО из результата типа Х*ЙЛО или П*ЗДА.
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject