 On peut remercier le second talk of the session intitulé « Beetle Family of Lightweight and Secure Autotikated Encryption Ciphers ». Le paper est par Avic Shakrab Borti, Nilanjan Dattar, Michnoul Nandi et Kandya Suda. Avic est donné le talk. Merci Frassof pour l'introduction. Je suis Avic Chakraborti. Je suis Avic Chakraborti de NTT Secure Platform Laboratories. Aujourd'hui, je vais présenter la famille de Lightweight et Secure Autotikated Encryption Ciphers, nommée « Beetle ». Ce travail a été jointé avec Nilanjan Dattar, Michnoul Nandi et Kandya Suda. J'ai divisé ma présentation dans 5 parts. En première part, je vais donner les préquisites pour comprendre notre contribution. En deuxième part, je vais donner des motivations pour notre design. En troisième part, je vais donner une specification pour « Beetle ». En troisième part, je vais parler de la implementation du hardware pour « Beetle ». Finalement, je vais conclure mon talk. « Beetle » est une famille de « Authenticated Encryption Ciphers ». « Authenticated Encryption Ciphers » est un scheme de « Symmetric Key Based Encryption » qui a deux algorithmes, « Encryption » et « Decryption ». « Encryption » fait un « Secret Key », un « Message », un « Nons » et un « Associated Data ». C'est un « Syffertexte » qui est un « Syffertexte ». « Syffertexte » signifie un « Syffertexte » et un « Tech Pair » où le « C » donne la privacy du « Data » et le « T » donne l'authenticité du « Data ». Il y a une fonction de « Decryption » qui fait un « Secret Key » qui fait un « Syffertexte » qui fait un « Nons » qui fait un « Associated Data ». Il y a un « Message » qui fait un « Syffertexte » qui fait un « Tag » et d'autres, il y a un « Reject » qui fait un « Reject ». Vous pouvez voir que c'est différent de « Normal Encryption » et il utilise deux « Additional » types de « Data » qui sont « Nons » qui sont un « Arbitrary Number » qui est utilisé seulement pour chaque « Encryption ». Vous pouvez visualiser le « Initialisation Vector » comme les counters. Il y a un autre type de « Data » qui s'appelle « Associated Data » qui est en fait le « Data » sur le « Data Transmission ». Vous pouvez le penser comme le « Header » du « Message ». Par exemple, il y a un « IP Address » de la « Sender » un « IP Address » de la « Receiver » ou un « MAC Address » de quelques « Devices ». Maintenant, la question vient de « Why Authenticated Encryption ». Il y a plusieurs applications dont nous avons besoin d'un « Confidentially » et d'un « Privacy Over Data ». Par exemple, si un docteur veut envoyer une information médicale sur Alice, elle ne veut pas disclocher ses records médicaux. En ce cas, nous avons besoin d'un « Privacy Over » et nous avons aussi besoin d'une « Integrity » pour assurer que la personne qui envoie l'information sur le « Database » est en fait le docteur et la information n'a pas été modifiée en transit. Pour ces types d'applications, « Authenticated Encryption » est la plus convenante. Pour la « Security » pour la « Privacy » nous avons besoin d'une « CPS Security » qui est très standard. Pour « Integrity » nous avons besoin d'une « CTXT » qui est pour la « Integrity » de la « Cypher Texte ». Pour la « Cypher Texte » nous avons besoin d'une « Integrity » avec le tag. C'est pourquoi nous avons besoin de la « CTXT » et nous avons besoin d'une « CPS Security » et d'une « CTXT Security » de la même construction. Nous avons besoin d'une « Unified A Security » de la « Unified A Security » et pour la « Standard » de la « Oracle » nous avons aussi donné l'adversaire d'une « Public Random Permutation » de la « Public Random Permutation » et c'est la « Random Permutation » de la « Unified A Security » dans le « Random Permutation » model. Nous espérons que l'adversaire ne revelait pas le moment « T » et là, la « A Makes » de la « Cubi Encryption » avec le nombre des blocs de la « Sigma E Encryption » pour la « Encryption » Oracle. Cela fait qu'il s'agit du D pour incorporates et avec le nombre de « Sigma D » des blocs de la « decryption » Ou l'addition, donc elle est allé pour la « Public Random Permutation » par QF, et on appelle tout simplement l'oracle comme F plus ou minus. Pour calculer l'inclusion authentique, on espère que dans le monde réel, l'adversaire obtient F plus ou minus, l'inclusion oracle et l'inclusion oracle, et dans le monde idéal, il obtient F plus ou minus 1 oracle, il obtient un oracle random qui toujours retient un oracle random, et un oracle de réjection qui toujours retient l'équité. Et quand on calcule l'advantage, la expression est paramétrisée par QE, QF, QD, et QT. Et c'est le maximum de la valeur de l'advantage de tous les adversaires. Maintenant, je suis venu pour la motivation de notre design. Dans les dernières années, il y a eu beaucoup d'attempts qui ont été faits, pour obtenir des chiffres d'inclusion authentique standardisées. Et aujourd'hui, les applications sont en train de devenir plus de l'inclusion et ils ont besoin d'un plus de l'inclusion authentique. Il y a un grand requin pour des schemes d'inclusion authentique de l'advantage de l'advantage de l'inclusion authentique. Récemment, NIST a proposé une compétition cryptographique de l'advantage de l'inclusion et ils tentent de obtenir des designs de l'advantage de l'inclusion authentique, qui est de l'advantage, ainsi que de l'advantage de l'inclusion de l'inclusion authentique. En plus, ils ont besoin d'autres propriétés. Donc, nous avons appris le challenge et nous voulions constructer l'inclusion authentique qui devrait être très lente, qui devrait donner un niveau de sécurité suffisant, et qui devrait avoir un meilleur traitement de sécurité à l'advantage de l'advantage d'un des designs existants. Il y a plusieurs manières de designer l'inclusion authentique. Une peut-être bloc cypher ou stream cypher ou permutation. La mode permutation mouche d'une designer de l'inclusion de l'advantage de l'advantage. Nous pensons que la meilleure chose doit être la construction de l'advantage, parce qu'on croit que c'est une construction en 1, donc pas seulement l'inclusion authentique, mais on peut aussi obtenir des modes de hash. Et en addition, il n'utilise que l'état de permutation, il n'utilise que l'extrusion pour la state de permutation, et il n'y a pas d'extrusion de l'extrusion. Donc ici, on a choisi un mode de mode sponge-based, qui est le mode de l'extrusion sequentale. Il utilise une permutation b-bit, et on divise la permutation en deux parts. La première part b-bit, c'est le rate, et la deuxième part b-bit, c'est la capacité, où c'est equal à r plus c. Maintenant, cette mode processera le data pour la première part b-bit, et c'est le mode de base de feedback. Donc la date est procédée pour la première part b-bit, et c'est le feedback pour la prochaine permutation. Et la dernière part b-bit est directement le feedback pour la prochaine permutation. Donc c'est une picture de la première mode de sponge, donc elle a été introduite en mode hash, avec K-chat, c'est la function de l'application. C'est le winner de la third part. Et en plus, elle a été acceptée en Eurocrypte en 2013. Donc on peut voir pourquoi c'est le mode de sponge, parce que c'est comme un sponge, il y a deux parts. L'une est la partie d'absorption et l'autre est la phase de squiz. Donc dans l'absorption, il s'absorbe les blocs de message. La sponge s'absorbe le water. Il s'absorbe les blocs de message. Et dans la partie de squiz, il s'abandonne le digesteur public. Et plus tard, les designers de K-chat, ils ont aussi créé un scheme de sponge-based, qui s'appelle Spongee, et il travaille en quelque chose qui s'appelle duplex mode. Qu'est-ce que duplex mode ? Donc dans K-chat, on processera la date d'abord, et ensuite on relie le digesteur. Mais ici, on processera un bloc de data et on relie le bloc de squiz, ensuite le bloc de data, ensuite le bloc de data, etc. Donc ça marche dans un manoeuvre duplex. Et la sécurité pour la sponge-based A a été prouvée à avoir la sécurité de Cx2 bit A. Maintenant, plus tard, Johanowicz et tout, ils ont fait un problème, et ils ont essayé d'augmenter le niveau de sécurité, de minimum de Bx2, C bit A sécurité, pour ce duplex sponge. Et ils ont acheté ça, mais ils ont une assumption inconfinite que le nombre de blocs de décryption est fondé par le Cx2 bit 2, ce qui nous a trouvé très impractique parce que normalement, on nous a toujours donné l'adversité pour faire un état de fourging comme possible. Donc, essentiellement, c'est la sécurité de Cx2 bit A. Et maintenant, on a fait ce challenge, et la main difficulté de la sponge-mode c'est que le texte de cipher est directement injecté comme la suite pour la prochaine permutation. Donc, l'adversité peut facilement contrôler la suite pour la prochaine permutation par contrôler les blocs de cipher pendant les inquiétudes de décryption. Donc, cette propriété réagissait en fait les designers pour prouver qu'il y ait plus de cx2 bit de sécurité. Donc, maintenant, on a pensé que peut-on arrêter ça et augmenter le niveau de sécurité par ajouter des petits tweaks dans le design qui n'a pas beaucoup de overhead. Donc, l'answer est oui. Donc, l'answer vient dans la prochaine section. Donc, c'est le design de Bittl. C'est une information sur Bittl. Donc, normalement, en tradition, pour le design de la base de feedback, à chaque scheme, on utilise des messages de feedback ou des textes de cipher ou des feedbacks d'outre. Mais ici, on observe que si on utilise des feedbacks combinés, on peut augmenter le niveau de sécurité. Donc, ce que les feedbacks combinés sont, comme dans les messages de cipher ou des feedbacks d'outre, les blocs de message ou les blocs de cipher ou les blocs d'outre respectivement, ils peuvent compter les autres feedbacks. Mais dans les feedbacks combinés, nous avons besoin d'un ou deux. Donc, ils ne peuvent pas compter les feedbacks individuellement. Nous avons besoin d'un ou deux. Et cela réagissera l'adversité de contrôler l'XI, la prochaine feedback par une encryption ou une décryption de queries. Donc, ce concept a été introduit dans les COFB l'année dernière. Et c'est la picture. Donc, ce sont les messages de feedbacks, des feedbacks de cipher et des feedbacks d'outre. Et ce sont les feedbacks combinés, où on génère le prochain feedback en utilisant une matrix G. Et essentiellement, on génère le texte de cipher en utilisant une matrix d'identité. C'est-à-dire que l'outre de R est multiplié avec une matrix d'identité et l'addit avec M pour générer un C. L'outre de R est multiplié avec une matrix G et l'addit avec M pour générer l'XI. Donc, ce n'est pas equal à l'I. Donc, cette propriété fait un mode combiné de feedbacks. Donc, si le G est equal à l'I, cela sera le mode de cipher texte. Maintenant, Bittl utilise un feedback combiné dans le premier orbit parce que le data est procédé dans le premier orbit. Et il faut only store un state de bbit pour storing la permutation. Donc, et chaque output de permutation est procédé avec le bloc de message en utilisant un gros feedback combiné. Et ici, c'est le feedback combiné. X est le prochain feedback. C'est le texte de cipher. Et le roi est le combiné. Et ici, X est influencé par les deux Y et M. Et c'est une bonne sécurité par rapport à cette fonction de feedback. Et c'est difficile de forger. Maintenant, c'est la picture de Bittl. Donc, ici, les non-sans sont injectés au state de permutation et puis, le processus de data associé en utilisant ces combinés. Et ça génère une valeur intermédiaire. Et cette valeur intermédiaire est encore procédée avec les blocs de message et les outputs de permutation avec le combiné. Ça génère le texte de cipher avec la matrice d'identité et le prochain feedback avec la matrice G. Et finalement, les outputs sont taggés. Donc, c'est un très simple design. Et nous utilisons des valeurs constants ici et ici pour faire une séparation de domaines. Donc, l'aliment constant est une. Si c'est un bloc, le dernier bloc est un bloc et il y a deux. Si le dernier bloc n'est pas complet. Donc, c'est la choice de la combinaire. Donc ici, X et C sont générés par rho x y rho x y et m. Donc, ici, X est en fait rho 1 y m qui est en fait G x y plus m et C est juste exor... C est en fait I x y plus m. Et nous avons besoin d'un g et un g plus i comme une matrice de full rank n'est pas equal à Y parce que dans la décryption nous avons besoin d'amérité X en C par l'usant G plus i. Donc, nous avons besoin d'un g et un g plus i comme une matrice de full rank et n'est pas equal à Y. Et cette distingue entre G et I fait que c'est la mode de la combinaire. Et maintenant, la choice de g est très simple. C'est comme 0, 1, 1, 0 identité, identité, identité. Donc, c'est très facile à impliquer. C'est juste l'un à l'autre et l'autre à l'autre à l'autre exor. Donc, c'est très efficace. Maintenant, nous recommandons deux versions pour une petite famille comme l'autre à l'autre à l'autre, qui doit être « lightweight » et une autre c'est « brittle secure plus » qui doit avoir un niveau de sécurité haute et aussi il y a un « lightweight » Pour « brittle light plus » la muito chose de F est de peu en peu pour la fermentation que l'on所 déclare pour la fonction photo avec l'impact de laprüme de 144 la laitie de 64 et la capacité de 80 et pour « brittle secure plus » on utilisera la « P276-Permutation » de la fonction photo avec la délinée de 256 et de la sentence de la diagnosticité de 128. Donc, quand on prouve la sécurité de ce design, on assume l'adversaire non respectant, où l'adversaire ne répète pas le non, pour les enquêtes d'inscription. Et on a uplifté le niveau de sécurité à minimum de Bx2, C-log R et R. Donc, j'inquiète de mentionner que la taille de taille est orbitée. Donc, définitivement, la taille doit être là. Maintenant, la taille de taille peut être quelque chose, mais pour notre design, on l'a écoutée comme orbitée. Donc, pour la taille de taille de taille plus, elle doit être orbitée categories à 74, donc il y a 64 bid ml de sécurité, et la taille de taille de sécurité plus en plus C et L C et Ryan Movie ont based à 128 bid ml, donc elle baikait sillager screwed Le mensaje, il faut être en compagnie à exploding, de Chun, de la fenêtre, la taille de la bume Excusez-vous... ... Donc, finalement, c'est un mode très flexible, il y a un mode très low-state de b, il y a un mode très flexible, il y a une permutation qui est inverse-free, donc on n'a pas besoin d'encomputer l'inverse, mais de la décryption, c'est une très simple, linéaire, feedback, combinaire, et c'est très légèrement et consomme une idée de Hardware. Et la limitation c'est que l'encryption et la décryption sont complètement sérieux, donc si on veut gagner quelque chose, on doit perdre quelque chose. Donc, maintenant je suis venu à l'implementation des résultats de Bital. Donc, c'est la analyse CPB pour Bital Light Plus, donc pour Bital Secure Plus c'est la même. Donc, on assume un block AD et un block M-Block, où chaque bloc est un bloc de 64 bits, c'est un bloc de 8 bits, et le compte cycle est 13 x A plus M plus 12, parce que le P144 tourne pour 12 rounds. Et dans cette calculation, on assume A equal à M, et finalement on en a, c'est la valeur CPB. Et quand la taille de M augmente, la taille de M augmente, c'est négligeable. Donc, c'est essentiellement convergé à 3.25. Donc, c'est la meilleure architecture pour Bital Light Plus. Donc, c'est la même pour Bital Secure Plus, d'exemple les lengths de la data. Donc, il juste uses 1 state register of size 144. Il uses 3 modules. Donc, il est un round based implementation, un très basique round based implementation. Donc, ce module F est en fait un round of the F permutation. Ce combinaire basc est un combiner linéaire, et cette addition constructif est l'addition constante. Et on a des autres signes pour contrôler le circuit. pour contrôler le circuit. En regardant l'architecture base de Bittle Light Plus, il utilise des processions de data serial. Il utilise l'architecture round base de Photon P144 permutation. Il processe un bloc de 164 bits par 12 cycles. Il utilise un registre très low storage qui n'est qu'un Bbit. Il a le minimum hardware entre toutes les non-implementations. C'est le résultat d'implementations de FBG de Bittle Light Plus. On peut observer que le Vortex 6 et 7 atteint un très bas nombre d'éliotes et d'élices. De l'autre côté, c'est un valor très compétitif pour l'éfficiency de l'éfficiency. C'est pour Bittle Secure Plus, c'est plus grave que Bittle Light Plus, mais il atteint un footprint plus compétitif et une bonne éfficiency de l'éfficiency. C'est un peu de l'électricité de Bittle Light Plus avec les designs de l'électricité. On a trouvé que Bittle Light Plus est plus l'électricité que les autres designs. C'est un ratio de l'éfficiency de l'électricité. Mais on veut admettre que ce design n'a pas suivi l'application de César. Quand on implique Bittle Light Plus en application de César, il y aura un peu de l'électricité. Mais on a encore un très bon résultat. Même si c'est de l'électricité, on croit qu'il peut mettre toutes les autres imprimations. C'est le Bittle Secure Plus avec les constructions de sponge existant, avec l'équivalent de l'équivalent de l'électricité. On peut observer que c'est mieux que les luttés et les lignes que les autres designs. Et c'est une bonne valeur pour l'électricité de l'électricité. Finalement, je vais conclure. C'est une mode permutation-based. C'est un niveau de l'électricité de l'électricité de Bittle Light Plus. C'est un niveau de l'électricité de Bittle Light Plus. C'est une famille authentique et d'électricité basée en l'électricité. Et cela peut être utilisé très efficacement dans les dévices de l'électricité basée. Merci beaucoup. D'accord. Donc, on a eu le temps pour une question. Si il y a quelqu'un. Peut-être une question. Vous pouvez commenter, en termes de la taille de state, par exemple, comparé à une solution de bloc de cifres basée. En termes de la taille de state, ce qui est important dans le contexte de l'électricité de Light par rapport à une solution basée sur les blocs de cifres, comme dans le talk précédent, comment ça se compare ? En fait, pour la construction de sponge, c'est mieux que les constructions de blocs de cifres basées. Parce que, en cas de construction de blocs de cifres basées, nous devons aussi protéger la taille, pas seulement le state. Mais ici, nous ne devons pas protéger la taille. Donc, les blocs de cifres basées, les cifres de cifres de cifres basées, sont représentés en seulement la taille de state. En seulement la taille de state, mais en fait, nous devons aussi ajouter la taille. Donc ici, nous ne devons pas ajouter la taille. Donc, c'est beaucoup plus tard que les constructions de blocs de cifres basées. Ok. Merci. Nous pouvons remercier le public.