Ну тогда Вы слишком многого хотите. Конечные пользователи - одно из самых слабых звеньев в ИБ.
А если хотите чисто криптографическое решение (хотя я и не уверен, что оно лучшее в данной ситуации), то сгенерируйте мастер-ключ, зашифруйте им все данные на сервере, а потом генерируйте клиентские ключи и депонируйте на них мастер-ключ.
Rsa97 : также на коэффициенты смешения необходимо наложить ограничения 0<=Ki<=1 и SUM(Ki)=1, исходя из физического смысла задачи, что делает поиск не настолько тривиальным, как просто решение СЛУ. Мне представляется, что наиболее часто искомый ответ будет достигаться смешением 4 цветов радуги.
Понял свою ошибку - неверно прочитал Вашу формулу. Хотя она мне все равно не очень понятна. При отклонении от моды например на 1 испытание из 1.000.000 (m/k=0.310001) значение получается значительно больше 1, почему тогда оно обозначено у Вас как "вероятность" ?
Насколько я понимаю, здесь автор под метрикой понимает (end-start), соответственно в запросе ему нужен MIN(END-START) WHERE value BETWEEN `start` AND `end`
pixik, нет, SOCKS - эта одна из разновидностей прокси (для сырых данных). В природе встречается реже, чем обычный HTTP-прокси. То есть если Вы не знаете о типе прокси, к которому нужно быть готовым, то лучше не рассчитывать на то, что Вам дадут именно прокси с поддержкой SOCKS (безопасники очень любят его запрещать). Либо же указывайте требование его наличия в спецификации на разрабатываемое ПО, если Вы его пишете под заказ.
Денис , кстати, насчет матрицы - с ее же помощью можно и доказать биективность функции - достаточно посчитать ранг матрицы 32х32 прямого преобразования. Он должен получиться равным 32.
P.S. На всякий случай : из того, что функции S0, S1, E0, E1 окажутся обратимыми никоим образом не следует уязвимость к коллизиям первого или второго рода самой SHA-256.