Rsa97: Да, не содержат, однако, имеют определённую криптографическую стойкость, и, скорее всего, не превышающую каких-то допустимых пределов - то есть, пусть обычный ПК не сможет взломать ключ и за время существования вселенной, зато машина с некой определённой аппаратной архитектурой эту задачу раскусит в приемлемое минимальное время. Как происходит, например, с расшифровкой сигналов мобильных на лету.
Да, с реализациями всё очень печально. Кажется, что с текущим стеком технологий это сложнее, чем создать собственную базовую аппаратную архитектуру...
Rsa97:
Дело в том, что (я, конечно, могу ошибаться, но моя логика и интуиция приводит к таким выводам) все популярные алгоритмы, системы, где потенциально передаётся какая-то информация, представляющая для кого-либо значительный интерес, скорее всего, содержат в себе заложенную возможность лёгкого доступа для этих самых заинтересованных лиц.
И, понятно, что при особом интересе они найдут и другие простые методы, но это обойдётся им куда дороже и никогда не станет массовым. Так что да, наведаюсь к другу в Австралии, и отличный повод будет)
1. ИМХО, ключ должен генерироваться абсолютно рандомно, а не на основе вообще чего-либо, что как-то возможно связать с известными устройствами, данными и уж тем более - датой сообщения и формулами...
2. Всё это - псевдослучайно до вычислимой степени. Зачем?
3. Можно, но снова - зачем усложнять, если нет никакого выигрыша?
Пользователю нужно только знать, что у него лимит на данные с этим пользователем - 1гб, или столько, сколько он ему передал ключа. Больше никаких запариваний мозга, а алгоритм простой и понятный.
Rsa97: В реальности я снова преувеличивал, и мне не нужен такой запас на 100 лет, так что 1 гига будет достаточно вполне, а оставшиеся 9 - на файлы. Да, придётся с каждым обмениваться ключами лично. Хранение... конечно, наивно полагать что linux/android безопасны для хранения ключей, но пока я не вижу альтернатив. А вы чему доверяете больше?
Хороший ответ. Могу добавить, что для реального парсера может понадобиться эмуляция яваскрипта, ну и почти на всех ресурсах, которые может быть интересно парсить - есть свои алгоритмы распознавания роботов, капчи, и просто ограничения по запросам с баном за злоупотребления. Поэтому следующим этапом вам нужно будет научиться работать в несколько потоков через прокси/тор, обходить капчи (антигейт), знать лимиты (экспериментально, когда нет API), эмулировать js, например NodeJS + Selenium(ищите на хабре), есть ещё что-то на PHP и другие варанты.
Rsa97: То есть, это дейстительно так надёжно, как я думаю? И настолько просто?
Если предположить, что закрыть потенциальную дыру в методе генерации рандома относительно просто...
Rsa97: я привёл настолько утрированный пример специально. На самом деле гигов 10 мне хватит исключительно на переписку, с тысячами человек, на всю жизнь. Прикиньте сами: это 10.737.418.240 байтов, или в юникоде - 2.684.354.560 символов. Делим на всю жизнь, 100 лет это 35.600 дней. Итого в день мы можем написать/принять 75.403 символа, другими словами это примерно 30 страниц ворда. Я не пишу столько в день. И это только в среднем.
Руслан Федосеев: да, как и в случае со взломом любого другого алгоритма, разве не так? А переписку и фото вместе с использованной частью ключа никто не мешает сразу удалять.
Да, но это мне и так очевидно, и я не считаю это проблемой. Например, моя переписка с девушкой в аське за много лет занимает 20Мб. Переданные фотки - допустим, гиг. Мне не жалко 10Гб места ни на компе, ни на мобильнике, ни на планшете пож это. Это же на всю жизнь хватит)
Да, с реализациями всё очень печально. Кажется, что с текущим стеком технологий это сложнее, чем создать собственную базовую аппаратную архитектуру...