A pergunta é realmente impossível de responder. Não existe um conceito universal de "força" algorítmica. Força é, essencialmente, resistência a um ataque. Como existem diferentes categorias de ataques, a força depende de quais ataques você precisa resistir. Não há limite para o quão strong você pode fazer um algoritmo de criptografia ou hash se você não tiver requisitos. O truque é encontrar o algoritmo mais strong (ou suficientemente strong) que atenda a requisitos específicos.
Existem alguns aplicativos em que "ataques" específicos são irrelevantes porque não afetam os requisitos. Por exemplo, pode haver um algoritmo de hash muito strong contra tudo contra ataques de extensão de comprimento. Isso pode torná-lo o algoritmo mais strong para um aplicativo em que os ataques de extensão de comprimento não importam (como assinar hashes), mas são totalmente inadequados para um deles (como chaves de API).
Além disso, existem categorias completamente diferentes de algoritmos de criptografia com propriedades drasticamente diferentes. Por exemplo, existem algoritmos de criptografia simétrica e assimétrica.
Atualização 1 : você ainda não está nos fornecendo as informações mais básicas. Para que a criptografia funcione, deve haver algo que o destinatário pretendido tenha ou saiba que ninguém mais sabe ou que permite que eles, e somente eles, decriptografem a mensagem. Sem qualquer ideia do que isso possa ser, não há como saber até que classe de algoritmos estar olhando. Se não houver requisitos, a resposta provavelmente é um bloco de tempo único, embora isso seja quase totalmente impraticável.
Atualização 2 : com suas informações adicionais, RSA com OAEP é a escolha óbvia.