> Во-первых, в протоколе Telegramm генерация случайных чисел для Diffie-Hellman key exchange производится на сервере:
а во-вторых, генерация случайных чисел производится и на стороне сервера, и на стороне клиента.
собственно цитата, которую ты привел, находится в описании API для сторонних разработчиков собственных клиентов.
если продолжить чтение, то можно и другие цитаты привести, которые а) объясняют, зачем именно так сделано:
"If the client has an inadequate random number generator, it makes sense to pass the random_length parameter (random_length> 0) so the server generates its own random sequence random of the appropriate length."
б) объясняют разработчику собственного клиента, что полагаться лишь и только на генерируемые сервером случайные числа может быть небезопасно (прямо об этом говорят), и какие дополнительные шаги разработчику собственного клиента (в качестве примера, выбор конкретной реализации за разработчиком остается) необходимо предпринять:
"Important: using the server’s random sequence in its raw form may be unsafe. It must be combined with a client sequence, for example, by generating a client random number of the same length (**client_random**) and using final_random := random XOR client_random."
в генерации случайного числа участвуют (а для сторонних клиентов должны участвовать) и сервер, и клиент.
вся эта фигня в итоге направлена на повышение безопасности, а не наоборот.
а во-вторых, генерация случайных чисел производится и на стороне сервера, и на стороне клиента.
собственно цитата, которую ты привел, находится в описании API для сторонних разработчиков собственных клиентов.
если продолжить чтение, то можно и другие цитаты привести, которые а) объясняют, зачем именно так сделано:
"If the client has an inadequate random number generator, it makes sense to pass the random_length parameter (random_length> 0) so the server generates its own random sequence random of the appropriate length."
б) объясняют разработчику собственного клиента, что полагаться лишь и только на генерируемые сервером случайные числа может быть небезопасно (прямо об этом говорят), и какие дополнительные шаги разработчику собственного клиента (в качестве примера, выбор конкретной реализации за разработчиком остается) необходимо предпринять:
"Important: using the server’s random sequence in its raw form may be unsafe. It must be combined with a client sequence, for example, by generating a client random number of the same length (**client_random**) and using final_random := random XOR client_random."
в генерации случайного числа участвуют (а для сторонних клиентов должны участвовать) и сервер, и клиент.
вся эта фигня в итоге направлена на повышение безопасности, а не наоборот.