• [^] # Remplacer l'assembleur par Ada ou Rust ?

    Posté par . En réponse à la dépêche Nouvelle vulnérabilité dans l’implémentation OpenSSL. Évalué à 3.

    A t'on réellement besoin de le faire en C ?
    (...)
    Dit autrement, a quand une implémentation d'openssl en rust ?

    Quand Rust sera prêt, peut-être... :-p

    Plus sérieusement, c'est un peu naïf de dire qu'OpenSSL est écrit en C. Parce que quand tu fais de la crypto tu dois faire de l'assembleur, et du coup reposer sur un langage plus évolué que C pour tester tes accès mémoire est une vaste blague, puisque ça ne concerne pas tout ton code.

    Dit autrement, explique-moi comment tu ré-écris ça en Rust ou comment Rust s'assurera qu'il n'y a pas de buffer underrun dedans:
    https://github.com/openssl/openssl/blob/master/crypto/aes/asm/aes-x86_64.pl

    Et comme aujourd'hui il y a des nouvelles opérations dédiées à la crypto directement dans le processeurs et qu'elles changent à chaque nouvelle version des processeurs, l'assembleur a de beaux jours devant lui.

    Après t'as des gens qui ont fait une lib ssl complète en Ada, t'en auras qui le feront en Rust un jour (en plus c'est cool), mais à côté des opcodes AES (ou même juste vectoriels) dans les processeurs, j'ai peur que le rapport de performance reste de 100 ou 1000...